private static void EyeOfAcherusActivated(NPC npc) { //npc.SpellCast.TriggerSelf((SpellId)51860); npc.SpellCast.TriggerSelf(SpellId.EyeOfAcherusVisual); npc.Phase = 2; var chr = npc.Map.GetObject(npc.Creator) as Character; if (chr != null) { //TODO localise! ChatMgr.SendRaidBossWhisper(npc, chr, "The Eye of Acherus launches towards its destination."); npc.SpellCast.Trigger(SpellId.EyeOfAcherusFlightBoost, npc, chr); npc.Flying++; //npc.IncMechanicCount(SpellMechanic.Rooted); //Move to destination var points = new List <Vector3>(3) { new Vector3(1758.007f, -5876.785f, 166.8667f), new Vector3(1957.396f, -5844.105f, 273.8667f), new Vector3(2341.571f, -5672.797f, 538.3942f), }; npc.MoveToPointsThenExecute(points, unit => { unit.SpellCast.TriggerSelf( SpellId.EyeOfAcherusFlight); unit.Auras.Remove( SpellId.EyeOfAcherusFlightBoost); ChatMgr.SendRaidBossWhisper(unit, chr, "The Eye of Acherus is in your control."); //unit.DecMechanicCount(SpellMechanic.Rooted); }); } }