diff options
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
90 files changed, 742 insertions, 804 deletions
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp index ee8f22ca66c..6949c73a1f3 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp @@ -117,7 +117,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_grimstoneAI(creature); + return GetInstanceAI<npc_grimstoneAI>(creature); } struct npc_grimstoneAI : public npc_escortAI @@ -1237,7 +1237,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_rocknotAI(creature); + return GetInstanceAI<npc_rocknotAI>(creature); } struct npc_rocknotAI : public npc_escortAI diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp index 25f93a2b6b7..ecdfafea641 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp @@ -39,7 +39,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_draganthaurissanAI(creature); + return GetInstanceAI<boss_draganthaurissanAI>(creature); } struct boss_draganthaurissanAI : public ScriptedAI @@ -92,7 +92,7 @@ public: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) DoCast(target, SPELL_HANDOFTHAURISSAN); - //3 Hands of Thaurissan will be casted + //3 Hands of Thaurissan will be cast //if (Counter < 3) //{ // HandOfThaurissan_Timer = 1000; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp index 55e6862bda7..aa0d0810a08 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp @@ -140,7 +140,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_doomrelAI(creature); + return GetInstanceAI<boss_doomrelAI>(creature); } struct boss_doomrelAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp index dbc3056b1ff..b2d496501ff 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp @@ -162,7 +162,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_gythAI(creature); + return GetInstanceAI<boss_gythAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp index 26540eb38a6..5a34bffca6f 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp @@ -128,7 +128,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lord_valthalakAI(creature); + return GetInstanceAI<boss_lord_valthalakAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp index 1c40385c0fd..0e14eedc813 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp @@ -316,7 +316,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_pyroguard_emberseerAI(creature); + return GetInstanceAI<boss_pyroguard_emberseerAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp index ff839e3cacb..efe53d0825a 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp @@ -438,7 +438,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_rend_blackhandAI(creature); + return GetInstanceAI<boss_rend_blackhandAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp index ccd74b204ce..5849ab1442c 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp @@ -23,11 +23,11 @@ enum Spells { SPELL_SNAPKICK = 15618, - SPELL_CLEAVE = 15579, + SPELL_CLEAVE = 15284, SPELL_UPPERCUT = 10966, SPELL_MORTALSTRIKE = 16856, SPELL_PUMMEL = 15615, - SPELL_THROWAXE = 16075, + SPELL_THROWAXE = 16075 }; enum Events @@ -37,7 +37,7 @@ enum Events EVENT_UPPERCUT = 3, EVENT_MORTAL_STRIKE = 4, EVENT_PUMMEL = 5, - EVENT_THROW_AXE = 6, + EVENT_THROW_AXE = 6 }; class boss_warmaster_voone : public CreatureScript @@ -45,11 +45,6 @@ class boss_warmaster_voone : public CreatureScript public: boss_warmaster_voone() : CreatureScript("boss_warmaster_voone") { } - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new boss_warmastervooneAI(creature); - } - struct boss_warmastervooneAI : public BossAI { boss_warmastervooneAI(Creature* creature) : BossAI(creature, DATA_WARMASTER_VOONE) { } @@ -119,6 +114,10 @@ public: } }; + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new boss_warmastervooneAI(creature); + } }; void AddSC_boss_warmastervoone() diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp index c9dc3d8f134..77afea4b656 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp @@ -116,7 +116,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_broodlordAI(creature); + return GetInstanceAI<boss_broodlordAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp index 05effabe557..9878720b1dd 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp @@ -282,7 +282,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_chromaggusAI(creature); + return GetInstanceAI<boss_chromaggusAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp index 0d79f3faeee..222bd6f80ea 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp @@ -92,7 +92,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ebonrocAI(creature); + return GetInstanceAI<boss_ebonrocAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp index 369e4e02f5a..983fe60a2d0 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp @@ -94,7 +94,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_firemawAI(creature); + return GetInstanceAI<boss_firemawAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp index 060bfeb60b3..63b43d81ae4 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp @@ -100,7 +100,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_flamegorAI(creature); + return GetInstanceAI<boss_flamegorAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp index 4e0c79509fc..5e0f17b2330 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp @@ -376,7 +376,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_victor_nefariusAI(creature); + return GetInstanceAI<boss_victor_nefariusAI>(creature); } }; @@ -423,7 +423,7 @@ public: if (rand()%5) return; - Talk(SAY_SLAY, victim->GetGUID()); + Talk(SAY_SLAY, victim); } void MovementInform(uint32 type, uint32 id) OVERRIDE @@ -572,7 +572,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_nefarianAI(creature); + return GetInstanceAI<boss_nefarianAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp index caf2719eff9..c2e7b7a091c 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp @@ -156,7 +156,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_razorgoreAI(creature); + return GetInstanceAI<boss_razorgoreAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp index c595f3acaff..bcca6246cd8 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp @@ -114,7 +114,7 @@ public: if (rand()%5) return; - Talk(SAY_KILLTARGET, victim->GetGUID()); + Talk(SAY_KILLTARGET, victim); } void UpdateAI(uint32 diff) OVERRIDE diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp index 0fdb88923b3..bc94f1b0267 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp @@ -179,7 +179,7 @@ class npc_core_rager : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_core_ragerAI(creature); + return GetInstanceAI<npc_core_ragerAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp index 1001516d42e..4c1ae6b302f 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp @@ -207,7 +207,7 @@ class boss_majordomo : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_majordomoAI(creature); + return GetInstanceAI<boss_majordomoAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp index d03f756f366..165c33573bd 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp @@ -306,7 +306,7 @@ class boss_ragnaros : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ragnarosAI(creature); + return GetInstanceAI<boss_ragnarosAI>(creature); } }; @@ -342,7 +342,7 @@ class npc_son_of_flame : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_son_of_flameAI(creature); + return GetInstanceAI<npc_son_of_flameAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp index 8a7836b310e..16142215e9f 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp @@ -45,7 +45,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_mr_smiteAI(creature); + return GetInstanceAI<boss_mr_smiteAI>(creature); } struct boss_mr_smiteAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp index f029e8505d4..122a66356db 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp @@ -101,7 +101,7 @@ class instance_deadmines : public InstanceMapScript CannonBlast_Timer = DATA_CANNON_BLAST_TIMER; // it's a hack - Mr. Smite should do that but his too far away pIronCladDoor->SetName("Mr. Smite"); - pIronCladDoor->MonsterYell(SAY_MR_SMITE_ALARM1, LANG_UNIVERSAL, 0); + pIronCladDoor->MonsterYell(SAY_MR_SMITE_ALARM1, LANG_UNIVERSAL, NULL); DoPlaySound(pIronCladDoor, SOUND_MR_SMITE_ALARM1); State = CANNON_BLAST_INITIATED; break; @@ -113,7 +113,7 @@ class instance_deadmines : public InstanceMapScript ShootCannon(); BlastOutDoor(); LeverStucked(); - pIronCladDoor->MonsterYell(SAY_MR_SMITE_ALARM2, LANG_UNIVERSAL, 0); + pIronCladDoor->MonsterYell(SAY_MR_SMITE_ALARM2, LANG_UNIVERSAL, NULL); DoPlaySound(pIronCladDoor, SOUND_MR_SMITE_ALARM2); State = PIRATES_ATTACK; } else CannonBlast_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp index 46683442a60..3fe806e09a8 100644 --- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp +++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp @@ -90,7 +90,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_blastmaster_emi_shortfuseAI(creature); + return GetInstanceAI<npc_blastmaster_emi_shortfuseAI>(creature); } bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp index 071a5e83d2f..30416aca1b5 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp @@ -149,7 +149,7 @@ public: if (Phase == 2) { if (Unit* unit = Unit::GetUnit(*me, Attumen)) - Talk(SAY_MIDNIGHT_KILL, unit->GetGUID()); + Talk(SAY_MIDNIGHT_KILL, unit); } } @@ -166,7 +166,7 @@ public: Attumen = attumen->GetGUID(); attumen->AI()->AttackStart(me->GetVictim()); SetMidnight(attumen, me->GetGUID()); - Talk(SAY_APPEAR, Attumen); + Talk(SAY_APPEAR, attumen); } } else if (Phase == 2 && HealthBelowPct(25)) @@ -204,7 +204,7 @@ public: void Mount(Unit* pAttumen) { - Talk(SAY_MOUNT, pAttumen->GetGUID()); + Talk(SAY_MOUNT, pAttumen); Phase = 3; me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); pAttumen->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp index fc37c42be85..006f619d3ab 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp @@ -98,7 +98,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_moroesAI(creature); + return GetInstanceAI<boss_moroesAI>(creature); } struct boss_moroesAI : public ScriptedAI @@ -393,7 +393,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_baroness_dorothea_millstipeAI(creature); + return GetInstanceAI<boss_baroness_dorothea_millstipeAI>(creature); } struct boss_baroness_dorothea_millstipeAI : public boss_moroes_guestAI @@ -456,7 +456,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_baron_rafe_dreugerAI(creature); + return GetInstanceAI<boss_baron_rafe_dreugerAI>(creature); } struct boss_baron_rafe_dreugerAI : public boss_moroes_guestAI @@ -513,7 +513,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lady_catriona_von_indiAI(creature); + return GetInstanceAI<boss_lady_catriona_von_indiAI>(creature); } struct boss_lady_catriona_von_indiAI : public boss_moroes_guestAI @@ -583,7 +583,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lady_keira_berrybuckAI(creature); + return GetInstanceAI<boss_lady_keira_berrybuckAI>(creature); } struct boss_lady_keira_berrybuckAI : public boss_moroes_guestAI @@ -657,7 +657,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lord_robin_darisAI(creature); + return GetInstanceAI<boss_lord_robin_darisAI>(creature); } struct boss_lord_robin_darisAI : public boss_moroes_guestAI @@ -713,7 +713,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lord_crispin_ferenceAI(creature); + return GetInstanceAI<boss_lord_crispin_ferenceAI>(creature); } struct boss_lord_crispin_ferenceAI : public boss_moroes_guestAI diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp index f80ff5b6028..52bec6dbf27 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp @@ -71,7 +71,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_netherspiteAI(creature); + return GetInstanceAI<boss_netherspiteAI>(creature); } struct boss_netherspiteAI : public ScriptedAI @@ -172,7 +172,7 @@ public: for (int j=0; j<3; ++j) // j = color if (Creature* portal = Unit::GetCreature(*me, PortalGUID[j])) { - // the one who's been casted upon before + // the one who's been cast upon before Unit* current = Unit::GetUnit(*portal, BeamTarget[j]); // temporary store for the best suitable beam reciever Unit* target = me; @@ -308,7 +308,7 @@ public: if (PhaseTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { SwitchToBanishPhase(); return; @@ -327,7 +327,7 @@ public: if (PhaseTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { SwitchToPortalPhase(); return; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp index 984ef902f05..5f3156ccc5a 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp @@ -71,7 +71,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_nightbaneAI(creature); + return GetInstanceAI<boss_nightbaneAI>(creature); } struct boss_nightbaneAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp index 7c6cdd4cb3e..d8901174d62 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp @@ -179,7 +179,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_malchezaarAI(creature); + return GetInstanceAI<boss_malchezaarAI>(creature); } struct boss_malchezaarAI : public ScriptedAI @@ -569,7 +569,7 @@ public: void DoMeleeAttacksIfReady() { - if (me->IsWithinMeleeRange(me->GetVictim()) && !me->IsNonMeleeSpellCasted(false)) + if (me->IsWithinMeleeRange(me->GetVictim()) && !me->IsNonMeleeSpellCast(false)) { //Check for base attack if (me->isAttackReady() && me->GetVictim()) diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp index 2d3fabb810b..b2c74fc45f8 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp @@ -86,7 +86,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_aranAI(creature); + return GetInstanceAI<boss_aranAI>(creature); } struct boss_aranAI : public ScriptedAI @@ -305,7 +305,7 @@ public: //Normal casts if (NormalCastTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true); if (!target) @@ -486,10 +486,10 @@ public: void SpellHit(Unit* /*pAttacker*/, const SpellInfo* Spell) OVERRIDE { - //We only care about interrupt effects and only if they are durring a spell currently being casted + //We only care about interrupt effects and only if they are durring a spell currently being cast if ((Spell->Effects[0].Effect != SPELL_EFFECT_INTERRUPT_CAST && Spell->Effects[1].Effect != SPELL_EFFECT_INTERRUPT_CAST && - Spell->Effects[2].Effect != SPELL_EFFECT_INTERRUPT_CAST) || !me->IsNonMeleeSpellCasted(false)) + Spell->Effects[2].Effect != SPELL_EFFECT_INTERRUPT_CAST) || !me->IsNonMeleeSpellCast(false)) return; //Interrupt effect diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp index 9e7897cd56a..68ba0a3fd01 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp @@ -72,7 +72,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_kilrekAI(creature); + return GetInstanceAI<npc_kilrekAI>(creature); } struct npc_kilrekAI : public ScriptedAI @@ -257,7 +257,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_terestianAI(creature); + return GetInstanceAI<boss_terestianAI>(creature); } struct boss_terestianAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp index 504b3bc6e97..c6f37b15a54 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp @@ -118,7 +118,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_dorotheeAI(creature); + return GetInstanceAI<boss_dorotheeAI>(creature); } struct boss_dorotheeAI : public ScriptedAI @@ -259,7 +259,7 @@ public: if (Dorothee && Dorothee->IsAlive()) { CAST_AI(boss_dorothee::boss_dorotheeAI, Dorothee->AI())->TitoDied = true; - Talk(SAY_DOROTHEE_TITO_DEATH, Dorothee->GetGUID()); + Talk(SAY_DOROTHEE_TITO_DEATH, Dorothee); } } } @@ -299,7 +299,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_strawmanAI(creature); + return GetInstanceAI<boss_strawmanAI>(creature); } struct boss_strawmanAI : public ScriptedAI @@ -414,7 +414,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_tinheadAI(creature); + return GetInstanceAI<boss_tinheadAI>(creature); } struct boss_tinheadAI : public ScriptedAI @@ -524,7 +524,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_roarAI(creature); + return GetInstanceAI<boss_roarAI>(creature); } struct boss_roarAI : public ScriptedAI @@ -633,7 +633,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_croneAI(creature); + return GetInstanceAI<boss_croneAI>(creature); } struct boss_croneAI : public ScriptedAI @@ -813,7 +813,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_bigbadwolfAI(creature); + return GetInstanceAI<boss_bigbadwolfAI>(creature); } struct boss_bigbadwolfAI : public ScriptedAI @@ -1015,7 +1015,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_julianneAI(creature); + return GetInstanceAI<boss_julianneAI>(creature); } struct boss_julianneAI : public ScriptedAI @@ -1138,7 +1138,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_romuloAI(creature); + return GetInstanceAI<boss_romuloAI>(creature); } struct boss_romuloAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp index 91127f2db0d..ed010124d6f 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp @@ -412,7 +412,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_barnesAI(creature); + return GetInstanceAI<npc_barnesAI>(creature); } }; @@ -476,7 +476,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_image_of_medivhAI(creature); + return GetInstanceAI<npc_image_of_medivhAI>(creature); } struct npc_image_of_medivhAI : public ScriptedAI @@ -535,7 +535,7 @@ public: return; ArcanagosGUID = Arcanagos->GetGUID(); Arcanagos->SetDisableGravity(true); - (*Arcanagos).GetMotionMaster()->MovePoint(0, ArcanagosPos[0], ArcanagosPos[1], ArcanagosPos[2]); + Arcanagos->GetMotionMaster()->MovePoint(0, ArcanagosPos[0], ArcanagosPos[1], ArcanagosPos[2]); Arcanagos->SetOrientation(ArcanagosPos[3]); me->SetOrientation(MedivPos[3]); YellTimer = 10000; @@ -549,25 +549,25 @@ public: { case 0: return 9999999; case 1: - me->MonsterYell(SAY_DIALOG_MEDIVH_1, LANG_UNIVERSAL, 0); + me->MonsterYell(SAY_DIALOG_MEDIVH_1, LANG_UNIVERSAL, NULL); return 10000; case 2: if (arca) - arca->MonsterYell(SAY_DIALOG_ARCANAGOS_2, LANG_UNIVERSAL, 0); + arca->MonsterYell(SAY_DIALOG_ARCANAGOS_2, LANG_UNIVERSAL, NULL); return 20000; case 3: - me->MonsterYell(SAY_DIALOG_MEDIVH_3, LANG_UNIVERSAL, 0); + me->MonsterYell(SAY_DIALOG_MEDIVH_3, LANG_UNIVERSAL, NULL); return 10000; case 4: if (arca) - arca->MonsterYell(SAY_DIALOG_ARCANAGOS_4, LANG_UNIVERSAL, 0); + arca->MonsterYell(SAY_DIALOG_ARCANAGOS_4, LANG_UNIVERSAL, NULL); return 20000; case 5: - me->MonsterYell(SAY_DIALOG_MEDIVH_5, LANG_UNIVERSAL, 0); + me->MonsterYell(SAY_DIALOG_MEDIVH_5, LANG_UNIVERSAL, NULL); return 20000; case 6: if (arca) - arca->MonsterYell(SAY_DIALOG_ARCANAGOS_6, LANG_UNIVERSAL, 0); + arca->MonsterYell(SAY_DIALOG_ARCANAGOS_6, LANG_UNIVERSAL, NULL); return 10000; case 7: FireArcanagosTimer = 500; @@ -577,7 +577,7 @@ public: DoCast(me, SPELL_MANA_SHIELD); return 10000; case 9: - me->MonsterTextEmote(EMOTE_DIALOG_MEDIVH_7, 0, false); + me->MonsterTextEmote(EMOTE_DIALOG_MEDIVH_7, NULL, false); return 10000; case 10: if (arca) @@ -585,7 +585,7 @@ public: return 1000; case 11: if (arca) - arca->MonsterYell(SAY_DIALOG_ARCANAGOS_8, LANG_UNIVERSAL, 0); + arca->MonsterYell(SAY_DIALOG_ARCANAGOS_8, LANG_UNIVERSAL, NULL); return 5000; case 12: arca->GetMotionMaster()->MovePoint(0, -11010.82f, -1761.18f, 156.47f); @@ -594,7 +594,7 @@ public: arca->SetSpeed(MOVE_FLIGHT, 2.0f); return 10000; case 13: - me->MonsterYell(SAY_DIALOG_MEDIVH_9, LANG_UNIVERSAL, 0); + me->MonsterYell(SAY_DIALOG_MEDIVH_9, LANG_UNIVERSAL, NULL); return 10000; case 14: me->SetVisible(false); diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp index 074ad3f1b96..15b3e6833c6 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp @@ -96,7 +96,7 @@ public: CreatureAI* GetAI(Creature* c) const OVERRIDE { - return new boss_felblood_kaelthasAI(c); + return GetInstanceAI<boss_felblood_kaelthasAI>(c); } struct boss_felblood_kaelthasAI : public ScriptedAI @@ -482,7 +482,7 @@ public: CreatureAI* GetAI(Creature* c) const OVERRIDE { - return new npc_felkael_phoenixAI(c); + return GetInstanceAI<npc_felkael_phoenixAI>(c); } struct npc_felkael_phoenixAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp index c8ab4a147ff..b5110c3c3c7 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp @@ -110,7 +110,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_priestess_delrissaAI(creature); + return GetInstanceAI<boss_priestess_delrissaAI>(creature); } struct boss_priestess_delrissaAI : public ScriptedAI @@ -504,7 +504,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kagani_nightstrikeAI(creature); + return GetInstanceAI<boss_kagani_nightstrikeAI>(creature); } struct boss_kagani_nightstrikeAI : public boss_priestess_lackey_commonAI @@ -608,7 +608,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ellris_duskhallowAI(creature); + return GetInstanceAI<boss_ellris_duskhallowAI>(creature); } struct boss_ellris_duskhallowAI : public boss_priestess_lackey_commonAI @@ -699,7 +699,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_eramas_brightblazeAI(creature); + return GetInstanceAI<boss_eramas_brightblazeAI>(creature); } struct boss_eramas_brightblazeAI : public boss_priestess_lackey_commonAI @@ -760,7 +760,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_yazzaiAI(creature); + return GetInstanceAI<boss_yazzaiAI>(creature); } struct boss_yazzaiAI : public boss_priestess_lackey_commonAI @@ -890,7 +890,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_warlord_salarisAI(creature); + return GetInstanceAI<boss_warlord_salarisAI>(creature); } struct boss_warlord_salarisAI : public boss_priestess_lackey_commonAI @@ -1010,7 +1010,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_garaxxasAI(creature); + return GetInstanceAI<boss_garaxxasAI>(creature); } struct boss_garaxxasAI : public boss_priestess_lackey_commonAI @@ -1068,7 +1068,7 @@ public: if (Freezing_Trap_Timer <= diff) { - //attempt find go summoned from spell (casted by me) + //attempt find go summoned from spell (cast by me) GameObject* go = me->GetGameObject(SPELL_FREEZING_TRAP); //if we have a go, we need to wait (only one trap at a time) @@ -1121,7 +1121,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_apokoAI(creature); + return GetInstanceAI<boss_apokoAI>(creature); } struct boss_apokoAI : public boss_priestess_lackey_commonAI @@ -1219,7 +1219,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_zelfanAI(creature); + return GetInstanceAI<boss_zelfanAI>(creature); } struct boss_zelfanAI : public boss_priestess_lackey_commonAI diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp index 849713d72bf..bcb321cab2e 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp @@ -66,7 +66,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_selin_fireheartAI(creature); + return GetInstanceAI<boss_selin_fireheartAI>(creature); }; struct boss_selin_fireheartAI : public ScriptedAI @@ -271,7 +271,7 @@ public: if (FelExplosionTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { DoCast(me, SPELL_FEL_EXPLOSION); FelExplosionTimer = 2000; diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp index 24b48112bb6..553107b2e82 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp @@ -76,7 +76,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_vexallusAI(creature); + return GetInstanceAI<boss_vexallusAI>(creature); }; struct boss_vexallusAI : public BossAI diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index 4dc62cc431d..4141b1a3aaa 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -144,7 +144,7 @@ public: me->CastSpell(me, SPELL_DK_INITIATE_VISUAL, true); if (Player* starter = ObjectAccessor::GetPlayer(*me, playerGUID)) - sCreatureTextMgr->SendChat(me, SAY_EVENT_ATTACK, 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, starter); + sCreatureTextMgr->SendChat(me, SAY_EVENT_ATTACK, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, starter); phase = PHASE_TO_ATTACK; } @@ -371,7 +371,7 @@ public: creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15); - sCreatureTextMgr->SendChat(creature, SAY_DUEL, 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player); + sCreatureTextMgr->SendChat(creature, SAY_DUEL, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player); player->CastSpell(creature, SPELL_DUEL, false); player->CastSpell(player, SPELL_DUEL_FLAG, true); diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp index 20a7ccedb17..c1c103fbab3 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp @@ -83,7 +83,7 @@ public: me->SetReactState(REACT_PASSIVE); DoCastAOE(SPELL_THREAT_PULSE, true); - sCreatureTextMgr->SendChat(me, SAY_PERSUADE_RAND, 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player); + sCreatureTextMgr->SendChat(me, SAY_PERSUADE_RAND, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player); Talk(SAY_CRUSADER); } } @@ -126,7 +126,7 @@ public: break; case 5: - sCreatureTextMgr->SendChat(me, SAY_PERSUADED5, 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player); + sCreatureTextMgr->SendChat(me, SAY_PERSUADED5, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player); speechTimer = 8000; break; @@ -698,25 +698,25 @@ public: case RACE_HUMAN: switch (ExecuteSpeech_Counter) { - case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break; + case 0: Talk(SAY_EXEC_START_1, player); break; case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break; - case 2: Talk(SAY_EXEC_PROG_5, player->GetGUID()); break; - case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break; - case 4: Talk(SAY_EXEC_RECOG_1, player->GetGUID()); break; - case 5: Talk(SAY_EXEC_NOREM_5, player->GetGUID()); break; - case 6: Talk(SAY_EXEC_THINK_7, player->GetGUID()); break; - case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break; + case 2: Talk(SAY_EXEC_PROG_5, player); break; + case 3: Talk(SAY_EXEC_NAME_1, player); break; + case 4: Talk(SAY_EXEC_RECOG_1, player); break; + case 5: Talk(SAY_EXEC_NOREM_5, player); break; + case 6: Talk(SAY_EXEC_THINK_7, player); break; + case 7: Talk(SAY_EXEC_LISTEN_1, player); break; case 8: if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f)) - Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID()); + Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player); break; case 9: - Talk(SAY_EXEC_TIME_6, player->GetGUID()); + Talk(SAY_EXEC_TIME_6, player); me->SetStandState(UNIT_STAND_STATE_KNEEL); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); break; case 10: - Talk(SAY_EXEC_WAITING, player->GetGUID()); + Talk(SAY_EXEC_WAITING, player); break; case 11: Talk(EMOTE_DIES); @@ -728,25 +728,25 @@ public: case RACE_ORC: switch (ExecuteSpeech_Counter) { - case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break; + case 0: Talk(SAY_EXEC_START_1, player); break; case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break; - case 2: Talk(SAY_EXEC_PROG_6, player->GetGUID()); break; - case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break; - case 4: Talk(SAY_EXEC_RECOG_1, player->GetGUID()); break; - case 5: Talk(SAY_EXEC_NOREM_7, player->GetGUID()); break; - case 6: Talk(SAY_EXEC_THINK_8, player->GetGUID()); break; - case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break; + case 2: Talk(SAY_EXEC_PROG_6, player); break; + case 3: Talk(SAY_EXEC_NAME_1, player); break; + case 4: Talk(SAY_EXEC_RECOG_1, player); break; + case 5: Talk(SAY_EXEC_NOREM_7, player); break; + case 6: Talk(SAY_EXEC_THINK_8, player); break; + case 7: Talk(SAY_EXEC_LISTEN_1, player); break; case 8: if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f)) - Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID()); + Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player); break; case 9: - Talk(SAY_EXEC_TIME_8, player->GetGUID()); + Talk(SAY_EXEC_TIME_8, player); me->SetStandState(UNIT_STAND_STATE_KNEEL); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); break; case 10: - Talk(SAY_EXEC_WAITING, player->GetGUID()); + Talk(SAY_EXEC_WAITING, player); break; case 11: Talk(EMOTE_DIES); @@ -758,25 +758,25 @@ public: case RACE_DWARF: switch (ExecuteSpeech_Counter) { - case 0: Talk(SAY_EXEC_START_2, player->GetGUID()); break; + case 0: Talk(SAY_EXEC_START_2, player); break; case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break; - case 2: Talk(SAY_EXEC_PROG_2, player->GetGUID()); break; - case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break; - case 4: Talk(SAY_EXEC_RECOG_3, player->GetGUID()); break; - case 5: Talk(SAY_EXEC_NOREM_2, player->GetGUID()); break; - case 6: Talk(SAY_EXEC_THINK_5, player->GetGUID()); break; - case 7: Talk(SAY_EXEC_LISTEN_2, player->GetGUID()); break; + case 2: Talk(SAY_EXEC_PROG_2, player); break; + case 3: Talk(SAY_EXEC_NAME_1, player); break; + case 4: Talk(SAY_EXEC_RECOG_3, player); break; + case 5: Talk(SAY_EXEC_NOREM_2, player); break; + case 6: Talk(SAY_EXEC_THINK_5, player); break; + case 7: Talk(SAY_EXEC_LISTEN_2, player); break; case 8: if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f)) - Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID()); + Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player); break; case 9: - Talk(SAY_EXEC_TIME_3, player->GetGUID()); + Talk(SAY_EXEC_TIME_3, player); me->SetStandState(UNIT_STAND_STATE_KNEEL); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); break; case 10: - Talk(SAY_EXEC_WAITING, player->GetGUID()); + Talk(SAY_EXEC_WAITING, player); break; case 11: Talk(EMOTE_DIES); @@ -788,25 +788,25 @@ public: case RACE_NIGHTELF: switch (ExecuteSpeech_Counter) { - case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break; + case 0: Talk(SAY_EXEC_START_1, player); break; case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break; - case 2: Talk(SAY_EXEC_PROG_5, player->GetGUID()); break; - case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break; - case 4: Talk(SAY_EXEC_RECOG_1, player->GetGUID()); break; - case 5: Talk(SAY_EXEC_NOREM_6, player->GetGUID()); break; - case 6: Talk(SAY_EXEC_THINK_2, player->GetGUID()); break; - case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break; + case 2: Talk(SAY_EXEC_PROG_5, player); break; + case 3: Talk(SAY_EXEC_NAME_1, player); break; + case 4: Talk(SAY_EXEC_RECOG_1, player); break; + case 5: Talk(SAY_EXEC_NOREM_6, player); break; + case 6: Talk(SAY_EXEC_THINK_2, player); break; + case 7: Talk(SAY_EXEC_LISTEN_1, player); break; case 8: if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f)) - Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID()); + Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player); break; case 9: - Talk(SAY_EXEC_TIME_7, player->GetGUID()); + Talk(SAY_EXEC_TIME_7, player); me->SetStandState(UNIT_STAND_STATE_KNEEL); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); break; case 10: - Talk(SAY_EXEC_WAITING, player->GetGUID()); + Talk(SAY_EXEC_WAITING, player); break; case 11: Talk(EMOTE_DIES); @@ -818,25 +818,25 @@ public: case RACE_UNDEAD_PLAYER: switch (ExecuteSpeech_Counter) { - case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break; + case 0: Talk(SAY_EXEC_START_1, player); break; case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break; - case 2: Talk(SAY_EXEC_PROG_3, player->GetGUID()); break; - case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break; - case 4: Talk(SAY_EXEC_RECOG_4, player->GetGUID()); break; - case 5: Talk(SAY_EXEC_NOREM_3, player->GetGUID()); break; - case 6: Talk(SAY_EXEC_THINK_1, player->GetGUID()); break; - case 7: Talk(SAY_EXEC_LISTEN_3, player->GetGUID()); break; + case 2: Talk(SAY_EXEC_PROG_3, player); break; + case 3: Talk(SAY_EXEC_NAME_1, player); break; + case 4: Talk(SAY_EXEC_RECOG_4, player); break; + case 5: Talk(SAY_EXEC_NOREM_3, player); break; + case 6: Talk(SAY_EXEC_THINK_1, player); break; + case 7: Talk(SAY_EXEC_LISTEN_3, player); break; case 8: if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f)) - Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID()); + Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player); break; case 9: - Talk(SAY_EXEC_TIME_4, player->GetGUID()); + Talk(SAY_EXEC_TIME_4, player); me->SetStandState(UNIT_STAND_STATE_KNEEL); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); break; case 10: - Talk(SAY_EXEC_WAITING, player->GetGUID()); + Talk(SAY_EXEC_WAITING, player); break; case 11: Talk(EMOTE_DIES); @@ -848,25 +848,25 @@ public: case RACE_TAUREN: switch (ExecuteSpeech_Counter) { - case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break; + case 0: Talk(SAY_EXEC_START_1, player); break; case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break; - case 2: Talk(SAY_EXEC_PROG_1, player->GetGUID()); break; - case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break; - case 4: Talk(SAY_EXEC_RECOG_5, player->GetGUID()); break; - case 5: Talk(SAY_EXEC_NOREM_8, player->GetGUID()); break; - case 6: Talk(SAY_EXEC_THINK_9, player->GetGUID()); break; - case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break; + case 2: Talk(SAY_EXEC_PROG_1, player); break; + case 3: Talk(SAY_EXEC_NAME_1, player); break; + case 4: Talk(SAY_EXEC_RECOG_5, player); break; + case 5: Talk(SAY_EXEC_NOREM_8, player); break; + case 6: Talk(SAY_EXEC_THINK_9, player); break; + case 7: Talk(SAY_EXEC_LISTEN_1, player); break; case 8: if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f)) - Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID()); + Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player); break; case 9: - Talk(SAY_EXEC_TIME_9, player->GetGUID()); + Talk(SAY_EXEC_TIME_9, player); me->SetStandState(UNIT_STAND_STATE_KNEEL); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); break; case 10: - Talk(SAY_EXEC_WAITING, player->GetGUID()); + Talk(SAY_EXEC_WAITING, player); break; case 11: Talk(EMOTE_DIES); @@ -878,25 +878,25 @@ public: case RACE_GNOME: switch (ExecuteSpeech_Counter) { - case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break; + case 0: Talk(SAY_EXEC_START_1, player); break; case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break; - case 2: Talk(SAY_EXEC_PROG_4, player->GetGUID()); break; - case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break; - case 4: Talk(SAY_EXEC_RECOG_1, player->GetGUID()); break; - case 5: Talk(SAY_EXEC_NOREM_4, player->GetGUID()); break; - case 6: Talk(SAY_EXEC_THINK_6, player->GetGUID()); break; - case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break; + case 2: Talk(SAY_EXEC_PROG_4, player); break; + case 3: Talk(SAY_EXEC_NAME_1, player); break; + case 4: Talk(SAY_EXEC_RECOG_1, player); break; + case 5: Talk(SAY_EXEC_NOREM_4, player); break; + case 6: Talk(SAY_EXEC_THINK_6, player); break; + case 7: Talk(SAY_EXEC_LISTEN_1, player); break; case 8: if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f)) - Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID()); + Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player); break; case 9: - Talk(SAY_EXEC_TIME_5, player->GetGUID()); + Talk(SAY_EXEC_TIME_5, player); me->SetStandState(UNIT_STAND_STATE_KNEEL); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); break; case 10: - Talk(SAY_EXEC_WAITING, player->GetGUID()); + Talk(SAY_EXEC_WAITING, player); break; case 11: Talk(EMOTE_DIES); @@ -908,25 +908,25 @@ public: case RACE_TROLL: switch (ExecuteSpeech_Counter) { - case 0: Talk(SAY_EXEC_START_3, player->GetGUID()); break; + case 0: Talk(SAY_EXEC_START_3, player); break; case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break; - case 2: Talk(SAY_EXEC_PROG_7, player->GetGUID()); break; - case 3: Talk(SAY_EXEC_NAME_2, player->GetGUID()); break; - case 4: Talk(SAY_EXEC_RECOG_6, player->GetGUID()); break; - case 5: Talk(SAY_EXEC_NOREM_9, player->GetGUID()); break; - case 6: Talk(SAY_EXEC_THINK_10, player->GetGUID()); break; - case 7: Talk(SAY_EXEC_LISTEN_4, player->GetGUID()); break; + case 2: Talk(SAY_EXEC_PROG_7, player); break; + case 3: Talk(SAY_EXEC_NAME_2, player); break; + case 4: Talk(SAY_EXEC_RECOG_6, player); break; + case 5: Talk(SAY_EXEC_NOREM_9, player); break; + case 6: Talk(SAY_EXEC_THINK_10, player); break; + case 7: Talk(SAY_EXEC_LISTEN_4, player); break; case 8: if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f)) - Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID()); + Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player); break; case 9: - Talk(SAY_EXEC_TIME_10, player->GetGUID()); + Talk(SAY_EXEC_TIME_10, player); me->SetStandState(UNIT_STAND_STATE_KNEEL); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); break; case 10: - Talk(SAY_EXEC_WAITING, player->GetGUID()); + Talk(SAY_EXEC_WAITING, player); break; case 11: Talk(EMOTE_DIES); @@ -938,25 +938,25 @@ public: case RACE_BLOODELF: switch (ExecuteSpeech_Counter) { - case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break; + case 0: Talk(SAY_EXEC_START_1, player); break; case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break; - case 2: Talk(SAY_EXEC_PROG_1, player->GetGUID()); break; - case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break; - case 4: Talk(SAY_EXEC_RECOG_1, player->GetGUID()); break; + case 2: Talk(SAY_EXEC_PROG_1, player); break; + case 3: Talk(SAY_EXEC_NAME_1, player); break; + case 4: Talk(SAY_EXEC_RECOG_1, player); break; //case 5: //unknown - case 6: Talk(SAY_EXEC_THINK_3, player->GetGUID()); break; - case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break; + case 6: Talk(SAY_EXEC_THINK_3, player); break; + case 7: Talk(SAY_EXEC_LISTEN_1, player); break; case 8: if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f)) - Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID()); + Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player); break; case 9: - Talk(SAY_EXEC_TIME_1, player->GetGUID()); + Talk(SAY_EXEC_TIME_1, player); me->SetStandState(UNIT_STAND_STATE_KNEEL); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); break; case 10: - Talk(SAY_EXEC_WAITING, player->GetGUID()); + Talk(SAY_EXEC_WAITING, player); break; case 11: Talk(EMOTE_DIES); @@ -968,25 +968,25 @@ public: case RACE_DRAENEI: switch (ExecuteSpeech_Counter) { - case 0: Talk(SAY_EXEC_START_1, player->GetGUID()); break; + case 0: Talk(SAY_EXEC_START_1, player); break; case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break; - case 2: Talk(SAY_EXEC_PROG_1, player->GetGUID()); break; - case 3: Talk(SAY_EXEC_NAME_1, player->GetGUID()); break; - case 4: Talk(SAY_EXEC_RECOG_2, player->GetGUID()); break; - case 5: Talk(SAY_EXEC_NOREM_1, player->GetGUID()); break; - case 6: Talk(SAY_EXEC_THINK_4, player->GetGUID()); break; - case 7: Talk(SAY_EXEC_LISTEN_1, player->GetGUID()); break; + case 2: Talk(SAY_EXEC_PROG_1, player); break; + case 3: Talk(SAY_EXEC_NAME_1, player); break; + case 4: Talk(SAY_EXEC_RECOG_2, player); break; + case 5: Talk(SAY_EXEC_NOREM_1, player); break; + case 6: Talk(SAY_EXEC_THINK_4, player); break; + case 7: Talk(SAY_EXEC_LISTEN_1, player); break; case 8: if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f)) - Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player->GetGUID()); + Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player); break; case 9: - Talk(SAY_EXEC_TIME_2, player->GetGUID()); + Talk(SAY_EXEC_TIME_2, player); me->SetStandState(UNIT_STAND_STATE_KNEEL); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); break; case 10: - Talk(SAY_EXEC_WAITING, player->GetGUID()); + Talk(SAY_EXEC_WAITING, player); break; case 11: Talk(EMOTE_DIES); diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp index 2bb187692fa..6234d7341e1 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp @@ -103,7 +103,7 @@ public: { me->HandleEmoteCommand(EMOTE_ONESHOT_CUSTOM_SPELL_01); DoCast(player, SPELL_REVIVE, true); - Talk(WHISPER_REVIVE, player->GetGUID()); + Talk(WHISPER_REVIVE, player); } FlyBackTimer = 5000; break; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp index 694fdf9d84e..7389d9afbff 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp @@ -93,7 +93,7 @@ public: if (!bShielded && !HealthAbovePct(50)) { //wait if we already casting - if (me->IsNonMeleeSpellCasted(false)) + if (me->IsNonMeleeSpellCast(false)) return; Talk(SAY_SPECIALAE); diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp index 6f028e33726..274be80b7b0 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp @@ -66,7 +66,7 @@ public: return; //If we are <50% hp cast Soul Siphon rank 1 - if (!HealthAbovePct(50) && !me->IsNonMeleeSpellCasted(false)) + if (!HealthAbovePct(50) && !me->IsNonMeleeSpellCast(false)) { //SoulSiphon_Timer if (SoulSiphon_Timer <= diff) diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp index 0810d5ca2b8..07a5a906f5b 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp @@ -258,10 +258,7 @@ public: void SaySound(uint8 textEntry, Unit* target = 0) { - if (target) - Talk(textEntry, target->GetGUID()); - else - Talk(textEntry); + Talk(textEntry, target); //DoCast(me, SPELL_HEAD_SPEAKS, true); if (Creature* speaker = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 1000)) @@ -348,7 +345,7 @@ public: Creature* speaker = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 1000); if (speaker) speaker->CastSpell(speaker, SPELL_HEAD_SPEAKS, false); - me->MonsterTextEmote(EMOTE_LAUGHS, 0); + me->MonsterTextEmote(EMOTE_LAUGHS, NULL); } else laugh -= diff; } @@ -377,7 +374,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_headless_horsemanAI(creature); + return GetInstanceAI<boss_headless_horsemanAI>(creature); } struct boss_headless_horsemanAI : public ScriptedAI @@ -528,10 +525,7 @@ public: void SaySound(uint8 textEntry, Unit* target = 0) { - if (target) - Talk(textEntry, target->GetGUID()); - else - Talk(textEntry); + Talk(textEntry, target); laugh += 4000; } @@ -728,7 +722,7 @@ public: if (laugh <= diff) { laugh = urand(11000, 22000); - me->MonsterTextEmote(EMOTE_LAUGHS, 0); + me->MonsterTextEmote(EMOTE_LAUGHS, NULL); DoPlaySoundToSet(me, RandomLaugh[rand()%3]); } else laugh -= diff; @@ -806,8 +800,8 @@ public: float x, y, z; me->GetPosition(x, y, z); //this visual aura some under ground me->SetPosition(x, y, z + 0.35f, 0.0f); - Despawn(); debuffGUID = 0; + Despawn(); Creature* debuff = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 14500); if (debuff) { diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp index 40fe93155a5..e4974ef7eb0 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp @@ -99,7 +99,7 @@ public: return; //If we are <30% hp goes Enraged - if (!Enrage && !HealthAbovePct(30) && !me->IsNonMeleeSpellCasted(false)) + if (!Enrage && !HealthAbovePct(30) && !me->IsNonMeleeSpellCast(false)) { Talk(EMOTE_ENRAGE); Talk(SAY_ENRAGE); diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp index 46680730f7e..ea624576dbc 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp @@ -83,7 +83,7 @@ public: return; //If we are <25% hp cast Heal - if (!HealthAbovePct(25) && !me->IsNonMeleeSpellCasted(false) && Heal_Timer <= diff) + if (!HealthAbovePct(25) && !me->IsNonMeleeSpellCast(false) && Heal_Timer <= diff) { DoCast(me, SPELL_HEAL); Heal_Timer = 30000; diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp index a57c237c21a..48b133081bd 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp @@ -48,7 +48,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_interrogator_vishasAI(creature); + return GetInstanceAI<boss_interrogator_vishasAI>(creature); } struct boss_interrogator_vishasAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp index 403416bb202..41e961360b5 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp @@ -65,7 +65,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_scarlet_commander_mograineAI(creature); + return GetInstanceAI<boss_scarlet_commander_mograineAI>(creature); } struct boss_scarlet_commander_mograineAI : public ScriptedAI @@ -145,7 +145,7 @@ public: me->SetHealth(0); - if (me->IsNonMeleeSpellCasted(false)) + if (me->IsNonMeleeSpellCast(false)) me->InterruptNonMeleeSpells(false); me->ClearComboPointHolders(); @@ -231,7 +231,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_high_inquisitor_whitemaneAI(creature); + return GetInstanceAI<boss_high_inquisitor_whitemaneAI>(creature); } struct boss_high_inquisitor_whitemaneAI : public ScriptedAI @@ -313,7 +313,7 @@ public: //Cast Deep sleep when health is less than 50% if (!_bCanResurrectCheck && !HealthAbovePct(50)) { - if (me->IsNonMeleeSpellCasted(false)) + if (me->IsNonMeleeSpellCast(false)) me->InterruptNonMeleeSpells(false); DoCastVictim(SPELL_DEEPSLEEP); diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp index 2277c53ae6b..558dc030eaf 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp @@ -128,7 +128,7 @@ class boss_darkmaster_gandling : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_darkmaster_gandlingAI(creature); + return GetInstanceAI<boss_darkmaster_gandlingAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp index 88f95df69c4..0f3929bda36 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp @@ -99,7 +99,7 @@ class boss_instructor_malicia : public CreatureScript events.ScheduleEvent(EVENT_RENEW, 10000); break; case EVENT_FLASHHEAL: - //5 Flashheals will be casted + //5 Flashheals will be cast DoCast(me, SPELL_FLASHHEAL); if (FlashCounter < 2) { @@ -113,7 +113,7 @@ class boss_instructor_malicia : public CreatureScript } break; case EVENT_HEALINGTOUCH: - //3 Healing Touch will be casted + //3 Healing Touch will be cast DoCast(me, SPELL_HEALINGTOUCH); if (TouchCounter < 2) { diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp index 2663146317a..cbd996d04fc 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp @@ -32,7 +32,7 @@ enum Spells //SPELL_ILLUSION = 17773, // Spells of Illusion of Jandice Barov - SPELL_CLEAVE = 15584 + SPELL_CLEAVE = 15284 }; class boss_jandice_barov : public CreatureScript diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp index 2433390f8f5..e485db94e42 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp @@ -253,7 +253,7 @@ class boss_kirtonos_the_herald : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kirtonos_the_heraldAI(creature); + return GetInstanceAI<boss_kirtonos_the_heraldAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp index e06c0d6bfbb..17524ddf2b2 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp @@ -28,8 +28,9 @@ EndScriptData */ enum Spells { - SPELL_IMMOLATE = 20294, // Old ID was 15570 - SPELL_VEILOFSHADOW = 17820 + SPELL_IMMOLATE = 20294, + SPELL_VEILOFSHADOW = 17820, + SPELL_UNHOLY_AURA = 17467 }; enum Events @@ -49,7 +50,9 @@ class boss_lord_alexei_barov : public CreatureScript void Reset() OVERRIDE { _Reset(); - me->LoadCreaturesAddon(); + + if (!me->HasAura(SPELL_UNHOLY_AURA)) + DoCast(me, SPELL_UNHOLY_AURA); } void EnterCombat(Unit* /*who*/) OVERRIDE diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp index 8d89592090e..b8f3df2da60 100644 --- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp +++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp @@ -72,7 +72,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_shadowfang_prisonerAI(creature); + return GetInstanceAI<npc_shadowfang_prisonerAI>(creature); } bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE @@ -158,7 +158,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_arugal_voidwalkerAI(creature); + return GetInstanceAI<npc_arugal_voidwalkerAI>(creature); } struct npc_arugal_voidwalkerAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp index 16ec442d963..04edf4e3f43 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp @@ -68,7 +68,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_baron_rivendareAI(creature); + return GetInstanceAI<boss_baron_rivendareAI>(creature); } struct boss_baron_rivendareAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp index 1812e2efd8d..2f5750b6141 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp @@ -42,7 +42,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_baroness_anastariAI(creature); + return GetInstanceAI<boss_baroness_anastariAI>(creature); } struct boss_baroness_anastariAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp index 5847f7b132b..951cb8e2659 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp @@ -162,7 +162,7 @@ public: //BalnazzarTransform if (HealthBelowPct(40)) { - if (me->IsNonMeleeSpellCasted(false)) + if (me->IsNonMeleeSpellCast(false)) me->InterruptNonMeleeSpells(false); //restore hp, mana and stun diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp index 0f8340891a8..57bd138e7e1 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp @@ -43,7 +43,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_maleki_the_pallidAI(creature); + return GetInstanceAI<boss_maleki_the_pallidAI>(creature); } struct boss_maleki_the_pallidAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp index 2cacf80e27c..2eb5d6024d4 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp @@ -42,7 +42,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_nerubenkanAI(creature); + return GetInstanceAI<boss_nerubenkanAI>(creature); } struct boss_nerubenkanAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp index 706c2e7b6fb..b5d03ae9261 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp @@ -58,7 +58,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_silver_hand_bossesAI(creature); + return GetInstanceAI<boss_silver_hand_bossesAI>(creature); } struct boss_silver_hand_bossesAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp index 79b8dd7dfe2..17eebf227e8 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp @@ -45,7 +45,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ramstein_the_gorgerAI(creature); + return GetInstanceAI<boss_ramstein_the_gorgerAI>(creature); } struct boss_ramstein_the_gorgerAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp index 3fd346d6816..5fc27b971a0 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp @@ -190,12 +190,12 @@ public: case 1: me->SetInFront(Madrigosa); Madrigosa->SetInFront(me); - Madrigosa->AI()->Talk(YELL_MADR_INTRO, me->GetGUID()); + Madrigosa->AI()->Talk(YELL_MADR_INTRO, me); IntroPhaseTimer = 9000; ++IntroPhase; break; case 2: - Talk(YELL_INTRO, Madrigosa->GetGUID()); + Talk(YELL_INTRO, Madrigosa); IntroPhaseTimer = 13000; ++IntroPhase; break; diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp index e68d834b20d..d80196f79ee 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp @@ -217,7 +217,7 @@ public: { if (ConflagrationTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { me->InterruptSpell(CURRENT_GENERIC_SPELL); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) @@ -230,7 +230,7 @@ public: { if (ShadownovaTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0); if (target) @@ -239,7 +239,7 @@ public: if (!SisterDeath) { if (target) - Talk(EMOTE_SHADOW_NOVA, target->GetGUID()); + Talk(EMOTE_SHADOW_NOVA, target); Talk(YELL_SHADOW_NOVA); } ShadownovaTimer = 30000+(rand()%5000); @@ -249,7 +249,7 @@ public: if (ConfoundingblowTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) DoCast(target, SPELL_CONFOUNDING_BLOW); @@ -276,7 +276,7 @@ public: if (ShadowbladesTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { DoCast(me, SPELL_SHADOW_BLADES); ShadowbladesTimer = 10000; @@ -291,7 +291,7 @@ public: Enraged = true; } else EnrageTimer -= diff; - if (me->isAttackReady() && !me->IsNonMeleeSpellCasted(false)) + if (me->isAttackReady() && !me->IsNonMeleeSpellCast(false)) { //If we are within range melee the target if (me->IsWithinMeleeRange(me->GetVictim())) @@ -548,7 +548,7 @@ public: { if (ShadownovaTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) DoCast(target, SPELL_SHADOW_NOVA); @@ -560,7 +560,7 @@ public: { if (ConflagrationTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { me->InterruptSpell(CURRENT_GENERIC_SPELL); Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0); @@ -571,7 +571,7 @@ public: if (!SisterDeath) { if (target) - Talk(EMOTE_CONFLAGRATION, target->GetGUID()); + Talk(EMOTE_CONFLAGRATION, target); Talk(YELL_CANFLAGRATION); } @@ -582,7 +582,7 @@ public: if (FlamesearTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { DoCast(me, SPELL_FLAME_SEAR); FlamesearTimer = 15000; @@ -591,7 +591,7 @@ public: if (PyrogenicsTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { DoCast(me, SPELL_PYROGENICS, true); PyrogenicsTimer = 15000; @@ -600,7 +600,7 @@ public: if (BlazeTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { DoCastVictim(SPELL_BLAZE); BlazeTimer = 3800; @@ -691,7 +691,7 @@ public: if (DarkstrikeTimer <= diff) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { //If we are within range melee the target if (me->IsWithinMeleeRange(me->GetVictim())) diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp index 80b4b98b0a4..a52c008a16c 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp @@ -404,7 +404,7 @@ public: events.Update(diff); - if (me->IsNonMeleeSpellCasted(false)) + if (me->IsNonMeleeSpellCast(false)) return; if (phase == PHASE_GROUND) diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp index 2a2574ea256..92d5c3121ed 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp @@ -441,7 +441,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kalecAI(creature); + return GetInstanceAI<boss_kalecAI>(creature); } struct boss_kalecAI : public ScriptedAI @@ -575,7 +575,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_sathrovarrAI(creature); + return GetInstanceAI<boss_sathrovarrAI>(creature); } struct boss_sathrovarrAI : public ScriptedAI @@ -755,7 +755,7 @@ public: } else { - me->MonsterTextEmote(EMOTE_UNABLE_TO_FIND, 0); + me->MonsterTextEmote(EMOTE_UNABLE_TO_FIND, NULL); EnterEvadeMode(); return; } diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index b3982200a10..d3e1661aca9 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -236,7 +236,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kalecgos_kjAI(creature); + return GetInstanceAI<boss_kalecgos_kjAI>(creature); } struct boss_kalecgos_kjAI : public ScriptedAI @@ -389,7 +389,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_kiljaeden_controllerAI(creature); + return GetInstanceAI<npc_kiljaeden_controllerAI>(creature); } struct npc_kiljaeden_controllerAI : public ScriptedAI @@ -710,7 +710,7 @@ public: SpeechTimer += diff; break; case TIMER_SOUL_FLAY: - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { DoCastVictim(SPELL_SOUL_FLAY_SLOW, false); DoCastVictim(SPELL_SOUL_FLAY, false); @@ -718,7 +718,7 @@ public: } break; case TIMER_LEGION_LIGHTNING: - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { Unit* pRandomPlayer = NULL; @@ -740,7 +740,7 @@ public: } break; case TIMER_FIRE_BLOOM: - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { me->RemoveAurasDueToSpell(SPELL_SOUL_FLAY); DoCastAOE(SPELL_FIRE_BLOOM, false); @@ -760,7 +760,7 @@ public: Timer[TIMER_SOUL_FLAY] = 2000; break; case TIMER_SHADOW_SPIKE: //Phase 3 - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { CastSinisterReflection(); DoCastAOE(SPELL_SHADOW_SPIKE, false); @@ -774,7 +774,7 @@ public: Timer[TIMER_FLAME_DART] = 3000; /// @todo Timer break; case TIMER_DARKNESS: //Phase 3 - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { // Begins to channel for 8 seconds, then deals 50'000 damage to all raid members. if (!IsInDarkness) @@ -1150,7 +1150,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_shield_orbAI(creature); + return GetInstanceAI<npc_shield_orbAI>(creature); } struct npc_shield_orbAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index 8da162bae14..add0885a8a2 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -371,7 +371,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_muru_portalAI(creature); + return GetInstanceAI<npc_muru_portalAI>(creature); } struct npc_muru_portalAI : public ScriptedAI @@ -571,7 +571,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_blackholeAI(creature); + return GetInstanceAI<npc_blackholeAI>(creature); } struct npc_blackholeAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp index 69ee53f0762..bae21721634 100644 --- a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp +++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp @@ -206,7 +206,7 @@ class boss_archaedas : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_archaedasAI(creature); + return GetInstanceAI<boss_archaedasAI>(creature); } }; @@ -305,7 +305,7 @@ class npc_archaedas_minions : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_archaedas_minionsAI(creature); + return GetInstanceAI<npc_archaedas_minionsAI>(creature); } }; @@ -368,7 +368,7 @@ class npc_stonekeepers : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_stonekeepersAI(creature); + return GetInstanceAI<npc_stonekeepersAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp index 830942ae2c3..8ab31cc08fa 100644 --- a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp +++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp @@ -48,14 +48,14 @@ class boss_ironaya : public CreatureScript boss_ironayaAI(Creature* creature) : ScriptedAI(creature) { } uint32 uiArcingTimer; - bool bHasCastedWstomp; - bool bHasCastedKnockaway; + bool bHasCastWstomp; + bool bHasCastKnockaway; void Reset() OVERRIDE { uiArcingTimer = 3000; - bHasCastedKnockaway = false; - bHasCastedWstomp = false; + bHasCastKnockaway = false; + bHasCastWstomp = false; } void EnterCombat(Unit* /*who*/) OVERRIDE @@ -70,7 +70,7 @@ class boss_ironaya : public CreatureScript return; //If we are <50% hp do knockaway ONCE - if (!bHasCastedKnockaway && HealthBelowPct(50)) + if (!bHasCastKnockaway && HealthBelowPct(50)) { DoCastVictim(SPELL_KNOCKAWAY, true); @@ -84,7 +84,7 @@ class boss_ironaya : public CreatureScript me->TauntApply(target); //Shouldn't cast this agian - bHasCastedKnockaway = true; + bHasCastKnockaway = true; } //uiArcingTimer @@ -94,10 +94,10 @@ class boss_ironaya : public CreatureScript uiArcingTimer = 13000; } else uiArcingTimer -= uiDiff; - if (!bHasCastedWstomp && HealthBelowPct(25)) + if (!bHasCastWstomp && HealthBelowPct(25)) { DoCast(me, SPELL_WSTOMP); - bHasCastedWstomp = true; + bHasCastWstomp = true; } DoMeleeAttackIfReady(); diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp index 526daaffee1..f9470f89209 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp @@ -126,9 +126,10 @@ class boss_akilzon : public CreatureScript _JustDied(); } - void KilledUnit(Unit* /*victim*/) OVERRIDE + void KilledUnit(Unit* who) OVERRIDE { - Talk(SAY_KILL); + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_KILL); } void SetWeather(uint32 weather, float grade) @@ -362,7 +363,7 @@ class boss_akilzon : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_akilzonAI(creature); + return GetInstanceAI<boss_akilzonAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp index a174b4833b4..116c450ddab 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp @@ -130,7 +130,7 @@ class boss_halazzi : public CreatureScript if (instance) instance->SetData(DATA_HALAZZIEVENT, IN_PROGRESS); - me->MonsterYell(YELL_AGGRO, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_AGGRO, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_AGGRO); EnterPhase(PHASE_LYNX); @@ -182,7 +182,7 @@ class boss_halazzi : public CreatureScript TotemTimer = 12000; break; case PHASE_SPLIT: - me->MonsterYell(YELL_SPLIT, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_SPLIT, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_SPLIT); DoCast(me, SPELL_TRANSFORM_SPLIT, true); break; @@ -197,7 +197,7 @@ class boss_halazzi : public CreatureScript case PHASE_MERGE: if (Unit* pLynx = Unit::GetUnit(*me, LynxGUID)) { - me->MonsterYell(YELL_MERGE, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_MERGE, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_MERGE); pLynx->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); pLynx->GetMotionMaster()->Clear(); @@ -220,7 +220,7 @@ class boss_halazzi : public CreatureScript if (BerserkTimer <= diff) { - me->MonsterYell(YELL_BERSERK, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_BERSERK, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_BERSERK); DoCast(me, SPELL_BERSERK, true); BerserkTimer = 60000; @@ -266,7 +266,7 @@ class boss_halazzi : public CreatureScript { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) { - if (target->IsNonMeleeSpellCasted(false)) + if (target->IsNonMeleeSpellCast(false)) DoCast(target, SPELL_EARTHSHOCK); else DoCast(target, SPELL_FLAMESHOCK); @@ -320,12 +320,12 @@ class boss_halazzi : public CreatureScript switch (urand(0, 1)) { case 0: - me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_KILL_ONE); break; case 1: - me->MonsterYell(YELL_KILL_TWO, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_KILL_TWO, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_KILL_TWO); break; } @@ -336,14 +336,14 @@ class boss_halazzi : public CreatureScript if (instance) instance->SetData(DATA_HALAZZIEVENT, DONE); - me->MonsterYell(YELL_DEATH, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_DEATH, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_DEATH); } }; CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_halazziAI(creature); + return GetInstanceAI<boss_halazziAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp index c2975bdf9da..42f8837ac81 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp @@ -300,7 +300,7 @@ class boss_hexlord_malacrass : public CreatureScript instance->SetData(DATA_HEXLORDEVENT, IN_PROGRESS); DoZoneInCombat(); - me->MonsterYell(YELL_AGGRO, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_AGGRO, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_AGGRO); for (uint8 i = 0; i < 4; ++i) @@ -321,11 +321,11 @@ class boss_hexlord_malacrass : public CreatureScript switch (urand(0, 1)) { case 0: - me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_KILL_ONE); break; case 1: - me->MonsterYell(YELL_KILL_TWO, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_KILL_TWO, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_KILL_TWO); break; } @@ -336,7 +336,7 @@ class boss_hexlord_malacrass : public CreatureScript if (instance) instance->SetData(DATA_HEXLORDEVENT, DONE); - me->MonsterYell(YELL_DEATH, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_DEATH, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_DEATH); for (uint8 i = 0; i < 4; ++i) @@ -410,7 +410,7 @@ class boss_hexlord_malacrass : public CreatureScript if (DrainPower_Timer <= diff) { DoCast(me, SPELL_DRAIN_POWER, true); - me->MonsterYell(YELL_DRAIN_POWER, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_DRAIN_POWER, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_DRAIN_POWER); DrainPower_Timer = urand(40000, 55000); // must cast in 60 sec, or buff/debuff will disappear } else DrainPower_Timer -= diff; @@ -422,7 +422,7 @@ class boss_hexlord_malacrass : public CreatureScript else { DoCast(me, SPELL_SPIRIT_BOLTS, false); - me->MonsterYell(YELL_SPIRIT_BOLTS, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_SPIRIT_BOLTS, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_SPIRIT_BOLTS); SpiritBolts_Timer = 40000; SiphonSoul_Timer = 10000; // ready to drain @@ -510,7 +510,7 @@ class boss_hexlord_malacrass : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_hex_lord_malacrassAI(creature); + return GetInstanceAI<boss_hex_lord_malacrassAI>(creature); } }; @@ -567,7 +567,7 @@ class boss_thurg : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_thurgAI(creature); + return GetInstanceAI<boss_thurgAI>(creature); } }; @@ -664,7 +664,7 @@ class boss_alyson_antille : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_alyson_antilleAI(creature); + return GetInstanceAI<boss_alyson_antilleAI>(creature); } }; @@ -757,7 +757,7 @@ class boss_lord_raadan : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lord_raadanAI(creature); + return GetInstanceAI<boss_lord_raadanAI>(creature); } }; @@ -798,7 +798,7 @@ class boss_darkheart : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_darkheartAI(creature); + return GetInstanceAI<boss_darkheartAI>(creature); } }; @@ -857,7 +857,7 @@ class boss_slither : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_slitherAI(creature); + return GetInstanceAI<boss_slitherAI>(creature); } }; @@ -900,7 +900,7 @@ class boss_fenstalker : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_fenstalkerAI(creature); + return GetInstanceAI<boss_fenstalkerAI>(creature); } }; @@ -950,7 +950,7 @@ class boss_koragg : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_koraggAI(creature); + return GetInstanceAI<boss_koraggAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp index e429f27aa48..5d119b1d86a 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp @@ -324,7 +324,7 @@ class boss_janalai : public CreatureScript { if (isFlameBreathing) { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) isFlameBreathing = false; else return; @@ -442,7 +442,7 @@ class boss_janalai : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_janalaiAI(creature); + return GetInstanceAI<boss_janalaiAI>(creature); } }; @@ -612,7 +612,7 @@ class npc_janalai_hatcher : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_janalai_hatcherAI(creature); + return GetInstanceAI<npc_janalai_hatcherAI>(creature); } }; @@ -671,7 +671,7 @@ class npc_janalai_hatchling : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_janalai_hatchlingAI(creature); + return GetInstanceAI<npc_janalai_hatchlingAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp index 24b043775b1..e97456b3e7d 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp @@ -217,7 +217,7 @@ class boss_nalorakk : public CreatureScript case 0: if (me->IsWithinDistInMap(who, 50)) { - me->MonsterYell(YELL_NALORAKK_WAVE1, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_NALORAKK_WAVE1, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE1); (*me).GetMotionMaster()->MovePoint(1, NalorakkWay[1][0], NalorakkWay[1][1], NalorakkWay[1][2]); @@ -230,7 +230,7 @@ class boss_nalorakk : public CreatureScript case 2: if (me->IsWithinDistInMap(who, 40)) { - me->MonsterYell(YELL_NALORAKK_WAVE2, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_NALORAKK_WAVE2, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE2); (*me).GetMotionMaster()->MovePoint(3, NalorakkWay[3][0], NalorakkWay[3][1], NalorakkWay[3][2]); @@ -243,7 +243,7 @@ class boss_nalorakk : public CreatureScript case 5: if (me->IsWithinDistInMap(who, 40)) { - me->MonsterYell(YELL_NALORAKK_WAVE3, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_NALORAKK_WAVE3, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE3); (*me).GetMotionMaster()->MovePoint(6, NalorakkWay[6][0], NalorakkWay[6][1], NalorakkWay[6][2]); @@ -258,7 +258,7 @@ class boss_nalorakk : public CreatureScript { SendAttacker(who); - me->MonsterYell(YELL_NALORAKK_WAVE4, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_NALORAKK_WAVE4, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE4); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); @@ -278,7 +278,7 @@ class boss_nalorakk : public CreatureScript if (instance) instance->SetData(DATA_NALORAKKEVENT, IN_PROGRESS); - me->MonsterYell(YELL_AGGRO, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_AGGRO, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_AGGRO); DoZoneInCombat(); } @@ -288,7 +288,7 @@ class boss_nalorakk : public CreatureScript if (instance) instance->SetData(DATA_NALORAKKEVENT, DONE); - me->MonsterYell(YELL_DEATH, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_DEATH, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_DEATH); } @@ -297,11 +297,11 @@ class boss_nalorakk : public CreatureScript switch (urand(0, 1)) { case 0: - me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_KILL_ONE); break; case 1: - me->MonsterYell(YELL_KILL_TWO, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_KILL_TWO, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_KILL_TWO); break; } @@ -365,7 +365,7 @@ class boss_nalorakk : public CreatureScript if (Berserk_Timer <= diff) { DoCast(me, SPELL_BERSERK, true); - me->MonsterYell(YELL_BERSERK, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_BERSERK, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_BERSERK); Berserk_Timer = 600000; } else Berserk_Timer -= diff; @@ -375,7 +375,7 @@ class boss_nalorakk : public CreatureScript if (inBearForm) { // me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 5122); - me->MonsterYell(YELL_SHIFTEDTOTROLL, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_SHIFTEDTOTROLL, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_TOTROLL); me->RemoveAurasDueToSpell(SPELL_BEARFORM); Surge_Timer = urand(15000, 20000); @@ -387,7 +387,7 @@ class boss_nalorakk : public CreatureScript else { // me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 0); - me->MonsterYell(YELL_SHIFTEDTOBEAR, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_SHIFTEDTOBEAR, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_TOBEAR); DoCast(me, SPELL_BEARFORM, true); LaceratingSlash_Timer = 2000; // dur 18s @@ -418,7 +418,7 @@ class boss_nalorakk : public CreatureScript if (Surge_Timer <= diff) { - me->MonsterYell(YELL_SURGE, LANG_UNIVERSAL, 0); + me->MonsterYell(YELL_SURGE, LANG_UNIVERSAL, NULL); DoPlaySoundToSet(me, SOUND_YELL_SURGE); Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 45, true); if (target) @@ -453,7 +453,7 @@ class boss_nalorakk : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_nalorakkAI(creature); + return GetInstanceAI<boss_nalorakkAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp index 6281bcef5df..ce1c434bb96 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp @@ -246,7 +246,7 @@ class boss_zuljin : public CreatureScript void DoMeleeAttackIfReady() { - if (!me->IsNonMeleeSpellCasted(false)) + if (!me->IsNonMeleeSpellCast(false)) { if (me->isAttackReady() && me->IsWithinMeleeRange(me->GetVictim())) { @@ -555,7 +555,7 @@ class boss_zuljin : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_zuljinAI(creature); + return GetInstanceAI<boss_zuljinAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index a4176322288..6e375114fc6 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -116,7 +116,7 @@ class npc_forest_frog : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_forest_frogAI(creature); + return GetInstanceAI<npc_forest_frogAI>(creature); } }; @@ -460,7 +460,7 @@ class npc_harrison_jones : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_harrison_jonesAI(creature); + return GetInstanceAI<npc_harrison_jonesAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp index 7fe80c12fd2..3b7d773b0eb 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp @@ -228,7 +228,7 @@ class boss_arlokk : public CreatureScript if (target) { DoCast(target, SPELL_MARK_OF_ARLOKK, true); - Talk(SAY_FEAST_PROWLER, target->GetGUID()); + Talk(SAY_FEAST_PROWLER, target); } events.ScheduleEvent(EVENT_MARK_OF_ARLOKK, urand(120000, 130000)); break; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp index b25daf85a7c..d35e9bd31f6 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp @@ -169,7 +169,7 @@ class boss_hakkar : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_hakkarAI(creature); + return GetInstanceAI<boss_hakkarAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp index 50b7d277a70..16cdfc6c10a 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp @@ -286,7 +286,7 @@ class npc_batrider : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_batriderAI(creature); + return GetInstanceAI<npc_batriderAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp index 4a37f3cf597..0bd97ec3bf4 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp @@ -232,7 +232,7 @@ class npc_healing_ward : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_healing_wardAI(creature); + return GetInstanceAI<npc_healing_wardAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp index 08215f6a9de..392b405b0a8 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp @@ -257,7 +257,7 @@ class boss_mandokir : public CreatureScript if (Unit* player = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) { DoCast(player, SPELL_WATCH); - Talk(SAY_WATCH, player->GetGUID()); + Talk(SAY_WATCH, player); } events.ScheduleEvent(EVENT_WATCH_PLAYER, urand(12000, 15000)); break; @@ -393,7 +393,7 @@ class npc_vilebranch_speaker : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_vilebranch_speakerAI(creature); + return GetInstanceAI<npc_vilebranch_speakerAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp index d20414705cf..c784b2c65ad 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp @@ -251,7 +251,7 @@ class boss_thekal : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_thekalAI(creature); + return GetInstanceAI<boss_thekalAI>(creature); } }; @@ -406,7 +406,7 @@ class npc_zealot_lorkhan : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_zealot_lorkhanAI(creature); + return GetInstanceAI<npc_zealot_lorkhanAI>(creature); } }; @@ -559,7 +559,7 @@ class npc_zealot_zath : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_zealot_zathAI(creature); + return GetInstanceAI<npc_zealot_zathAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp b/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp index 5c760a36e70..f5fe9b4046c 100644 --- a/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp @@ -39,32 +39,27 @@ EndContentData */ enum ProfessorPhizzlethorpe { // Yells - SAY_PROGRESS_1 = 0, - SAY_PROGRESS_2 = 1, - SAY_PROGRESS_3 = 2, - EMOTE_PROGRESS_4 = 3, - SAY_AGGRO = 4, - SAY_PROGRESS_5 = 5, - SAY_PROGRESS_6 = 6, - SAY_PROGRESS_7 = 7, - EMOTE_PROGRESS_8 = 8, - SAY_PROGRESS_9 = 9, - + SAY_PROGRESS_1 = 0, + SAY_PROGRESS_2 = 1, + SAY_PROGRESS_3 = 2, + EMOTE_PROGRESS_4 = 3, + SAY_AGGRO = 4, + SAY_PROGRESS_5 = 5, + SAY_PROGRESS_6 = 6, + SAY_PROGRESS_7 = 7, + EMOTE_PROGRESS_8 = 8, + SAY_PROGRESS_9 = 9, // Quests QUEST_SUNKEN_TREASURE = 665, - // Creatures - NPC_VENGEFUL_SURGE = 2776 + NPC_VENGEFUL_SURGE = 2776, + FACTION_SUNKEN_TREASURE = 113 }; class npc_professor_phizzlethorpe : public CreatureScript { public: - - npc_professor_phizzlethorpe() - : CreatureScript("npc_professor_phizzlethorpe") - { - } + npc_professor_phizzlethorpe() : CreatureScript("npc_professor_phizzlethorpe") { } struct npc_professor_phizzlethorpeAI : public npc_escortAI { @@ -79,10 +74,10 @@ class npc_professor_phizzlethorpe : public CreatureScript switch (waypointId) { case 4: - Talk(SAY_PROGRESS_2, player->GetGUID()); + Talk(SAY_PROGRESS_2, player); break; case 5: - Talk(SAY_PROGRESS_3, player->GetGUID()); + Talk(SAY_PROGRESS_3, player); break; case 8: Talk(EMOTE_PROGRESS_4); @@ -92,18 +87,18 @@ class npc_professor_phizzlethorpe : public CreatureScript me->SummonCreature(NPC_VENGEFUL_SURGE, -2052.96f, -2142.49f, 20.15f, 1.0f, TEMPSUMMON_CORPSE_DESPAWN, 0); break; case 10: - Talk(SAY_PROGRESS_5, player->GetGUID()); + Talk(SAY_PROGRESS_5, player); break; case 11: - Talk(SAY_PROGRESS_6, player->GetGUID()); + Talk(SAY_PROGRESS_6, player); SetRun(); break; case 19: - Talk(SAY_PROGRESS_7, player->GetGUID()); + Talk(SAY_PROGRESS_7, player); break; case 20: Talk(EMOTE_PROGRESS_8); - Talk(SAY_PROGRESS_9, player->GetGUID()); + Talk(SAY_PROGRESS_9, player); player->GroupEventHappens(QUEST_SUNKEN_TREASURE, me); break; } @@ -119,29 +114,26 @@ class npc_professor_phizzlethorpe : public CreatureScript Talk(SAY_AGGRO); } + void sQuestAccept(Player* player, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_SUNKEN_TREASURE) + { + Talk(SAY_PROGRESS_1, player); + npc_escortAI::Start(false, false, player->GetGUID(), quest); + me->setFaction(FACTION_SUNKEN_TREASURE); + } + } + void UpdateAI(uint32 diff) OVERRIDE { npc_escortAI::UpdateAI(diff); } }; - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_professor_phizzlethorpeAI(creature); - } - - bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE - { - if (quest->GetQuestId() == QUEST_SUNKEN_TREASURE) - { - creature->AI()->Talk(SAY_PROGRESS_1, player->GetGUID()); - if (npc_escortAI* pEscortAI = CAST_AI(npc_professor_phizzlethorpeAI, (creature->AI()))) - pEscortAI->Start(false, false, player->GetGUID(), quest); - - creature->setFaction(113); - } - return true; - } + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_professor_phizzlethorpeAI(creature); + } }; void AddSC_arathi_highlands() diff --git a/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp b/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp index b102873e940..c212592d49b 100644 --- a/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp @@ -1,6 +1,5 @@ /* * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/> - * Copyright (C) 2006-2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -16,28 +15,26 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Blasted_Lands -SD%Complete: 90 -SDComment: Quest support: 3628. Teleporter to Rise of the Defiler missing group support. -SDCategory: Blasted Lands -EndScriptData */ +/* +Blasted_Lands +Quest support: 3628. Teleporter to Rise of the Defiler. +*/ -/* ContentData +/* npc_deathly_usher -EndContentData */ +*/ #include "ScriptMgr.h" #include "ScriptedCreature.h" #include "ScriptedGossip.h" +#include "SpellScript.h" #include "Player.h" +#include "Group.h" /*###### ## npc_deathly_usher ######*/ -#define GOSSIP_ITEM_USHER "I wish to to visit the Rise of the Defiler." - enum DeathlyUsher { SPELL_TELEPORT_SINGLE = 12885, @@ -50,30 +47,72 @@ class npc_deathly_usher : public CreatureScript public: npc_deathly_usher() : CreatureScript("npc_deathly_usher") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE + struct npc_deathly_usherAI : public ScriptedAI { - player->PlayerTalkClass->ClearMenus(); - if (action == GOSSIP_ACTION_INFO_DEF) + npc_deathly_usherAI(Creature* creature) : ScriptedAI(creature) { } + + void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE { player->CLOSE_GOSSIP_MENU(); - creature->CastSpell(player, SPELL_TELEPORT_SINGLE, true); + me->CastSpell(player, SPELL_TELEPORT_GROUP, true); } + }; - return true; + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_deathly_usherAI(creature); } +}; - bool OnGossipHello(Player* player, Creature* creature) OVERRIDE - { - if (player->GetQuestStatus(3628) == QUEST_STATUS_INCOMPLETE && player->HasItemCount(10757)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_USHER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); +/*##### +# spell_razelikh_teleport_group +#####*/ + +class spell_razelikh_teleport_group : public SpellScriptLoader +{ + public: spell_razelikh_teleport_group() : SpellScriptLoader("spell_razelikh_teleport_group") { } + + class spell_razelikh_teleport_group_SpellScript : public SpellScript + { + PrepareSpellScript(spell_razelikh_teleport_group_SpellScript); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + bool Validate(SpellInfo const* /*spell*/) OVERRIDE + { + if (!sSpellMgr->GetSpellInfo(SPELL_TELEPORT_SINGLE) && !sSpellMgr->GetSpellInfo(SPELL_TELEPORT_SINGLE_IN_GROUP)) + return false; + return true; + } - return true; - } + void HandleScriptEffect(SpellEffIndex /* effIndex */) + { + if (Player* player = GetHitPlayer()) + { + if (Group* group = player->GetGroup()) + { + for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next()) + if (Player* member = itr->GetSource()) + if (member->IsWithinDistInMap(player, 20.0f) && !member->isDead()) + member->CastSpell(member, SPELL_TELEPORT_SINGLE_IN_GROUP, true); + } + else + player->CastSpell(player, SPELL_TELEPORT_SINGLE, true); + } + } + + void Register() OVERRIDE + { + OnEffectHitTarget += SpellEffectFn(spell_razelikh_teleport_group_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const OVERRIDE + { + return new spell_razelikh_teleport_group_SpellScript(); + } }; void AddSC_blasted_lands() { new npc_deathly_usher(); + new spell_razelikh_teleport_group(); } diff --git a/src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp b/src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp index 5a61663a0bb..c5e0c5a1391 100644 --- a/src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp +++ b/src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp @@ -49,11 +49,43 @@ EndContentData */ #define GOSSIP_SELECT10 "Ahh... Ironfoe" #define GOSSIP_SELECT11 "Thanks, Ragged John. Your story was very uplifting and informative" +enum RaggedJohn +{ + QUEST_THE_TRUE_MASTERS = 4224, + QUEST_MOTHERS_MILK = 4866, + SPELL_MOTHERS_MILK = 16468, + SPELL_WICKED_MILKING = 16472 +}; + class npc_ragged_john : public CreatureScript { public: npc_ragged_john() : CreatureScript("npc_ragged_john") { } + struct npc_ragged_johnAI : public ScriptedAI + { + npc_ragged_johnAI(Creature* creature) : ScriptedAI(creature) { } + + void Reset() OVERRIDE { } + + void MoveInLineOfSight(Unit* who) OVERRIDE + { + if (who->HasAura(SPELL_MOTHERS_MILK)) + { + if (who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 15) && who->isInAccessiblePlaceFor(me)) + { + DoCast(who, SPELL_WICKED_MILKING); + if (Player* player = who->ToPlayer()) + player->AreaExploredOrEventHappens(QUEST_MOTHERS_MILK); + } + } + + ScriptedAI::MoveInLineOfSight(who); + } + + void EnterCombat(Unit* /*who*/) OVERRIDE { } + }; + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE { player->PlayerTalkClass->ClearMenus(); @@ -105,7 +137,7 @@ public: break; case GOSSIP_ACTION_INFO_DEF+11: player->CLOSE_GOSSIP_MENU(); - player->AreaExploredOrEventHappens(4224); + player->AreaExploredOrEventHappens(QUEST_THE_TRUE_MASTERS); break; } return true; @@ -116,7 +148,7 @@ public: if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); - if (player->GetQuestStatus(4224) == QUEST_STATUS_INCOMPLETE) + if (player->GetQuestStatus(QUEST_THE_TRUE_MASTERS) == QUEST_STATUS_INCOMPLETE) player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); player->SEND_GOSSIP_MENU(2713, creature->GetGUID()); @@ -127,31 +159,6 @@ public: { return new npc_ragged_johnAI(creature); } - - struct npc_ragged_johnAI : public ScriptedAI - { - npc_ragged_johnAI(Creature* creature) : ScriptedAI(creature) { } - - void Reset() OVERRIDE { } - - void MoveInLineOfSight(Unit* who) OVERRIDE - - { - if (who->HasAura(16468)) - { - if (who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 15) && who->isInAccessiblePlaceFor(me)) - { - DoCast(who, 16472); - if (Player* player = who->ToPlayer()) - player->AreaExploredOrEventHappens(4866); - } - } - - ScriptedAI::MoveInLineOfSight(who); - } - - void EnterCombat(Unit* /*who*/) OVERRIDE { } - }; }; void AddSC_burning_steppes() diff --git a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp index 8f7865dbf71..7c9e33c98b7 100644 --- a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp +++ b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp @@ -27,81 +27,45 @@ EndScriptData */ #include "ScriptedCreature.h" #include "Player.h" -enum Yells -{ - YELL_TWILIGHTCORRUPTOR_RESPAWN = 0, - YELL_TWILIGHTCORRUPTOR_AGGRO = 1, - YELL_TWILIGHTCORRUPTOR_KILL = 2, -}; - - -/*###### -# at_twilight_grove -######*/ - -class at_twilight_grove : public AreaTriggerScript +enum TwilightCorrupter { -public: - at_twilight_grove() : AreaTriggerScript("at_twilight_grove") { } + ITEM_FRAGMENT = 21149, + NPC_TWILIGHT_CORRUPTER = 15625, + YELL_TWILIGHTCORRUPTOR_RESPAWN = 0, + YELL_TWILIGHTCORRUPTOR_AGGRO = 1, + YELL_TWILIGHTCORRUPTOR_KILL = 2, + SPELL_SOUL_CORRUPTION = 25805, + SPELL_CREATURE_OF_NIGHTMARE = 25806, + SPELL_LEVEL_UP = 24312, - bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE - { - if (player->HasQuestForItem(21149)) - { - if (Unit* TCorrupter = player->SummonCreature(15625, -10328.16f, -489.57f, 49.95f, 0, TEMPSUMMON_MANUAL_DESPAWN, 60000)) - { - TCorrupter->setFaction(14); - TCorrupter->SetMaxHealth(832750); - } - if (Creature* CorrupterSpeaker = player->SummonCreature(1, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ()-1, 0, TEMPSUMMON_TIMED_DESPAWN, 15000)) - { - CorrupterSpeaker->SetName("Twilight Corrupter"); - CorrupterSpeaker->SetVisible(true); - CorrupterSpeaker->AI()->Talk(YELL_TWILIGHTCORRUPTOR_RESPAWN, player->GetGUID()); - } - } - return false; - }; + EVENT_SOUL_CORRUPTION = 1, + EVENT_CREATURE_OF_NIGHTMARE = 2, + FACTION_HOSTILE = 14 }; /*###### # boss_twilight_corrupter ######*/ -enum TwilightCorrupter -{ - SPELL_SOUL_CORRUPTION = 25805, - SPELL_CREATURE_OF_NIGHTMARE = 25806, - SPELL_LEVEL_UP = 24312 -}; - class boss_twilight_corrupter : public CreatureScript { public: boss_twilight_corrupter() : CreatureScript("boss_twilight_corrupter") { } - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new boss_twilight_corrupterAI(creature); - } - struct boss_twilight_corrupterAI : public ScriptedAI { boss_twilight_corrupterAI(Creature* creature) : ScriptedAI(creature) { } - uint32 SoulCorruption_Timer; - uint32 CreatureOfNightmare_Timer; - uint8 KillCount; - void Reset() OVERRIDE { - SoulCorruption_Timer = 15000; - CreatureOfNightmare_Timer = 30000; - KillCount = 0; + KillCount = 0; } + void EnterCombat(Unit* /*who*/) OVERRIDE { Talk(YELL_TWILIGHTCORRUPTOR_AGGRO); + _events.ScheduleEvent(EVENT_SOUL_CORRUPTION, 15000); + _events.ScheduleEvent(EVENT_CREATURE_OF_NIGHTMARE, 30000); } void KilledUnit(Unit* victim) OVERRIDE @@ -109,7 +73,7 @@ public: if (victim->GetTypeId() == TYPEID_PLAYER) { ++KillCount; - Talk(YELL_TWILIGHTCORRUPTOR_KILL, victim->GetGUID()); + Talk(YELL_TWILIGHTCORRUPTOR_KILL, victim); if (KillCount == 3) { @@ -123,19 +87,63 @@ public: { if (!UpdateVictim()) return; - if (SoulCorruption_Timer <= diff) - { - DoCastVictim(SPELL_SOUL_CORRUPTION); - SoulCorruption_Timer = rand()%4000+15000; //gotta confirm Timers - } else SoulCorruption_Timer-=diff; - if (CreatureOfNightmare_Timer <= diff) + _events.Update(diff); + + while (uint32 eventId = _events.ExecuteEvent()) { - DoCastVictim(SPELL_CREATURE_OF_NIGHTMARE); - CreatureOfNightmare_Timer = 45000; //gotta confirm Timers - } else CreatureOfNightmare_Timer-=diff; + switch (eventId) + { + case EVENT_SOUL_CORRUPTION: + DoCastVictim(SPELL_SOUL_CORRUPTION); + _events.ScheduleEvent(EVENT_SOUL_CORRUPTION, rand()%4000+15000); + break; + case EVENT_CREATURE_OF_NIGHTMARE: + DoCastVictim(SPELL_CREATURE_OF_NIGHTMARE); + _events.ScheduleEvent(EVENT_CREATURE_OF_NIGHTMARE, 45000); + break; + default: + break; + } + } DoMeleeAttackIfReady(); - }; + } + + private: + EventMap _events; + uint8 KillCount; + }; + + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new boss_twilight_corrupterAI(creature); + } +}; + +/*###### +# at_twilight_grove +######*/ + +class at_twilight_grove : public AreaTriggerScript +{ +public: + at_twilight_grove() : AreaTriggerScript("at_twilight_grove") { } + + bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE + { + if (player->HasQuestForItem(ITEM_FRAGMENT)) + { + if (Unit* corrupter = player->SummonCreature(NPC_TWILIGHT_CORRUPTER, -10328.16f, -489.57f, 49.95f, 0, TEMPSUMMON_MANUAL_DESPAWN, 60000)) + corrupter->setFaction(FACTION_HOSTILE); + + if (Creature* CorrupterSpeaker = player->SummonCreature(1, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ()-1, 0, TEMPSUMMON_TIMED_DESPAWN, 15000)) + { + CorrupterSpeaker->SetName("Twilight Corrupter"); + CorrupterSpeaker->SetVisible(true); + CorrupterSpeaker->AI()->Talk(YELL_TWILIGHTCORRUPTOR_RESPAWN, player); + } + } + return false; }; }; diff --git a/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp b/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp index cf7ea882135..1d4769cd716 100644 --- a/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp @@ -19,14 +19,11 @@ /* ScriptData SDName: Ghostlands SD%Complete: 100 -SDComment: Quest support: 9692, 9212. Obtain Budd's Guise of Zul'aman. Vendor Rathis Tomber +SDComment: Quest support: 9212. SDCategory: Ghostlands EndScriptData */ /* ContentData -npc_blood_knight_dawnstar -npc_budd_nedreck -npc_rathis_tomber npc_ranger_lilatha EndContentData */ @@ -38,80 +35,11 @@ EndContentData */ #include "WorldSession.h" /*###### -## npc_budd_nedreck -######*/ - -#define GOSSIP_HBN "You gave the crew disguises?" - -class npc_budd_nedreck : public CreatureScript -{ -public: - npc_budd_nedreck() : CreatureScript("npc_budd_nedreck") { } - - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE - { - player->PlayerTalkClass->ClearMenus(); - if (action == GOSSIP_ACTION_INFO_DEF) - { - player->CLOSE_GOSSIP_MENU(); - creature->CastSpell(player, 42540, false); - } - return true; - } - - bool OnGossipHello(Player* player, Creature* creature) OVERRIDE - { - if (creature->IsQuestGiver()) - player->PrepareQuestMenu(creature->GetGUID()); - - if (player->GetQuestStatus(11166) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HBN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); - return true; - } -}; - -/*###### -## npc_rathis_tomber -######*/ - -class npc_rathis_tomber : public CreatureScript -{ -public: - npc_rathis_tomber() : CreatureScript("npc_rathis_tomber") { } - - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE - { - player->PlayerTalkClass->ClearMenus(); - if (action == GOSSIP_ACTION_TRADE) - player->GetSession()->SendListInventory(creature->GetGUID()); - return true; - } - - bool OnGossipHello(Player* player, Creature* creature) OVERRIDE - { - if (creature->IsQuestGiver()) - player->PrepareQuestMenu(creature->GetGUID()); - - if (creature->IsVendor() && player->GetQuestRewardStatus(9152)) - { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(8432, creature->GetGUID()); - }else - player->SEND_GOSSIP_MENU(8431, creature->GetGUID()); - - return true; - } -}; - -/*###### ## npc_ranger_lilatha ######*/ enum RangerLilatha { - // Yells SAY_START = 0, SAY_PROGRESS1 = 1, SAY_PROGRESS2 = 2, @@ -119,18 +47,12 @@ enum RangerLilatha SAY_END1 = 4, SAY_END2 = 5, SAY_CAPTAIN_ANSWER = 0, - - // Quests QUEST_ESCAPE_FROM_THE_CATACOMBS = 9212, - - // Gameobjects GO_CAGE = 181152, - - // Creature NPC_CAPTAIN_HELIOS = 16220, - - // Factions - FACTION_SMOON_E = 1603 + NPC_MUMMIFIED_HEADHUNTER = 16342, + NPC_SHADOWPINE_ORACLE = 16343, + FACTION_QUEST_ESCAPE = 113 }; class npc_ranger_lilatha : public CreatureScript @@ -154,20 +76,20 @@ public: me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 20)) Cage->SetGoState(GO_STATE_ACTIVE); - Talk(SAY_START, player->GetGUID()); + Talk(SAY_START, player); break; case 5: - Talk(SAY_PROGRESS1, player->GetGUID()); + Talk(SAY_PROGRESS1, player); break; case 11: - Talk(SAY_PROGRESS2, player->GetGUID()); + Talk(SAY_PROGRESS2, player); me->SetFacingTo(4.762841f); break; case 18: { - Talk(SAY_PROGRESS3, player->GetGUID()); - Creature* Summ1 = me->SummonCreature(16342, 7627.083984f, -7532.538086f, 152.128616f, 1.082733f, TEMPSUMMON_DEAD_DESPAWN, 0); - Creature* Summ2 = me->SummonCreature(16343, 7620.432129f, -7532.550293f, 152.454865f, 0.827478f, TEMPSUMMON_DEAD_DESPAWN, 0); + Talk(SAY_PROGRESS3, player); + Creature* Summ1 = me->SummonCreature(NPC_MUMMIFIED_HEADHUNTER, 7627.083984f, -7532.538086f, 152.128616f, 1.082733f, TEMPSUMMON_DEAD_DESPAWN, 0); + Creature* Summ2 = me->SummonCreature(NPC_SHADOWPINE_ORACLE, 7620.432129f, -7532.550293f, 152.454865f, 0.827478f, TEMPSUMMON_DEAD_DESPAWN, 0); if (Summ1 && Summ2) { Summ1->Attack(me, true); @@ -187,14 +109,14 @@ public: break; case 32: me->SetFacingTo(2.978281f); - Talk(SAY_END1, player->GetGUID()); + Talk(SAY_END1, player); break; case 33: me->SetFacingTo(5.858011f); - Talk(SAY_END2, player->GetGUID()); + Talk(SAY_END2, player); Creature* CaptainHelios = me->FindNearestCreature(NPC_CAPTAIN_HELIOS, 50); if (CaptainHelios) - CaptainHelios->AI()->Talk(SAY_CAPTAIN_ANSWER, player->GetGUID()); + CaptainHelios->AI()->Talk(SAY_CAPTAIN_ANSWER, player); break; } } @@ -210,7 +132,7 @@ public: { if (quest->GetQuestId() == QUEST_ESCAPE_FROM_THE_CATACOMBS) { - creature->setFaction(113); + creature->setFaction(FACTION_QUEST_ESCAPE); if (npc_escortAI* pEscortAI = CAST_AI(npc_ranger_lilatha::npc_ranger_lilathaAI, creature->AI())) pEscortAI->Start(true, false, player->GetGUID()); @@ -227,7 +149,5 @@ public: void AddSC_ghostlands() { - new npc_budd_nedreck(); - new npc_rathis_tomber(); new npc_ranger_lilatha(); } diff --git a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp index 257e3c21688..718e69f78f0 100644 --- a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp @@ -24,7 +24,7 @@ SDCategory: The Hinterlands EndScriptData */ /* ContentData -npc_00x09hl +npc_oox09hl npc_rinji EndContentData */ @@ -34,7 +34,7 @@ EndContentData */ #include "Player.h" /*###### -## npc_00x09hl +## npc_oox09hl ######*/ enum OOX @@ -44,50 +44,47 @@ enum OOX SAY_OOX_AMBUSH = 2, SAY_OOX_AMBUSH_REPLY = 3, SAY_OOX_END = 4, - QUEST_RESQUE_OOX_09 = 836, - NPC_MARAUDING_OWL = 7808, NPC_VILE_AMBUSHER = 7809, - FACTION_ESCORTEE_A = 774, FACTION_ESCORTEE_H = 775 }; -class npc_00x09hl : public CreatureScript +class npc_oox09hl : public CreatureScript { public: - npc_00x09hl() : CreatureScript("npc_00x09hl") { } + npc_oox09hl() : CreatureScript("npc_oox09hl") { } - bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE + struct npc_oox09hlAI : public npc_escortAI { - if (quest->GetQuestId() == QUEST_RESQUE_OOX_09) - { - creature->SetStandState(UNIT_STAND_STATE_STAND); + npc_oox09hlAI(Creature* creature) : npc_escortAI(creature) { } - if (player->GetTeam() == ALLIANCE) - creature->setFaction(FACTION_ESCORTEE_A); - else if (player->GetTeam() == HORDE) - creature->setFaction(FACTION_ESCORTEE_H); + void Reset() OVERRIDE { } - creature->AI()->Talk(SAY_OOX_START, player->GetGUID()); + void EnterCombat(Unit* who) OVERRIDE + { + if (who->GetEntry() == NPC_MARAUDING_OWL || who->GetEntry() == NPC_VILE_AMBUSHER) + return; - if (npc_00x09hlAI* pEscortAI = CAST_AI(npc_00x09hl::npc_00x09hlAI, creature->AI())) - pEscortAI->Start(false, false, player->GetGUID(), quest); + Talk(SAY_OOX_AGGRO); } - return true; - } - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_00x09hlAI(creature); - } - - struct npc_00x09hlAI : public npc_escortAI - { - npc_00x09hlAI(Creature* creature) : npc_escortAI(creature) { } + void JustSummoned(Creature* summoned) OVERRIDE + { + summoned->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()); + } - void Reset() OVERRIDE { } + void sQuestAccept(Player* player, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_RESQUE_OOX_09) + { + me->SetStandState(UNIT_STAND_STATE_STAND); + me->setFaction(player->GetTeam() == ALLIANCE ? FACTION_ESCORTEE_A : FACTION_ESCORTEE_H); + Talk(SAY_OOX_START, player); + npc_escortAI::Start(false, false, player->GetGUID(), quest); + } + } void WaypointReached(uint32 waypointId) OVERRIDE { @@ -107,9 +104,9 @@ public: } } - void WaypointStart(uint32 uiPointId) OVERRIDE + void WaypointStart(uint32 pointId) OVERRIDE { - switch (uiPointId) + switch (pointId) { case 27: for (uint8 i = 0; i < 3; ++i) @@ -131,20 +128,12 @@ public: break; } } - - void EnterCombat(Unit* who) OVERRIDE - { - if (who->GetEntry() == NPC_MARAUDING_OWL || who->GetEntry() == NPC_VILE_AMBUSHER) - return; - - Talk(SAY_OOX_AGGRO); - } - - void JustSummoned(Creature* summoned) OVERRIDE - { - summoned->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()); - } }; + + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_oox09hlAI(creature); + } }; /*###### @@ -154,13 +143,11 @@ public: enum Rinji { SAY_RIN_BY_OUTRUNNER = 0, - - SAY_RIN_FREE = 0, //from here + SAY_RIN_FREE = 0, // from here SAY_RIN_HELP = 1, SAY_RIN_COMPLETE = 2, SAY_RIN_PROGRESS_1 = 3, SAY_RIN_PROGRESS_2 = 4, - QUEST_RINJI_TRAPPED = 2742, NPC_RANGER = 2694, NPC_OUTRUNNER = 2691, @@ -169,19 +156,19 @@ enum Rinji struct Location { - float m_fX, m_fY, m_fZ; + float posX, posY, posZ; }; -Location m_afAmbushSpawn[] = +Location AmbushSpawn[] = { - {191.296204f, -2839.329346f, 107.388f}, - {70.972466f, -2848.674805f, 109.459f} + { 191.296204f, -2839.329346f, 107.388f }, + { 70.972466f, -2848.674805f, 109.459f } }; -Location m_afAmbushMoveTo[] = +Location AmbushMoveTo[] = { - {166.630386f, -2824.780273f, 108.153f}, - {70.886589f, -2874.335449f, 116.675f} + { 166.630386f, -2824.780273f, 108.153f }, + { 70.886589f, -2874.335449f, 116.675f } }; class npc_rinji : public CreatureScript @@ -189,47 +176,24 @@ class npc_rinji : public CreatureScript public: npc_rinji() : CreatureScript("npc_rinji") { } - bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE - { - if (quest->GetQuestId() == QUEST_RINJI_TRAPPED) - { - if (GameObject* go = creature->FindNearestGameObject(GO_RINJI_CAGE, INTERACTION_DISTANCE)) - go->UseDoorOrButton(); - - if (npc_rinjiAI* pEscortAI = CAST_AI(npc_rinji::npc_rinjiAI, creature->AI())) - pEscortAI->Start(false, false, player->GetGUID(), quest); - } - return true; - } - - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_rinjiAI(creature); - } - struct npc_rinjiAI : public npc_escortAI { npc_rinjiAI(Creature* creature) : npc_escortAI(creature) { - m_bIsByOutrunner = false; - m_iSpawnId = 0; + _IsByOutrunner = false; + spawnId = 0; } - bool m_bIsByOutrunner; - uint32 m_uiPostEventCount; - uint32 m_uiPostEventTimer; - int m_iSpawnId; - void Reset() OVERRIDE { - m_uiPostEventCount = 0; - m_uiPostEventTimer = 3000; + postEventCount = 0; + postEventTimer = 3000; } void JustRespawned() OVERRIDE { - m_bIsByOutrunner = false; - m_iSpawnId = 0; + _IsByOutrunner = false; + spawnId = 0; npc_escortAI::JustRespawned(); } @@ -238,11 +202,11 @@ public: { if (HasEscortState(STATE_ESCORT_ESCORTING)) { - if (who->GetEntry() == NPC_OUTRUNNER && !m_bIsByOutrunner) + if (who->GetEntry() == NPC_OUTRUNNER && !_IsByOutrunner) { if (Creature* talker = who->ToCreature()) talker->AI()->Talk(SAY_RIN_BY_OUTRUNNER); - m_bIsByOutrunner = true; + _IsByOutrunner = true; } if (rand()%4) @@ -253,19 +217,17 @@ public: } } - void DoSpawnAmbush(bool bFirst) + void DoSpawnAmbush(bool _first) { - if (!bFirst) - m_iSpawnId = 1; + if (!_first) + spawnId = 1; - me->SummonCreature(NPC_RANGER, - m_afAmbushSpawn[m_iSpawnId].m_fX, m_afAmbushSpawn[m_iSpawnId].m_fY, m_afAmbushSpawn[m_iSpawnId].m_fZ, 0.0f, + me->SummonCreature(NPC_RANGER, AmbushSpawn[spawnId].posX, AmbushSpawn[spawnId].posY, AmbushSpawn[spawnId].posZ, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000); for (int i = 0; i < 2; ++i) { - me->SummonCreature(NPC_OUTRUNNER, - m_afAmbushSpawn[m_iSpawnId].m_fX, m_afAmbushSpawn[m_iSpawnId].m_fY, m_afAmbushSpawn[m_iSpawnId].m_fZ, 0.0f, + me->SummonCreature(NPC_OUTRUNNER, AmbushSpawn[spawnId].posX, AmbushSpawn[spawnId].posY, AmbushSpawn[spawnId].posZ, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000); } } @@ -273,7 +235,18 @@ public: void JustSummoned(Creature* summoned) OVERRIDE { summoned->SetWalk(false); - summoned->GetMotionMaster()->MovePoint(0, m_afAmbushMoveTo[m_iSpawnId].m_fX, m_afAmbushMoveTo[m_iSpawnId].m_fY, m_afAmbushMoveTo[m_iSpawnId].m_fZ); + summoned->GetMotionMaster()->MovePoint(0, AmbushMoveTo[spawnId].posX, AmbushMoveTo[spawnId].posY, AmbushMoveTo[spawnId].posZ); + } + + void sQuestAccept(Player* player, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_RINJI_TRAPPED) + { + if (GameObject* go = me->FindNearestGameObject(GO_RINJI_CAGE, INTERACTION_DISTANCE)) + go->UseDoorOrButton(); + + npc_escortAI::Start(false, false, player->GetGUID(), quest); + } } void WaypointReached(uint32 waypointId) OVERRIDE @@ -285,7 +258,7 @@ public: switch (waypointId) { case 1: - Talk(SAY_RIN_FREE, player->GetGUID()); + Talk(SAY_RIN_FREE, player); break; case 7: DoSpawnAmbush(true); @@ -294,36 +267,36 @@ public: DoSpawnAmbush(false); break; case 17: - Talk(SAY_RIN_COMPLETE, player->GetGUID()); + Talk(SAY_RIN_COMPLETE, player); player->GroupEventHappens(QUEST_RINJI_TRAPPED, me); SetRun(); - m_uiPostEventCount = 1; + postEventCount = 1; break; } } - void UpdateEscortAI(const uint32 uiDiff) OVERRIDE + void UpdateEscortAI(const uint32 diff) OVERRIDE { //Check if we have a current target if (!UpdateVictim()) { - if (HasEscortState(STATE_ESCORT_ESCORTING) && m_uiPostEventCount) + if (HasEscortState(STATE_ESCORT_ESCORTING) && postEventCount) { - if (m_uiPostEventTimer <= uiDiff) + if (postEventTimer <= diff) { - m_uiPostEventTimer = 3000; + postEventTimer = 3000; if (Player* player = GetPlayerForEscort()) { - switch (m_uiPostEventCount) + switch (postEventCount) { case 1: - Talk(SAY_RIN_PROGRESS_1, player->GetGUID()); - ++m_uiPostEventCount; + Talk(SAY_RIN_PROGRESS_1, player); + ++postEventCount; break; case 2: - Talk(SAY_RIN_PROGRESS_2, player->GetGUID()); - m_uiPostEventCount = 0; + Talk(SAY_RIN_PROGRESS_2, player); + postEventCount = 0; break; } } @@ -334,19 +307,28 @@ public: } } else - m_uiPostEventTimer -= uiDiff; + postEventTimer -= diff; } - return; } - DoMeleeAttackIfReady(); } + + private: + uint32 postEventCount; + uint32 postEventTimer; + int spawnId; + bool _IsByOutrunner; }; + + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_rinjiAI(creature); + } }; void AddSC_hinterlands() { - new npc_00x09hl(); + new npc_oox09hl(); new npc_rinji(); } diff --git a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp index 604d51f9d8f..8369c3c5560 100644 --- a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp +++ b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp @@ -29,15 +29,13 @@ Script Data End */ enum CorporalKeeshan { QUEST_MISSING_IN_ACTION = 219, - - SAY_CORPORAL_1 = 0, - SAY_CORPORAL_2 = 1, - SAY_CORPORAL_3 = 2, - SAY_CORPORAL_4 = 3, - SAY_CORPORAL_5 = 4, - - SPELL_MOCKING_BLOW = 21008, - SPELL_SHIELD_BASH = 11972, + SAY_CORPORAL_1 = 0, + SAY_CORPORAL_2 = 1, + SAY_CORPORAL_3 = 2, + SAY_CORPORAL_4 = 3, + SAY_CORPORAL_5 = 4, + SPELL_MOCKING_BLOW = 21008, + SPELL_SHIELD_BASH = 11972 }; class npc_corporal_keeshan : public CreatureScript @@ -45,37 +43,25 @@ class npc_corporal_keeshan : public CreatureScript public: npc_corporal_keeshan() : CreatureScript("npc_corporal_keeshan") { } - bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE - { - if (quest->GetQuestId() == QUEST_MISSING_IN_ACTION) - { - CAST_AI(npc_corporal_keeshan::npc_corporal_keeshanAI, creature->AI())->Start(true, false, player->GetGUID(), quest); - creature->AI()->Talk(SAY_CORPORAL_1); - } - - return false; - } - - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_corporal_keeshanAI(creature); - } - struct npc_corporal_keeshanAI : public npc_escortAI { npc_corporal_keeshanAI(Creature* creature) : npc_escortAI(creature) { } - uint32 uiPhase; - uint32 uiTimer; - uint32 uiMockingBlowTimer; - uint32 uiShieldBashTimer; - void Reset() OVERRIDE { - uiTimer = 0; - uiPhase = 0; - uiMockingBlowTimer = 5000; - uiShieldBashTimer = 8000; + timer = 0; + phase = 0; + mockingBlowTimer = 5000; + shieldBashTimer = 8000; + } + + void sQuestAccept(Player* player, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_MISSING_IN_ACTION) + { + Talk(SAY_CORPORAL_1, player); + npc_escortAI::Start(true, false, player->GetGUID(), quest); + } } void WaypointReached(uint32 waypointId) OVERRIDE @@ -91,82 +77,93 @@ public: { case 39: SetEscortPaused(true); - uiTimer = 2000; - uiPhase = 1; + timer = 2000; + phase = 1; break; case 65: me->SetWalk(false); break; case 115: player->AreaExploredOrEventHappens(QUEST_MISSING_IN_ACTION); - uiTimer = 2000; - uiPhase = 4; + timer = 2000; + phase = 4; break; } } - void UpdateAI(uint32 uiDiff) OVERRIDE + void UpdateAI(uint32 diff) OVERRIDE { if (HasEscortState(STATE_ESCORT_NONE)) return; - npc_escortAI::UpdateAI(uiDiff); + npc_escortAI::UpdateAI(diff); - if (uiPhase) + if (phase) { - if (uiTimer <= uiDiff) + if (timer <= diff) { - switch (uiPhase) + switch (phase) { case 1: me->SetStandState(UNIT_STAND_STATE_SIT); - uiTimer = 1000; - uiPhase = 2; + timer = 1000; + phase = 2; break; case 2: Talk(SAY_CORPORAL_2); - uiTimer = 15000; - uiPhase = 3; + timer = 15000; + phase = 3; break; case 3: Talk(SAY_CORPORAL_3); me->SetStandState(UNIT_STAND_STATE_STAND); SetEscortPaused(false); - uiTimer = 0; - uiPhase = 0; + timer = 0; + phase = 0; break; case 4: Talk(SAY_CORPORAL_4); - uiTimer = 2500; - uiPhase = 5; + timer = 2500; + phase = 5; break; case 5: Talk(SAY_CORPORAL_5); - uiTimer = 0; - uiPhase = 0; + timer = 0; + phase = 0; break; } - } else uiTimer -= uiDiff; + } else timer -= diff; } if (!UpdateVictim()) return; - if (uiMockingBlowTimer <= uiDiff) + if (mockingBlowTimer <= diff) { DoCastVictim(SPELL_MOCKING_BLOW); - uiMockingBlowTimer = 5000; - } else uiMockingBlowTimer -= uiDiff; + mockingBlowTimer = 5000; + } else mockingBlowTimer -= diff; - if (uiShieldBashTimer <= uiDiff) + if (shieldBashTimer <= diff) { DoCastVictim(SPELL_MOCKING_BLOW); - uiShieldBashTimer = 8000; - } else uiShieldBashTimer -= uiDiff; + shieldBashTimer = 8000; + } else shieldBashTimer -= diff; DoMeleeAttackIfReady(); } + + private: + uint32 phase; + uint32 timer; + uint32 mockingBlowTimer; + uint32 shieldBashTimer; }; + + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_corporal_keeshanAI(creature); + } }; void AddSC_redridge_mountains() diff --git a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp index 757f2bcff2c..37fd32566e1 100644 --- a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp +++ b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp @@ -76,13 +76,13 @@ public: switch (waypointId) { case 1: - Talk(SAY_START, player->GetGUID()); + Talk(SAY_START, player); break; case 10: Talk(SAY_PROGRESS); break; case 13: - Talk(SAY_LAST, player->GetGUID()); + Talk(SAY_LAST, player); player->GroupEventHappens(QUEST_ESCORTING, me); break; case 15: @@ -112,7 +112,7 @@ public: void EnterCombat(Unit* who) OVERRIDE { - Talk(SAY_AGGRO, who->GetGUID()); + Talk(SAY_AGGRO, who); } }; @@ -120,7 +120,7 @@ public: { if (quest->GetQuestId() == QUEST_ESCORTING) { - creature->AI()->Talk(SAY_QUESTACCEPT, player->GetGUID()); + creature->AI()->Talk(SAY_QUESTACCEPT, player); if (npc_escortAI* pEscortAI = CAST_AI(npc_deathstalker_erland::npc_deathstalker_erlandAI, creature->AI())) pEscortAI->Start(true, false, player->GetGUID()); @@ -273,7 +273,7 @@ public: { case 0: if (WaitTimer == WAIT_SECS) - me->MonsterSay(NPCSAY_INIT, LANG_UNIVERSAL, 0); //no blizzlike + me->MonsterSay(NPCSAY_INIT, LANG_UNIVERSAL, NULL); //no blizzlike if (WaitTimer <= diff) { @@ -303,7 +303,7 @@ public: { if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID)) { - me->MonsterSay(NPCSAY_END, LANG_UNIVERSAL, 0); //not blizzlike + me->MonsterSay(NPCSAY_END, LANG_UNIVERSAL, NULL); //not blizzlike player->GroupEventHappens(QUEST_PYREWOOD_AMBUSH, me); } } diff --git a/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp b/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp index bec49e0f15c..740200d3fdc 100644 --- a/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp +++ b/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp @@ -28,59 +28,46 @@ enum Galen { QUEST_GALENS_ESCAPE = 1393, - GO_GALENS_CAGE = 37118, - SAY_PERIODIC = 0, SAY_QUEST_ACCEPTED = 1, SAY_ATTACKED = 2, SAY_QUEST_COMPLETE = 3, EMOTE_WHISPER = 4, - EMOTE_DISAPPEAR = 5, + EMOTE_DISAPPEAR = 5 }; class npc_galen_goodward : public CreatureScript { public: - npc_galen_goodward() : CreatureScript("npc_galen_goodward") { } - bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE - { - if (quest->GetQuestId() == QUEST_GALENS_ESCAPE) - { - CAST_AI(npc_galen_goodward::npc_galen_goodwardAI, creature->AI())->Start(false, false, player->GetGUID()); - creature->setFaction(FACTION_ESCORT_N_NEUTRAL_ACTIVE); - creature->AI()->Talk(SAY_QUEST_ACCEPTED); - } - return true; - } - - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_galen_goodwardAI(creature); - } - struct npc_galen_goodwardAI : public npc_escortAI { npc_galen_goodwardAI(Creature* creature) : npc_escortAI(creature) { - m_uiGalensCageGUID = 0; + galensCageGUID = 0; Reset(); } - uint64 m_uiGalensCageGUID; - uint32 m_uiPeriodicSay; - void Reset() OVERRIDE { - m_uiPeriodicSay = 6000; + periodicSay = 6000; } void EnterCombat(Unit* who) OVERRIDE { if (HasEscortState(STATE_ESCORT_ESCORTING)) - Talk(SAY_ATTACKED, who->GetGUID()); + Talk(SAY_ATTACKED, who); + } + + void sQuestAccept(Player* player, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_GALENS_ESCAPE) + { + Talk(SAY_QUEST_ACCEPTED, player); + npc_escortAI::Start(false, false, player->GetGUID(), quest); + } } void WaypointStart(uint32 uiPointId) OVERRIDE @@ -89,15 +76,15 @@ public: { case 0: { - GameObject* pCage = NULL; - if (m_uiGalensCageGUID) - pCage = me->GetMap()->GetGameObject(m_uiGalensCageGUID); + GameObject* cage = NULL; + if (galensCageGUID) + cage = me->GetMap()->GetGameObject(galensCageGUID); else - pCage = GetClosestGameObjectWithEntry(me, GO_GALENS_CAGE, INTERACTION_DISTANCE); - if (pCage) + cage = GetClosestGameObjectWithEntry(me, GO_GALENS_CAGE, INTERACTION_DISTANCE); + if (cage) { - pCage->UseDoorOrButton(); - m_uiGalensCageGUID = pCage->GetGUID(); + cage->UseDoorOrButton(); + galensCageGUID = cage->GetGUID(); } break; } @@ -112,15 +99,15 @@ public: switch (waypointId) { case 0: - if (GameObject* pCage = me->GetMap()->GetGameObject(m_uiGalensCageGUID)) - pCage->ResetDoorOrButton(); + if (GameObject* cage = me->GetMap()->GetGameObject(galensCageGUID)) + cage->ResetDoorOrButton(); break; case 20: if (Player* player = GetPlayerForEscort()) { me->SetFacingToObject(player); - Talk(SAY_QUEST_COMPLETE, player->GetGUID()); - Talk(EMOTE_WHISPER, player->GetGUID()); + Talk(SAY_QUEST_COMPLETE, player); + Talk(EMOTE_WHISPER, player); player->GroupEventHappens(QUEST_GALENS_ESCAPE, me); } SetRun(true); @@ -128,25 +115,34 @@ public: } } - void UpdateAI(uint32 uiDiff) OVERRIDE + void UpdateAI(uint32 diff) OVERRIDE { - npc_escortAI::UpdateAI(uiDiff); + npc_escortAI::UpdateAI(diff); if (HasEscortState(STATE_ESCORT_NONE)) return; - if (m_uiPeriodicSay < uiDiff) + if (periodicSay < diff) { if (!HasEscortState(STATE_ESCORT_ESCORTING)) Talk(SAY_PERIODIC); - m_uiPeriodicSay = 15000; + periodicSay = 15000; } else - m_uiPeriodicSay -= uiDiff; + periodicSay -= diff; DoMeleeAttackIfReady(); } + + private: + uint64 galensCageGUID; + uint32 periodicSay; }; + + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_galen_goodwardAI(creature); + } }; void AddSC_swamp_of_sorrows() diff --git a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp index 6b409012cb0..f7577d49114 100644 --- a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp @@ -371,18 +371,18 @@ public: if (Ughost) { Ughost->SetDisableGravity(true); - Ughost->AI()->Talk(SAY_WP_4, me->GetGUID()); + Ughost->AI()->Talk(SAY_WP_4, me); } m_uiChatTimer = 4000; break; case 24: if (Ughost) - Ughost->AI()->Talk(SAY_WP_5, me->GetGUID()); + Ughost->AI()->Talk(SAY_WP_5, me); m_uiChatTimer = 4000; break; case 25: if (Ughost) - Ughost->AI()->Talk(SAY_WP_6, me->GetGUID()); + Ughost->AI()->Talk(SAY_WP_6, me); m_uiChatTimer = 4000; break; case 26: diff --git a/src/server/scripts/EasternKingdoms/zone_westfall.cpp b/src/server/scripts/EasternKingdoms/zone_westfall.cpp index 3869ee5bbb5..2dd5c1fbb3b 100644 --- a/src/server/scripts/EasternKingdoms/zone_westfall.cpp +++ b/src/server/scripts/EasternKingdoms/zone_westfall.cpp @@ -228,7 +228,7 @@ public: if (npc_escortAI* pEscortAI = CAST_AI(npc_defias_traitor::npc_defias_traitorAI, creature->AI())) pEscortAI->Start(true, true, player->GetGUID()); - creature->AI()->Talk(SAY_START, player->GetGUID()); + creature->AI()->Talk(SAY_START, player); } return true; @@ -255,10 +255,10 @@ public: SetRun(false); break; case 36: - Talk(SAY_PROGRESS, player->GetGUID()); + Talk(SAY_PROGRESS, player); break; case 44: - Talk(SAY_END, player->GetGUID()); + Talk(SAY_END, player); player->GroupEventHappens(QUEST_DEFIAS_BROTHERHOOD, me); break; } @@ -266,7 +266,7 @@ public: void EnterCombat(Unit* who) OVERRIDE { - Talk(SAY_AGGRO, who->GetGUID()); + Talk(SAY_AGGRO, who); } void Reset() OVERRIDE { } |
