--[[ Script Name : SpawnScripts/Ruins/aBrokentuskwarrior.lua Script Purpose : a Brokentusk warrior Script Author : Scatman (updated by jakejp 2018.10.08) Script Date : 2009.08.21 Script Notes : --]] dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") local spoke = false function spawn(NPC) spoke = false local sli = GetSpawnLocationID(NPC) if sli == 408926 then -- Roamer by the statue with the prophets to the stairs. StartPath1(NPC) elseif sli == 159749 or sli == 159750 or sli == 159751 then -- Runners from the statue with the prophets around it. Run right into the seasoned guards. StartPath2(NPC) elseif sli == 1585501 or sli == 1585502 or sli == 1585523 or sli == 1585524 or sli == 1585525 or sli == 408808 then -- Orcs that cheer on the harried vagrant squatter. SetPlayerProximityFunction(NPC, 10, "InRange") EmoteLoop(NPC) end end function respawn(NPC) spawn(NPC) end function InRange(NPC, Spawn) local vagrant_squatter = GetSpawn(NPC, 1270015) if vagrant_squatter ~= nil and GetDistance(NPC, vagrant_squatter) <= 50 then local choice = math.random(1, 3) if choice == 1 then Say(NPC, "Dance, or I give you to HIM!", Spawn) elseif choice == 2 then Say(NPC, "So fragile, so...funny!", Spawn) elseif choice == 3 then Say(NPC, "Dance little one!", Spawn) end end end function hailed(NPC, Spawn) FaceTarget(NPC, Spawn) end function aggro(NPC, Spawn) local chance = math.random(0, 100) if chance <= 25 then generic_aggro(NPC, Spawn) end end function healthchanged(NPC, Spawn) local chance = math.random(0, 100) if chance <= 25 then local health_percent = GetHP(NPC) / GetMaxHP(NPC) if health_percent < 0.50 and spoke == false then spoke = true generic_healthchanged(NPC, Spawn) end end end function killed(NPC, Spawn) generic_killed(NPC, Spawn) end function death(NPC, Spawn) spoke = false local chance = math.random(0, 100) if chance <= 25 then generic_death(NPC, Spawn) end end function StartPath1(NPC) MovementLoopAddLocation(NPC, -35.9, -3.62, 47.9, 2, 0) MovementLoopAddLocation(NPC, -35.18, -2.72, 58.96, 2, 0) MovementLoopAddLocation(NPC, -42.3, -2.43, 71.24, 2, 0) MovementLoopAddLocation(NPC, -40.02, -2.38, 75.94, 2, 0) MovementLoopAddLocation(NPC, -43.62, -2.08, 81.69, 2, 0) MovementLoopAddLocation(NPC, -47.92, -2.5, 73.39, 2, 0) MovementLoopAddLocation(NPC, -46.64, -2.59, 65.03, 2, 0) MovementLoopAddLocation(NPC, -41.31, -2.89, 58.72, 2, 0) MovementLoopAddLocation(NPC, -44.55, -3.94, 45.11, 2, 0) MovementLoopAddLocation(NPC, -36.96, -3.82, 42.52, 2, 0) end function StartPath2(NPC) MovementLoopAddLocation(NPC, -47.47, -2.4, 67.54, 4, 0) MovementLoopAddLocation(NPC, -37.98, -2.22, 81.62, 4, 0) MovementLoopAddLocation(NPC, -14.18, -4.24, 91.13, 4, 0) MovementLoopAddLocation(NPC, -19.79, -4.42, 109.62, 4, 0) MovementLoopAddLocation(NPC, -4.71, -4.42, 120.59, 4, 0) MovementLoopAddLocation(NPC, -1.99, -4.42, 96.09, 4, 0) MovementLoopAddLocation(NPC, 10.14, -3.2, 79.98, 4, 0) MovementLoopAddLocation(NPC, -6.7, -4.27, 63.84, 4, 0) MovementLoopAddLocation(NPC, -11.05, -5.06, 39.66, 4, 0) MovementLoopAddLocation(NPC, -24.45, -3.71, 82.41, 4, 0) MovementLoopAddLocation(NPC, -45.66, -2.42, 76.96, 4, 0) MovementLoopAddLocation(NPC, -46.29, -2.55, 68.6, 4, 0) MovementLoopAddLocation(NPC, -67.39, -0.9, 67.99, 4, 0) end function EmoteLoop(NPC) -- Thanks theFoof local choice = math.random(1,4) local emote if choice == 1 then emote = "cheer" elseif choice == 2 then emote = "chuckle" end PlayFlavor(NPC, "", "", emote, 0, 0) AddTimer(NPC, math.random(1000,5000), "EmoteLoop") end