aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLopin <davca.hr@seznam.cz>2011-06-24 14:40:23 +0200
committerLopin <davca.hr@seznam.cz>2011-06-24 14:40:23 +0200
commit9582f596e28049a081ac27319c72a316ec94768b (patch)
tree7a08736838e305f00785129b9e709da4356ed810 /src
parent7954d9a0991b5ad88dd2faf138d3da3d0a56a3d0 (diff)
Scripts/Gundrak: Properly fixed achievement Less Rabi
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp38
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();
}