aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortartalo <none@none>2009-10-31 21:29:00 +0100
committertartalo <none@none>2009-10-31 21:29:00 +0100
commitd9e728eadef3bb21a908b35028834116e6cf779e (patch)
tree2968e1e3cfaa5d64c0a5acacbce0923eab0d95d9 /src
parent7f00bab916517486a6202678f210b5e47588e342 (diff)
Drak'Tharon Keep: Fix Trollgore's achievement
Fix possible crash in Tharon'Ja's script Add player spells in Tharon'Ja's script --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp24
-rw-r--r--src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp2
2 files changed, 24 insertions, 2 deletions
diff --git a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
index 2384f789043..6ed0587166d 100644
--- a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
+++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
@@ -168,8 +168,15 @@ struct TRINITY_DLL_DECL boss_tharon_jaAI : public ScriptedAI
for (std::list<HostilReference*>::iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
{
Unit *pTemp = Unit::GetUnit((*m_creature),(*itr)->getUnitGuid());
- if (pTemp->GetTypeId() == TYPEID_PLAYER)
+ if (pTemp && pTemp->GetTypeId() == TYPEID_PLAYER)
+ {
+ Player *pTarget = CAST_PLR(pTemp);
DoCast(pTemp, SPELL_GIFT_OF_THARON_JA);
+ pTarget->AddTemporarySpell(SPELL_PLAYER_PHASE2_BONE_ARMOR);
+ pTarget->AddTemporarySpell(SPELL_PLAYER_PHASE2_SLAYING_STRIKE);
+ pTarget->AddTemporarySpell(SPELL_PLAYER_PHASE2_TAUNT);
+ pTarget->AddTemporarySpell(SPELL_PLAYER_PHASE2_TOUCH_OF_LIFE);
+ }
}
uiPhaseTimer = 20000;
uiLightningBreathTimer = urand(3000,4000);
@@ -217,6 +224,21 @@ struct TRINITY_DLL_DECL boss_tharon_jaAI : public ScriptedAI
uiCurseOfLifeTimer = 1000;
uiRainOfFireTimer = urand(14000,18000);
uiShadowVolleyTimer = urand(8000,10000);
+ std::list<HostilReference*>& threatlist = m_creature->getThreatManager().getThreatList();
+ for (std::list<HostilReference*>::iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
+ {
+ Unit *pTemp = Unit::GetUnit((*m_creature),(*itr)->getUnitGuid());
+ if (pTemp && pTemp->GetTypeId() == TYPEID_PLAYER)
+ {
+ if (pTemp->HasAura(SPELL_GIFT_OF_THARON_JA))
+ pTemp->RemoveAura(SPELL_GIFT_OF_THARON_JA);
+ Player *pTarget = CAST_PLR(pTemp);
+ pTarget->RemoveTemporarySpell(SPELL_PLAYER_PHASE2_BONE_ARMOR);
+ pTarget->RemoveTemporarySpell(SPELL_PLAYER_PHASE2_SLAYING_STRIKE);
+ pTarget->RemoveTemporarySpell(SPELL_PLAYER_PHASE2_TAUNT);
+ pTarget->RemoveTemporarySpell(SPELL_PLAYER_PHASE2_TOUCH_OF_LIFE);
+ }
+ }
} else uiPhaseTimer -= diff;
break;
}
diff --git a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp
index 2845ce02f0e..d4474258c89 100644
--- a/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp
+++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp
@@ -83,7 +83,7 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
uiInfectedWoundTimer = urand(6000,10000);
uiExplodeCorpseTimer = 3000;
- bAchiev = true;
+ bAchiev = HeroicMode;
if (pInstance)
pInstance->SetData(DATA_TROLLGORE_EVENT, NOT_STARTED);