diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp index d02a906b79b..71cd150e2ee 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp @@ -31,11 +31,6 @@ enum eSpells SPELL_TRANSFORMATION = 55098, //Periodic, The caster transforms into a powerful mammoth, increasing Physical damage done by 25% and granting immunity to Stun effects. }; -enum eArchivements -{ - ACHIEV_LESS_RABI = 2040 -}; - enum eSays { SAY_AGGRO = -1604010, @@ -48,6 +43,8 @@ enum eSays EMOTE_TRANSFORM = -1604017 }; +#define DATA_LESS_RABI 1 + class boss_moorabi : public CreatureScript { public: @@ -146,17 +143,20 @@ public: DoMeleeAttackIfReady(); } + uint32 GetData(uint32 type) + { + if (type == DATA_LESS_RABI) + return bPhase ? 0 : 1; + + return 0; + } + void JustDied(Unit* /*pKiller*/) { DoScriptText(SAY_DEATH, me); if (pInstance) - { pInstance->SetData(DATA_MOORABI_EVENT, DONE); - - if (IsHeroic() && !bPhase) - pInstance->DoCompleteAchievement(ACHIEV_LESS_RABI); - } } void KilledUnit(Unit* pVictim) @@ -170,7 +170,25 @@ public: }; +class achievement_less_rabi : public AchievementCriteriaScript +{ + public: + achievement_less_rabi() : AchievementCriteriaScript("achievement_less_rabi") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + if (Creature* Moorabi = target->ToCreature()) + if (Moorabi->AI()->GetData(DATA_LESS_RABI)) + return true; + + return false; + } +}; + void AddSC_boss_moorabi() { new boss_moorabi(); + new achievement_less_rabi(); } |
