Fix Script DrakTharon/Trollgore.
- fix adds spawn points. - fix achievement Consumption Junction. --HG-- branch : trunk
This commit is contained in:
@@ -29,16 +29,19 @@ update creature_template set scriptname = 'boss_trollgore' where entry = '';
|
|||||||
*** SQL END ***/
|
*** SQL END ***/
|
||||||
#include "ScriptedPch.h"
|
#include "ScriptedPch.h"
|
||||||
#include "drak_tharon_keep.h"
|
#include "drak_tharon_keep.h"
|
||||||
|
#include "SpellId.h"
|
||||||
|
|
||||||
enum Spells
|
enum Spells
|
||||||
{
|
{
|
||||||
SPELL_INFECTED_WOUND = 49637,
|
SPELL_INFECTED_WOUND = SPELL_INFECTED_WOUND_49637,
|
||||||
SPELL_CRUSH = 49639,
|
SPELL_CRUSH = SPELL_CRUSH_49639,
|
||||||
SPELL_CORPSE_EXPLODE = 49555,
|
SPELL_CORPSE_EXPLODE = SPELL_CORPSE_EXPLODE_49555,
|
||||||
SPELL_CONSUME = 49380,
|
SPELL_CONSUME = SPELL_CONSUME_49380,
|
||||||
|
SPELL_CONSUME_AURA = SPELL_CONSUME_49381,
|
||||||
//Heroic spells
|
//Heroic spells
|
||||||
H_SPELL_CORPSE_EXPLODE = 59807,
|
H_SPELL_CORPSE_EXPLODE = SPELL_CORPSE_EXPLODE_59807,
|
||||||
H_SPELL_CONSUME = 59803
|
H_SPELL_CONSUME = SPELL_CONSUME_59803,
|
||||||
|
H_SPELL_CONSUME_AURA = SPELL_CONSUME_59805,
|
||||||
};
|
};
|
||||||
//not in db
|
//not in db
|
||||||
enum Yells
|
enum Yells
|
||||||
@@ -94,8 +97,7 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
|
|||||||
|
|
||||||
lSummons.DespawnAll();
|
lSummons.DespawnAll();
|
||||||
|
|
||||||
if (m_creature->HasAura(DUNGEON_MODE(SPELL_CONSUME,H_SPELL_CONSUME)))
|
m_creature->RemoveAura(DUNGEON_MODE(SPELL_CONSUME_AURA,H_SPELL_CONSUME_AURA));
|
||||||
m_creature->RemoveAura(DUNGEON_MODE(SPELL_CONSUME,H_SPELL_CONSUME));
|
|
||||||
|
|
||||||
if (pInstance)
|
if (pInstance)
|
||||||
pInstance->SetData(DATA_TROLLGORE_EVENT, NOT_STARTED);
|
pInstance->SetData(DATA_TROLLGORE_EVENT, NOT_STARTED);
|
||||||
@@ -119,7 +121,7 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
|
|||||||
{
|
{
|
||||||
uint32 spawnNumber = urand(2,DUNGEON_MODE(3,5));
|
uint32 spawnNumber = urand(2,DUNGEON_MODE(3,5));
|
||||||
for (uint8 i = 0; i < spawnNumber; ++i)
|
for (uint8 i = 0; i < spawnNumber; ++i)
|
||||||
DoSpawnCreature(RAND(NPC_DRAKKARI_INVADER_1,NPC_DRAKKARI_INVADER_2), AddSpawnPoint.GetPositionX(), AddSpawnPoint.GetPositionY(), AddSpawnPoint.GetPositionZ(), AddSpawnPoint.GetOrientation(), TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 90000);
|
DoSummon(RAND(NPC_DRAKKARI_INVADER_1,NPC_DRAKKARI_INVADER_2), AddSpawnPoint, 0, TEMPSUMMON_DEAD_DESPAWN);
|
||||||
uiSpawnTimer = urand(30000,40000);
|
uiSpawnTimer = urand(30000,40000);
|
||||||
} else uiSpawnTimer -= diff;
|
} else uiSpawnTimer -= diff;
|
||||||
|
|
||||||
@@ -132,15 +134,9 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
|
|||||||
|
|
||||||
if (bAchiev)
|
if (bAchiev)
|
||||||
{
|
{
|
||||||
if (uiAuraCountTimer <= diff)
|
Aura *pConsumeAura = m_creature->GetAura(DUNGEON_MODE(SPELL_CONSUME_AURA,H_SPELL_CONSUME_AURA));
|
||||||
{
|
if (pConsumeAura && pConsumeAura->GetStackAmount() > 9)
|
||||||
if (Aura *pConsumeAura = m_creature->GetAura(DUNGEON_MODE(SPELL_CONSUME,H_SPELL_CONSUME)))
|
bAchiev = false;
|
||||||
{
|
|
||||||
if (pConsumeAura && pConsumeAura->GetStackAmount() > 9)
|
|
||||||
bAchiev = false;
|
|
||||||
}
|
|
||||||
uiAuraCountTimer = 16000;
|
|
||||||
} else uiAuraCountTimer -= diff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uiCrushTimer <= diff)
|
if (uiCrushTimer <= diff)
|
||||||
@@ -188,7 +184,9 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
|
|||||||
|
|
||||||
void JustSummoned(Creature* summon)
|
void JustSummoned(Creature* summon)
|
||||||
{
|
{
|
||||||
summon->AI()->AttackStart(m_creature);
|
lSummons.push_back(summon->GetGUID());
|
||||||
|
if (summon->AI())
|
||||||
|
summon->AI()->AttackStart(m_creature);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user