*merge
--HG-- branch : trunk
This commit is contained in:
@@ -48,4 +48,4 @@ Wizz, Elminster, 123qwe, NeatElves, Turk3y, deicide, vladonix, nugu100,
|
|||||||
Skystar, Reve, jorooo, FrozenDB, miranda.conrado, Tequila, Gommes, Zerg2000,
|
Skystar, Reve, jorooo, FrozenDB, miranda.conrado, Tequila, Gommes, Zerg2000,
|
||||||
aerione_alt, Rastik, FrenchW, wilibald09, Velorien, kancaras, fisherman,
|
aerione_alt, Rastik, FrenchW, wilibald09, Velorien, kancaras, fisherman,
|
||||||
Aviram, Mufik, loop69, multiplexer, Koani, rechapa79, kozelo, MeanMachine,
|
Aviram, Mufik, loop69, multiplexer, Koani, rechapa79, kozelo, MeanMachine,
|
||||||
fregh, adrycasillo, IncoGnito.
|
fregh, adrycasillo, IncoGnito, Alez, Itch.
|
||||||
|
|||||||
@@ -115,36 +115,40 @@ float Humanoides[6][5] =
|
|||||||
uint32 EnrageTimer = 600000;
|
uint32 EnrageTimer = 600000;
|
||||||
struct TRINITY_DLL_DECL boss_entropiusAI : public ScriptedAI
|
struct TRINITY_DLL_DECL boss_entropiusAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
boss_entropiusAI(Creature *c) : ScriptedAI(c), Summons(m_creature){
|
boss_entropiusAI(Creature *c) : ScriptedAI(c), Summons(m_creature)
|
||||||
|
{
|
||||||
pInstance = c->GetInstanceData();
|
pInstance = c->GetInstanceData();
|
||||||
Combat = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ScriptedInstance* pInstance;
|
ScriptedInstance* pInstance;
|
||||||
SummonList Summons;
|
SummonList Summons;
|
||||||
|
|
||||||
bool Combat;
|
|
||||||
uint32 BlackHoleSummonTimer;
|
uint32 BlackHoleSummonTimer;
|
||||||
|
|
||||||
void Reset() {
|
void Reset()
|
||||||
if (!Combat){
|
{
|
||||||
BlackHoleSummonTimer = 15000;
|
BlackHoleSummonTimer = 15000;
|
||||||
DoCastAOE(SPELL_NEGATIVE_ENERGY_E, false);
|
DoCastAOE(SPELL_NEGATIVE_ENERGY_E, false);
|
||||||
}else{
|
|
||||||
|
Summons.DespawnAll();
|
||||||
|
|
||||||
if(pInstance)
|
if(pInstance)
|
||||||
pInstance->SetData(DATA_MURU_EVENT, NOT_STARTED);
|
pInstance->SetData(DATA_MURU_EVENT, NOT_STARTED);
|
||||||
Summons.DespawnAll();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnterCombat(Unit *who) {
|
void EnterCombat(Unit *who)
|
||||||
|
{
|
||||||
DoCastAOE(SPELL_NEGATIVE_ENERGY_E, true);
|
DoCastAOE(SPELL_NEGATIVE_ENERGY_E, true);
|
||||||
DoCast(m_creature, SPELL_ENTROPIUS_SPAWN, false);
|
DoCast(m_creature, SPELL_ENTROPIUS_SPAWN, false);
|
||||||
|
|
||||||
|
if(pInstance)
|
||||||
|
pInstance->SetData(DATA_MURU_EVENT, IN_PROGRESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustSummoned(Creature* summoned)
|
void JustSummoned(Creature* summoned)
|
||||||
{
|
{
|
||||||
switch(summoned->GetEntry()){
|
switch(summoned->GetEntry())
|
||||||
|
{
|
||||||
case CREATURE_DARK_FIENDS:
|
case CREATURE_DARK_FIENDS:
|
||||||
summoned->CastSpell(summoned,SPELL_DARKFIEND_VISUAL,false);
|
summoned->CastSpell(summoned,SPELL_DARKFIEND_VISUAL,false);
|
||||||
break;
|
break;
|
||||||
@@ -159,13 +163,12 @@ struct TRINITY_DLL_DECL boss_entropiusAI : public ScriptedAI
|
|||||||
Summons.Summon(summoned);
|
Summons.Summon(summoned);
|
||||||
}
|
}
|
||||||
|
|
||||||
void KilledUnit(Unit* victim){
|
void JustDied(Unit* killer)
|
||||||
|
{
|
||||||
}
|
|
||||||
|
|
||||||
void JustDied(Unit* killer){
|
|
||||||
if(pInstance)pInstance->SetData(DATA_MURU_EVENT, DONE);
|
|
||||||
Summons.DespawnAll();
|
Summons.DespawnAll();
|
||||||
|
|
||||||
|
if(pInstance)
|
||||||
|
pInstance->SetData(DATA_MURU_EVENT, DONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(const uint32 diff)
|
void UpdateAI(const uint32 diff)
|
||||||
@@ -173,25 +176,29 @@ struct TRINITY_DLL_DECL boss_entropiusAI : public ScriptedAI
|
|||||||
if(!UpdateVictim())
|
if(!UpdateVictim())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(!Combat)Combat = true;
|
if(EnrageTimer < diff && !m_creature->HasAura(SPELL_ENRAGE, 0))
|
||||||
|
{
|
||||||
if(EnrageTimer < diff && !m_creature->HasAura(SPELL_ENRAGE, 0)){
|
|
||||||
DoCast(m_creature,SPELL_ENRAGE, false);
|
DoCast(m_creature,SPELL_ENRAGE, false);
|
||||||
}else EnrageTimer -= diff;
|
}else EnrageTimer -= diff;
|
||||||
|
|
||||||
if(BlackHoleSummonTimer < diff){
|
if(BlackHoleSummonTimer < diff)
|
||||||
|
{
|
||||||
Unit* random = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
Unit* random = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
||||||
if(!random)return;
|
if(!random)
|
||||||
|
return;
|
||||||
|
|
||||||
DoCast(random, SPELL_DARKNESS_E, false);
|
DoCast(random, SPELL_DARKNESS_E, false);
|
||||||
|
|
||||||
random = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
random = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
||||||
if(!random)return;
|
if(!random)
|
||||||
|
return;
|
||||||
|
|
||||||
random->CastSpell(random, SPELL_BLACKHOLE, false);
|
random->CastSpell(random, SPELL_BLACKHOLE, false);
|
||||||
BlackHoleSummonTimer = 15000;
|
BlackHoleSummonTimer = 15000;
|
||||||
}else BlackHoleSummonTimer -= diff;
|
}else BlackHoleSummonTimer -= diff;
|
||||||
|
|
||||||
DoMeleeAttackIfReady();
|
DoMeleeAttackIfReady();
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI* GetAI_boss_entropius(Creature *_Creature)
|
CreatureAI* GetAI_boss_entropius(Creature *_Creature)
|
||||||
@@ -201,7 +208,8 @@ CreatureAI* GetAI_boss_entropius(Creature *_Creature)
|
|||||||
|
|
||||||
struct TRINITY_DLL_DECL boss_muruAI : public Scripted_NoMovementAI
|
struct TRINITY_DLL_DECL boss_muruAI : public Scripted_NoMovementAI
|
||||||
{
|
{
|
||||||
boss_muruAI(Creature *c) : Scripted_NoMovementAI(c), Summons(m_creature){
|
boss_muruAI(Creature *c) : Scripted_NoMovementAI(c), Summons(m_creature)
|
||||||
|
{
|
||||||
pInstance = c->GetInstanceData();
|
pInstance = c->GetInstanceData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -223,36 +231,42 @@ struct TRINITY_DLL_DECL boss_muruAI : public Scripted_NoMovementAI
|
|||||||
Timer[TIMER_HUMANOIDES] = 10000;
|
Timer[TIMER_HUMANOIDES] = 10000;
|
||||||
Timer[TIMER_PHASE] = 2000;
|
Timer[TIMER_PHASE] = 2000;
|
||||||
Timer[TIMER_SENTINEL] = 31500;
|
Timer[TIMER_SENTINEL] = 31500;
|
||||||
Summons.DespawnAll();
|
|
||||||
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||||
m_creature->SetVisibility(VISIBILITY_ON);
|
m_creature->SetVisibility(VISIBILITY_ON);
|
||||||
|
|
||||||
|
Summons.DespawnAll();
|
||||||
|
|
||||||
if(pInstance)
|
if(pInstance)
|
||||||
pInstance->SetData(DATA_MURU_EVENT, NOT_STARTED);
|
pInstance->SetData(DATA_MURU_EVENT, NOT_STARTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnterCombat(Unit *who)
|
void EnterCombat(Unit *who)
|
||||||
{
|
{
|
||||||
|
DoCastAOE(SPELL_NEGATIVE_ENERGY,false);
|
||||||
|
|
||||||
if(pInstance)
|
if(pInstance)
|
||||||
pInstance->SetData(DATA_MURU_EVENT, IN_PROGRESS);
|
pInstance->SetData(DATA_MURU_EVENT, IN_PROGRESS);
|
||||||
DoCastAOE(SPELL_NEGATIVE_ENERGY,false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void KilledUnit(Unit* victim){}
|
void DamageTaken(Unit *done_by, uint32 &damage)
|
||||||
|
{
|
||||||
void DamageTaken(Unit *done_by, uint32 &damage) {
|
if(damage > m_creature->GetHealth() && Phase == 1)
|
||||||
if(damage > m_creature->GetHealth() && Phase == 1){
|
{
|
||||||
damage = 0;
|
damage = 0;
|
||||||
Phase = 2;
|
Phase = 2;
|
||||||
m_creature->RemoveAllAuras();
|
m_creature->RemoveAllAuras();
|
||||||
DoCast(m_creature, SPELL_OPEN_ALL_PORTALS, false);
|
DoCast(m_creature, SPELL_OPEN_ALL_PORTALS, false);
|
||||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||||
}
|
}
|
||||||
if(Phase > 1 && Phase < 4)damage = 0;
|
if(Phase > 1 && Phase < 4)
|
||||||
|
damage = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustSummoned(Creature* summoned)
|
void JustSummoned(Creature* summoned)
|
||||||
{
|
{
|
||||||
switch(summoned->GetEntry()){
|
switch(summoned->GetEntry())
|
||||||
|
{
|
||||||
case BOSS_ENTROPIUS:
|
case BOSS_ENTROPIUS:
|
||||||
m_creature->SetVisibility(VISIBILITY_OFF);
|
m_creature->SetVisibility(VISIBILITY_OFF);
|
||||||
break;
|
break;
|
||||||
@@ -269,9 +283,12 @@ struct TRINITY_DLL_DECL boss_muruAI : public Scripted_NoMovementAI
|
|||||||
if(!UpdateVictim())
|
if(!UpdateVictim())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(Phase == 3){
|
if(Phase == 3)
|
||||||
if(Timer[TIMER_PHASE] <diff){
|
{
|
||||||
switch(pInstance->GetData(DATA_MURU_EVENT)){
|
if(Timer[TIMER_PHASE] <diff)
|
||||||
|
{
|
||||||
|
switch(pInstance->GetData(DATA_MURU_EVENT))
|
||||||
|
{
|
||||||
case NOT_STARTED:
|
case NOT_STARTED:
|
||||||
Reset();
|
Reset();
|
||||||
break;
|
break;
|
||||||
@@ -287,52 +304,58 @@ struct TRINITY_DLL_DECL boss_muruAI : public Scripted_NoMovementAI
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (EnrageTimer < diff && !m_creature->HasAura(SPELL_ENRAGE, 0))
|
if (EnrageTimer < diff && !m_creature->HasAura(SPELL_ENRAGE, 0))
|
||||||
|
{
|
||||||
DoCast(m_creature, SPELL_ENRAGE, false);
|
DoCast(m_creature, SPELL_ENRAGE, false);
|
||||||
else EnrageTimer -= diff;
|
}else EnrageTimer -= diff;
|
||||||
|
|
||||||
for (uint8 i = 0; i < 4; ++i){
|
for (uint8 i = 0; i < 4; ++i)
|
||||||
if(Timer[i] < diff){
|
{
|
||||||
switch(i){
|
if(Timer[i] < diff)
|
||||||
|
{
|
||||||
|
switch(i)
|
||||||
|
{
|
||||||
case TIMER_DARKNESS:
|
case TIMER_DARKNESS:
|
||||||
if(!DarkFiend){
|
if(!DarkFiend)
|
||||||
|
{
|
||||||
DoCastAOE(SPELL_DARKNESS, false);
|
DoCastAOE(SPELL_DARKNESS, false);
|
||||||
Timer[TIMER_DARKNESS] = 3000;
|
Timer[TIMER_DARKNESS] = 3000;
|
||||||
DarkFiend = true;
|
DarkFiend = true;
|
||||||
}else{
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
DarkFiend = false;
|
DarkFiend = false;
|
||||||
for(uint8 i = 0; i < 8; ++i)
|
for(uint8 i = 0; i < 8; ++i)
|
||||||
m_creature->SummonCreature(CREATURE_DARK_FIENDS,DarkFiends[i][0],DarkFiends[i][1],DarkFiends[i][2], DarkFiends[i][3], TEMPSUMMON_CORPSE_DESPAWN, 0);
|
m_creature->SummonCreature(CREATURE_DARK_FIENDS,DarkFiends[i][0],DarkFiends[i][1],DarkFiends[i][2], DarkFiends[i][3], TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||||
Timer[TIMER_DARKNESS] = 42000;
|
Timer[TIMER_DARKNESS] = 42000;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TIMER_HUMANOIDES:
|
case TIMER_HUMANOIDES:
|
||||||
for(uint8 i = 0; i < 6; ++i)
|
for(uint8 i = 0; i < 6; ++i)
|
||||||
m_creature->SummonCreature(Humanoides[i][0],Humanoides[i][1],Humanoides[i][2],Humanoides[i][3], Humanoides[i][4], TEMPSUMMON_CORPSE_DESPAWN, 0);
|
m_creature->SummonCreature(Humanoides[i][0],Humanoides[i][1],Humanoides[i][2],Humanoides[i][3], Humanoides[i][4], TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||||
Timer[TIMER_HUMANOIDES] = 60000;
|
Timer[TIMER_HUMANOIDES] = 60000;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TIMER_PHASE:
|
case TIMER_PHASE:
|
||||||
m_creature->RemoveAllAuras();
|
m_creature->RemoveAllAuras();
|
||||||
DoCast(m_creature, SPELL_SUMMON_ENTROPIUS, false);
|
DoCast(m_creature, SPELL_SUMMON_ENTROPIUS, false);
|
||||||
Timer[TIMER_PHASE] = 3000;
|
Timer[TIMER_PHASE] = 3000;
|
||||||
Phase = 3;
|
Phase = 3;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case TIMER_SENTINEL:
|
case TIMER_SENTINEL:
|
||||||
DoCastAOE(SPELL_OPEN_PORTAL_2, false);
|
DoCastAOE(SPELL_OPEN_PORTAL_2, false);
|
||||||
Timer[TIMER_SENTINEL] = 30000;
|
Timer[TIMER_SENTINEL] = 30000;
|
||||||
break;
|
break;
|
||||||
}break;}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Timer
|
//Timer
|
||||||
for(uint8 i = 0; i < 4; ++i){
|
for(uint8 i = 0; i < 4; ++i)
|
||||||
|
{
|
||||||
if(i != TIMER_PHASE)Timer[i] -= diff;
|
if(i != TIMER_PHASE)Timer[i] -= diff;
|
||||||
else if(Phase == 2) Timer[i] -= diff;
|
else if(Phase == 2) Timer[i] -= diff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI* GetAI_boss_muru(Creature *_Creature)
|
CreatureAI* GetAI_boss_muru(Creature *_Creature)
|
||||||
@@ -342,37 +365,50 @@ CreatureAI* GetAI_boss_muru(Creature *_Creature)
|
|||||||
|
|
||||||
struct TRINITY_DLL_DECL npc_muru_portalAI : public Scripted_NoMovementAI
|
struct TRINITY_DLL_DECL npc_muru_portalAI : public Scripted_NoMovementAI
|
||||||
{
|
{
|
||||||
npc_muru_portalAI(Creature *c) : Scripted_NoMovementAI(c), Summons(m_creature){
|
npc_muru_portalAI(Creature *c) : Scripted_NoMovementAI(c), Summons(m_creature)
|
||||||
|
{
|
||||||
pInstance = c->GetInstanceData();
|
pInstance = c->GetInstanceData();
|
||||||
}
|
}
|
||||||
|
|
||||||
ScriptedInstance* pInstance;
|
ScriptedInstance* pInstance;
|
||||||
|
|
||||||
SummonList Summons;
|
SummonList Summons;
|
||||||
Creature* Muru;
|
Creature* Muru;
|
||||||
|
|
||||||
bool SummonSentinel;
|
bool SummonSentinel;
|
||||||
bool InAction;
|
bool InAction;
|
||||||
|
|
||||||
uint32 SummonTimer;
|
uint32 SummonTimer;
|
||||||
|
|
||||||
void Reset(){
|
void Reset()
|
||||||
m_creature->addUnitState(UNIT_STAT_STUNNED);
|
{
|
||||||
SummonTimer = 5000;
|
SummonTimer = 5000;
|
||||||
|
|
||||||
InAction = false;
|
InAction = false;
|
||||||
SummonSentinel = false;
|
SummonSentinel = false;
|
||||||
|
|
||||||
|
m_creature->addUnitState(UNIT_STAT_STUNNED);
|
||||||
|
|
||||||
Summons.DespawnAll();
|
Summons.DespawnAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustSummoned(Creature* summoned){
|
void JustSummoned(Creature* summoned)
|
||||||
|
{
|
||||||
Player* Target = Unit::GetPlayer(pInstance->GetData64(DATA_PLAYER_GUID));
|
Player* Target = Unit::GetPlayer(pInstance->GetData64(DATA_PLAYER_GUID));
|
||||||
if(Target)summoned->AI()->AttackStart(Target);
|
if(Target)
|
||||||
|
summoned->AI()->AttackStart(Target);
|
||||||
|
|
||||||
Summons.Summon(summoned);
|
Summons.Summon(summoned);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpellHit(Unit* caster, const SpellEntry* Spell){
|
void SpellHit(Unit* caster, const SpellEntry* Spell)
|
||||||
|
{
|
||||||
float x,y,z,o;
|
float x,y,z,o;
|
||||||
m_creature->GetHomePosition(x,y,z,o);
|
m_creature->GetHomePosition(x,y,z,o);
|
||||||
DoTeleportTo(x,y,z);
|
DoTeleportTo(x,y,z);
|
||||||
InAction = true;
|
InAction = true;
|
||||||
switch(Spell->Id){
|
switch(Spell->Id)
|
||||||
|
{
|
||||||
case SPELL_OPEN_ALL_PORTALS:
|
case SPELL_OPEN_ALL_PORTALS:
|
||||||
DoCastAOE(SPELL_OPEN_PORTAL, false);
|
DoCastAOE(SPELL_OPEN_PORTAL, false);
|
||||||
break;
|
break;
|
||||||
@@ -383,19 +419,20 @@ struct TRINITY_DLL_DECL npc_muru_portalAI : public Scripted_NoMovementAI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(const uint32 diff){
|
void UpdateAI(const uint32 diff)
|
||||||
if(!SummonSentinel){
|
{
|
||||||
|
if(!SummonSentinel)
|
||||||
|
{
|
||||||
if(InAction && pInstance->GetData(DATA_MURU_EVENT) == NOT_STARTED)Reset();
|
if(InAction && pInstance->GetData(DATA_MURU_EVENT) == NOT_STARTED)Reset();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(SummonTimer < diff){
|
if(SummonTimer < diff)
|
||||||
|
{
|
||||||
DoCastAOE(SPELL_SUMMON_VOID_SENTINEL, false);
|
DoCastAOE(SPELL_SUMMON_VOID_SENTINEL, false);
|
||||||
SummonTimer = 5000;
|
SummonTimer = 5000;
|
||||||
SummonSentinel = false;
|
SummonSentinel = false;
|
||||||
}else SummonTimer -= diff;
|
}else SummonTimer -= diff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI* GetAI_npc_muru_portal(Creature *_Creature)
|
CreatureAI* GetAI_npc_muru_portal(Creature *_Creature)
|
||||||
@@ -405,23 +442,29 @@ CreatureAI* GetAI_npc_muru_portal(Creature *_Creature)
|
|||||||
|
|
||||||
struct TRINITY_DLL_DECL npc_dark_fiendAI : public ScriptedAI
|
struct TRINITY_DLL_DECL npc_dark_fiendAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
npc_dark_fiendAI(Creature *c) : ScriptedAI(c){
|
npc_dark_fiendAI(Creature *c) : ScriptedAI(c)
|
||||||
|
{
|
||||||
pInstance = c->GetInstanceData();
|
pInstance = c->GetInstanceData();
|
||||||
}
|
}
|
||||||
|
|
||||||
ScriptedInstance* pInstance;
|
ScriptedInstance* pInstance;
|
||||||
bool InAction;
|
|
||||||
uint32 WaitTimer;
|
|
||||||
|
|
||||||
void Reset() {
|
uint32 WaitTimer;
|
||||||
|
bool InAction;
|
||||||
|
|
||||||
|
void Reset()
|
||||||
|
{
|
||||||
WaitTimer = 2000;
|
WaitTimer = 2000;
|
||||||
InAction = false;
|
InAction = false;
|
||||||
m_creature->addUnitState(UNIT_STAT_STUNNED);
|
|
||||||
};
|
|
||||||
|
|
||||||
void SpellHit(Unit* caster, const SpellEntry* Spell){
|
m_creature->addUnitState(UNIT_STAT_STUNNED);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpellHit(Unit* caster, const SpellEntry* Spell)
|
||||||
|
{
|
||||||
for(uint8 i = 0; i < 3; ++i)
|
for(uint8 i = 0; i < 3; ++i)
|
||||||
if(Spell->Effect[i] == 38){
|
if(Spell->Effect[i] == 38)
|
||||||
|
{
|
||||||
m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||||
m_creature->RemoveCorpse();
|
m_creature->RemoveCorpse();
|
||||||
}
|
}
|
||||||
@@ -433,23 +476,28 @@ struct TRINITY_DLL_DECL npc_dark_fiendAI : public ScriptedAI
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (WaitTimer < diff)
|
if (WaitTimer < diff)
|
||||||
if(!InAction){
|
{
|
||||||
|
if(!InAction)
|
||||||
|
{
|
||||||
m_creature->clearUnitState(UNIT_STAT_STUNNED);
|
m_creature->clearUnitState(UNIT_STAT_STUNNED);
|
||||||
DoCastAOE(SPELL_DARKFIEND_SKIN, false);
|
DoCastAOE(SPELL_DARKFIEND_SKIN, false);
|
||||||
AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true));
|
AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true));
|
||||||
InAction = true;
|
InAction = true;
|
||||||
WaitTimer = 500;
|
WaitTimer = 500;
|
||||||
}else{
|
}
|
||||||
if(m_creature->IsWithinDist(m_creature->getVictim(), 5)){
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
if(m_creature->IsWithinDist(m_creature->getVictim(), 5))
|
||||||
|
{
|
||||||
DoCastAOE(SPELL_DARKFIEND_AOE, false);
|
DoCastAOE(SPELL_DARKFIEND_AOE, false);
|
||||||
m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||||
m_creature->RemoveCorpse();
|
m_creature->RemoveCorpse();
|
||||||
}
|
}
|
||||||
WaitTimer = 500;
|
WaitTimer = 500;
|
||||||
}
|
}
|
||||||
else WaitTimer -= diff;
|
}else WaitTimer -= diff;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI* GetAI_npc_dark_fiend(Creature *_Creature)
|
CreatureAI* GetAI_npc_dark_fiend(Creature *_Creature)
|
||||||
@@ -459,7 +507,8 @@ CreatureAI* GetAI_npc_dark_fiend(Creature *_Creature)
|
|||||||
|
|
||||||
struct TRINITY_DLL_DECL npc_void_sentinelAI : public ScriptedAI
|
struct TRINITY_DLL_DECL npc_void_sentinelAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
npc_void_sentinelAI(Creature *c) : ScriptedAI(c){
|
npc_void_sentinelAI(Creature *c) : ScriptedAI(c)
|
||||||
|
{
|
||||||
pInstance = c->GetInstanceData();
|
pInstance = c->GetInstanceData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -468,39 +517,42 @@ struct TRINITY_DLL_DECL npc_void_sentinelAI : public ScriptedAI
|
|||||||
uint32 PulseTimer;
|
uint32 PulseTimer;
|
||||||
uint32 VoidBlastTimer;
|
uint32 VoidBlastTimer;
|
||||||
|
|
||||||
|
void Reset()
|
||||||
void Reset() {
|
{
|
||||||
PulseTimer = 3000;
|
PulseTimer = 3000;
|
||||||
VoidBlastTimer = 45000; //is this a correct timer?
|
VoidBlastTimer = 45000; //is this a correct timer?
|
||||||
|
|
||||||
float x,y,z,o;
|
float x,y,z,o;
|
||||||
m_creature->GetHomePosition(x,y,z,o);
|
m_creature->GetHomePosition(x,y,z,o);
|
||||||
DoTeleportTo(x,y,71);
|
DoTeleportTo(x,y,71);
|
||||||
};
|
}
|
||||||
|
|
||||||
void JustDied(Unit* killer){
|
void JustDied(Unit* killer)
|
||||||
|
{
|
||||||
for (uint8 i = 0; i < 8; ++i){
|
for (uint8 i = 0; i < 8; ++i){
|
||||||
m_creature->SummonCreature(CREATURE_VOID_SPAWN, m_creature->GetPositionX(),m_creature->GetPositionY(),m_creature->GetPositionZ(), rand()%6, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 180000);
|
m_creature->SummonCreature(CREATURE_VOID_SPAWN, m_creature->GetPositionX(),m_creature->GetPositionY(),m_creature->GetPositionZ(), rand()%6, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 180000);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(const uint32 diff)
|
void UpdateAI(const uint32 diff)
|
||||||
{
|
{
|
||||||
if(!UpdateVictim())
|
if(!UpdateVictim())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(PulseTimer < diff){
|
if(PulseTimer < diff)
|
||||||
|
{
|
||||||
DoCastAOE(SPELL_SHADOW_PULSE, true);
|
DoCastAOE(SPELL_SHADOW_PULSE, true);
|
||||||
PulseTimer = 3000;
|
PulseTimer = 3000;
|
||||||
}else PulseTimer -= diff;
|
}else PulseTimer -= diff;
|
||||||
|
|
||||||
if(VoidBlastTimer < diff){
|
if(VoidBlastTimer < diff)
|
||||||
|
{
|
||||||
DoCast(m_creature->getVictim(), SPELL_VOID_BLAST, false);
|
DoCast(m_creature->getVictim(), SPELL_VOID_BLAST, false);
|
||||||
VoidBlastTimer = 45000;
|
VoidBlastTimer = 45000;
|
||||||
}else VoidBlastTimer -= diff;
|
}else VoidBlastTimer -= diff;
|
||||||
|
|
||||||
DoMeleeAttackIfReady();
|
DoMeleeAttackIfReady();
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI* GetAI_npc_void_sentinel(Creature *_Creature)
|
CreatureAI* GetAI_npc_void_sentinel(Creature *_Creature)
|
||||||
@@ -510,7 +562,8 @@ CreatureAI* GetAI_npc_void_sentinel(Creature *_Creature)
|
|||||||
|
|
||||||
struct TRINITY_DLL_DECL npc_blackholeAI : public ScriptedAI
|
struct TRINITY_DLL_DECL npc_blackholeAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
npc_blackholeAI(Creature *c) : ScriptedAI(c){
|
npc_blackholeAI(Creature *c) : ScriptedAI(c)
|
||||||
|
{
|
||||||
pInstance = c->GetInstanceData();
|
pInstance = c->GetInstanceData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -521,23 +574,28 @@ struct TRINITY_DLL_DECL npc_blackholeAI : public ScriptedAI
|
|||||||
uint8 Phase;
|
uint8 Phase;
|
||||||
uint8 NeedForAHack;
|
uint8 NeedForAHack;
|
||||||
|
|
||||||
void Reset(){
|
void Reset()
|
||||||
|
{
|
||||||
DespawnTimer = 15000;
|
DespawnTimer = 15000;
|
||||||
SpellTimer = 5000;
|
SpellTimer = 5000;
|
||||||
Phase = 0;
|
Phase = 0;
|
||||||
|
|
||||||
m_creature->addUnitState(UNIT_STAT_STUNNED);
|
m_creature->addUnitState(UNIT_STAT_STUNNED);
|
||||||
DoCastAOE(SPELL_BLACKHOLE_SPAWN, true);
|
DoCastAOE(SPELL_BLACKHOLE_SPAWN, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(const uint32 diff)
|
void UpdateAI(const uint32 diff)
|
||||||
{
|
{
|
||||||
if(SpellTimer < diff){
|
if(SpellTimer < diff)
|
||||||
|
{
|
||||||
Unit* Victim = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_PLAYER_GUID));
|
Unit* Victim = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_PLAYER_GUID));
|
||||||
switch(NeedForAHack){
|
switch(NeedForAHack)
|
||||||
|
{
|
||||||
case 0:
|
case 0:
|
||||||
m_creature->clearUnitState(UNIT_STAT_STUNNED);
|
m_creature->clearUnitState(UNIT_STAT_STUNNED);
|
||||||
DoCastAOE(SPELL_BLACKHOLE_GROW, false);
|
DoCastAOE(SPELL_BLACKHOLE_GROW, false);
|
||||||
if(Victim)AttackStart(Victim);
|
if(Victim)
|
||||||
|
AttackStart(Victim);
|
||||||
SpellTimer = 700;
|
SpellTimer = 700;
|
||||||
NeedForAHack = 2;
|
NeedForAHack = 2;
|
||||||
break;
|
break;
|
||||||
@@ -555,13 +613,15 @@ struct TRINITY_DLL_DECL npc_blackholeAI : public ScriptedAI
|
|||||||
SpellTimer = 400+rand()%500;
|
SpellTimer = 400+rand()%500;
|
||||||
NeedForAHack = 1;
|
NeedForAHack = 1;
|
||||||
Unit* Temp = m_creature->getVictim();
|
Unit* Temp = m_creature->getVictim();
|
||||||
if(!Temp) return;
|
if(!Temp)
|
||||||
|
return;
|
||||||
if(Temp->GetPositionZ() > 73 && Victim)
|
if(Temp->GetPositionZ() > 73 && Victim)
|
||||||
AttackStart(Victim);
|
AttackStart(Victim);
|
||||||
}
|
}
|
||||||
}else SpellTimer -= diff;
|
}else SpellTimer -= diff;
|
||||||
|
|
||||||
if (DespawnTimer < diff){
|
if (DespawnTimer < diff)
|
||||||
|
{
|
||||||
m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||||
m_creature->RemoveCorpse();
|
m_creature->RemoveCorpse();
|
||||||
}else DespawnTimer -= diff;
|
}else DespawnTimer -= diff;
|
||||||
@@ -577,32 +637,32 @@ void AddSC_boss_muru()
|
|||||||
{
|
{
|
||||||
Script *newscript;
|
Script *newscript;
|
||||||
newscript = new Script;
|
newscript = new Script;
|
||||||
newscript->Name="boss_muru";
|
newscript->Name = "boss_muru";
|
||||||
newscript->GetAI = &GetAI_boss_muru;
|
newscript->GetAI = &GetAI_boss_muru;
|
||||||
newscript->RegisterSelf();
|
newscript->RegisterSelf();
|
||||||
|
|
||||||
newscript = new Script;
|
newscript = new Script;
|
||||||
newscript->Name="boss_entropius";
|
newscript->Name = "boss_entropius";
|
||||||
newscript->GetAI = &GetAI_boss_entropius;
|
newscript->GetAI = &GetAI_boss_entropius;
|
||||||
newscript->RegisterSelf();
|
newscript->RegisterSelf();
|
||||||
|
|
||||||
newscript = new Script;
|
newscript = new Script;
|
||||||
newscript->Name="npc_muru_portal";
|
newscript->Name = "npc_muru_portal";
|
||||||
newscript->GetAI = &GetAI_npc_muru_portal;
|
newscript->GetAI = &GetAI_npc_muru_portal;
|
||||||
newscript->RegisterSelf();
|
newscript->RegisterSelf();
|
||||||
|
|
||||||
newscript = new Script;
|
newscript = new Script;
|
||||||
newscript->Name="npc_dark_fiend";
|
newscript->Name = "npc_dark_fiend";
|
||||||
newscript->GetAI = &GetAI_npc_dark_fiend;
|
newscript->GetAI = &GetAI_npc_dark_fiend;
|
||||||
newscript->RegisterSelf();
|
newscript->RegisterSelf();
|
||||||
|
|
||||||
newscript = new Script;
|
newscript = new Script;
|
||||||
newscript->Name="npc_void_sentinel";
|
newscript->Name = "npc_void_sentinel";
|
||||||
newscript->GetAI = &GetAI_npc_void_sentinel;
|
newscript->GetAI = &GetAI_npc_void_sentinel;
|
||||||
newscript->RegisterSelf();
|
newscript->RegisterSelf();
|
||||||
|
|
||||||
newscript = new Script;
|
newscript = new Script;
|
||||||
newscript->Name="npc_blackhole";
|
newscript->Name = "npc_blackhole";
|
||||||
newscript->GetAI = &GetAI_npc_blackhole;
|
newscript->GetAI = &GetAI_npc_blackhole;
|
||||||
newscript->RegisterSelf();
|
newscript->RegisterSelf();
|
||||||
}
|
}
|
||||||
@@ -30,12 +30,6 @@
|
|||||||
|
|
||||||
/*** GameObjects ***/
|
/*** GameObjects ***/
|
||||||
#define DATA_GO_FORCEFIELD 20
|
#define DATA_GO_FORCEFIELD 20
|
||||||
#define DATA_GO_FIRE_BARRIER 21
|
|
||||||
#define DATA_GATE_1 22
|
|
||||||
#define DATA_GATE_2 23
|
|
||||||
#define DATA_GATE_3 24
|
|
||||||
#define DATA_GATE_4 25
|
|
||||||
#define DATA_GATE_5 26
|
|
||||||
|
|
||||||
/*** Misc ***/
|
/*** Misc ***/
|
||||||
#define DATA_PLAYER_GUID 27
|
#define DATA_PLAYER_GUID 27
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
|
|
||||||
/* ScriptData
|
/* ScriptData
|
||||||
SDName: Instance_Sunwell_Plateau
|
SDName: Instance_Sunwell_Plateau
|
||||||
SD%Complete: 20
|
SD%Complete: 25
|
||||||
SDComment: VERIFY SCRIPT, rename Gates
|
SDComment: VERIFY SCRIPT
|
||||||
SDCategory: Sunwell_Plateau
|
SDCategory: Sunwell_Plateau
|
||||||
EndScriptData */
|
EndScriptData */
|
||||||
|
|
||||||
@@ -14,11 +14,6 @@ EndScriptData */
|
|||||||
|
|
||||||
#define ENCOUNTERS 6
|
#define ENCOUNTERS 6
|
||||||
|
|
||||||
enum GoState{
|
|
||||||
CLOSE = 1,
|
|
||||||
OPEN = 0
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Sunwell Plateau:
|
/* Sunwell Plateau:
|
||||||
0 - Kalecgos and Sathrovarr
|
0 - Kalecgos and Sathrovarr
|
||||||
1 - Brutallus
|
1 - Brutallus
|
||||||
@@ -51,8 +46,8 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
|
|||||||
|
|
||||||
/** GameObjects **/
|
/** GameObjects **/
|
||||||
uint64 ForceField; // Kalecgos Encounter
|
uint64 ForceField; // Kalecgos Encounter
|
||||||
uint64 FireBarrier; // Brutallus Encounter
|
uint64 FireBarrier; // Felmysts Encounter
|
||||||
uint64 Gate[5]; // Rename this to be more specific after door placement is verified.
|
uint64 MurusGate[2]; // Murus Encounter
|
||||||
|
|
||||||
/*** Misc ***/
|
/*** Misc ***/
|
||||||
uint32 SpectralRealmTimer;
|
uint32 SpectralRealmTimer;
|
||||||
@@ -78,11 +73,8 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
|
|||||||
/*** GameObjects ***/
|
/*** GameObjects ***/
|
||||||
ForceField = 0;
|
ForceField = 0;
|
||||||
FireBarrier = 0;
|
FireBarrier = 0;
|
||||||
Gate[0] = 0; // TODO: Rename Gate[n] with gate_<boss name> for better specificity
|
MurusGate[0] = 0;
|
||||||
Gate[1] = 0;
|
MurusGate[1] = 0;
|
||||||
Gate[2] = 0;
|
|
||||||
Gate[3] = 0;
|
|
||||||
Gate[4] = 0;
|
|
||||||
|
|
||||||
/*** Encounters ***/
|
/*** Encounters ***/
|
||||||
for(uint8 i = 0; i < ENCOUNTERS; ++i)
|
for(uint8 i = 0; i < ENCOUNTERS; ++i)
|
||||||
@@ -144,12 +136,17 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
|
|||||||
switch(go->GetEntry())
|
switch(go->GetEntry())
|
||||||
{
|
{
|
||||||
case 188421: ForceField = go->GetGUID(); break;
|
case 188421: ForceField = go->GetGUID(); break;
|
||||||
case 188075: FireBarrier = go->GetGUID(); break;
|
case 188075:
|
||||||
case 187979: Gate[0] = go->GetGUID(); break;
|
if(Encounters[2] == DONE)
|
||||||
case 187770: Gate[1] = go->GetGUID(); break;
|
HandleGameObject(NULL, true, go);
|
||||||
case 187896: Gate[2] = go->GetGUID(); break;
|
FireBarrier = go->GetGUID();
|
||||||
case 187990: Gate[3] = go->GetGUID(); break;
|
break;
|
||||||
case 188118: Gate[4] = go->GetGUID(); break;
|
case 187990: MurusGate[0] = go->GetGUID(); break;
|
||||||
|
case 188118:
|
||||||
|
if(Encounters[4] == DONE)
|
||||||
|
HandleGameObject(NULL, true, go);
|
||||||
|
MurusGate[1]= go->GetGUID();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,14 +154,13 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
|
|||||||
{
|
{
|
||||||
switch(id)
|
switch(id)
|
||||||
{
|
{
|
||||||
case DATA_KALECGOS_EVENT: return Encounters[0]; break;
|
case DATA_KALECGOS_EVENT: return Encounters[0];
|
||||||
case DATA_BRUTALLUS_EVENT: return Encounters[1]; break;
|
case DATA_BRUTALLUS_EVENT: return Encounters[1];
|
||||||
case DATA_FELMYST_EVENT: return Encounters[2]; break;
|
case DATA_FELMYST_EVENT: return Encounters[2];
|
||||||
case DATA_EREDAR_TWINS_EVENT: return Encounters[3]; break;
|
case DATA_EREDAR_TWINS_EVENT: return Encounters[3];
|
||||||
case DATA_MURU_EVENT: return Encounters[4]; break;
|
case DATA_MURU_EVENT: return Encounters[4];
|
||||||
case DATA_KILJAEDEN_EVENT: return Encounters[5]; break;
|
case DATA_KILJAEDEN_EVENT: return Encounters[5];
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,25 +168,24 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
|
|||||||
{
|
{
|
||||||
switch(id)
|
switch(id)
|
||||||
{
|
{
|
||||||
case DATA_KALECGOS_DRAGON: return Kalecgos_Dragon; break;
|
case DATA_KALECGOS_DRAGON: return Kalecgos_Dragon;
|
||||||
case DATA_KALECGOS_HUMAN: return Kalecgos_Human; break;
|
case DATA_KALECGOS_HUMAN: return Kalecgos_Human;
|
||||||
case DATA_SATHROVARR: return Sathrovarr; break;
|
case DATA_SATHROVARR: return Sathrovarr;
|
||||||
case DATA_BRUTALLUS: return Brutallus; break;
|
case DATA_GO_FORCEFIELD: return ForceField;
|
||||||
case DATA_MADRIGOSA: return Madrigosa; break;
|
case DATA_BRUTALLUS: return Brutallus;
|
||||||
case DATA_FELMYST: return Felmyst; break;
|
case DATA_MADRIGOSA: return Madrigosa;
|
||||||
case DATA_ALYTHESS: return Alythess; break;
|
case DATA_FELMYST: return Felmyst;
|
||||||
case DATA_SACROLASH: return Sacrolash; break;
|
case DATA_ALYTHESS: return Alythess;
|
||||||
case DATA_MURU: return Muru; break;
|
case DATA_SACROLASH: return Sacrolash;
|
||||||
case DATA_KILJAEDEN: return KilJaeden; break;
|
case DATA_MURU: return Muru;
|
||||||
case DATA_KILJAEDEN_CONTROLLER: return KilJaedenController; break;
|
case DATA_KILJAEDEN: return KilJaeden;
|
||||||
case DATA_ANVEENA: return Anveena; break;
|
case DATA_KILJAEDEN_CONTROLLER: return KilJaedenController;
|
||||||
case DATA_KALECGOS_KJ: return KalecgosKJ; break;
|
case DATA_ANVEENA: return Anveena;
|
||||||
|
case DATA_KALECGOS_KJ: return KalecgosKJ;
|
||||||
case DATA_PLAYER_GUID:
|
case DATA_PLAYER_GUID:
|
||||||
Player* Target = GetPlayerInMap();
|
Player* Target = GetPlayerInMap();
|
||||||
return Target->GetGUID();
|
return Target->GetGUID();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -202,22 +197,23 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
|
|||||||
case DATA_BRUTALLUS_EVENT: Encounters[1] = data; break;
|
case DATA_BRUTALLUS_EVENT: Encounters[1] = data; break;
|
||||||
case DATA_FELMYST_EVENT:
|
case DATA_FELMYST_EVENT:
|
||||||
if(data == DONE)
|
if(data == DONE)
|
||||||
HandleGameObject(FireBarrier, OPEN);
|
HandleGameObject(FireBarrier, true);
|
||||||
Encounters[2] = data; break;
|
Encounters[2] = data; break;
|
||||||
case DATA_EREDAR_TWINS_EVENT: Encounters[3] = data; break;
|
case DATA_EREDAR_TWINS_EVENT: Encounters[3] = data; break;
|
||||||
case DATA_MURU_EVENT:
|
case DATA_MURU_EVENT:
|
||||||
switch(data){
|
switch(data)
|
||||||
|
{
|
||||||
case DONE:
|
case DONE:
|
||||||
HandleGameObject(Gate[4], OPEN);
|
HandleGameObject(MurusGate[0], true);
|
||||||
HandleGameObject(Gate[3], OPEN);
|
HandleGameObject(MurusGate[1], true);
|
||||||
break;
|
break;
|
||||||
case IN_PROGRESS:
|
case IN_PROGRESS:
|
||||||
HandleGameObject(Gate[4], CLOSE);
|
HandleGameObject(MurusGate[0], false);
|
||||||
HandleGameObject(Gate[3], CLOSE);
|
HandleGameObject(MurusGate[1], false);
|
||||||
break;
|
break;
|
||||||
case NOT_STARTED:
|
case NOT_STARTED:
|
||||||
HandleGameObject(Gate[4], CLOSE);
|
HandleGameObject(MurusGate[0], true);
|
||||||
HandleGameObject(Gate[3], OPEN);
|
HandleGameObject(MurusGate[1], false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Encounters[4] = data; break;
|
Encounters[4] = data; break;
|
||||||
@@ -228,14 +224,6 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
|
|||||||
SaveToDB();
|
SaveToDB();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetData64(uint32 id, uint64 guid)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void Update(uint32 diff)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string GetSaveData()
|
std::string GetSaveData()
|
||||||
{
|
{
|
||||||
OUT_SAVE_INST_DATA;
|
OUT_SAVE_INST_DATA;
|
||||||
@@ -249,7 +237,6 @@ struct TRINITY_DLL_DECL instance_sunwell_plateau : public ScriptedInstance
|
|||||||
OUT_SAVE_INST_DATA_COMPLETE;
|
OUT_SAVE_INST_DATA_COMPLETE;
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -280,6 +267,7 @@ InstanceData* GetInstanceData_instance_sunwell_plateau(Map* map)
|
|||||||
void AddSC_instance_sunwell_plateau()
|
void AddSC_instance_sunwell_plateau()
|
||||||
{
|
{
|
||||||
Script *newscript;
|
Script *newscript;
|
||||||
|
|
||||||
newscript = new Script;
|
newscript = new Script;
|
||||||
newscript->Name = "instance_sunwell_plateau";
|
newscript->Name = "instance_sunwell_plateau";
|
||||||
newscript->GetInstanceData = &GetInstanceData_instance_sunwell_plateau;
|
newscript->GetInstanceData = &GetInstanceData_instance_sunwell_plateau;
|
||||||
|
|||||||
Reference in New Issue
Block a user