public void Initialize(ChatMsg chatType, Language language, WorldObject sender, WorldObject receiver, string message, uint achievementId = 0, string channelName = "", Locale locale = Locale.enUS, string addonPrefix = "") { // Clear everything because same packet can be used multiple times Clear(); SenderGUID.Clear(); SenderAccountGUID.Clear(); SenderGuildGUID.Clear(); PartyGUID.Clear(); TargetGUID.Clear(); SenderName = ""; TargetName = ""; _ChatFlags = ChatFlags.None; SlashCmd = chatType; _Language = language; if (sender) { SetSender(sender, locale); } if (receiver) { SetReceiver(receiver, locale); } SenderVirtualAddress = Global.WorldMgr.GetVirtualRealmAddress(); TargetVirtualAddress = Global.WorldMgr.GetVirtualRealmAddress(); AchievementID = achievementId; Channel = channelName; Prefix = addonPrefix; ChatText = message; }
void Initialize() { PhaseTimer = 4000; Phase = 0; Intro = false; TargetGUID.Clear(); }
public override void UpdateAI(uint diff) { if (!Intro || TargetGUID.IsEmpty()) { return; } if (PhaseTimer <= diff) { switch (Phase) { case 0: Talk(TextIds.SayDarkRider); PhaseTimer = 5000; Phase = 1; break; case 1: Unit target = Global.ObjAccessor.GetUnit(me, TargetGUID); if (target) { DoCast(target, SpellIds.DespawnHorse, true); } PhaseTimer = 3000; Phase = 2; break; case 2: me.SetVisible(false); PhaseTimer = 2000; Phase = 3; break; case 3: me.DespawnOrUnsummon(); break; default: break; } } else { PhaseTimer -= diff; } }