diff options
author | Shocker <shocker@freakz.ro> | 2012-01-08 15:30:14 -0800 |
---|---|---|
committer | Shocker <shocker@freakz.ro> | 2012-01-08 15:30:14 -0800 |
commit | f53a1f253e0dfb3de2d85117e36d36d9daea87a6 (patch) | |
tree | 194246029f21dad0b2ce9f058cc200f9435651ce /src | |
parent | 6cb495048916a916804ebf8bde19e9619b12f897 (diff) | |
parent | 1caf09267e255f1ddda3825ad646cf7387967c08 (diff) |
Merge pull request #4719 from Norfik/bjarngrim
Scripts/Halls of Lightning: Implement "Lightning Struck" achievement
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp index e96801f3ecb..c6f72890d1f 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp @@ -61,7 +61,7 @@ enum eEnums //OTHER SPELLS //SPELL_CHARGE_UP = 52098, // only used when starting walk from one platform to the other - //SPELL_TEMPORARY_ELECTRICAL_CHARGE = 52092, // triggered part of above + SPELL_TEMPORARY_ELECTRICAL_CHARGE = 52092, // triggered part of above NPC_STORMFORGED_LIEUTENANT = 29240, SPELL_ARC_WELD = 59085, @@ -98,11 +98,13 @@ public: m_instance = creature->GetInstanceScript(); m_uiStance = STANCE_DEFENSIVE; memset(&m_auiStormforgedLieutenantGUID, 0, sizeof(m_auiStormforgedLieutenantGUID)); + canBuff = true; } InstanceScript* m_instance; bool m_bIsChangingStance; + bool canBuff; uint8 m_uiChargingStatus; uint8 m_uiStance; @@ -126,6 +128,10 @@ public: void Reset() { + if (canBuff) + if (!me->HasAura(SPELL_TEMPORARY_ELECTRICAL_CHARGE)) + me->AddAura(SPELL_TEMPORARY_ELECTRICAL_CHARGE, me); + m_bIsChangingStance = false; m_uiChargingStatus = 0; @@ -167,6 +173,16 @@ public: m_instance->SetData(TYPE_BJARNGRIM, NOT_STARTED); } + void EnterEvadeMode() + { + if (me->HasAura(SPELL_TEMPORARY_ELECTRICAL_CHARGE)) + canBuff = true; + else + canBuff = false; + + ScriptedAI::EnterEvadeMode(); + } + void EnterCombat(Unit* /*who*/) { DoScriptText(SAY_AGGRO, me); @@ -211,7 +227,7 @@ public: void UpdateAI(const uint32 uiDiff) { //Return since we have no target - if (!UpdateVictim()) + if (!UpdateVictim()) return; // Change stance |