mirror of
https://github.com/araxiaonline/RandomScriptsforAzerothCore.git
synced 2026-06-13 02:22:19 -04:00
49 lines
1.4 KiB
Lua
49 lines
1.4 KiB
Lua
local SkeletalWarlord = {}
|
|
SkeletalWarlord.minChargeRange = 10
|
|
|
|
function SkeletalWarlord.OnEnterCombat(event, creature, target)
|
|
creature:RegisterEvent(SkeletalWarlord.Whirlwind, 15000, 0)
|
|
creature:RegisterEvent(SkeletalWarlord.MortalStrike, 7000, 0)
|
|
creature:RegisterEvent(SkeletalWarlord.Charge, 10000, 0)
|
|
end
|
|
|
|
function SkeletalWarlord.Whirlwind(eventId, delay, calls, creature)
|
|
creature:CastSpell(creature:GetVictim(), 36982, true)
|
|
end
|
|
|
|
function SkeletalWarlord.MortalStrike(eventId, delay, calls, creature)
|
|
creature:CastSpell(creature:GetVictim(), 21553, true)
|
|
end
|
|
|
|
function SkeletalWarlord.OnLeaveCombat(event, creature)
|
|
creature:RemoveEvents()
|
|
end
|
|
|
|
function SkeletalWarlord.OnDied(event, creature, killer)
|
|
creature:DespawnOrUnsummon(15000)
|
|
creature:RemoveEvents()
|
|
end
|
|
|
|
function SkeletalWarlord.Charge(eventId, delay, calls, creature)
|
|
local targets = creature:GetAITargets(SkeletalWarlord.minChargeRange)
|
|
if #targets == 0 then
|
|
return
|
|
end
|
|
local target = targets[math.random(#targets)]
|
|
creature:CastSpell(target, 19471, true)
|
|
end
|
|
|
|
|
|
|
|
RegisterCreatureEvent(400056, 1, SkeletalWarlord.OnEnterCombat)
|
|
RegisterCreatureEvent(400056, 2, SkeletalWarlord.OnLeaveCombat)
|
|
RegisterCreatureEvent(400056, 4, SkeletalWarlord.OnDied)
|
|
|
|
|
|
RegisterCreatureEvent(1788, 1, SkeletalWarlord.OnEnterCombat)
|
|
RegisterCreatureEvent(1788, 2, SkeletalWarlord.OnLeaveCombat)
|
|
RegisterCreatureEvent(1788, 4, SkeletalWarlord.OnDied)
|
|
|
|
|
|
|