aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Outland
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2013-12-29 15:13:14 -0500
committerSubv <subv2112@gmail.com>2013-12-29 15:13:14 -0500
commitd234d0f3d0889e799eb066ba39c9b1edbc964d6e (patch)
tree17d6281266900fe843573d03eff46a3b2beabedb /src/server/scripts/Outland
parent8658b5338c905c79daf50cb56dbe739f82d25acc (diff)
parentc40cdc2968c58d952878c09a60926af74f782867 (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into mmaps_rw
Diffstat (limited to 'src/server/scripts/Outland')
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp4
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp8
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/black_temple.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp12
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp18
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_supremus.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/illidari_council.cpp10
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp10
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp18
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp5
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp16
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp10
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp6
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp26
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp9
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h10
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp8
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp2
-rw-r--r--src/server/scripts/Outland/zone_blades_edge_mountains.cpp426
-rw-r--r--src/server/scripts/Outland/zone_hellfire_peninsula.cpp373
-rw-r--r--src/server/scripts/Outland/zone_nagrand.cpp2
-rw-r--r--src/server/scripts/Outland/zone_netherstorm.cpp6
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp20
-rw-r--r--src/server/scripts/Outland/zone_shattrath_city.cpp44
-rw-r--r--src/server/scripts/Outland/zone_terokkar_forest.cpp10
-rw-r--r--src/server/scripts/Outland/zone_zangarmarsh.cpp10
52 files changed, 486 insertions, 647 deletions
diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
index 783e7b9f09b..9b96255fde0 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
@@ -250,7 +250,7 @@ public:
if (!Avatar_summoned && HealthBelowPct(25))
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
Talk(SAY_SUMMON);
@@ -266,7 +266,7 @@ public:
{
if (target->GetTypeId() == TYPEID_PLAYER)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
Talk(SAY_ROAR);
diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp
index 9f7a27ecdef..2c0c42e6092 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp
@@ -149,7 +149,7 @@ public:
{
FocusedTargetGUID = target->GetGUID();
me->SummonCreature(NPC_FOCUS_FIRE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 5500);
- Talk(EMOTE_FOCUSED, FocusedTargetGUID);
+ Talk(EMOTE_FOCUSED, target);
}
FocusFire_Timer = 15000+(rand()%5000);
} else FocusFire_Timer -= diff;
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
index 862fe76decd..db69ca6c892 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
@@ -170,7 +170,7 @@ public:
if (FrostNova_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
DoCast(me, SPELL_FROSTNOVA);
@@ -194,7 +194,7 @@ public:
{
if (Blink_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
//expire movement, will prevent from running right back to victim after cast
@@ -210,7 +210,7 @@ public:
if (Beacon_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
if (!urand(0, 3))
@@ -301,7 +301,7 @@ public:
if (Apprentice_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
DoCast(me, SPELL_ETHEREAL_APPRENTICE, true);
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
index 3a845842934..6f2b05a73c0 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
@@ -107,7 +107,7 @@ public:
{
if (DarkShell_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
Talk(EMOTE_DARK_SHELL);
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
index af8a4390d96..e36e80f8c14 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
@@ -140,7 +140,7 @@ class boss_anzu : public CreatureScript
if (target->getPowerType() == POWER_MANA)
{
DoCast(target, SPELL_SPELL_BOMB);
- Talk(SAY_SPELL_BOMB, target->GetGUID());
+ Talk(SAY_SPELL_BOMB, target);
}
}
break;
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
index c077cec3c04..6adfdf7c885 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
@@ -115,7 +115,7 @@ public:
{
Talk(SAY_SUMMON);
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(false);
DoCast(me, SPELL_SUMMON_SYTH_ARCANE, true); //front
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
index 022ac3e9e4d..217eb2ea004 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
@@ -167,7 +167,7 @@ public:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(false);
//Spell doesn't work, but we use for visual effect at least
diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.cpp b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
index 57c494756e5..0f13a03f568 100644
--- a/src/server/scripts/Outland/BlackTemple/black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
@@ -207,7 +207,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_wrathbone_flayerAI(creature);
+ return GetInstanceAI<npc_wrathbone_flayerAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
index 3a33885144d..9029a8bd2cd 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
@@ -64,7 +64,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_gurtogg_bloodboilAI(creature);
+ return GetInstanceAI<boss_gurtogg_bloodboilAI>(creature);
}
struct boss_gurtogg_bloodboilAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index 3f90118ec8b..2b312aeacde 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -608,7 +608,7 @@ public:
if (Conversation[count].emote)
creature->HandleEmoteCommand(Conversation[count].emote); // Make the Creature do some animation!
if (Conversation[count].text.size())
- creature->MonsterYell(Conversation[count].text.c_str(), LANG_UNIVERSAL, 0); // Have the Creature yell out some text
+ creature->MonsterYell(Conversation[count].text.c_str(), LANG_UNIVERSAL, NULL); // Have the Creature yell out some text
if (Conversation[count].sound)
DoPlaySoundToSet(creature, Conversation[count].sound); // Play some sound on the creature
}
@@ -764,7 +764,7 @@ public:
if (!MaievGUID) // If Maiev cannot be summoned, reset the encounter and post some errors to the console.
{
EnterEvadeMode();
- me->MonsterTextEmote(EMOTE_UNABLE_TO_SUMMON, 0);
+ me->MonsterTextEmote(EMOTE_UNABLE_TO_SUMMON, NULL);
TC_LOG_ERROR("scripts", "SD2 ERROR: Unable to summon Maiev Shadowsong (entry: 23197). Check your database to see if you have the proper SQL for Maiev Shadowsong (entry: 23197)");
}
}
@@ -974,7 +974,7 @@ public:
break;
}
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
return;
if (Phase == PHASE_NORMAL || Phase == PHASE_NORMAL_2 || (Phase == PHASE_NORMAL_MAIEV && !me->HasAura(SPELL_CAGED)))
@@ -1126,7 +1126,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_illidan_stormrageAI(creature);
+ return GetInstanceAI<boss_illidan_stormrageAI>(creature);
}
};
@@ -1794,7 +1794,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_akama_illidanAI(creature);
+ return GetInstanceAI<npc_akama_illidanAI>(creature);
}
};
@@ -2228,7 +2228,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_parasitic_shadowfiendAI(creature);
+ return GetInstanceAI<npc_parasitic_shadowfiendAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
index aafe5f365b2..6691d04441b 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
@@ -84,7 +84,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_shahrazAI(creature);
+ return GetInstanceAI<boss_shahrazAI>(creature);
}
struct boss_shahrazAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
index ad913a45071..0c8d7a7206c 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
@@ -134,7 +134,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_reliquary_of_soulsAI(creature);
+ return GetInstanceAI<boss_reliquary_of_soulsAI>(creature);
}
struct boss_reliquary_of_soulsAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
index 1a2a55e6d00..0f67ba822a1 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
@@ -405,7 +405,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_shade_of_akamaAI(creature);
+ return GetInstanceAI<boss_shade_of_akamaAI>(creature);
}
};
@@ -550,7 +550,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_akamaAI(creature);
+ return GetInstanceAI<npc_akamaAI>(creature);
}
};
@@ -622,7 +622,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_ashtongue_channelerAI(creature);
+ return GetInstanceAI<npc_ashtongue_channelerAI>(creature);
}
};
@@ -730,7 +730,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_creature_generator_akamaAI(creature);
+ return GetInstanceAI<npc_creature_generator_akamaAI>(creature);
}
};
@@ -851,7 +851,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_ashtongue_sorcererAI(creature);
+ return GetInstanceAI<npc_ashtongue_sorcererAI>(creature);
}
};
@@ -941,7 +941,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_ashtongue_defenderAI(creature);
+ return GetInstanceAI<npc_ashtongue_defenderAI>(creature);
}
};
@@ -1021,7 +1021,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_ashtongue_rogueAI(creature);
+ return GetInstanceAI<npc_ashtongue_rogueAI>(creature);
}
};
@@ -1101,7 +1101,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_ashtongue_elementalistAI(creature);
+ return GetInstanceAI<npc_ashtongue_elementalistAI>(creature);
}
};
@@ -1198,7 +1198,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_ashtongue_spiritbinderAI(creature);
+ return GetInstanceAI<npc_ashtongue_spiritbinderAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
index b62e7b35a3c..0ba2a16e9df 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
@@ -90,7 +90,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_supremusAI(creature);
+ return GetInstanceAI<boss_supremusAI>(creature);
}
struct boss_supremusAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
index 7d445e23053..e8f2f75abc1 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
@@ -217,7 +217,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_teron_gorefiendAI(creature);
+ return GetInstanceAI<boss_teron_gorefiendAI>(creature);
}
struct boss_teron_gorefiendAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
index 1f4a36afad6..c3dceaffd91 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
@@ -78,7 +78,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_najentusAI(creature);
+ return GetInstanceAI<boss_najentusAI>(creature);
}
struct boss_najentusAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
index 057bb725c32..1ac413f237d 100644
--- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
+++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
@@ -218,7 +218,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_illidari_councilAI(creature);
+ return GetInstanceAI<npc_illidari_councilAI>(creature);
}
struct npc_illidari_councilAI : public ScriptedAI
@@ -476,7 +476,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_gathios_the_shattererAI(creature);
+ return GetInstanceAI<boss_gathios_the_shattererAI>(creature);
}
struct boss_gathios_the_shattererAI : public boss_illidari_councilAI
@@ -608,7 +608,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_high_nethermancer_zerevorAI(creature);
+ return GetInstanceAI<boss_high_nethermancer_zerevorAI>(creature);
}
struct boss_high_nethermancer_zerevorAI : public boss_illidari_councilAI
@@ -712,7 +712,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_lady_malandeAI(creature);
+ return GetInstanceAI<boss_lady_malandeAI>(creature);
}
struct boss_lady_malandeAI : public boss_illidari_councilAI
@@ -790,7 +790,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_veras_darkshadowAI(creature);
+ return GetInstanceAI<boss_veras_darkshadowAI>(creature);
}
struct boss_veras_darkshadowAI : public boss_illidari_councilAI
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
index a27677f60f5..b31afd1cdc9 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
@@ -104,7 +104,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_fathomlord_karathressAI(creature);
+ return GetInstanceAI<boss_fathomlord_karathressAI>(creature);
}
struct boss_fathomlord_karathressAI : public ScriptedAI
@@ -293,7 +293,7 @@ public:
if (continueTriggering)
{
DoCast(me, SPELL_BLESSING_OF_THE_TIDES);
- me->MonsterYell(SAY_GAIN_BLESSING_OF_TIDES, LANG_UNIVERSAL, 0);
+ me->MonsterYell(SAY_GAIN_BLESSING_OF_TIDES, LANG_UNIVERSAL, NULL);
DoPlaySoundToSet(me, SOUND_GAIN_BLESSING_OF_TIDES);
}
}
@@ -312,7 +312,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_fathomguard_sharkkisAI(creature);
+ return GetInstanceAI<boss_fathomguard_sharkkisAI>(creature);
}
struct boss_fathomguard_sharkkisAI : public ScriptedAI
@@ -459,7 +459,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_fathomguard_tidalvessAI(creature);
+ return GetInstanceAI<boss_fathomguard_tidalvessAI>(creature);
}
struct boss_fathomguard_tidalvessAI : public ScriptedAI
@@ -582,7 +582,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_fathomguard_caribdisAI(creature);
+ return GetInstanceAI<boss_fathomguard_caribdisAI>(creature);
}
struct boss_fathomguard_caribdisAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
index d6205cb3ec7..26119e0eb31 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
@@ -86,7 +86,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_hydross_the_unstableAI(creature);
+ return GetInstanceAI<boss_hydross_the_unstableAI>(creature);
}
struct boss_hydross_the_unstableAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
index 1d233aa6da4..53ed13e8515 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
@@ -140,7 +140,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_lady_vashjAI(creature);
+ return GetInstanceAI<boss_lady_vashjAI>(creature);
}
struct boss_lady_vashjAI : public ScriptedAI
@@ -556,7 +556,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_enchanted_elementalAI(creature);
+ return GetInstanceAI<npc_enchanted_elementalAI>(creature);
}
struct npc_enchanted_elementalAI : public ScriptedAI
@@ -651,7 +651,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_tainted_elementalAI(creature);
+ return GetInstanceAI<npc_tainted_elementalAI>(creature);
}
struct npc_tainted_elementalAI : public ScriptedAI
@@ -720,7 +720,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_toxic_sporebatAI(creature);
+ return GetInstanceAI<npc_toxic_sporebatAI>(creature);
}
struct npc_toxic_sporebatAI : public ScriptedAI
@@ -819,7 +819,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_shield_generator_channelAI(creature);
+ return GetInstanceAI<npc_shield_generator_channelAI>(creature);
}
struct npc_shield_generator_channelAI : public ScriptedAI
@@ -831,12 +831,12 @@ public:
InstanceScript* instance;
uint32 CheckTimer;
- bool Casted;
+ bool Cast;
void Reset() OVERRIDE
{
CheckTimer = 0;
- Casted = false;
+ Cast = false;
me->SetDisplayId(11686); // invisible
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -857,10 +857,10 @@ public:
if (vashj && vashj->IsAlive())
{
// start visual channel
- if (!Casted || !vashj->HasAura(SPELL_MAGIC_BARRIER))
+ if (!Cast || !vashj->HasAura(SPELL_MAGIC_BARRIER))
{
DoCast(vashj, SPELL_MAGIC_BARRIER, true);
- Casted = true;
+ Cast = true;
}
}
CheckTimer = 1000;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
index 83ec5e053c0..bfe63b80e48 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
@@ -181,7 +181,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_leotheras_the_blindAI(creature);
+ return GetInstanceAI<boss_leotheras_the_blindAI>(creature);
}
struct boss_leotheras_the_blindAI : public ScriptedAI
@@ -677,7 +677,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_greyheart_spellbinderAI(creature);
+ return GetInstanceAI<npc_greyheart_spellbinderAI>(creature);
}
struct npc_greyheart_spellbinderAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
index 0393379d26a..392ad2fe2b4 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
@@ -81,7 +81,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_the_lurker_belowAI(creature);
+ return GetInstanceAI<boss_the_lurker_belowAI>(creature);
}
struct boss_the_lurker_belowAI : public ScriptedAI
@@ -240,7 +240,7 @@ public:
if (SpoutTimer <= diff)
{
- me->MonsterTextEmote(EMOTE_SPOUT, 0, true);
+ me->MonsterTextEmote(EMOTE_SPOUT, NULL, true);
me->SetReactState(REACT_PASSIVE);
me->GetMotionMaster()->MoveRotate(20000, urand(0, 1) ? ROTATE_DIRECTION_LEFT : ROTATE_DIRECTION_RIGHT);
SpoutTimer = 45000;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
index 48a4a1e5ecd..6f507a3c50f 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
@@ -91,7 +91,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_morogrim_tidewalkerAI(creature);
+ return GetInstanceAI<boss_morogrim_tidewalkerAI>(creature);
}
struct boss_morogrim_tidewalkerAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
index d6162fd1ea4..c7d99b8da85 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
@@ -41,7 +41,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_thespiaAI(creature);
+ return GetInstanceAI<boss_thespiaAI>(creature);
}
struct boss_thespiaAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
index 241d0f8fec2..6a94fc7ff00 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
@@ -57,7 +57,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_mekgineer_steamriggerAI(creature);
+ return GetInstanceAI<boss_mekgineer_steamriggerAI>(creature);
}
struct boss_mekgineer_steamriggerAI : public ScriptedAI
@@ -197,7 +197,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_steamrigger_mechanicAI(creature);
+ return GetInstanceAI<npc_steamrigger_mechanicAI>(creature);
}
struct npc_steamrigger_mechanicAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
index 887d51a43bf..7deed59f8c4 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
@@ -50,7 +50,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_naga_distillerAI(creature);
+ return GetInstanceAI<npc_naga_distillerAI>(creature);
}
struct npc_naga_distillerAI : public ScriptedAI
@@ -108,7 +108,7 @@ public:
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_warlord_kalithreshAI(creature);
+ return GetInstanceAI<boss_warlord_kalithreshAI>(creature);
}
struct boss_warlord_kalithreshAI : public ScriptedAI
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
index be4cac80adb..d238bf98041 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
@@ -71,7 +71,8 @@ class boss_broggok : public CreatureScript
PoisonSpawn_Timer = 5000;
PoisonBolt_Timer = 7000;
DoAction(ACTION_RESET_BROGGOK);
- instance->SetData(TYPE_BROGGOK_EVENT, NOT_STARTED);
+ if (instance)
+ instance->SetData(TYPE_BROGGOK_EVENT, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) OVERRIDE
@@ -154,7 +155,7 @@ class boss_broggok : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_broggokAI(creature);
+ return GetInstanceAI<boss_broggokAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
index f6bceb78a14..0aec396afdd 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
@@ -115,7 +115,7 @@ class boss_kelidan_the_breaker : public CreatureScript
void EnterCombat(Unit* who) OVERRIDE
{
Talk(SAY_WAKE);
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
DoStartMovement(who);
if (instance)
@@ -207,7 +207,7 @@ class boss_kelidan_the_breaker : public CreatureScript
{
if (check_Timer <= diff)
{
- if (!me->IsNonMeleeSpellCasted(false))
+ if (!me->IsNonMeleeSpellCast(false))
DoCast(me, SPELL_EVOCATION);
check_Timer = 5000;
}
@@ -248,7 +248,7 @@ class boss_kelidan_the_breaker : public CreatureScript
if (BurningNova_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
Talk(SAY_NOVA);
@@ -275,7 +275,7 @@ class boss_kelidan_the_breaker : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_kelidan_the_breakerAI(creature);
+ return GetInstanceAI<boss_kelidan_the_breakerAI>(creature);
}
};
@@ -311,7 +311,7 @@ class npc_shadowmoon_channeler : public CreatureScript
ShadowBolt_Timer = 1000+rand()%1000;
MarkOfShadow_Timer = 5000+rand()%2000;
check_Timer = 0;
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
}
@@ -319,7 +319,7 @@ class npc_shadowmoon_channeler : public CreatureScript
{
if (Creature* Kelidan = me->FindNearestCreature(ENTRY_KELIDAN, 100))
CAST_AI(boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, Kelidan->AI())->ChannelerEngaged(who);
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
DoStartMovement(who);
}
@@ -336,7 +336,7 @@ class npc_shadowmoon_channeler : public CreatureScript
{
if (check_Timer <= diff)
{
- if (!me->IsNonMeleeSpellCasted(false))
+ if (!me->IsNonMeleeSpellCast(false))
if (Creature* Kelidan = me->FindNearestCreature(ENTRY_KELIDAN, 100))
{
uint64 channeler = CAST_AI(boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, Kelidan->AI())->GetChanneled(me);
@@ -373,7 +373,7 @@ class npc_shadowmoon_channeler : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_shadowmoon_channelerAI(creature);
+ return GetInstanceAI<npc_shadowmoon_channelerAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
index 33e23c12d14..b41b21c5d17 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
@@ -156,7 +156,7 @@ class boss_the_maker : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_the_makerAI(creature);
+ return GetInstanceAI<boss_the_makerAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp
index 7e80182f1e8..6f8eac88c66 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp
@@ -224,7 +224,7 @@ class boss_omor_the_unscarred : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_omor_the_unscarredAI(creature);
+ return GetInstanceAI<boss_omor_the_unscarredAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
index f4ee716dc67..5657880cbb6 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
@@ -71,7 +71,7 @@ enum Spells
SPELL_SHADOW_CAGE = 30168,
SPELL_SHADOW_GRASP = 30410,
SPELL_SHADOW_GRASP_VISUAL = 30166,
- SPELL_MIND_EXHAUSTION = 44032, //Casted by the cubes when channeling ends
+ SPELL_MIND_EXHAUSTION = 44032, //Cast by the cubes when channeling ends
SPELL_SHADOW_CAGE_C = 30205,
SPELL_SHADOW_GRASP_C = 30207,
SPELL_SHADOW_BOLT_VOLLEY = 30510,
@@ -392,7 +392,7 @@ class boss_magtheridon : public CreatureScript
if (Quake_Timer <= diff)
{
// to avoid blastnova interruption
- if (!me->IsNonMeleeSpellCasted(false))
+ if (!me->IsNonMeleeSpellCast(false))
{
DoCast(me, SPELL_QUAKE_TRIGGER, true);
Quake_Timer = 50000;
@@ -421,7 +421,7 @@ class boss_magtheridon : public CreatureScript
Blaze_Timer -= diff;
if (!Phase3 && HealthBelowPct(30)
- && !me->IsNonMeleeSpellCasted(false) // blast nova
+ && !me->IsNonMeleeSpellCast(false) // blast nova
&& !me->HasUnitState(UNIT_STATE_STUNNED)) // shadow cage and earthquake
{
Phase3 = true;
@@ -457,7 +457,7 @@ class boss_magtheridon : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_magtheridonAI(creature);
+ return GetInstanceAI<boss_magtheridonAI>(creature);
}
};
@@ -576,7 +576,7 @@ class npc_hellfire_channeler : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_hellfire_channelerAI(creature);
+ return GetInstanceAI<npc_hellfire_channelerAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
index bfe829de9fd..37a37d2197e 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
@@ -180,7 +180,7 @@ class instance_magtheridons_lair : public InstanceMapScript
Creature* Magtheridon = instance->GetCreature(MagtheridonGUID);
if (Magtheridon && Magtheridon->IsAlive())
{
- Magtheridon->MonsterTextEmote(EMOTE_BONDS_WEAKEN, 0);
+ Magtheridon->MonsterTextEmote(EMOTE_BONDS_WEAKEN, NULL);
CageTimer = 120000;
}
HandleGameObject(DoorGUID, false);
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
index 981774a677b..93f8b4f5030 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
@@ -297,7 +297,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_grand_warlock_nethekurseAI(creature);
+ return GetInstanceAI<boss_grand_warlock_nethekurseAI>(creature);
}
};
@@ -369,7 +369,7 @@ class npc_fel_orc_convert : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_fel_orc_convertAI(creature);
+ return GetInstanceAI<npc_fel_orc_convertAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
index 9c4be7c0b1b..d5e56e13f24 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
@@ -388,7 +388,7 @@ class boss_warbringer_omrogg : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_warbringer_omroggAI(creature);
+ return GetInstanceAI<boss_warbringer_omroggAI>(creature);
}
};
@@ -438,7 +438,7 @@ class npc_omrogg_heads : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_omrogg_headsAI(creature);
+ return GetInstanceAI<npc_omrogg_headsAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
index f9ec3edb362..4aab27024c1 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
@@ -311,7 +311,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_warchief_kargath_bladefistAI(creature);
+ return GetInstanceAI<boss_warchief_kargath_bladefistAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
index 5d789359864..4659c7bc627 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
@@ -426,7 +426,7 @@ class boss_alar : public CreatureScript
void DoMeleeAttackIfReady()
{
- if (me->isAttackReady() && !me->IsNonMeleeSpellCasted(false))
+ if (me->isAttackReady() && !me->IsNonMeleeSpellCast(false))
{
if (me->IsWithinMeleeRange(me->GetVictim()))
{
@@ -451,7 +451,7 @@ class boss_alar : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_alarAI(creature);
+ return GetInstanceAI<boss_alarAI>(creature);
}
};
@@ -528,7 +528,7 @@ class npc_ember_of_alar : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_ember_of_alarAI(creature);
+ return GetInstanceAI<npc_ember_of_alarAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
index c5c3f6deb12..aede4a6cefc 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
@@ -419,7 +419,7 @@ class boss_high_astromancer_solarian : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_high_astromancer_solarianAI(creature);
+ return GetInstanceAI<boss_high_astromancer_solarianAI>(creature);
}
};
@@ -506,7 +506,7 @@ class npc_solarium_priest : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_solarium_priestAI(creature);
+ return GetInstanceAI<npc_solarium_priestAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
index 2f9e882d176..5651707985c 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
@@ -308,7 +308,7 @@ class boss_kaelthas : public CreatureScript
uint32 Phase;
uint32 PhaseSubphase; //generic
uint32 Phase_Timer; //generic timer
- uint32 PyrosCasted;
+ uint32 PyrosCast;
bool InGravityLapse;
bool IsCastingFireball;
@@ -330,7 +330,7 @@ class boss_kaelthas : public CreatureScript
GravityLapse_Phase = 0;
NetherBeam_Timer = 8000;
NetherVapor_Timer = 10000;
- PyrosCasted = 0;
+ PyrosCast = 0;
Phase = 0;
InGravityLapse = false;
IsCastingFireball = false;
@@ -750,7 +750,7 @@ class boss_kaelthas : public CreatureScript
{
if (!IsCastingFireball)
{
- if (!me->IsNonMeleeSpellCasted(false))
+ if (!me->IsNonMeleeSpellCast(false))
{
//interruptable
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_INTERRUPT_CAST, false);
@@ -844,19 +844,19 @@ class boss_kaelthas : public CreatureScript
{
DoCast(me, SPELL_SHOCK_BARRIER);
ChainPyros = true;
- PyrosCasted = 0;
+ PyrosCast = 0;
ShockBarrier_Timer = 60000;
}
else
ShockBarrier_Timer -= diff;
//Chain Pyros (3 of them max)
- if (ChainPyros && !me->IsNonMeleeSpellCasted(false))
+ if (ChainPyros && !me->IsNonMeleeSpellCast(false))
{
- if (PyrosCasted < 3)
+ if (PyrosCast < 3)
{
DoCastVictim(SPELL_PYROBLAST);
- ++PyrosCasted;
+ ++PyrosCast;
}
else
{
@@ -1011,7 +1011,7 @@ class boss_kaelthas : public CreatureScript
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_kaelthasAI(creature);
+ return GetInstanceAI<boss_kaelthasAI>(creature);
}
};
@@ -1078,7 +1078,7 @@ class boss_thaladred_the_darkener : public CreatureScript
{
DoResetThreat();
me->AddThreat(target, 5000000.0f);
- Talk(EMOTE_THALADRED_GAZE, target->GetGUID());
+ Talk(EMOTE_THALADRED_GAZE, target);
Gaze_Timer = 8500;
}
}
@@ -1109,7 +1109,7 @@ class boss_thaladred_the_darkener : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_thaladred_the_darkenerAI(creature);
+ return GetInstanceAI<boss_thaladred_the_darkenerAI>(creature);
}
};
@@ -1177,7 +1177,7 @@ class boss_lord_sanguinar : public CreatureScript
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_lord_sanguinarAI(creature);
+ return GetInstanceAI<boss_lord_sanguinarAI>(creature);
}
};
//Grand Astromancer Capernian AI
@@ -1321,7 +1321,7 @@ class boss_grand_astromancer_capernian : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_grand_astromancer_capernianAI(creature);
+ return GetInstanceAI<boss_grand_astromancer_capernianAI>(creature);
}
};
@@ -1404,7 +1404,7 @@ class boss_master_engineer_telonicus : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_master_engineer_telonicusAI(creature);
+ return GetInstanceAI<boss_master_engineer_telonicusAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
index f842ed19f3c..ef53d8fed92 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
@@ -172,7 +172,7 @@ class boss_void_reaver : public CreatureScript
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new boss_void_reaverAI(creature);
+ return GetInstanceAI<boss_void_reaverAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
index b5172245b49..7e4fc5c9bb5 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
@@ -223,7 +223,7 @@ class npc_ragin_flames : public CreatureScript
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- return new npc_ragin_flamesAI(creature);
+ return GetInstanceAI<npc_ragin_flamesAI>(creature);
}
};
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
index ff3145c5c78..741b1378e4a 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
@@ -116,11 +116,10 @@ class npc_millhouse_manastorm : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
-
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* who) OVERRIDE
{
- Talk(SAY_KILL);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/) OVERRIDE
@@ -191,7 +190,7 @@ class npc_millhouse_manastorm : public CreatureScript
if (Pyroblast_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
return;
Talk(SAY_PYRO);
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h
index 1ebfad4dfeb..c3b7d754a0d 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h
@@ -32,11 +32,11 @@ enum DataTypes
// Additional Data
DATA_CONVERSATION = 4,
- DATA_WARDEN_1 = 5, // used by EventAI
- DATA_WARDEN_2 = 6, // used by EventAI
- DATA_WARDEN_3 = 7, // used by EventAI
- DATA_WARDEN_4 = 8, // used by EventAI
- DATA_WARDEN_5 = 9, // used by EventAI
+ DATA_WARDEN_1 = 5, // used by SmartAI
+ DATA_WARDEN_2 = 6, // used by SmartAI
+ DATA_WARDEN_3 = 7, // used by SmartAI
+ DATA_WARDEN_4 = 8, // used by SmartAI
+ DATA_WARDEN_5 = 9, // used by SmartAI
DATA_MELLICHAR = 10,
DATA_WARDENS_SHIELD = 11
};
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
index 48d955acbc3..d590093de56 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
@@ -137,7 +137,7 @@ class boss_harbinger_skyriss : public CreatureScript
void DoSplit(uint32 val)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(false);
Talk(SAY_IMAGE);
@@ -211,7 +211,7 @@ class boss_harbinger_skyriss : public CreatureScript
if (Fear_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
return;
Talk(SAY_FEAR);
@@ -228,7 +228,7 @@ class boss_harbinger_skyriss : public CreatureScript
if (Domination_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
return;
Talk(SAY_MIND);
@@ -247,7 +247,7 @@ class boss_harbinger_skyriss : public CreatureScript
{
if (ManaBurn_Timer <= diff)
{
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
return;
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
index 1b362fe8a5a..fe072b437eb 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
@@ -126,7 +126,7 @@ class boss_high_botanist_freywinn : public CreatureScript
{
Talk(SAY_TREE);
- if (me->IsNonMeleeSpellCasted(false))
+ if (me->IsNonMeleeSpellCast(false))
me->InterruptNonMeleeSpells(true);
me->RemoveAllAuras();
diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
index acc3317d7bd..39a97bd4d8a 100644
--- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
+++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
@@ -19,16 +19,15 @@
/* ScriptData
SDName: Blades_Edge_Mountains
SD%Complete: 90
-SDComment: Quest support: 10503, 10504, 10556, 10594, 10609, 10682, 10821, 10980. Ogri'la->Skettis Flight. (npc_daranelle needs bit more work before consider complete)
+SDComment: Quest support: 10503, 10504, 10556, 10594, 10609, 10821. Ogri'la->Skettis Flight. (npc_daranelle needs bit more work before consider complete)
SDCategory: Blade's Edge Mountains
EndScriptData */
/* ContentData
-npc_bladespire_ogre
+npc_bloodmaul_brutebane
+npc_bloodmaul_brute
npc_nether_drake
npc_daranelle
-npc_overseer_nuaar
-npc_saikkal_the_elder
go_legion_obelisk
go_thunderspike
EndContentData */
@@ -45,14 +44,174 @@ EndContentData */
#include "SpellAuras.h"
#include "SpellAuraEffects.h"
-//Support for quest: You're Fired! (10821)
-bool obelisk_one, obelisk_two, obelisk_three, obelisk_four, obelisk_five;
+/*######
+## npc_bloodmaul_brutebane
+######*/
+
+enum Bloodmaul
+{
+ NPC_OGRE_BRUTE = 19995,
+ NPC_QUEST_CREDIT = 21241,
+ GO_KEG = 184315,
+ QUEST_GETTING_THE_BLADESPIRE_TANKED = 10512,
+ QUEST_BLADESPIRE_KEGGER = 10545
+};
+
+class npc_bloodmaul_brutebane : public CreatureScript
+{
+public:
+ npc_bloodmaul_brutebane() : CreatureScript("npc_bloodmaul_brutebane") { }
-#define LEGION_OBELISK_ONE 185193
-#define LEGION_OBELISK_TWO 185195
-#define LEGION_OBELISK_THREE 185196
-#define LEGION_OBELISK_FOUR 185197
-#define LEGION_OBELISK_FIVE 185198
+ struct npc_bloodmaul_brutebaneAI : public ScriptedAI
+ {
+ npc_bloodmaul_brutebaneAI(Creature* creature) : ScriptedAI(creature)
+ {
+ if (Creature* Ogre = me->FindNearestCreature(NPC_OGRE_BRUTE, 50, true))
+ {
+ Ogre->SetReactState(REACT_DEFENSIVE);
+ Ogre->GetMotionMaster()->MovePoint(1, me->GetPositionX()-1, me->GetPositionY()+1, me->GetPositionZ());
+ }
+ }
+
+ uint64 OgreGUID;
+
+ void Reset() OVERRIDE
+ {
+ OgreGUID = 0;
+ }
+
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_bloodmaul_brutebaneAI(creature);
+ }
+};
+
+/*######
+## npc_bloodmaul_brute
+######*/
+
+enum BloodmaulBrute
+{
+ EVENT_CLEAVE = 1,
+ EVENT_DEBILITATING_STRIKE = 2,
+ SAY_AGGRO = 0,
+ SAY_DEATH = 1,
+ SAY_ENRAGE = 2,
+ SPELL_CLEAVE = 15496,
+ SPELL_DEBILITATING_STRIKE = 37577,
+ SPELL_ENRAGE = 8599,
+ QUEST_INTO_THE_SOULGRINDER = 11000
+};
+
+class npc_bloodmaul_brute : public CreatureScript
+{
+public:
+ npc_bloodmaul_brute() : CreatureScript("npc_bloodmaul_brute") { }
+
+ struct npc_bloodmaul_bruteAI : public ScriptedAI
+ {
+ npc_bloodmaul_bruteAI(Creature* creature) : ScriptedAI(creature) { }
+
+ void Reset() OVERRIDE
+ {
+ PlayerGUID = 0;
+ hp30 = false;
+ }
+
+ void EnterCombat(Unit* /*who*/) OVERRIDE
+ {
+ if (urand (0, 100) < 35)
+ Talk(SAY_AGGRO);
+
+ events.ScheduleEvent(EVENT_CLEAVE, urand(9000,12000));
+ events.ScheduleEvent(EVENT_DEBILITATING_STRIKE, 15000);
+ }
+
+ void JustDied(Unit* killer) OVERRIDE
+ {
+ if (killer->GetTypeId() == TYPEID_PLAYER)
+ if (killer->ToPlayer()->GetQuestRewardStatus(QUEST_INTO_THE_SOULGRINDER))
+ Talk(SAY_DEATH);
+ }
+
+ void MoveInLineOfSight(Unit* who) OVERRIDE
+ {
+ if (!who || (!who->IsAlive()))
+ return;
+
+ if (me->IsWithinDistInMap(who, 50.0f))
+ {
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ if (who->ToPlayer()->GetQuestStatus(QUEST_GETTING_THE_BLADESPIRE_TANKED) == QUEST_STATUS_INCOMPLETE
+ || who->ToPlayer()->GetQuestStatus(QUEST_BLADESPIRE_KEGGER) == QUEST_STATUS_INCOMPLETE)
+ PlayerGUID = who->GetGUID();
+ }
+ }
+
+ void MovementInform(uint32 /*type*/, uint32 id) OVERRIDE
+ {
+ if (id == 1)
+ {
+ if (GameObject* Keg = me->FindNearestGameObject(GO_KEG, 20))
+ Keg->Delete();
+
+ me->HandleEmoteCommand(7);
+ me->SetReactState(REACT_AGGRESSIVE);
+ me->GetMotionMaster()->MoveTargetedHome();
+
+ Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID);
+ Creature* Credit = me->FindNearestCreature(NPC_QUEST_CREDIT, 50, true);
+ if (player && Credit)
+ player->KilledMonster(Credit->GetCreatureTemplate(), Credit->GetGUID());
+ }
+ }
+
+ void UpdateAI(uint32 diff) OVERRIDE
+ {
+ if (!UpdateVictim())
+ return;
+
+ events.Update(diff);
+
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_CLEAVE:
+ DoCast(me, SPELL_CLEAVE);
+ events.ScheduleEvent(EVENT_CLEAVE, urand(9000,12000));
+ break;
+ case EVENT_DEBILITATING_STRIKE:
+ DoCastVictim(SPELL_DEBILITATING_STRIKE);
+ events.ScheduleEvent(EVENT_DEBILITATING_STRIKE, urand(18000,22000));
+ break;
+ }
+ }
+
+ if (!hp30 && HealthBelowPct(30))
+ {
+ hp30 = true;
+ Talk(SAY_ENRAGE);
+ DoCast(me, SPELL_ENRAGE);
+ }
+
+ DoMeleeAttackIfReady();
+ }
+
+ private:
+ EventMap events;
+ uint64 PlayerGUID;
+ bool hp30;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_bloodmaul_bruteAI(creature);
+ }
+};
/*######
## npc_nether_drake
@@ -85,11 +244,6 @@ class npc_nether_drake : public CreatureScript
public:
npc_nether_drake() : CreatureScript("npc_nether_drake") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_nether_drakeAI(creature);
- }
-
struct npc_nether_drakeAI : public ScriptedAI
{
npc_nether_drakeAI(Creature* creature) : ScriptedAI(creature) { }
@@ -233,6 +387,11 @@ public:
DoMeleeAttackIfReady();
}
};
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_nether_drakeAI(creature);
+ }
};
/*######
@@ -241,8 +400,9 @@ public:
enum Daranelle
{
- SAY_SPELL_INFLUENCE = 0,
- SPELL_LASHHAN_CHANNEL = 36904
+ SAY_SPELL_INFLUENCE = 0,
+ SPELL_LASHHAN_CHANNEL = 36904,
+ SPELL_DISPELLING_ANALYSIS = 37028
};
class npc_daranelle : public CreatureScript
@@ -250,11 +410,6 @@ class npc_daranelle : public CreatureScript
public:
npc_daranelle() : CreatureScript("npc_daranelle") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_daranelleAI(creature);
- }
-
struct npc_daranelleAI : public ScriptedAI
{
npc_daranelleAI(Creature* creature) : ScriptedAI(creature) { }
@@ -270,88 +425,34 @@ public:
{
if (who->HasAura(SPELL_LASHHAN_CHANNEL) && me->IsWithinDistInMap(who, 10.0f))
{
- Talk(SAY_SPELL_INFLUENCE, who->GetGUID());
+ Talk(SAY_SPELL_INFLUENCE, who);
/// @todo Move the below to updateAI and run if this statement == true
- DoCast(who, 37028, true);
+ DoCast(who, SPELL_DISPELLING_ANALYSIS, true);
}
}
ScriptedAI::MoveInLineOfSight(who);
}
};
-};
-/*######
-## npc_overseer_nuaar
-######*/
-
-#define GOSSIP_HELLO_ON "Overseer, I am here to negotiate on behalf of the Cenarion Expedition."
-
-class npc_overseer_nuaar : public CreatureScript
-{
-public:
- npc_overseer_nuaar() : CreatureScript("npc_overseer_nuaar") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- if (action == GOSSIP_ACTION_INFO_DEF+1)
- {
- player->SEND_GOSSIP_MENU(10533, creature->GetGUID());
- player->AreaExploredOrEventHappens(10682);
- }
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- if (player->GetQuestStatus(10682) == QUEST_STATUS_INCOMPLETE)
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
-
- player->SEND_GOSSIP_MENU(10532, creature->GetGUID());
-
- return true;
+ return new npc_daranelleAI(creature);
}
};
-/*######
-## npc_saikkal_the_elder
-######*/
-
-#define GOSSIP_HELLO_STE "Yes... yes, it's me."
-#define GOSSIP_SELECT_STE "Yes elder. Tell me more of the book."
+//Support for quest: You're Fired! (10821)
+bool obelisk_one, obelisk_two, obelisk_three, obelisk_four, obelisk_five;
-class npc_saikkal_the_elder : public CreatureScript
+enum LegionObelisk
{
-public:
- npc_saikkal_the_elder() : CreatureScript("npc_saikkal_the_elder") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- switch (action)
- {
- case GOSSIP_ACTION_INFO_DEF+1:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_STE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
- player->SEND_GOSSIP_MENU(10795, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+2:
- player->TalkedToCreature(creature->GetEntry(), creature->GetGUID());
- player->SEND_GOSSIP_MENU(10796, creature->GetGUID());
- break;
- }
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
- {
- if (player->GetQuestStatus(10980) == QUEST_STATUS_INCOMPLETE)
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_STE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
-
- player->SEND_GOSSIP_MENU(10794, creature->GetGUID());
-
- return true;
- }
+ GO_LEGION_OBELISK_ONE = 185193,
+ GO_LEGION_OBELISK_TWO = 185195,
+ GO_LEGION_OBELISK_THREE = 185196,
+ GO_LEGION_OBELISK_FOUR = 185197,
+ GO_LEGION_OBELISK_FIVE = 185198,
+ NPC_DOOMCRYER = 19963,
+ QUEST_YOURE_FIRED = 10821
};
/*######
@@ -365,30 +466,30 @@ public:
bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
{
- if (player->GetQuestStatus(10821) == QUEST_STATUS_INCOMPLETE)
+ if (player->GetQuestStatus(QUEST_YOURE_FIRED) == QUEST_STATUS_INCOMPLETE)
{
switch (go->GetEntry())
{
- case LEGION_OBELISK_ONE:
+ case GO_LEGION_OBELISK_ONE:
obelisk_one = true;
break;
- case LEGION_OBELISK_TWO:
+ case GO_LEGION_OBELISK_TWO:
obelisk_two = true;
break;
- case LEGION_OBELISK_THREE:
+ case GO_LEGION_OBELISK_THREE:
obelisk_three = true;
break;
- case LEGION_OBELISK_FOUR:
+ case GO_LEGION_OBELISK_FOUR:
obelisk_four = true;
break;
- case LEGION_OBELISK_FIVE:
+ case GO_LEGION_OBELISK_FIVE:
obelisk_five = true;
break;
}
if (obelisk_one == true && obelisk_two == true && obelisk_three == true && obelisk_four == true && obelisk_five == true)
{
- go->SummonCreature(19963, 2943.40f, 4778.20f, 284.49f, 0.94f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000);
+ go->SummonCreature(NPC_DOOMCRYER, 2943.40f, 4778.20f, 284.49f, 0.94f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000);
//reset global var
obelisk_one = false;
obelisk_two = false;
@@ -403,117 +504,6 @@ public:
};
/*######
-## npc_bloodmaul_brutebane
-######*/
-
-enum Bloodmaul
-{
- NPC_OGRE_BRUTE = 19995,
- NPC_QUEST_CREDIT = 21241,
- GO_KEG = 184315,
- QUEST_GETTING_THE_BLADESPIRE_TANKED = 10512,
- QUEST_BLADESPIRE_KEGGER = 10545,
-};
-
-class npc_bloodmaul_brutebane : public CreatureScript
-{
-public:
- npc_bloodmaul_brutebane() : CreatureScript("npc_bloodmaul_brutebane") { }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_bloodmaul_brutebaneAI(creature);
- }
-
- struct npc_bloodmaul_brutebaneAI : public ScriptedAI
- {
- npc_bloodmaul_brutebaneAI(Creature* creature) : ScriptedAI(creature)
- {
- if (Creature* Ogre = me->FindNearestCreature(NPC_OGRE_BRUTE, 50, true))
- {
- Ogre->SetReactState(REACT_DEFENSIVE);
- Ogre->GetMotionMaster()->MovePoint(1, me->GetPositionX()-1, me->GetPositionY()+1, me->GetPositionZ());
- }
- }
-
- uint64 OgreGUID;
-
- void Reset() OVERRIDE
- {
- OgreGUID = 0;
- }
-
- void UpdateAI(uint32 /*uiDiff*/) OVERRIDE { }
- };
-};
-
-/*######
-## npc_ogre_brute
-######*/
-
-class npc_ogre_brute : public CreatureScript
-{
-public:
- npc_ogre_brute() : CreatureScript("npc_ogre_brute") { }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_ogre_bruteAI(creature);
- }
-
- struct npc_ogre_bruteAI : public ScriptedAI
- {
- npc_ogre_bruteAI(Creature* creature) : ScriptedAI(creature) { }
-
- uint64 PlayerGUID;
-
- void Reset() OVERRIDE
- {
- PlayerGUID = 0;
- }
-
- void MoveInLineOfSight(Unit* who) OVERRIDE
- {
- if (!who || (!who->IsAlive()))
- return;
-
- if (me->IsWithinDistInMap(who, 50.0f))
- {
- if (who->GetTypeId() == TYPEID_PLAYER)
- if (who->ToPlayer()->GetQuestStatus(QUEST_GETTING_THE_BLADESPIRE_TANKED) == QUEST_STATUS_INCOMPLETE
- || who->ToPlayer()->GetQuestStatus(QUEST_BLADESPIRE_KEGGER) == QUEST_STATUS_INCOMPLETE)
- PlayerGUID = who->GetGUID();
- }
- }
-
- void MovementInform(uint32 /*type*/, uint32 id) OVERRIDE
- {
- if (id == 1)
- {
- if (GameObject* Keg = me->FindNearestGameObject(GO_KEG, 20))
- Keg->Delete();
-
- me->HandleEmoteCommand(7);
- me->SetReactState(REACT_AGGRESSIVE);
- me->GetMotionMaster()->MoveTargetedHome();
-
- Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID);
- Creature* Credit = me->FindNearestCreature(NPC_QUEST_CREDIT, 50, true);
- if (player && Credit)
- player->KilledMonster(Credit->GetCreatureTemplate(), Credit->GetGUID());
- }
- }
-
- void UpdateAI(uint32 /*diff*/) OVERRIDE
- {
- if (!UpdateVictim())
- return;
- DoMeleeAttackIfReady();
- }
- };
-};
-
-/*######
## go_thunderspike
######*/
@@ -892,7 +882,7 @@ class npc_simon_bunny : public CreatureScript
/*
Called when AI is playing the sequence for player. We cast the visual spell and then remove the
- casted color from the casting sequence.
+ cast color from the casting sequence.
*/
void PlayNextColor()
{
@@ -1123,6 +1113,7 @@ class go_apexis_relic : public GameObjectScript
enum ScannerMasterBunny
{
NPC_OSCILLATING_FREQUENCY_SCANNER_TOP_BUNNY = 21759,
+ GO_OSCILLATING_FREQUENCY_SCANNER = 184926,
SPELL_OSCILLATION_FIELD = 37408,
QUEST_GAUGING_THE_RESONANT_FREQUENCY = 10594
};
@@ -1134,7 +1125,10 @@ public:
struct npc_oscillating_frequency_scanner_master_bunnyAI : public ScriptedAI
{
- npc_oscillating_frequency_scanner_master_bunnyAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_oscillating_frequency_scanner_master_bunnyAI(Creature* creature) : ScriptedAI(creature)
+ {
+ playerGuid = 0;
+ }
void Reset() OVERRIDE
{
@@ -1143,8 +1137,8 @@ public:
else
{
// Spell 37392 does not exist in dbc, manually spawning
- me->SummonCreature(21759, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 0.5f, me->GetOrientation(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 50000);
- me->SummonGameObject(184926, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), 0, 0, 0, 0, 50000);
+ me->SummonCreature(NPC_OSCILLATING_FREQUENCY_SCANNER_TOP_BUNNY, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 0.5f, me->GetOrientation(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 50000);
+ me->SummonGameObject(GO_OSCILLATING_FREQUENCY_SCANNER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), 0, 0, 0, 0, 50000);
me->DespawnOrUnsummon(50000);
}
@@ -1211,13 +1205,11 @@ class spell_oscillating_field : public SpellScriptLoader
void AddSC_blades_edge_mountains()
{
+ new npc_bloodmaul_brutebane();
+ new npc_bloodmaul_brute();
new npc_nether_drake();
new npc_daranelle();
- new npc_overseer_nuaar();
- new npc_saikkal_the_elder();
new go_legion_obelisk();
- new npc_bloodmaul_brutebane();
- new npc_ogre_brute();
new go_thunderspike();
new npc_simon_bunny();
new go_simon_cluster();
diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
index 0aad4973000..5e70b7f9fc4 100644
--- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
+++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
@@ -19,18 +19,15 @@
/* ScriptData
SDName: Hellfire_Peninsula
SD%Complete: 100
-SDComment: Quest support: 9375, 9410, 9418, 10129, 10146, 10162, 10163, 10340, 10346, 10347, 10382 (Special flight paths)
+SDComment: Quest support: 9375, 9410, 9418, 10129, 10146, 10162, 10163, 10340, 10346, 10347, 10382 (Special flight paths) "Needs update"
SDCategory: Hellfire Peninsula
EndScriptData */
/* ContentData
npc_aeranas
npc_ancestral_wolf
-go_haaleshi_altar
-npc_naladu
-npc_tracy_proudwell
-npc_trollbane
npc_wounded_blood_elf
+npc_fel_guard_hound
EndContentData */
#include "ScriptMgr.h"
@@ -46,14 +43,12 @@ EndContentData */
enum Aeranas
{
- SAY_SUMMON = 0,
- SAY_FREE = 1,
-
- FACTION_HOSTILE = 16,
- FACTION_FRIENDLY = 35,
-
- SPELL_ENVELOPING_WINDS = 15535,
- SPELL_SHOCK = 12553
+ SAY_SUMMON = 0,
+ SAY_FREE = 1,
+ FACTION_HOSTILE = 16,
+ FACTION_FRIENDLY = 35,
+ SPELL_ENVELOPING_WINDS = 15535,
+ SPELL_SHOCK = 12553
};
class npc_aeranas : public CreatureScript
@@ -61,24 +56,15 @@ class npc_aeranas : public CreatureScript
public:
npc_aeranas() : CreatureScript("npc_aeranas") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_aeranasAI(creature);
- }
-
struct npc_aeranasAI : public ScriptedAI
{
npc_aeranasAI(Creature* creature) : ScriptedAI(creature) { }
- uint32 Faction_Timer;
- uint32 EnvelopingWinds_Timer;
- uint32 Shock_Timer;
-
void Reset() OVERRIDE
{
- Faction_Timer = 8000;
- EnvelopingWinds_Timer = 9000;
- Shock_Timer = 5000;
+ faction_Timer = 8000;
+ envelopingWinds_Timer = 9000;
+ shock_Timer = 5000;
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
me->setFaction(FACTION_FRIENDLY);
@@ -88,13 +74,13 @@ public:
void UpdateAI(uint32 diff) OVERRIDE
{
- if (Faction_Timer)
+ if (faction_Timer)
{
- if (Faction_Timer <= diff)
+ if (faction_Timer <= diff)
{
me->setFaction(FACTION_HOSTILE);
- Faction_Timer = 0;
- } else Faction_Timer -= diff;
+ faction_Timer = 0;
+ } else faction_Timer -= diff;
}
if (!UpdateVictim())
@@ -111,21 +97,31 @@ public:
return;
}
- if (Shock_Timer <= diff)
+ if (shock_Timer <= diff)
{
DoCastVictim(SPELL_SHOCK);
- Shock_Timer = 10000;
- } else Shock_Timer -= diff;
+ shock_Timer = 10000;
+ } else shock_Timer -= diff;
- if (EnvelopingWinds_Timer <= diff)
+ if (envelopingWinds_Timer <= diff)
{
DoCastVictim(SPELL_ENVELOPING_WINDS);
- EnvelopingWinds_Timer = 25000;
- } else EnvelopingWinds_Timer -= diff;
+ envelopingWinds_Timer = 25000;
+ } else envelopingWinds_Timer -= diff;
DoMeleeAttackIfReady();
}
+
+ private:
+ uint32 faction_Timer;
+ uint32 envelopingWinds_Timer;
+ uint32 shock_Timer;
};
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_aeranasAI(creature);
+ }
};
/*######
@@ -134,13 +130,11 @@ public:
enum AncestralWolf
{
- EMOTE_WOLF_LIFT_HEAD = 0,
- EMOTE_WOLF_HOWL = 1,
- SAY_WOLF_WELCOME = 2,
-
- SPELL_ANCESTRAL_WOLF_BUFF = 29981,
-
- NPC_RYGA = 17123
+ EMOTE_WOLF_LIFT_HEAD = 0,
+ EMOTE_WOLF_HOWL = 1,
+ SAY_WOLF_WELCOME = 2,
+ SPELL_ANCESTRAL_WOLF_BUFF = 29981,
+ NPC_RYGA = 17123
};
class npc_ancestral_wolf : public CreatureScript
@@ -148,11 +142,6 @@ class npc_ancestral_wolf : public CreatureScript
public:
npc_ancestral_wolf() : CreatureScript("npc_ancestral_wolf") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_ancestral_wolfAI(creature);
- }
-
struct npc_ancestral_wolfAI : public npc_escortAI
{
npc_ancestral_wolfAI(Creature* creature) : npc_escortAI(creature)
@@ -166,20 +155,18 @@ public:
Reset();
}
- Creature* pRyga;
-
void Reset() OVERRIDE
{
- pRyga = NULL;
+ ryga = NULL;
DoCast(me, SPELL_ANCESTRAL_WOLF_BUFF, true);
}
void MoveInLineOfSight(Unit* who) OVERRIDE
{
- if (!pRyga && who->GetEntry() == NPC_RYGA && me->IsWithinDistInMap(who, 15.0f))
+ if (!ryga && who->GetEntry() == NPC_RYGA && me->IsWithinDistInMap(who, 15.0f))
if (Creature* temp = who->ToCreature())
- pRyga = temp;
+ ryga = temp;
npc_escortAI::MoveInLineOfSight(who);
}
@@ -195,154 +182,19 @@ public:
Talk(EMOTE_WOLF_HOWL);
break;
case 50:
- if (pRyga && pRyga->IsAlive() && !pRyga->IsInCombat())
- pRyga->AI()->Talk(SAY_WOLF_WELCOME);
+ if (ryga && ryga->IsAlive() && !ryga->IsInCombat())
+ ryga->AI()->Talk(SAY_WOLF_WELCOME);
break;
}
}
- };
-};
-
-/*######
-## npc_naladu
-######*/
-
-#define GOSSIP_NALADU_ITEM1 "Why don't you escape?"
-
-enum Naladu
-{
- GOSSIP_TEXTID_NALADU1 = 9788
-};
-
-class npc_naladu : public CreatureScript
-{
-public:
- npc_naladu() : CreatureScript("npc_naladu") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- if (action == GOSSIP_ACTION_INFO_DEF+1)
- player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_NALADU1, creature->GetGUID());
-
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
- {
- if (creature->IsQuestGiver())
- player->PrepareQuestMenu(creature->GetGUID());
-
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_NALADU_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- return true;
- }
-};
-
-/*######
-## npc_tracy_proudwell
-######*/
-
-#define GOSSIP_TEXT_REDEEM_MARKS "I have marks to redeem!"
-#define GOSSIP_TRACY_PROUDWELL_ITEM1 "I heard that your dog Fei Fei took Klatu's prayer beads..."
-#define GOSSIP_TRACY_PROUDWELL_ITEM2 "<back>"
-
-enum Tracy
-{
- GOSSIP_TEXTID_TRACY_PROUDWELL1 = 10689,
- QUEST_DIGGING_FOR_PRAYER_BEADS = 10916
-};
-
-class npc_tracy_proudwell : public CreatureScript
-{
-public:
- npc_tracy_proudwell() : CreatureScript("npc_tracy_proudwell") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- switch (action)
- {
- case GOSSIP_ACTION_INFO_DEF+1:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TRACY_PROUDWELL_ITEM2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
- player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_TRACY_PROUDWELL1, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+2:
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- break;
- case GOSSIP_ACTION_TRADE:
- player->GetSession()->SendListInventory(creature->GetGUID());
- break;
- }
-
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
- {
- if (creature->IsQuestGiver())
- player->PrepareQuestMenu(creature->GetGUID());
-
- if (creature->IsVendor())
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_REDEEM_MARKS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
-
- if (player->GetQuestStatus(QUEST_DIGGING_FOR_PRAYER_BEADS) == QUEST_STATUS_INCOMPLETE)
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TRACY_PROUDWELL_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
-
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- return true;
- }
-};
-
-/*######
-## npc_trollbane
-######*/
-
-#define GOSSIP_TROLLBANE_ITEM1 "Tell me of the Sons of Lothar."
-#define GOSSIP_TROLLBANE_ITEM2 "<more>"
-#define GOSSIP_TROLLBANE_ITEM3 "Tell me of your homeland."
-
-enum Trollbane
-{
- GOSSIP_TEXTID_TROLLBANE1 = 9932,
- GOSSIP_TEXTID_TROLLBANE2 = 9933,
- GOSSIP_TEXTID_TROLLBANE3 = 8772
-};
-class npc_trollbane : public CreatureScript
-{
-public:
- npc_trollbane() : CreatureScript("npc_trollbane") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- switch (action)
- {
- case GOSSIP_ACTION_INFO_DEF+1:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TROLLBANE_ITEM2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
- player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_TROLLBANE1, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+2:
- player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_TROLLBANE2, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+3:
- player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_TROLLBANE3, creature->GetGUID());
- break;
- }
-
- return true;
- }
+ private:
+ Creature* ryga;
+ };
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- if (creature->IsQuestGiver())
- player->PrepareQuestMenu(creature->GetGUID());
-
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TROLLBANE_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TROLLBANE_ITEM3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- return true;
+ return new npc_ancestral_wolfAI(creature);
}
};
@@ -358,8 +210,10 @@ enum WoundedBloodElf
SAY_ELF_SUMMON2 = 3,
SAY_ELF_COMPLETE = 4,
SAY_ELF_AGGRO = 5,
-
- QUEST_ROAD_TO_FALCON_WATCH = 9375
+ QUEST_ROAD_TO_FALCON_WATCH = 9375,
+ NPC_HAALESHI_WINDWALKER = 16966,
+ NPC_HAALESHI_TALONGUARD = 16967,
+ FACTION_FALCON_WATCH_QUEST = 775
};
class npc_wounded_blood_elf : public CreatureScript
@@ -367,28 +221,31 @@ class npc_wounded_blood_elf : public CreatureScript
public:
npc_wounded_blood_elf() : CreatureScript("npc_wounded_blood_elf") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ struct npc_wounded_blood_elfAI : public npc_escortAI
{
- if (quest->GetQuestId() == QUEST_ROAD_TO_FALCON_WATCH)
- {
- if (npc_escortAI* pEscortAI = CAST_AI(npc_wounded_blood_elf::npc_wounded_blood_elfAI, creature->AI()))
- pEscortAI->Start(true, false, player->GetGUID());
+ npc_wounded_blood_elfAI(Creature* creature) : npc_escortAI(creature) { }
- // Change faction so mobs attack
- creature->setFaction(775);
- }
+ void Reset() OVERRIDE { }
- return true;
- }
+ void EnterCombat(Unit* /*who*/) OVERRIDE
+ {
+ if (HasEscortState(STATE_ESCORT_ESCORTING))
+ Talk(SAY_ELF_AGGRO);
+ }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_wounded_blood_elfAI(creature);
- }
+ void JustSummoned(Creature* summoned) OVERRIDE
+ {
+ summoned->AI()->AttackStart(me);
+ }
- struct npc_wounded_blood_elfAI : public npc_escortAI
- {
- npc_wounded_blood_elfAI(Creature* creature) : npc_escortAI(creature) { }
+ void sQuestAccept(Player* player, Quest const* quest)
+ {
+ if (quest->GetQuestId() == QUEST_ROAD_TO_FALCON_WATCH)
+ {
+ me->setFaction(FACTION_FALCON_WATCH_QUEST);
+ npc_escortAI::Start(true, false, player->GetGUID());
+ }
+ }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -399,44 +256,36 @@ public:
switch (waypointId)
{
case 0:
- Talk(SAY_ELF_START, player->GetGUID());
+ Talk(SAY_ELF_START, player);
break;
case 9:
- Talk(SAY_ELF_SUMMON1, player->GetGUID());
+ Talk(SAY_ELF_SUMMON1, player);
// Spawn two Haal'eshi Talonguard
- DoSpawnCreature(16967, -15, -15, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
- DoSpawnCreature(16967, -17, -17, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
+ DoSpawnCreature(NPC_HAALESHI_TALONGUARD, -15, -15, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
+ DoSpawnCreature(NPC_HAALESHI_TALONGUARD, -17, -17, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
break;
case 13:
- Talk(SAY_ELF_RESTING, player->GetGUID());
+ Talk(SAY_ELF_RESTING, player);
break;
case 14:
- Talk(SAY_ELF_SUMMON2, player->GetGUID());
+ Talk(SAY_ELF_SUMMON2, player);
// Spawn two Haal'eshi Windwalker
- DoSpawnCreature(16966, -15, -15, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
- DoSpawnCreature(16966, -17, -17, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
+ DoSpawnCreature(NPC_HAALESHI_WINDWALKER, -15, -15, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
+ DoSpawnCreature(NPC_HAALESHI_WINDWALKER, -17, -17, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
break;
case 27:
- Talk(SAY_ELF_COMPLETE, player->GetGUID());
+ Talk(SAY_ELF_COMPLETE, player);
// Award quest credit
player->GroupEventHappens(QUEST_ROAD_TO_FALCON_WATCH, me);
break;
}
}
-
- void Reset() OVERRIDE { }
-
- void EnterCombat(Unit* /*who*/) OVERRIDE
- {
- if (HasEscortState(STATE_ESCORT_ESCORTING))
- Talk(SAY_ELF_AGGRO);
- }
-
- void JustSummoned(Creature* summoned) OVERRIDE
- {
- summoned->AI()->AttackStart(me);
- }
};
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_wounded_blood_elfAI(creature);
+ }
};
/*######
@@ -445,9 +294,8 @@ public:
enum FelGuard
{
- SPELL_SUMMON_POO = 37688,
-
- NPC_DERANGED_HELBOAR = 16863
+ SPELL_SUMMON_POO = 37688,
+ NPC_DERANGED_HELBOAR = 16863
};
class npc_fel_guard_hound : public CreatureScript
@@ -455,32 +303,24 @@ class npc_fel_guard_hound : public CreatureScript
public:
npc_fel_guard_hound() : CreatureScript("npc_fel_guard_hound") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_fel_guard_houndAI(creature);
- }
-
struct npc_fel_guard_houndAI : public ScriptedAI
{
npc_fel_guard_houndAI(Creature* creature) : ScriptedAI(creature) { }
- uint32 uiCheckTimer;
- uint64 uiHelboarGUID;
-
void Reset() OVERRIDE
{
- uiCheckTimer = 5000; //check for creature every 5 sec
- uiHelboarGUID = 0;
+ checkTimer = 5000; //check for creature every 5 sec
+ helboarGUID = 0;
}
- void MovementInform(uint32 uiType, uint32 uiId) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) OVERRIDE
{
- if (uiType != POINT_MOTION_TYPE || uiId != 1)
+ if (type != POINT_MOTION_TYPE || id != 1)
return;
- if (Creature* pHelboar = me->GetCreature(*me, uiHelboarGUID))
+ if (Creature* helboar = me->GetCreature(*me, helboarGUID))
{
- pHelboar->RemoveCorpse();
+ helboar->RemoveCorpse();
DoCast(SPELL_SUMMON_POO);
if (Player* owner = me->GetCharmerOrOwnerPlayerOrPlayerItself())
@@ -488,36 +328,43 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 diff) OVERRIDE
{
- if (uiCheckTimer <= uiDiff)
+ if (checkTimer <= diff)
{
- if (Creature* pHelboar = me->FindNearestCreature(NPC_DERANGED_HELBOAR, 10.0f, false))
+ if (Creature* helboar = me->FindNearestCreature(NPC_DERANGED_HELBOAR, 10.0f, false))
{
- if (pHelboar->GetGUID() != uiHelboarGUID && me->GetMotionMaster()->GetCurrentMovementGeneratorType() != POINT_MOTION_TYPE && !me->FindCurrentSpellBySpellId(SPELL_SUMMON_POO))
+ if (helboar->GetGUID() != helboarGUID && me->GetMotionMaster()->GetCurrentMovementGeneratorType() != POINT_MOTION_TYPE && !me->FindCurrentSpellBySpellId(SPELL_SUMMON_POO))
{
- uiHelboarGUID = pHelboar->GetGUID();
- me->GetMotionMaster()->MovePoint(1, pHelboar->GetPositionX(), pHelboar->GetPositionY(), pHelboar->GetPositionZ());
+ helboarGUID = helboar->GetGUID();
+ me->GetMotionMaster()->MovePoint(1, helboar->GetPositionX(), helboar->GetPositionY(), helboar->GetPositionZ());
}
}
- uiCheckTimer = 5000;
- }else uiCheckTimer -= uiDiff;
+ checkTimer = 5000;
+ }
+ else checkTimer -= diff;
if (!UpdateVictim())
return;
DoMeleeAttackIfReady();
}
+
+ private:
+ uint32 checkTimer;
+ uint64 helboarGUID;
};
+
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_fel_guard_houndAI(creature);
+ }
};
void AddSC_hellfire_peninsula()
{
new npc_aeranas();
new npc_ancestral_wolf();
- new npc_naladu();
- new npc_tracy_proudwell();
- new npc_trollbane();
new npc_wounded_blood_elf();
new npc_fel_guard_hound();
}
diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp
index c8e4241974e..4f30638d707 100644
--- a/src/server/scripts/Outland/zone_nagrand.cpp
+++ b/src/server/scripts/Outland/zone_nagrand.cpp
@@ -688,7 +688,7 @@ class go_warmaul_prison : public GameObjectScript
{
player->KilledMonsterCredit(NPC_MAGHAR_PRISONER, 0);
- prisoner->AI()->Talk(SAY_FREE, player->GetGUID());
+ prisoner->AI()->Talk(SAY_FREE, player);
prisoner->DespawnOrUnsummon(6000);
}
return true;
diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp
index e1b95aea972..64b0901b720 100644
--- a/src/server/scripts/Outland/zone_netherstorm.cpp
+++ b/src/server/scripts/Outland/zone_netherstorm.cpp
@@ -245,7 +245,7 @@ public:
{
Unit* u = Unit::GetUnit(*me, someplayer);
if (u && u->GetTypeId() == TYPEID_PLAYER)
- Talk(EMOTE_START, u->GetGUID());
+ Talk(EMOTE_START, u);
}
Event_Timer = 60000;
Wave = true;
@@ -667,7 +667,7 @@ public:
//OnQuestAccept:
//if (quest->GetQuestId() == QUEST_DIMENSIUS)
- //creature->AI()->Talk(WHISPER_DABIRI, player->GetGUID());
+ //creature->AI()->Talk(WHISPER_DABIRI, player);
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
@@ -896,7 +896,7 @@ public:
break;
case 13:
if (me->FindNearestCreature(N_THADELL, 30))
- Talk(SAY_THADELL_2, player->GetGUID());
+ Talk(SAY_THADELL_2, player);
break;
}
}
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index c8a2dfe03cd..73f044be7e6 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -693,7 +693,7 @@ public:
{
Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID);
if (player)
- Talk(OVERLORD_SAY_1, player->GetGUID());
+ Talk(OVERLORD_SAY_1, player);
}
ConversationTimer = 4200;
Step = 0;
@@ -721,7 +721,7 @@ public:
return 9000;
break;
case 2:
- Talk(OVERLORD_YELL_1, player->GetGUID());
+ Talk(OVERLORD_YELL_1, player);
return 4500;
break;
case 3:
@@ -729,7 +729,7 @@ public:
return 3200;
break;
case 4:
- Talk(OVERLORD_SAY_2, player->GetGUID());
+ Talk(OVERLORD_SAY_2, player);
return 2000;
break;
case 5:
@@ -768,7 +768,7 @@ public:
return 5000;
break;
case 11:
- Talk(OVERLORD_SAY_4, player->GetGUID());
+ Talk(OVERLORD_SAY_4, player);
return 6000;
break;
case 12:
@@ -867,7 +867,7 @@ public:
case 29:
{
if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f))
- Yarzill->AI()->Talk(YARZILL_THE_MERC_SAY, player->GetGUID());
+ Yarzill->AI()->Talk(YARZILL_THE_MERC_SAY, player);
return 5000;
}
break;
@@ -947,7 +947,7 @@ public:
{
if (quest->GetQuestId() == QUEST_ESCAPE_COILSCAR)
{
- creature->AI()->Talk(SAY_WIL_START, player->GetGUID());
+ creature->AI()->Talk(SAY_WIL_START, player);
creature->setFaction(FACTION_EARTHEN);
if (npc_earthmender_wildaAI* pEscortAI = CAST_AI(npc_earthmender_wilda::npc_earthmender_wildaAI, creature->AI()))
@@ -981,14 +981,14 @@ public:
switch (waypointId)
{
case 13:
- Talk(SAY_WIL_PROGRESS1, player->GetGUID());
+ Talk(SAY_WIL_PROGRESS1, player);
DoSpawnAssassin();
break;
case 14:
DoSpawnAssassin();
break;
case 15:
- Talk(SAY_WIL_FIND_EXIT, player->GetGUID());
+ Talk(SAY_WIL_FIND_EXIT, player);
break;
case 19:
DoRandomSay();
@@ -1015,7 +1015,7 @@ public:
DoSpawnAssassin();
break;
case 39:
- Talk(SAY_WIL_JUST_AHEAD, player->GetGUID());
+ Talk(SAY_WIL_JUST_AHEAD, player);
break;
case 43:
DoRandomSay();
@@ -1024,7 +1024,7 @@ public:
DoSpawnAssassin();
break;
case 50:
- Talk(SAY_WIL_END, player->GetGUID());
+ Talk(SAY_WIL_END, player);
player->GroupEventHappens(QUEST_ESCAPE_COILSCAR, me);
break;
}
diff --git a/src/server/scripts/Outland/zone_shattrath_city.cpp b/src/server/scripts/Outland/zone_shattrath_city.cpp
index adbec22ca2d..bb595d82a34 100644
--- a/src/server/scripts/Outland/zone_shattrath_city.cpp
+++ b/src/server/scripts/Outland/zone_shattrath_city.cpp
@@ -342,70 +342,70 @@ public:
switch (waypointId)
{
case 0:
- Talk(SAY1, player->GetGUID());
+ Talk(SAY1, player);
break;
case 4:
- Talk(WHISP1, player->GetGUID());
+ Talk(WHISP1, player);
break;
case 6:
- Talk(WHISP2, player->GetGUID());
+ Talk(WHISP2, player);
break;
case 7:
- Talk(WHISP3, player->GetGUID());
+ Talk(WHISP3, player);
break;
case 8:
- Talk(WHISP4, player->GetGUID());
+ Talk(WHISP4, player);
break;
case 17:
- Talk(WHISP5, player->GetGUID());
+ Talk(WHISP5, player);
break;
case 18:
- Talk(WHISP6, player->GetGUID());
+ Talk(WHISP6, player);
break;
case 19:
- Talk(WHISP7, player->GetGUID());
+ Talk(WHISP7, player);
break;
case 33:
- Talk(WHISP8, player->GetGUID());
+ Talk(WHISP8, player);
break;
case 34:
- Talk(WHISP9, player->GetGUID());
+ Talk(WHISP9, player);
break;
case 35:
- Talk(WHISP10, player->GetGUID());
+ Talk(WHISP10, player);
break;
case 36:
- Talk(WHISP11, player->GetGUID());
+ Talk(WHISP11, player);
break;
case 43:
- Talk(WHISP12, player->GetGUID());
+ Talk(WHISP12, player);
break;
case 44:
- Talk(WHISP13, player->GetGUID());
+ Talk(WHISP13, player);
break;
case 49:
- Talk(WHISP14, player->GetGUID());
+ Talk(WHISP14, player);
break;
case 50:
- Talk(WHISP15, player->GetGUID());
+ Talk(WHISP15, player);
break;
case 51:
- Talk(WHISP16, player->GetGUID());
+ Talk(WHISP16, player);
break;
case 52:
- Talk(WHISP17, player->GetGUID());
+ Talk(WHISP17, player);
break;
case 53:
- Talk(WHISP18, player->GetGUID());
+ Talk(WHISP18, player);
break;
case 54:
- Talk(WHISP19, player->GetGUID());
+ Talk(WHISP19, player);
break;
case 55:
- Talk(WHISP20, player->GetGUID());
+ Talk(WHISP20, player);
break;
case 56:
- Talk(WHISP21, player->GetGUID());
+ Talk(WHISP21, player);
player->GroupEventHappens(10211, me);
break;
}
diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp
index ec7f5f976fd..261640f3379 100644
--- a/src/server/scripts/Outland/zone_terokkar_forest.cpp
+++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp
@@ -373,7 +373,7 @@ public:
{
player->CLOSE_GOSSIP_MENU();
creature->setFaction(FACTION_HOSTILE_FL);
- creature->AI()->Talk(SAY_FLOON_ATTACK, player->GetGUID());
+ creature->AI()->Talk(SAY_FLOON_ATTACK, player);
creature->AI()->AttackStart(player);
}
return true;
@@ -482,16 +482,16 @@ public:
Cage->SetGoState(GO_STATE_ACTIVE);
break;
case 2:
- Talk(SAY_PROGRESS_1, player->GetGUID());
+ Talk(SAY_PROGRESS_1, player);
break;
case 5:
- Talk(SAY_PROGRESS_2, player->GetGUID());
+ Talk(SAY_PROGRESS_2, player);
break;
case 6:
- Talk(SAY_PROGRESS_3, player->GetGUID());
+ Talk(SAY_PROGRESS_3, player);
break;
case 29:
- Talk(SAY_PROGRESS_4, player->GetGUID());
+ Talk(SAY_PROGRESS_4, player);
if (player->GetTeam() == ALLIANCE)
player->GroupEventHappens(QUEST_EFTW_A, me);
else if (player->GetTeam() == HORDE)
diff --git a/src/server/scripts/Outland/zone_zangarmarsh.cpp b/src/server/scripts/Outland/zone_zangarmarsh.cpp
index 2497df76bb1..7c8c81b3672 100644
--- a/src/server/scripts/Outland/zone_zangarmarsh.cpp
+++ b/src/server/scripts/Outland/zone_zangarmarsh.cpp
@@ -355,16 +355,16 @@ public:
switch (waypointId)
{
case 4:
- Talk(SAY_AMBUSH1, player->GetGUID());
+ Talk(SAY_AMBUSH1, player);
DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
case 5:
- Talk(SAY_PROGRESS, player->GetGUID());
+ Talk(SAY_PROGRESS, player);
SetRun();
break;
case 16:
- Talk(SAY_AMBUSH2, player->GetGUID());
+ Talk(SAY_AMBUSH2, player);
DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
@@ -372,7 +372,7 @@ public:
SetRun(false);
break;
case 25:
- Talk(SAY_END, player->GetGUID());
+ Talk(SAY_END, player);
player->GroupEventHappens(QUEST_ESCAPE_FROM, me);
break;
}
@@ -383,7 +383,7 @@ public:
{
if (quest->GetQuestId() == QUEST_ESCAPE_FROM)
{
- creature->AI()->Talk(SAY_START, player->GetGUID());
+ creature->AI()->Talk(SAY_START, player);
if (npc_escortAI* pEscortAI = CAST_AI(npc_kayra_longmane::npc_kayra_longmaneAI, creature->AI()))
pEscortAI->Start(false, false, player->GetGUID());