Scripts/Trial of the Crusader: Fixed crashes in Gormok the Impaler
Closes issue #4515. --HG-- branch : trunk
This commit is contained in:
+12
-6
@@ -86,7 +86,8 @@ enum BossSpells
|
|||||||
/*######
|
/*######
|
||||||
## boss_jaraxxus
|
## boss_jaraxxus
|
||||||
######*/
|
######*/
|
||||||
␍class boss_jaraxxus : public CreatureScript
|
|
||||||
|
class boss_jaraxxus : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
boss_jaraxxus() : CreatureScript("boss_jaraxxus") { }
|
boss_jaraxxus() : CreatureScript("boss_jaraxxus") { }
|
||||||
@@ -248,7 +249,8 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
␍class mob_legion_flame : public CreatureScript
|
|
||||||
|
class mob_legion_flame : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
mob_legion_flame() : CreatureScript("mob_legion_flame") { }
|
mob_legion_flame() : CreatureScript("mob_legion_flame") { }
|
||||||
@@ -281,7 +283,8 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
␍class mob_infernal_volcano : public CreatureScript
|
|
||||||
|
class mob_infernal_volcano : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
mob_infernal_volcano() : CreatureScript("mob_infernal_volcano") { }
|
mob_infernal_volcano() : CreatureScript("mob_infernal_volcano") { }
|
||||||
@@ -358,7 +361,8 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
␍class mob_fel_infernal : public CreatureScript
|
|
||||||
|
class mob_fel_infernal : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
mob_fel_infernal() : CreatureScript("mob_fel_infernal") { }
|
mob_fel_infernal() : CreatureScript("mob_fel_infernal") { }
|
||||||
@@ -412,7 +416,8 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
␍class mob_nether_portal : public CreatureScript
|
|
||||||
|
class mob_nether_portal : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
mob_nether_portal() : CreatureScript("mob_nether_portal") { }
|
mob_nether_portal() : CreatureScript("mob_nether_portal") { }
|
||||||
@@ -483,7 +488,8 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
␍class mob_mistress_of_pain : public CreatureScript
|
|
||||||
|
class mob_mistress_of_pain : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
mob_mistress_of_pain() : CreatureScript("mob_mistress_of_pain") { }
|
mob_mistress_of_pain() : CreatureScript("mob_mistress_of_pain") { }
|
||||||
|
|||||||
+24
-21
@@ -108,7 +108,8 @@ enum BossSpells
|
|||||||
SPELL_FROTHING_RAGE = 66759,
|
SPELL_FROTHING_RAGE = 66759,
|
||||||
SPELL_STAGGERED_DAZE = 66758,
|
SPELL_STAGGERED_DAZE = 66758,
|
||||||
};
|
};
|
||||||
␍class boss_gormok : public CreatureScript
|
|
||||||
|
class boss_gormok : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
boss_gormok() : CreatureScript("boss_gormok") { }
|
boss_gormok() : CreatureScript("boss_gormok") { }
|
||||||
@@ -167,29 +168,26 @@ public:
|
|||||||
m_pInstance->SetData(TYPE_NORTHREND_BEASTS,GORMOK_IN_PROGRESS);
|
m_pInstance->SetData(TYPE_NORTHREND_BEASTS,GORMOK_IN_PROGRESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustSummoned(Creature* pSummoned)
|
void JustSummoned(Creature* summon)
|
||||||
{
|
{
|
||||||
Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
|
||||||
switch(pSummoned->GetEntry())
|
|
||||||
{
|
{
|
||||||
case NPC_SNOBOLD_VASSAL:
|
if (summon->GetEntry() == NPC_SNOBOLD_VASSAL)
|
||||||
pSummoned->GetMotionMaster()->MoveJump(pTarget->GetPositionX(),pTarget->GetPositionY(),pTarget->GetPositionZ(),10.0f,20.0f);
|
{
|
||||||
|
summon->GetMotionMaster()->MoveJump(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 10.0f, 20.0f);
|
||||||
DoCast(me, SPELL_RISING_ANGER);
|
DoCast(me, SPELL_RISING_ANGER);
|
||||||
--m_uiSummonCount;
|
--m_uiSummonCount;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
pSummoned->AI()->AttackStart(pTarget);
|
summon->AI()->AttackStart(target);
|
||||||
Summons.Summon(pSummoned);
|
}
|
||||||
|
Summons.Summon(summon);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SummonedCreatureDespawn(Creature* pSummoned)
|
void SummonedCreatureDespawn(Creature* summon)
|
||||||
{
|
{
|
||||||
switch(pSummoned->GetEntry())
|
if (summon->GetEntry() == NPC_SNOBOLD_VASSAL)
|
||||||
{
|
if (summon->isAlive())
|
||||||
case NPC_SNOBOLD_VASSAL:
|
++m_uiSummonCount;
|
||||||
if (pSummoned->isAlive()) ++m_uiSummonCount;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(const uint32 uiDiff)
|
void UpdateAI(const uint32 uiDiff)
|
||||||
@@ -225,7 +223,8 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
␍class mob_snobold_vassal : public CreatureScript
|
|
||||||
|
class mob_snobold_vassal : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
mob_snobold_vassal() : CreatureScript("mob_snobold_vassal") { }
|
mob_snobold_vassal() : CreatureScript("mob_snobold_vassal") { }
|
||||||
@@ -563,7 +562,8 @@ struct boss_jormungarAI : public ScriptedAI
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
␍class boss_acidmaw : public CreatureScript
|
|
||||||
|
class boss_acidmaw : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
boss_acidmaw() : CreatureScript("boss_acidmaw") { }
|
boss_acidmaw() : CreatureScript("boss_acidmaw") { }
|
||||||
@@ -596,7 +596,8 @@ struct boss_jormungarAI : public ScriptedAI
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
␍class boss_dreadscale : public CreatureScript
|
|
||||||
|
class boss_dreadscale : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
boss_dreadscale() : CreatureScript("boss_dreadscale") { }
|
boss_dreadscale() : CreatureScript("boss_dreadscale") { }
|
||||||
@@ -628,7 +629,8 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
␍class mob_slime_pool : public CreatureScript
|
|
||||||
|
class mob_slime_pool : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
mob_slime_pool() : CreatureScript("mob_slime_pool") { }
|
mob_slime_pool() : CreatureScript("mob_slime_pool") { }
|
||||||
@@ -663,7 +665,8 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
␍class boss_icehowl : public CreatureScript
|
|
||||||
|
class boss_icehowl : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
boss_icehowl() : CreatureScript("boss_icehowl") { }
|
boss_icehowl() : CreatureScript("boss_icehowl") { }
|
||||||
|
|||||||
+2
-1
@@ -25,7 +25,8 @@ EndScriptData */
|
|||||||
|
|
||||||
#include "ScriptPCH.h"
|
#include "ScriptPCH.h"
|
||||||
#include "trial_of_the_crusader.h"
|
#include "trial_of_the_crusader.h"
|
||||||
␍class instance_trial_of_the_crusader : public InstanceMapScript
|
|
||||||
|
class instance_trial_of_the_crusader : public InstanceMapScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
instance_trial_of_the_crusader() : InstanceMapScript("instance_trial_of_the_crusader", 649) { }
|
instance_trial_of_the_crusader() : InstanceMapScript("instance_trial_of_the_crusader", 649) { }
|
||||||
|
|||||||
Reference in New Issue
Block a user