Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff -r 7beff19993c4 src/bindings/scripts/scripts/northrend/naxxramas/boss_faerl ina.cpp
- --- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_faerlina.cpp S un Dec 27 05:00:56 2009 -0700
- +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_faerlina.cpp M on Jan 11 01:36:34 2010 +0100
- -19,6 +19,7 @@
- #include "precompiled.h"
- #include "naxxramas.h"
- +
- enum Yells
- {
- SAY_GREET = -1533009,
- -41,7 +42,10 @@
- SPELL_FRENZY = 28798,
- H_SPELL_FRENZY = 54100,
- SPELL_WIDOWS_EMBRACE = 28732,
- - H_SPELL_WIDOWS_EMBRACE = 54097
- + H_SPELL_WIDOWS_EMBRACE = 54097,
- + SPELL_FIREBALL = 54095,
- + H_SPELL_FIREBALL = 54096,
- + SPELL_WIDOW_EMBRACE = 28732
- };
- enum Events
- -55,12 +59,12 @@
- enum Creatures
- {
- - NPC_WORSHIPPER = 16506
- + NPC_WORSHIPPER = 16506,
- + NPC_FAERLINA = 15953
- };
- -
- struct TRINITY_DLL_DECL boss_faerlinaAI : public BossAI
- {
- - boss_faerlinaAI(Creature *c) : BossAI(c, BOSS_FAERLINA), greet(false) {}
- + boss_faerlinaAI(Creature *pCreature) : BossAI(pCreature, BOSS_FAERLINA), gr eet(false) {}
- bool greet;
- bool delayFrenzy;
- -131,7 +135,6 @@
- events.ScheduleEvent(EVENT_FRENZY, urand(60000,80000));
- }
- }
- -
- DoMeleeAttackIfReady();
- }
- -160,26 +163,36 @@
- struct TRINITY_DLL_DECL mob_faerlina_addAI : public ScriptedAI
- {
- - mob_faerlina_addAI(Creature* pCreature) : ScriptedAI(pCreature)
- + mob_faerlina_addAI(Creature *pCreature) : ScriptedAI(pCreature)
- {
- - pInstance = pCreature->GetInstanceData();
- + pFaerlina = pCreature->FindNearestCreature(NPC_FAERLINA,50.0f,true);
- + HeroMode = pCreature->GetMap()->IsHeroic();
- }
- -
- - ScriptedInstance *pInstance;
- +
- + bool HeroMode;
- + Creature* pFaerlina;
- + uint32 FireBallTimer;
- void Reset()
- {
- - if (!HeroicMode)
- - m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, SPELL_EFFECT_BIN D, true);
- + FireBallTimer = 10000;
- }
- - void JustDied(Unit *killer)
- + void UpdateAI(const uint32 diff)
- {
- - if (pInstance)
- + if (!UpdateVictim())
- + return;
- + if(FireBallTimer < diff)
- {
- - if (Creature *pFaerlina = pInstance->instance->GetCreature(pInstanc e->GetData64(DATA_FAERLINA)))
- - DoCast(pFaerlina, HEROIC(SPELL_WIDOWS_EMBRACE, H_SPELL_WIDOWS_E MBRACE));
- - }
- + DoCast(m_creature->getVictim(), HeroMode ? H_SPELL_FIREBALL : SPELL _FIREBALL);
- + FireBallTimer = 10000;
- + }else FireBallTimer -= diff;
- + DoMeleeAttackIfReady();
- + }
- +
- + void JustDied(Unit* Killer)
- + {
- + Killer->CastSpell(pFaerlina,SPELL_WIDOWS_EMBRACE,true);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement