diff options
-rw-r--r-- | src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp | 28 | ||||
-rw-r--r-- | src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp | 11 |
2 files changed, 26 insertions, 13 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 5fecee52b14..fdb5e694f66 100644 --- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp +++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp @@ -23,7 +23,7 @@ #include "SpellInfo.h" #include "SpellScript.h" -enum Texts +enum MaladaarTexts { SAY_ROAR = 0, SAY_SOUL_CLEAVE = 1, @@ -33,7 +33,7 @@ enum Texts SAY_DEATH = 5 }; -enum Spells +enum MaladaarSpells { SPELL_SOUL_SCREAM = 32421, SPELL_RIBBON_OF_SOULS = 32422, @@ -57,7 +57,7 @@ enum Spells SPELL_PLAGUE_STRIKE = 58839 }; -enum Events +enum MaladaarEvents { EVENT_SOUL_SCREAM = 1, EVENT_RIBBON_OF_SOULS, @@ -65,7 +65,7 @@ enum Events EVENT_SUMMON_AVATAR }; -enum Misc +enum MaladaarMisc { NPC_DORE = 19412, @@ -93,6 +93,7 @@ enum Misc Position const DoreSpawnPos = { -4.40722f, -387.277f, 40.6294f, 6.26573f }; +// 18373 - Exarch Maladaar struct boss_exarch_maladaar : public BossAI { boss_exarch_maladaar(Creature* creature) : BossAI(creature, DATA_EXARCH_MALADAAR), _avatarSummoned(false) { } @@ -123,9 +124,19 @@ struct boss_exarch_maladaar : public BossAI void OnSpellCast(SpellInfo const* spell) override { - if (spell->Id == SPELL_STOLEN_SOUL) - if (roll_chance_i(25)) - Talk(SAY_SOUL_CLEAVE); + switch (spell->Id) + { + case SPELL_STOLEN_SOUL: + if (roll_chance_i(25)) + Talk(SAY_SOUL_CLEAVE); + break; + case SPELL_SOUL_SCREAM: + if (roll_chance_i(25)) + Talk(SAY_ROAR); + break; + default: + break; + } } void SpellHitTarget(WorldObject* target, SpellInfo const* spellInfo) override @@ -164,8 +175,6 @@ struct boss_exarch_maladaar : public BossAI switch (eventId) { case EVENT_SOUL_SCREAM: - if (roll_chance_i(25)) - Talk(SAY_ROAR); DoCastSelf(SPELL_SOUL_SCREAM); events.Repeat(RAND(15s, 20s)); break; @@ -197,6 +206,7 @@ private: bool _avatarSummoned; }; +// 18441 - Stolen Soul struct npc_stolen_soul : public ScriptedAI { npc_stolen_soul(Creature* creature) : ScriptedAI(creature), _summonerClass(CLASS_NONE) { } 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 b96b5fed08d..375e9ad682c 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 @@ -15,8 +15,6 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* Old comment: "Inhibit Magic should stack slower far from the boss" - really? */ - #include "ScriptedCreature.h" #include "ScriptMgr.h" #include "Spell.h" @@ -129,14 +127,19 @@ struct npc_focus_fire : public ScriptedAI // Should be in this sniffed order but makes it ignore other spell casts, so disabled // DoCastSelf(SPELL_BIRTH); DoCastSelf(SPELL_FOCUS_TARGET_VISUAL); - DoCastSelf(SPELL_PING_SHIRRAK); _scheduler.Schedule(5s, [this](TaskContext /*task*/) { - DoCastSelf(SPELL_FIERY_BLAST); + DoCastSelf(SPELL_PING_SHIRRAK); }); } + void SpellHit(WorldObject* /*caster*/, SpellInfo const* spellInfo) override + { + if (spellInfo->Id == SPELL_FOCUS_FIRE_DUMMY) + DoCastSelf(SPELL_FIERY_BLAST); + } + void UpdateAI(uint32 diff) override { _scheduler.Update(diff); |