Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local NpcId = 25372
- local function GoProtector(eventId, delay, repeats, creature)
- local target = creature:GetNearestCreature(100, 25507)
- local x, y, z = target:GetRelativePoint(13, target:GetAngle(creature)-target:GetO())
- if(not creature:IsWithinLoS(x, y, z)) then
- creature:RemoveFlag(59, 0x00020000) -- Remove pacify
- creature:RemoveFlag(60, 0x00008000) -- Remove turn disable
- creature:MoveChase(creature:GetVictim()) -- Chase victim (return combat movement)
- return
- end
- creature:MoveExpire() -- Disable waypoint movement
- creature:MoveIdle() -- Disable waypoint movement
- creature:MoveStop() -- Stop moving
- creature:SetWalk(false) -- Run
- creature:MoveTo(1, x, y, z)
- end
- local function OnEnterCombat(event, creature, player)
- creature:SendUnitYell("HaHa", 0)
- creature:SetFlag(59, 0x00020000) -- Pacify
- creature:SetFlag(60, 0x00008000) -- Disable turn
- creature:RegisterEvent(GoProtector, 0, 1)
- end
- local function Enable(eventId, delay, repeats, creature)
- creature:RemoveFlag(59, 0x00020000) -- Remove pacify
- creature:RemoveFlag(60, 0x00008000) -- Remove turn disable
- creature:MoveChase(creature:GetVictim()) -- Chase victim (return combat movement)
- end
- local function OnWp(event, creature, type, id)
- if (type == 8 and id == 1) then
- creature:SetWalk(true)
- local target = creature:GetNearestCreature(100, 25507) -- get closest protector
- if(target) then
- creature:RegisterEvent(Enable, 6000, 1)
- creature:CastSpell(target, 46475) -- Cast spell
- end
- end
- end
- local function OnLeaveCombat(event, creature)
- creature:RemoveEvents()
- creature:MoveHome() -- Restart waypoint movement
- creature:MoveWaypoint() -- Restart waypoint movement
- end
- local function OnDeath(event, creature)
- creature:RemoveEvents()
- creature:MoveStop()
- end
- local function OnReset(event, creature)
- creature:RemoveFlag(59, 0x00020000) -- Remove pacify
- creature:RemoveFlag(60, 0x00008000) -- Remove turn disable
- end
- RegisterCreatureEvent(NpcId, 1, OnEnterCombat)
- RegisterCreatureEvent(NpcId, 2, OnLeaveCombat)
- RegisterCreatureEvent(NpcId, 4, OnDeath)
- RegisterCreatureEvent(NpcId, 6, OnWp)
- RegisterCreatureEvent(NpcId, 23, OnReset)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement