Add spaces after commas
This commit is contained in:
@@ -72,12 +72,12 @@ class mob_av_marshal_or_warmaster : public CreatureScript
|
||||
|
||||
void Reset()
|
||||
{
|
||||
uiChargeTimer = urand(2*IN_MILLISECONDS,12*IN_MILLISECONDS);
|
||||
uiCleaveTimer = urand(1*IN_MILLISECONDS,11*IN_MILLISECONDS);
|
||||
uiDemoralizingShoutTimer = urand(2*IN_MILLISECONDS,2*IN_MILLISECONDS);
|
||||
uiWhirlwind1Timer = urand(1*IN_MILLISECONDS,12*IN_MILLISECONDS);
|
||||
uiWhirlwind2Timer = urand(5*IN_MILLISECONDS,20*IN_MILLISECONDS);
|
||||
uiEnrageTimer = urand(5*IN_MILLISECONDS,20*IN_MILLISECONDS);
|
||||
uiChargeTimer = urand(2*IN_MILLISECONDS, 12*IN_MILLISECONDS);
|
||||
uiCleaveTimer = urand(1*IN_MILLISECONDS, 11*IN_MILLISECONDS);
|
||||
uiDemoralizingShoutTimer = urand(2*IN_MILLISECONDS, 2*IN_MILLISECONDS);
|
||||
uiWhirlwind1Timer = urand(1*IN_MILLISECONDS, 12*IN_MILLISECONDS);
|
||||
uiWhirlwind2Timer = urand(5*IN_MILLISECONDS, 20*IN_MILLISECONDS);
|
||||
uiEnrageTimer = urand(5*IN_MILLISECONDS, 20*IN_MILLISECONDS);
|
||||
uiResetTimer = 5*IN_MILLISECONDS;
|
||||
|
||||
bHasAura = false;
|
||||
@@ -95,28 +95,28 @@ class mob_av_marshal_or_warmaster : public CreatureScript
|
||||
switch(me->GetEntry())
|
||||
{
|
||||
case NPC_NORTH_MARSHAL:
|
||||
DoCast(me,SPELL_NORTH_MARSHAL);
|
||||
DoCast(me, SPELL_NORTH_MARSHAL);
|
||||
break;
|
||||
case NPC_SOUTH_MARSHAL:
|
||||
DoCast(me,SPELL_SOUTH_MARSHAL);
|
||||
DoCast(me, SPELL_SOUTH_MARSHAL);
|
||||
break;
|
||||
case NPC_STONEHEARTH_MARSHAL:
|
||||
DoCast(me,SPELL_STONEHEARTH_MARSHAL);
|
||||
DoCast(me, SPELL_STONEHEARTH_MARSHAL);
|
||||
break;
|
||||
case NPC_ICEWING_MARSHAL:
|
||||
DoCast(me,SPELL_ICEWING_MARSHAL);
|
||||
DoCast(me, SPELL_ICEWING_MARSHAL);
|
||||
break;
|
||||
case NPC_EAST_FROSTWOLF_WARMASTER:
|
||||
DoCast(me,SPELL_EAST_FROSTWOLF_WARMASTER);
|
||||
DoCast(me, SPELL_EAST_FROSTWOLF_WARMASTER);
|
||||
break;
|
||||
case NPC_WEST_FROSTWOLF_WARMASTER:
|
||||
DoCast(me,SPELL_WEST_FROSTWOLF_WARMASTER);
|
||||
DoCast(me, SPELL_WEST_FROSTWOLF_WARMASTER);
|
||||
break;
|
||||
case NPC_ICEBLOOD_WARMASTER:
|
||||
DoCast(me,SPELL_ICEBLOOD_WARMASTER);
|
||||
DoCast(me, SPELL_ICEBLOOD_WARMASTER);
|
||||
break;
|
||||
case NPC_TOWER_POINT_WARMASTER:
|
||||
DoCast(me,SPELL_TOWER_POINT_WARMASTER);
|
||||
DoCast(me, SPELL_TOWER_POINT_WARMASTER);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -129,37 +129,37 @@ class mob_av_marshal_or_warmaster : public CreatureScript
|
||||
if (uiChargeTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_CHARGE);
|
||||
uiChargeTimer = urand(10*IN_MILLISECONDS,25*IN_MILLISECONDS);
|
||||
uiChargeTimer = urand(10*IN_MILLISECONDS, 25*IN_MILLISECONDS);
|
||||
} else uiChargeTimer -= diff;
|
||||
|
||||
if (uiCleaveTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_CLEAVE);
|
||||
uiCleaveTimer = urand(10*IN_MILLISECONDS,16*IN_MILLISECONDS);
|
||||
uiCleaveTimer = urand(10*IN_MILLISECONDS, 16*IN_MILLISECONDS);
|
||||
} else uiCleaveTimer -= diff;
|
||||
|
||||
if (uiDemoralizingShoutTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_DEMORALIZING_SHOUT);
|
||||
uiDemoralizingShoutTimer = urand(10*IN_MILLISECONDS,15*IN_MILLISECONDS);
|
||||
uiDemoralizingShoutTimer = urand(10*IN_MILLISECONDS, 15*IN_MILLISECONDS);
|
||||
} else uiDemoralizingShoutTimer -= diff;
|
||||
|
||||
if (uiWhirlwind1Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WHIRLWIND1);
|
||||
uiWhirlwind1Timer = urand(6*IN_MILLISECONDS,20*IN_MILLISECONDS);
|
||||
uiWhirlwind1Timer = urand(6*IN_MILLISECONDS, 20*IN_MILLISECONDS);
|
||||
} else uiWhirlwind1Timer -= diff;
|
||||
|
||||
if (uiWhirlwind2Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WHIRLWIND2);
|
||||
uiWhirlwind2Timer = urand(10*IN_MILLISECONDS,25*IN_MILLISECONDS);
|
||||
uiWhirlwind2Timer = urand(10*IN_MILLISECONDS, 25*IN_MILLISECONDS);
|
||||
} else uiWhirlwind2Timer -= diff;
|
||||
|
||||
if (uiEnrageTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_ENRAGE);
|
||||
uiEnrageTimer = urand(10*IN_MILLISECONDS,30*IN_MILLISECONDS);
|
||||
uiEnrageTimer = urand(10*IN_MILLISECONDS, 30*IN_MILLISECONDS);
|
||||
}else uiEnrageTimer -= diff;
|
||||
|
||||
// check if creature is not outside of building
|
||||
|
||||
@@ -110,7 +110,7 @@ public:
|
||||
|
||||
void Reset()
|
||||
{
|
||||
uiArcaneExplosionTimer = urand(5*IN_MILLISECONDS,15*IN_MILLISECONDS);
|
||||
uiArcaneExplosionTimer = urand(5*IN_MILLISECONDS, 15*IN_MILLISECONDS);
|
||||
uiConeOfColdTimer = 8*IN_MILLISECONDS;
|
||||
uiFireBoltTimer = 1*IN_MILLISECONDS;
|
||||
uiFrostboltTimer = 4*IN_MILLISECONDS;
|
||||
@@ -133,7 +133,7 @@ public:
|
||||
void JustSummoned(Creature* summoned)
|
||||
{
|
||||
CAST_AI(mob_water_elemental::mob_water_elementalAI, summoned->AI())->uiBalindaGUID = me->GetGUID();
|
||||
summoned->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM,0, 50, true));
|
||||
summoned->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true));
|
||||
summoned->setFaction(me->getFaction());
|
||||
Summons.Summon(summoned);
|
||||
}
|
||||
@@ -158,25 +158,25 @@ public:
|
||||
if (uiArcaneExplosionTimer < diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_ARCANE_EXPLOSION);
|
||||
uiArcaneExplosionTimer = urand(5*IN_MILLISECONDS,15*IN_MILLISECONDS);
|
||||
uiArcaneExplosionTimer = urand(5*IN_MILLISECONDS, 15*IN_MILLISECONDS);
|
||||
} else uiArcaneExplosionTimer -= diff;
|
||||
|
||||
if (uiConeOfColdTimer < diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_CONE_OF_COLD);
|
||||
uiConeOfColdTimer = urand(10*IN_MILLISECONDS,20*IN_MILLISECONDS);
|
||||
uiConeOfColdTimer = urand(10*IN_MILLISECONDS, 20*IN_MILLISECONDS);
|
||||
} else uiConeOfColdTimer -= diff;
|
||||
|
||||
if (uiFireBoltTimer < diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_FIREBALL);
|
||||
uiFireBoltTimer = urand(5*IN_MILLISECONDS,9*IN_MILLISECONDS);
|
||||
uiFireBoltTimer = urand(5*IN_MILLISECONDS, 9*IN_MILLISECONDS);
|
||||
} else uiFireBoltTimer -= diff;
|
||||
|
||||
if (uiFrostboltTimer < diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_FROSTBOLT);
|
||||
uiFrostboltTimer = urand(4*IN_MILLISECONDS,12*IN_MILLISECONDS);
|
||||
uiFrostboltTimer = urand(4*IN_MILLISECONDS, 12*IN_MILLISECONDS);
|
||||
} else uiFrostboltTimer -= diff;
|
||||
|
||||
// check if creature is not outside of building
|
||||
|
||||
@@ -59,12 +59,12 @@ public:
|
||||
|
||||
void Reset()
|
||||
{
|
||||
uiWhirlwindTimer = urand(1*IN_MILLISECONDS,20*IN_MILLISECONDS);
|
||||
uiWhirlwind2Timer = urand(1*IN_MILLISECONDS,20*IN_MILLISECONDS);
|
||||
uiWhirlwindTimer = urand(1*IN_MILLISECONDS, 20*IN_MILLISECONDS);
|
||||
uiWhirlwind2Timer = urand(1*IN_MILLISECONDS, 20*IN_MILLISECONDS);
|
||||
uiKnockdownTimer = 12*IN_MILLISECONDS;
|
||||
uiFrenzyTimer = 6*IN_MILLISECONDS;
|
||||
uiResetTimer = 5*IN_MILLISECONDS;
|
||||
uiYellTimer = urand(20*IN_MILLISECONDS,30*IN_MILLISECONDS); //20 to 30 seconds
|
||||
uiYellTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS); //20 to 30 seconds
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
@@ -86,31 +86,31 @@ public:
|
||||
if (uiWhirlwindTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WHIRLWIND);
|
||||
uiWhirlwindTimer = urand(8*IN_MILLISECONDS,18*IN_MILLISECONDS);
|
||||
uiWhirlwindTimer = urand(8*IN_MILLISECONDS, 18*IN_MILLISECONDS);
|
||||
} else uiWhirlwindTimer -= diff;
|
||||
|
||||
if (uiWhirlwind2Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WHIRLWIND2);
|
||||
uiWhirlwind2Timer = urand(7*IN_MILLISECONDS,25*IN_MILLISECONDS);
|
||||
uiWhirlwind2Timer = urand(7*IN_MILLISECONDS, 25*IN_MILLISECONDS);
|
||||
} else uiWhirlwind2Timer -= diff;
|
||||
|
||||
if (uiKnockdownTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_KNOCKDOWN);
|
||||
uiKnockdownTimer = urand(10*IN_MILLISECONDS,15*IN_MILLISECONDS);
|
||||
uiKnockdownTimer = urand(10*IN_MILLISECONDS, 15*IN_MILLISECONDS);
|
||||
} else uiKnockdownTimer -= diff;
|
||||
|
||||
if (uiFrenzyTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_FRENZY);
|
||||
uiFrenzyTimer = urand(20*IN_MILLISECONDS,30*IN_MILLISECONDS);
|
||||
uiFrenzyTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS);
|
||||
} else uiFrenzyTimer -= diff;
|
||||
|
||||
if (uiYellTimer <= diff)
|
||||
{
|
||||
DoScriptText(RAND(YELL_RANDOM1,YELL_RANDOM2,YELL_RANDOM3,YELL_RANDOM4,YELL_RANDOM5), me);
|
||||
uiYellTimer = urand(20*IN_MILLISECONDS,30*IN_MILLISECONDS); //20 to 30 seconds
|
||||
DoScriptText(RAND(YELL_RANDOM1, YELL_RANDOM2, YELL_RANDOM3, YELL_RANDOM4, YELL_RANDOM5), me);
|
||||
uiYellTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS); //20 to 30 seconds
|
||||
} else uiYellTimer -= diff;
|
||||
|
||||
// check if creature is not outside of building
|
||||
|
||||
@@ -50,11 +50,11 @@ public:
|
||||
|
||||
void Reset()
|
||||
{
|
||||
uiCleaveTimer = urand(1*IN_MILLISECONDS,9*IN_MILLISECONDS);
|
||||
uiFrighteningShoutTimer = urand(2*IN_MILLISECONDS,19*IN_MILLISECONDS);
|
||||
uiWhirlwind1Timer = urand(1*IN_MILLISECONDS,13*IN_MILLISECONDS);
|
||||
uiWhirlwind2Timer = urand(5*IN_MILLISECONDS,20*IN_MILLISECONDS);
|
||||
uiMortalStrikeTimer = urand(5*IN_MILLISECONDS,20*IN_MILLISECONDS);
|
||||
uiCleaveTimer = urand(1*IN_MILLISECONDS, 9*IN_MILLISECONDS);
|
||||
uiFrighteningShoutTimer = urand(2*IN_MILLISECONDS, 19*IN_MILLISECONDS);
|
||||
uiWhirlwind1Timer = urand(1*IN_MILLISECONDS, 13*IN_MILLISECONDS);
|
||||
uiWhirlwind2Timer = urand(5*IN_MILLISECONDS, 20*IN_MILLISECONDS);
|
||||
uiMortalStrikeTimer = urand(5*IN_MILLISECONDS, 20*IN_MILLISECONDS);
|
||||
uiResetTimer = 5*IN_MILLISECONDS;
|
||||
}
|
||||
|
||||
@@ -76,31 +76,31 @@ public:
|
||||
if (uiCleaveTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_CLEAVE);
|
||||
uiCleaveTimer = urand(10*IN_MILLISECONDS,16*IN_MILLISECONDS);
|
||||
uiCleaveTimer = urand(10*IN_MILLISECONDS, 16*IN_MILLISECONDS);
|
||||
} else uiCleaveTimer -= diff;
|
||||
|
||||
if (uiFrighteningShoutTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_FRIGHTENING_SHOUT);
|
||||
uiFrighteningShoutTimer = urand(10*IN_MILLISECONDS,15*IN_MILLISECONDS);
|
||||
uiFrighteningShoutTimer = urand(10*IN_MILLISECONDS, 15*IN_MILLISECONDS);
|
||||
} else uiFrighteningShoutTimer -= diff;
|
||||
|
||||
if (uiWhirlwind1Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WHIRLWIND1);
|
||||
uiWhirlwind1Timer = urand(6*IN_MILLISECONDS,10*IN_MILLISECONDS);
|
||||
uiWhirlwind1Timer = urand(6*IN_MILLISECONDS, 10*IN_MILLISECONDS);
|
||||
} else uiWhirlwind1Timer -= diff;
|
||||
|
||||
if (uiWhirlwind2Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WHIRLWIND2);
|
||||
uiWhirlwind2Timer = urand(10*IN_MILLISECONDS,25*IN_MILLISECONDS);
|
||||
uiWhirlwind2Timer = urand(10*IN_MILLISECONDS, 25*IN_MILLISECONDS);
|
||||
} else uiWhirlwind2Timer -= diff;
|
||||
|
||||
if (uiMortalStrikeTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_MORTAL_STRIKE);
|
||||
uiMortalStrikeTimer = urand(10*IN_MILLISECONDS,30*IN_MILLISECONDS);
|
||||
uiMortalStrikeTimer = urand(10*IN_MILLISECONDS, 30*IN_MILLISECONDS);
|
||||
} else uiMortalStrikeTimer -= diff;
|
||||
|
||||
// check if creature is not outside of building
|
||||
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
uiThunderclapTimer = 4*IN_MILLISECONDS;
|
||||
uiStormboltTimer = 6*IN_MILLISECONDS;
|
||||
uiResetTimer = 5*IN_MILLISECONDS;
|
||||
uiYellTimer = urand(20*IN_MILLISECONDS,30*IN_MILLISECONDS);
|
||||
uiYellTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
void JustRespawned()
|
||||
{
|
||||
Reset();
|
||||
DoScriptText(RAND(YELL_RESPAWN1,YELL_RESPAWN2), me);
|
||||
DoScriptText(RAND(YELL_RESPAWN1, YELL_RESPAWN2), me);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -82,25 +82,25 @@ public:
|
||||
if (uiAvatarTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_AVATAR);
|
||||
uiAvatarTimer = urand(15*IN_MILLISECONDS,20*IN_MILLISECONDS);
|
||||
uiAvatarTimer = urand(15*IN_MILLISECONDS, 20*IN_MILLISECONDS);
|
||||
} else uiAvatarTimer -= diff;
|
||||
|
||||
if (uiThunderclapTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_THUNDERCLAP);
|
||||
uiThunderclapTimer = urand(5*IN_MILLISECONDS,15*IN_MILLISECONDS);
|
||||
uiThunderclapTimer = urand(5*IN_MILLISECONDS, 15*IN_MILLISECONDS);
|
||||
} else uiThunderclapTimer -= diff;
|
||||
|
||||
if (uiStormboltTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_STORMBOLT);
|
||||
uiStormboltTimer = urand(10*IN_MILLISECONDS,25*IN_MILLISECONDS);
|
||||
uiStormboltTimer = urand(10*IN_MILLISECONDS, 25*IN_MILLISECONDS);
|
||||
} else uiStormboltTimer -= diff;
|
||||
|
||||
if (uiYellTimer <= diff)
|
||||
{
|
||||
DoScriptText(RAND(YELL_RANDOM1,YELL_RANDOM2,YELL_RANDOM3,YELL_RANDOM4,YELL_RANDOM5,YELL_RANDOM6,YELL_RANDOM7), me);
|
||||
uiYellTimer = urand(20*IN_MILLISECONDS,30*IN_MILLISECONDS); //20 to 30 seconds
|
||||
DoScriptText(RAND(YELL_RANDOM1, YELL_RANDOM2, YELL_RANDOM3, YELL_RANDOM4, YELL_RANDOM5, YELL_RANDOM6, YELL_RANDOM7), me);
|
||||
uiYellTimer = urand(20*IN_MILLISECONDS, 30*IN_MILLISECONDS); //20 to 30 seconds
|
||||
} else uiYellTimer -= diff;
|
||||
|
||||
// check if creature is not outside of building
|
||||
|
||||
@@ -113,8 +113,8 @@ public:
|
||||
if (pInstance->GetData(TYPE_RING_OF_LAW) == IN_PROGRESS || pInstance->GetData(TYPE_RING_OF_LAW) == DONE)
|
||||
return false;
|
||||
|
||||
pInstance->SetData(TYPE_RING_OF_LAW,IN_PROGRESS);
|
||||
pPlayer->SummonCreature(NPC_GRIMSTONE,625.559f,-205.618f,-52.735f,2.609f,TEMPSUMMON_DEAD_DESPAWN,0);
|
||||
pInstance->SetData(TYPE_RING_OF_LAW, IN_PROGRESS);
|
||||
pPlayer->SummonCreature(NPC_GRIMSTONE, 625.559f, -205.618f, -52.735f, 2.609f, TEMPSUMMON_DEAD_DESPAWN, 0);
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -191,7 +191,7 @@ public:
|
||||
//TODO: move them to center
|
||||
void SummonRingMob()
|
||||
{
|
||||
if (Creature* tmp = me->SummonCreature(RingMob[MobSpawnId],608.960f,-235.322f,-53.907f,1.857f,TEMPSUMMON_DEAD_DESPAWN,0))
|
||||
if (Creature* tmp = me->SummonCreature(RingMob[MobSpawnId], 608.960f, -235.322f, -53.907f, 1.857f, TEMPSUMMON_DEAD_DESPAWN, 0))
|
||||
RingMobGUID[MobCount] = tmp->GetGUID();
|
||||
|
||||
++MobCount;
|
||||
@@ -203,7 +203,7 @@ public:
|
||||
//TODO: move them to center
|
||||
void SummonRingBoss()
|
||||
{
|
||||
if (Creature* tmp = me->SummonCreature(RingBoss[rand()%6],644.300f,-175.989f,-53.739f,3.418f,TEMPSUMMON_DEAD_DESPAWN,0))
|
||||
if (Creature* tmp = me->SummonCreature(RingBoss[rand()%6], 644.300f, -175.989f, -53.739f, 3.418f, TEMPSUMMON_DEAD_DESPAWN, 0))
|
||||
RingBossGUID = tmp->GetGUID();
|
||||
|
||||
MobDeath_Timer = 2500;
|
||||
@@ -238,7 +238,7 @@ public:
|
||||
if (pInstance)
|
||||
{
|
||||
pInstance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, NPC_GRIMSTONE, me);
|
||||
pInstance->SetData(TYPE_RING_OF_LAW,DONE);
|
||||
pInstance->SetData(TYPE_RING_OF_LAW, DONE);
|
||||
sLog->outDebug(LOG_FILTER_TSCR, "TSCR: npc_grimstone: event reached end and set complete.");
|
||||
}
|
||||
break;
|
||||
@@ -263,7 +263,7 @@ public:
|
||||
|
||||
if (RingBossGUID)
|
||||
{
|
||||
Creature *boss = Unit::GetCreature(*me,RingBossGUID);
|
||||
Creature *boss = Unit::GetCreature(*me, RingBossGUID);
|
||||
if (boss && !boss->isAlive() && boss->isDead())
|
||||
{
|
||||
RingBossGUID = 0;
|
||||
@@ -276,7 +276,7 @@ public:
|
||||
|
||||
for (uint8 i = 0; i < MAX_MOB_AMOUNT; ++i)
|
||||
{
|
||||
Creature *mob = Unit::GetCreature(*me,RingMobGUID[i]);
|
||||
Creature *mob = Unit::GetCreature(*me, RingMobGUID[i]);
|
||||
if (mob && !mob->isAlive() && mob->isDead())
|
||||
{
|
||||
RingMobGUID[i] = 0;
|
||||
@@ -626,9 +626,9 @@ public:
|
||||
{
|
||||
npc_dughal_stormwingAI* dughal_stormwingAI = new npc_dughal_stormwingAI(pCreature);
|
||||
|
||||
dughal_stormwingAI->AddWaypoint(0, 280.42f,-82.86f, -77.12f,0);
|
||||
dughal_stormwingAI->AddWaypoint(1, 287.64f,-87.01f, -76.79f,0);
|
||||
dughal_stormwingAI->AddWaypoint(2, 354.63f,-64.95f, -67.53f,0);
|
||||
dughal_stormwingAI->AddWaypoint(0, 280.42f, -82.86f, -77.12f, 0);
|
||||
dughal_stormwingAI->AddWaypoint(1, 287.64f, -87.01f, -76.79f, 0);
|
||||
dughal_stormwingAI->AddWaypoint(2, 354.63f, -64.95f, -67.53f, 0);
|
||||
|
||||
return dughal_stormwingAI;
|
||||
}
|
||||
@@ -641,7 +641,7 @@ public:
|
||||
pPlayer->CLOSE_GOSSIP_MENU();
|
||||
CAST_AI(npc_escort::npc_escortAI, (pCreature->AI()))->Start(false, true, pPlayer->GetGUID());
|
||||
pCreature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
pInstance->SetData(DATA_QUEST_JAIL_BREAK,ENCOUNTER_STATE_IN_PROGRESS);
|
||||
pInstance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_IN_PROGRESS);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -665,12 +665,12 @@ public:
|
||||
switch(i)
|
||||
{
|
||||
case 0:me->Say(SAY_DUGHAL_FREE, LANG_UNIVERSAL, PlayerGUID); break;
|
||||
case 1:pInstance->SetData(DATA_DUGHAL,ENCOUNTER_STATE_OBJECTIVE_COMPLETED);break;
|
||||
case 1:pInstance->SetData(DATA_DUGHAL, ENCOUNTER_STATE_OBJECTIVE_COMPLETED);break;
|
||||
case 2:
|
||||
me->SetVisibility(VISIBILITY_OFF);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
pInstance->SetData(DATA_DUGHAL,ENCOUNTER_STATE_ENDED);
|
||||
pInstance->SetData(DATA_DUGHAL, ENCOUNTER_STATE_ENDED);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -685,7 +685,7 @@ public:
|
||||
me->SetVisibility(VISIBILITY_OFF);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
pInstance->SetData(DATA_DUGHAL,ENCOUNTER_STATE_ENDED);
|
||||
pInstance->SetData(DATA_DUGHAL, ENCOUNTER_STATE_ENDED);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -737,26 +737,26 @@ public:
|
||||
{
|
||||
npc_marshal_windsorAI* marshal_windsorAI = new npc_marshal_windsorAI(pCreature);
|
||||
|
||||
marshal_windsorAI->AddWaypoint(0, 316.336f,-225.528f, -77.7258f,7000);
|
||||
marshal_windsorAI->AddWaypoint(1, 316.336f,-225.528f, -77.7258f,2000);
|
||||
marshal_windsorAI->AddWaypoint(2, 322.96f,-207.13f, -77.87f,0);
|
||||
marshal_windsorAI->AddWaypoint(3, 281.05f,-172.16f, -75.12f,0);
|
||||
marshal_windsorAI->AddWaypoint(4, 272.19f,-139.14f, -70.61f,0);
|
||||
marshal_windsorAI->AddWaypoint(5, 283.62f,-116.09f, -70.21f,0);
|
||||
marshal_windsorAI->AddWaypoint(6, 296.18f,-94.30f, -74.08f,0);
|
||||
marshal_windsorAI->AddWaypoint(7, 294.57f,-93.11f, -74.08f,0);
|
||||
marshal_windsorAI->AddWaypoint(8, 314.31f,-74.31f, -76.09f,0);
|
||||
marshal_windsorAI->AddWaypoint(9, 360.22f,-62.93f, -66.77f,0);
|
||||
marshal_windsorAI->AddWaypoint(10, 383.38f,-69.40f, -63.25f,0);
|
||||
marshal_windsorAI->AddWaypoint(11, 389.99f,-67.86f, -62.57f,0);
|
||||
marshal_windsorAI->AddWaypoint(12, 400.98f,-72.01f, -62.31f,0);
|
||||
marshal_windsorAI->AddWaypoint(13, 404.22f,-62.30f, -63.50f,2300);
|
||||
marshal_windsorAI->AddWaypoint(14, 404.22f,-62.30f, -63.50f,1500);
|
||||
marshal_windsorAI->AddWaypoint(15, 407.65f,-51.86f, -63.96f,0);
|
||||
marshal_windsorAI->AddWaypoint(16, 403.61f,-51.71f, -63.92f,1000);
|
||||
marshal_windsorAI->AddWaypoint(17, 403.61f,-51.71f, -63.92f,2000);
|
||||
marshal_windsorAI->AddWaypoint(18, 403.61f,-51.71f, -63.92f,1000);
|
||||
marshal_windsorAI->AddWaypoint(19, 403.61f,-51.71f, -63.92f,0);
|
||||
marshal_windsorAI->AddWaypoint(0, 316.336f, -225.528f, -77.7258f, 7000);
|
||||
marshal_windsorAI->AddWaypoint(1, 316.336f, -225.528f, -77.7258f, 2000);
|
||||
marshal_windsorAI->AddWaypoint(2, 322.96f, -207.13f, -77.87f, 0);
|
||||
marshal_windsorAI->AddWaypoint(3, 281.05f, -172.16f, -75.12f, 0);
|
||||
marshal_windsorAI->AddWaypoint(4, 272.19f, -139.14f, -70.61f, 0);
|
||||
marshal_windsorAI->AddWaypoint(5, 283.62f, -116.09f, -70.21f, 0);
|
||||
marshal_windsorAI->AddWaypoint(6, 296.18f, -94.30f, -74.08f, 0);
|
||||
marshal_windsorAI->AddWaypoint(7, 294.57f, -93.11f, -74.08f, 0);
|
||||
marshal_windsorAI->AddWaypoint(8, 314.31f, -74.31f, -76.09f, 0);
|
||||
marshal_windsorAI->AddWaypoint(9, 360.22f, -62.93f, -66.77f, 0);
|
||||
marshal_windsorAI->AddWaypoint(10, 383.38f, -69.40f, -63.25f, 0);
|
||||
marshal_windsorAI->AddWaypoint(11, 389.99f, -67.86f, -62.57f, 0);
|
||||
marshal_windsorAI->AddWaypoint(12, 400.98f, -72.01f, -62.31f, 0);
|
||||
marshal_windsorAI->AddWaypoint(13, 404.22f, -62.30f, -63.50f, 2300);
|
||||
marshal_windsorAI->AddWaypoint(14, 404.22f, -62.30f, -63.50f, 1500);
|
||||
marshal_windsorAI->AddWaypoint(15, 407.65f, -51.86f, -63.96f, 0);
|
||||
marshal_windsorAI->AddWaypoint(16, 403.61f, -51.71f, -63.92f, 1000);
|
||||
marshal_windsorAI->AddWaypoint(17, 403.61f, -51.71f, -63.92f, 2000);
|
||||
marshal_windsorAI->AddWaypoint(18, 403.61f, -51.71f, -63.92f, 1000);
|
||||
marshal_windsorAI->AddWaypoint(19, 403.61f, -51.71f, -63.92f, 0);
|
||||
|
||||
return marshal_windsorAI;
|
||||
}
|
||||
@@ -768,7 +768,7 @@ public:
|
||||
if (pInstance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED)
|
||||
{
|
||||
CAST_AI(npc_escort::npc_escortAI, (pCreature->AI()))->Start(true, false, pPlayer->GetGUID());
|
||||
pInstance->SetData(DATA_QUEST_JAIL_BREAK,ENCOUNTER_STATE_IN_PROGRESS);
|
||||
pInstance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_IN_PROGRESS);
|
||||
pCreature->setFaction(11);
|
||||
}
|
||||
|
||||
@@ -806,7 +806,7 @@ public:
|
||||
me->HandleEmoteCommand(EMOTE_STATE_USESTANDING);//EMOTE_STATE_WORK
|
||||
break;
|
||||
case 14:
|
||||
pInstance->SetData(DATA_GATE_SR,0);
|
||||
pInstance->SetData(DATA_GATE_SR, 0);
|
||||
me->setFaction(11);
|
||||
break;
|
||||
case 16:
|
||||
@@ -816,13 +816,13 @@ public:
|
||||
me->HandleEmoteCommand(EMOTE_STATE_USESTANDING);//EMOTE_STATE_WORK
|
||||
break;
|
||||
case 18:
|
||||
pInstance->SetData(DATA_GATE_SC,0);
|
||||
pInstance->SetData(DATA_GATE_SC, 0);
|
||||
break;
|
||||
case 19:
|
||||
me->SetVisibility(VISIBILITY_OFF);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SummonCreature(MOB_ENTRY_REGINALD_WINDSOR,403.61f,-51.71f,-63.92f,3.600434f,TEMPSUMMON_DEAD_DESPAWN ,0);
|
||||
me->SummonCreature(MOB_ENTRY_REGINALD_WINDSOR, 403.61f, -51.71f, -63.92f, 3.600434f, TEMPSUMMON_DEAD_DESPAWN , 0);
|
||||
pInstance->SetData(DATA_SUPPLY_ROOM, ENCOUNTER_STATE_ENDED);
|
||||
break;
|
||||
}
|
||||
@@ -830,7 +830,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
switch (urand(0,2))
|
||||
switch (urand(0, 2))
|
||||
{
|
||||
case 0: me->Say(SAY_WINDSOR_AGGRO1, LANG_UNIVERSAL, PlayerGUID); break;
|
||||
case 1: me->Say(SAY_WINDSOR_AGGRO2, LANG_UNIVERSAL, PlayerGUID); break;
|
||||
@@ -842,7 +842,7 @@ public:
|
||||
|
||||
void JustDied(Unit *slayer)
|
||||
{
|
||||
pInstance->SetData(DATA_QUEST_JAIL_BREAK,ENCOUNTER_STATE_FAILED);
|
||||
pInstance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_FAILED);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -911,41 +911,41 @@ public:
|
||||
{
|
||||
npc_marshal_reginald_windsorAI* marshal_reginald_windsorAI = new npc_marshal_reginald_windsorAI(pCreature);
|
||||
|
||||
marshal_reginald_windsorAI->AddWaypoint(0, 403.61f,-52.71f, -63.92f,4000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(1, 403.61f,-52.71f, -63.92f,4000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(2, 406.33f,-54.87f, -63.95f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(3, 407.99f,-73.91f, -62.26f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(4, 557.03f,-119.71f, -61.83f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(5, 573.40f,-124.39f, -65.07f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(6, 593.91f,-130.29f, -69.25f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(7, 593.21f,-132.16f, -69.25f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(8, 593.21f,-132.16f, -69.25f,3000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(9, 622.81f,-135.55f, -71.92f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(10, 634.68f,-151.29f, -70.32f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(11, 635.06f,-153.25f, -70.32f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(12, 635.06f,-153.25f, -70.32f,3000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(13, 635.06f,-153.25f, -70.32f,1500);
|
||||
marshal_reginald_windsorAI->AddWaypoint(14, 655.25f,-172.39f, -73.72f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(15, 654.79f,-226.30f, -83.06f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(16, 622.85f,-268.85f, -83.96f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(17, 579.45f,-275.56f, -80.44f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(18, 561.19f,-266.85f, -75.59f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(19, 547.91f,-253.92f, -70.34f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(20, 549.20f,-252.40f, -70.34f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(21, 549.20f,-252.40f, -70.34f,4000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(22, 555.33f,-269.16f, -74.40f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(23, 554.31f,-270.88f, -74.40f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(24, 554.31f,-270.88f, -74.40f,4000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(25, 536.10f,-249.60f, -67.47f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(26, 520.94f,-216.65f, -59.28f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(27, 505.99f,-148.74f, -62.17f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(28, 484.21f,-56.24f, -62.43f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(29, 470.39f,-6.01f, -70.10f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(30, 451.27f,30.85f, -70.07f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(31, 452.45f,29.85f, -70.37f,1500);
|
||||
marshal_reginald_windsorAI->AddWaypoint(32, 452.45f,29.85f, -70.37f,7000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(33, 452.45f,29.85f, -70.37f,10000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(34, 451.27f,31.85f, -70.07f,0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(0, 403.61f, -52.71f, -63.92f, 4000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(1, 403.61f, -52.71f, -63.92f, 4000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(2, 406.33f, -54.87f, -63.95f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(3, 407.99f, -73.91f, -62.26f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(4, 557.03f, -119.71f, -61.83f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(5, 573.40f, -124.39f, -65.07f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(6, 593.91f, -130.29f, -69.25f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(7, 593.21f, -132.16f, -69.25f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(8, 593.21f, -132.16f, -69.25f, 3000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(9, 622.81f, -135.55f, -71.92f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(10, 634.68f, -151.29f, -70.32f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(11, 635.06f, -153.25f, -70.32f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(12, 635.06f, -153.25f, -70.32f, 3000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(13, 635.06f, -153.25f, -70.32f, 1500);
|
||||
marshal_reginald_windsorAI->AddWaypoint(14, 655.25f, -172.39f, -73.72f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(15, 654.79f, -226.30f, -83.06f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(16, 622.85f, -268.85f, -83.96f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(17, 579.45f, -275.56f, -80.44f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(18, 561.19f, -266.85f, -75.59f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(19, 547.91f, -253.92f, -70.34f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(20, 549.20f, -252.40f, -70.34f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(21, 549.20f, -252.40f, -70.34f, 4000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(22, 555.33f, -269.16f, -74.40f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(23, 554.31f, -270.88f, -74.40f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(24, 554.31f, -270.88f, -74.40f, 4000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(25, 536.10f, -249.60f, -67.47f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(26, 520.94f, -216.65f, -59.28f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(27, 505.99f, -148.74f, -62.17f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(28, 484.21f, -56.24f, -62.43f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(29, 470.39f, -6.01f, -70.10f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(30, 451.27f, 30.85f, -70.07f, 0);
|
||||
marshal_reginald_windsorAI->AddWaypoint(31, 452.45f, 29.85f, -70.37f, 1500);
|
||||
marshal_reginald_windsorAI->AddWaypoint(32, 452.45f, 29.85f, -70.37f, 7000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(33, 452.45f, 29.85f, -70.37f, 10000);
|
||||
marshal_reginald_windsorAI->AddWaypoint(34, 451.27f, 31.85f, -70.07f, 0);
|
||||
|
||||
return marshal_reginald_windsorAI;
|
||||
}
|
||||
@@ -1035,7 +1035,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* who)
|
||||
{
|
||||
switch (urand(0,2))
|
||||
switch (urand(0, 2))
|
||||
{
|
||||
case 0: me->Say(SAY_WINDSOR_AGGRO1, LANG_UNIVERSAL, PlayerGUID); break;
|
||||
case 1: me->Say(SAY_WINDSOR_AGGRO2, LANG_UNIVERSAL, PlayerGUID); break;
|
||||
@@ -1046,7 +1046,7 @@ public:
|
||||
|
||||
void JustDied(Unit *slayer)
|
||||
{
|
||||
pInstance->SetData(DATA_QUEST_JAIL_BREAK,ENCOUNTER_STATE_FAILED);
|
||||
pInstance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_FAILED);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -1056,25 +1056,25 @@ public:
|
||||
{
|
||||
if (!pInstance->GetData(DATA_GATE_J) && pInstance->GetData(DATA_JAZ) == ENCOUNTER_STATE_NOT_STARTED)
|
||||
{
|
||||
pInstance->SetData(DATA_CREATURE_JAZ,1);
|
||||
pInstance->SetData(DATA_JAZ,ENCOUNTER_STATE_IN_PROGRESS);
|
||||
pInstance->SetData(DATA_CREATURE_JAZ, 1);
|
||||
pInstance->SetData(DATA_JAZ, ENCOUNTER_STATE_IN_PROGRESS);
|
||||
}
|
||||
if (pInstance->GetData(DATA_CREATURE_JAZ) && pInstance->GetData(DATA_CREATURE_OGRABISI) && pInstance->GetData(DATA_JAZ) == ENCOUNTER_STATE_IN_PROGRESS)
|
||||
{
|
||||
SetEscortPaused(false);
|
||||
pInstance->SetData(DATA_JAZ,ENCOUNTER_STATE_ENDED);
|
||||
pInstance->SetData(DATA_JAZ, ENCOUNTER_STATE_ENDED);
|
||||
}
|
||||
}
|
||||
else if (wp == 11)
|
||||
{
|
||||
if (!pInstance->GetData(DATA_GATE_S) && pInstance->GetData(DATA_SHILL) == ENCOUNTER_STATE_NOT_STARTED)
|
||||
{
|
||||
pInstance->SetData(DATA_CREATURE_SHILL,1);
|
||||
pInstance->SetData(DATA_SHILL,ENCOUNTER_STATE_IN_PROGRESS);
|
||||
pInstance->SetData(DATA_CREATURE_SHILL, 1);
|
||||
pInstance->SetData(DATA_SHILL, ENCOUNTER_STATE_IN_PROGRESS);
|
||||
}
|
||||
if (pInstance->GetData(DATA_CREATURE_SHILL) && pInstance->GetData(DATA_SHILL) == ENCOUNTER_STATE_IN_PROGRESS)
|
||||
{
|
||||
pInstance->SetData(DATA_SHILL,ENCOUNTER_STATE_ENDED);
|
||||
pInstance->SetData(DATA_SHILL, ENCOUNTER_STATE_ENDED);
|
||||
SetEscortPaused(false);
|
||||
}
|
||||
}
|
||||
@@ -1082,14 +1082,14 @@ public:
|
||||
{
|
||||
if (!pInstance->GetData(DATA_GATE_C) && pInstance->GetData(DATA_CREST) == ENCOUNTER_STATE_NOT_STARTED)
|
||||
{
|
||||
pInstance->SetData(DATA_CREATURE_CREST,1);
|
||||
pInstance->SetData(DATA_CREATURE_CREST, 1);
|
||||
me->Say(SAY_REGINALD_WINDSOR_13_2, LANG_UNIVERSAL, PlayerGUID);
|
||||
pInstance->SetData(DATA_CREST,ENCOUNTER_STATE_IN_PROGRESS);
|
||||
pInstance->SetData(DATA_CREST, ENCOUNTER_STATE_IN_PROGRESS);
|
||||
}
|
||||
if (pInstance->GetData(DATA_CREATURE_CREST) && pInstance->GetData(DATA_CREST) == ENCOUNTER_STATE_IN_PROGRESS)
|
||||
{
|
||||
SetEscortPaused(false);
|
||||
pInstance->SetData(DATA_CREST,ENCOUNTER_STATE_ENDED);
|
||||
pInstance->SetData(DATA_CREST, ENCOUNTER_STATE_ENDED);
|
||||
}
|
||||
}
|
||||
if (pInstance->GetData(DATA_TOBIAS) == ENCOUNTER_STATE_OBJECTIVE_COMPLETED) SetEscortPaused(false);
|
||||
@@ -1131,7 +1131,7 @@ public:
|
||||
pPlayer->CLOSE_GOSSIP_MENU();
|
||||
CAST_AI(npc_escort::npc_escortAI, (pCreature->AI()))->Start(false, true, pPlayer->GetGUID());
|
||||
pCreature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
pInstance->SetData(DATA_TOBIAS,ENCOUNTER_STATE_IN_PROGRESS);
|
||||
pInstance->SetData(DATA_TOBIAS, ENCOUNTER_STATE_IN_PROGRESS);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1160,7 +1160,7 @@ public:
|
||||
me->SetVisibility(VISIBILITY_OFF);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
pInstance->SetData(DATA_TOBIAS,ENCOUNTER_STATE_ENDED);
|
||||
pInstance->SetData(DATA_TOBIAS, ENCOUNTER_STATE_ENDED);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1170,12 +1170,12 @@ public:
|
||||
{
|
||||
case 0:me->Say(SAY_TOBIAS_FREE, LANG_UNIVERSAL, PlayerGUID); break;
|
||||
case 2:
|
||||
pInstance->SetData(DATA_TOBIAS,ENCOUNTER_STATE_OBJECTIVE_COMPLETED);break;
|
||||
pInstance->SetData(DATA_TOBIAS, ENCOUNTER_STATE_OBJECTIVE_COMPLETED);break;
|
||||
case 4:
|
||||
me->SetVisibility(VISIBILITY_OFF);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
pInstance->SetData(DATA_TOBIAS,ENCOUNTER_STATE_ENDED);
|
||||
pInstance->SetData(DATA_TOBIAS, ENCOUNTER_STATE_ENDED);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1323,7 +1323,7 @@ public:
|
||||
{
|
||||
if (BreakKeg_Timer <= diff)
|
||||
{
|
||||
DoGo(DATA_GO_BAR_KEG,0);
|
||||
DoGo(DATA_GO_BAR_KEG, 0);
|
||||
BreakKeg_Timer = 0;
|
||||
BreakDoor_Timer = 1000;
|
||||
} else BreakKeg_Timer -= diff;
|
||||
@@ -1333,16 +1333,16 @@ public:
|
||||
{
|
||||
if (BreakDoor_Timer <= diff)
|
||||
{
|
||||
DoGo(DATA_GO_BAR_DOOR,2);
|
||||
DoGo(DATA_GO_BAR_KEG_TRAP,0); //doesn't work very well, leaving code here for future
|
||||
DoGo(DATA_GO_BAR_DOOR, 2);
|
||||
DoGo(DATA_GO_BAR_KEG_TRAP, 0); //doesn't work very well, leaving code here for future
|
||||
//spell by trap has effect61, this indicate the bar go hostile
|
||||
|
||||
if (Unit *tmp = Unit::GetUnit(*me,pInstance->GetData64(DATA_PHALANX)))
|
||||
if (Unit *tmp = Unit::GetUnit(*me, pInstance->GetData64(DATA_PHALANX)))
|
||||
tmp->setFaction(14);
|
||||
|
||||
//for later, this event(s) has alot more to it.
|
||||
//optionally, DONE can trigger bar to go hostile.
|
||||
pInstance->SetData(TYPE_BAR,DONE);
|
||||
pInstance->SetData(TYPE_BAR, DONE);
|
||||
|
||||
BreakDoor_Timer = 0;
|
||||
} else BreakDoor_Timer -= diff;
|
||||
|
||||
@@ -57,7 +57,7 @@ public:
|
||||
|
||||
void SummonSpirits(Unit* victim)
|
||||
{
|
||||
if (Creature *Spirit = DoSpawnCreature(9178, float(irand(-9,9)), float(irand(-9,9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000))
|
||||
if (Creature *Spirit = DoSpawnCreature(9178, float(irand(-9, 9)), float(irand(-9, 9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000))
|
||||
Spirit->AI()->AttackStart(victim);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -81,7 +81,7 @@ public:
|
||||
|
||||
if (HandOfThaurissan_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, SPELL_HANDOFTHAURISSAN);
|
||||
|
||||
//3 Hands of Thaurissan will be casted
|
||||
|
||||
@@ -67,13 +67,13 @@ public:
|
||||
|
||||
void SummonAdds(Unit* victim)
|
||||
{
|
||||
if (Creature *SummonedAdd = DoSpawnCreature(8901, float(irand(-14,14)), float(irand(-14,14)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000))
|
||||
if (Creature *SummonedAdd = DoSpawnCreature(8901, float(irand(-14, 14)), float(irand(-14, 14)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000))
|
||||
SummonedAdd->AI()->AttackStart(victim);
|
||||
}
|
||||
|
||||
void SummonMedics(Unit* victim)
|
||||
{
|
||||
if (Creature *SummonedMedic = DoSpawnCreature(8894, float(irand(-9,9)), float(irand(-9,9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000))
|
||||
if (Creature *SummonedMedic = DoSpawnCreature(8894, float(irand(-9, 9)), float(irand(-9, 9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000))
|
||||
SummonedMedic->AI()->AttackStart(victim);
|
||||
}
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
if (InstanceScript* pInstance = pCreature->GetInstanceScript())
|
||||
{
|
||||
//are 5 minutes expected? go template may have data to despawn when used at quest
|
||||
pInstance->DoRespawnGameObject(pInstance->GetData64(DATA_GO_CHALICE),MINUTE*5);
|
||||
pInstance->DoRespawnGameObject(pInstance->GetData64(DATA_GO_CHALICE), MINUTE*5);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
pCreature->AI()->AttackStart(pPlayer);
|
||||
InstanceScript* pInstance = pCreature->GetInstanceScript();
|
||||
if (pInstance)
|
||||
pInstance->SetData64(DATA_EVENSTARTER,pPlayer->GetGUID());
|
||||
pInstance->SetData64(DATA_EVENSTARTER, pPlayer->GetGUID());
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -386,8 +386,8 @@ public:
|
||||
|
||||
void TombOfSevenReset()
|
||||
{
|
||||
HandleGameObject(GoTombExitGUID,false);//event reseted, close exit door
|
||||
HandleGameObject(GoTombEnterGUID,true);//event reseted, open entrance door
|
||||
HandleGameObject(GoTombExitGUID, false);//event reseted, close exit door
|
||||
HandleGameObject(GoTombEnterGUID, true);//event reseted, open entrance door
|
||||
for (uint8 i = 0; i < 7; ++i)
|
||||
{
|
||||
if (Creature* boss = instance->GetCreature(TombBossGUIDs[i]))
|
||||
@@ -414,16 +414,16 @@ public:
|
||||
|
||||
void TombOfSevenStart()
|
||||
{
|
||||
HandleGameObject(GoTombExitGUID,false);//event started, close exit door
|
||||
HandleGameObject(GoTombEnterGUID,false);//event started, close entrance door
|
||||
HandleGameObject(GoTombExitGUID, false);//event started, close exit door
|
||||
HandleGameObject(GoTombEnterGUID, false);//event started, close entrance door
|
||||
SetData(TYPE_TOMB_OF_SEVEN, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void TombOfSevenEnd()
|
||||
{
|
||||
DoRespawnGameObject(GoChestGUID,DAY);
|
||||
HandleGameObject(GoTombExitGUID,true);//event done, open exit door
|
||||
HandleGameObject(GoTombEnterGUID,true);//event done, open entrance door
|
||||
DoRespawnGameObject(GoChestGUID, DAY);
|
||||
HandleGameObject(GoTombExitGUID, true);//event done, open exit door
|
||||
HandleGameObject(GoTombEnterGUID, true);//event done, open entrance door
|
||||
TombEventStarterGUID = 0;
|
||||
SetData(TYPE_TOMB_OF_SEVEN, DONE);
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
break;
|
||||
case EVENT_MOTHERS_MILK:
|
||||
DoCast(me, SPELL_MOTHERSMILK);
|
||||
events.ScheduleEvent(EVENT_MOTHERS_MILK, urand(5*IN_MILLISECONDS,12500));
|
||||
events.ScheduleEvent(EVENT_MOTHERS_MILK, urand(5*IN_MILLISECONDS, 12500));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,11 +89,11 @@ public:
|
||||
|
||||
if (!Summoned && HealthBelowPct(51))
|
||||
{
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM,0, 100, true))
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
{
|
||||
if (Creature* warlord = me->SummonCreature(NPC_SPIRESTONE_WARLORD, SummonLocation1, TEMPSUMMON_TIMED_DESPAWN,300*IN_MILLISECONDS))
|
||||
if (Creature* warlord = me->SummonCreature(NPC_SPIRESTONE_WARLORD, SummonLocation1, TEMPSUMMON_TIMED_DESPAWN, 300*IN_MILLISECONDS))
|
||||
warlord->AI()->AttackStart(target);
|
||||
if (Creature* berserker = me->SummonCreature(NPC_SMOLDERTHORN_BERSERKER, SummonLocation2, TEMPSUMMON_TIMED_DESPAWN,300*IN_MILLISECONDS))
|
||||
if (Creature* berserker = me->SummonCreature(NPC_SMOLDERTHORN_BERSERKER, SummonLocation2, TEMPSUMMON_TIMED_DESPAWN, 300*IN_MILLISECONDS))
|
||||
berserker->AI()->AttackStart(target);
|
||||
Summoned = true;
|
||||
}
|
||||
|
||||
@@ -82,14 +82,14 @@ public:
|
||||
if (BlastWave_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_BLASTWAVE);
|
||||
BlastWave_Timer = urand(8000,16000);
|
||||
BlastWave_Timer = urand(8000, 16000);
|
||||
} else BlastWave_Timer -= diff;
|
||||
|
||||
//MortalStrike_Timer
|
||||
if (MortalStrike_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_MORTALSTRIKE);
|
||||
MortalStrike_Timer = urand(25000,35000);
|
||||
MortalStrike_Timer = urand(25000, 35000);
|
||||
} else MortalStrike_Timer -= diff;
|
||||
|
||||
if (KnockBack_Timer <= diff)
|
||||
@@ -97,9 +97,9 @@ public:
|
||||
DoCast(me->getVictim(), SPELL_KNOCKBACK);
|
||||
//Drop 50% aggro
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-50);
|
||||
DoModifyThreatPercent(me->getVictim(), -50);
|
||||
|
||||
KnockBack_Timer = urand(15000,30000);
|
||||
KnockBack_Timer = urand(15000, 30000);
|
||||
} else KnockBack_Timer -= diff;
|
||||
|
||||
if (EnterEvadeIfOutOfCombatArea(diff))
|
||||
|
||||
@@ -42,10 +42,10 @@ enum Spells
|
||||
SPELL_NATURE_VULNERABILITY = 22280,
|
||||
SPELL_ARCANE_VULNERABILITY = 22281,
|
||||
//Other spells
|
||||
SPELL_INCINERATE = 23308, //Incinerate 23308,23309
|
||||
SPELL_INCINERATE = 23308, //Incinerate 23308, 23309
|
||||
SPELL_TIMELAPSE = 23310, //Time lapse 23310, 23311(old threat mod that was removed in 2.01)
|
||||
SPELL_CORROSIVEACID = 23313, //Corrosive Acid 23313, 23314
|
||||
SPELL_IGNITEFLESH = 23315, //Ignite Flesh 23315,23316
|
||||
SPELL_IGNITEFLESH = 23315, //Ignite Flesh 23315, 23316
|
||||
SPELL_FROSTBURN = 23187, //Frost burn 23187, 23189
|
||||
//Brood Affliction 23173 - Scripted Spell that cycles through all targets within 100 yards and has a chance to cast one of the afflictions on them
|
||||
//Since Scripted spells arn't coded I'll just write a function that does the same thing
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
//5 possiblities for the first breath, 4 for the second, 20 total possiblites
|
||||
//This way we don't end up casting 2 of the same breath
|
||||
//TL TL would be stupid
|
||||
switch (urand(0,19))
|
||||
switch (urand(0, 19))
|
||||
{
|
||||
//B1 - Incin
|
||||
case 0:
|
||||
@@ -284,7 +284,7 @@ public:
|
||||
{
|
||||
DoCast(me, SPELL_FRENZY);
|
||||
DoScriptText(EMOTE_FRENZY, me);
|
||||
Frenzy_Timer = urand(10000,15000);
|
||||
Frenzy_Timer = urand(10000, 15000);
|
||||
} else Frenzy_Timer -= diff;
|
||||
|
||||
//Enrage if not already enraged and below 20%
|
||||
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
if (ShadowFlame_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SHADOWFLAME);
|
||||
ShadowFlame_Timer = urand(12000,15000);
|
||||
ShadowFlame_Timer = urand(12000, 15000);
|
||||
} else ShadowFlame_Timer -= diff;
|
||||
|
||||
//Wing Buffet Timer
|
||||
@@ -85,7 +85,7 @@ public:
|
||||
if (ShadowOfEbonroc_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SHADOWOFEBONROC);
|
||||
ShadowOfEbonroc_Timer = urand(25000,350000);
|
||||
ShadowOfEbonroc_Timer = urand(25000, 350000);
|
||||
} else ShadowOfEbonroc_Timer -= diff;
|
||||
|
||||
if (me->getVictim()->HasAura(SPELL_SHADOWOFEBONROC))
|
||||
@@ -93,7 +93,7 @@ public:
|
||||
if (Heal_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_HEAL);
|
||||
Heal_Timer = urand(1000,3000);
|
||||
Heal_Timer = urand(1000, 3000);
|
||||
} else Heal_Timer -= diff;
|
||||
}
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
if (ShadowFlame_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SHADOWFLAME);
|
||||
ShadowFlame_Timer = urand(15000,18000);
|
||||
ShadowFlame_Timer = urand(15000, 18000);
|
||||
} else ShadowFlame_Timer -= diff;
|
||||
|
||||
//WingBuffet_Timer
|
||||
@@ -76,7 +76,7 @@ public:
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WINGBUFFET);
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-75);
|
||||
DoModifyThreatPercent(me->getVictim(), -75);
|
||||
|
||||
WingBuffet_Timer = 25000;
|
||||
} else WingBuffet_Timer -= diff;
|
||||
|
||||
@@ -78,7 +78,7 @@ public:
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WINGBUFFET);
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-75);
|
||||
DoModifyThreatPercent(me->getVictim(), -75);
|
||||
|
||||
WingBuffet_Timer = 25000;
|
||||
} else WingBuffet_Timer -= diff;
|
||||
|
||||
@@ -112,7 +112,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit * who)
|
||||
{
|
||||
DoScriptText(RAND(SAY_XHEALTH,SAY_AGGRO,SAY_SHADOWFLAME), me);
|
||||
DoScriptText(RAND(SAY_XHEALTH, SAY_AGGRO, SAY_SHADOWFLAME), me);
|
||||
|
||||
DoCast(who, SPELL_SHADOWFLAME_INITIAL);
|
||||
DoZoneInCombat();
|
||||
@@ -174,7 +174,7 @@ public:
|
||||
//On official it is based on what classes are currently on the hostil list
|
||||
//but we can't do that yet so just randomly call one
|
||||
|
||||
switch (urand(0,8))
|
||||
switch (urand(0, 8))
|
||||
{
|
||||
case 0:
|
||||
DoScriptText(SAY_MAGE, me);
|
||||
|
||||
@@ -83,21 +83,21 @@ public:
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = urand(7000,10000);
|
||||
Cleave_Timer = urand(7000, 10000);
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
//WarStomp_Timer
|
||||
if (WarStomp_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WARSTOMP);
|
||||
WarStomp_Timer = urand(15000,25000);
|
||||
WarStomp_Timer = urand(15000, 25000);
|
||||
} else WarStomp_Timer -= diff;
|
||||
|
||||
//FireballVolley_Timer
|
||||
if (FireballVolley_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_FIREBALLVOLLEY);
|
||||
FireballVolley_Timer = urand(12000,15000);
|
||||
FireballVolley_Timer = urand(12000, 15000);
|
||||
} else FireballVolley_Timer -= diff;
|
||||
|
||||
//Conflagration_Timer
|
||||
@@ -107,7 +107,7 @@ public:
|
||||
//We will remove this threat reduction and add an aura check.
|
||||
|
||||
//if (DoGetThreat(me->getVictim()))
|
||||
//DoModifyThreatPercent(me->getVictim(),-50);
|
||||
//DoModifyThreatPercent(me->getVictim(), -50);
|
||||
|
||||
Conflagration_Timer = 12000;
|
||||
} else Conflagration_Timer -= diff;
|
||||
|
||||
@@ -168,9 +168,9 @@ public:
|
||||
break;
|
||||
case 2:
|
||||
me->setFaction(103);
|
||||
if (PlayerGUID && Unit::GetUnit((*me),PlayerGUID))
|
||||
if (PlayerGUID && Unit::GetUnit((*me), PlayerGUID))
|
||||
{
|
||||
AttackStart(Unit::GetUnit((*me),PlayerGUID));
|
||||
AttackStart(Unit::GetUnit((*me), PlayerGUID));
|
||||
DoCast(me, SPELL_ESSENCEOFTHERED);
|
||||
}
|
||||
SpeechTimer = 0;
|
||||
@@ -202,7 +202,7 @@ public:
|
||||
if (FlameBreath_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_FLAMEBREATH);
|
||||
FlameBreath_Timer = urand(4000,8000);
|
||||
FlameBreath_Timer = urand(4000, 8000);
|
||||
} else FlameBreath_Timer -= diff;
|
||||
|
||||
//BurningAdrenalineCaster_Timer
|
||||
@@ -219,7 +219,7 @@ public:
|
||||
i = 3;
|
||||
}
|
||||
if (pTarget) // cast on self (see below)
|
||||
pTarget->CastSpell(pTarget,SPELL_BURNINGADRENALINE,1);
|
||||
pTarget->CastSpell(pTarget, SPELL_BURNINGADRENALINE, 1);
|
||||
|
||||
BurningAdrenalineCaster_Timer = 15000;
|
||||
} else BurningAdrenalineCaster_Timer -= diff;
|
||||
@@ -229,7 +229,7 @@ public:
|
||||
{
|
||||
// have the victim cast the spell on himself otherwise the third effect aura will be applied
|
||||
// to Vael instead of the player
|
||||
me->getVictim()->CastSpell(me->getVictim(),SPELL_BURNINGADRENALINE,1);
|
||||
me->getVictim()->CastSpell(me->getVictim(), SPELL_BURNINGADRENALINE, 1);
|
||||
|
||||
BurningAdrenalineTank_Timer = 45000;
|
||||
} else BurningAdrenalineTank_Timer -= diff;
|
||||
|
||||
@@ -113,7 +113,7 @@ public:
|
||||
boss_victor_nefariusAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
NefarianGUID = 0;
|
||||
switch (urand(0,19))
|
||||
switch (urand(0, 19))
|
||||
{
|
||||
case 0:
|
||||
DrakType1 = CREATURE_BRONZE_DRAKANOID;
|
||||
@@ -219,7 +219,7 @@ public:
|
||||
NefarianGUID = 0;
|
||||
NefCheckTime = 2000;
|
||||
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS,1);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, 1);
|
||||
me->setFaction(35);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
@@ -237,7 +237,7 @@ public:
|
||||
AttackStart((*i));
|
||||
}
|
||||
*/
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS,0);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, 0);
|
||||
me->setFaction(103);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
AttackStart(pTarget);
|
||||
@@ -272,7 +272,7 @@ public:
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget, SPELL_SHADOWBOLT);
|
||||
|
||||
ShadowBoltTimer = urand(3000,10000);
|
||||
ShadowBoltTimer = urand(3000, 10000);
|
||||
} else ShadowBoltTimer -= diff;
|
||||
|
||||
//FearTimer
|
||||
@@ -293,7 +293,7 @@ public:
|
||||
Unit *pTarget = NULL;
|
||||
|
||||
//1 in 3 chance it will be a chromatic
|
||||
if (urand(0,2) == 0)
|
||||
if (urand(0, 2) == 0)
|
||||
CreatureID = CREATURE_CHROMATIC_DRAKANOID;
|
||||
else
|
||||
CreatureID = DrakType1;
|
||||
@@ -301,7 +301,7 @@ public:
|
||||
++SpawnedAdds;
|
||||
|
||||
//Spawn Creature and force it to start attacking a random target
|
||||
Spawned = me->SummonCreature(CreatureID,ADD_X1,ADD_Y1,ADD_Z1,5.000f,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,5000);
|
||||
Spawned = me->SummonCreature(CreatureID, ADD_X1, ADD_Y1, ADD_Z1, 5.000f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
||||
if (pTarget && Spawned)
|
||||
{
|
||||
@@ -310,14 +310,14 @@ public:
|
||||
}
|
||||
|
||||
//1 in 3 chance it will be a chromatic
|
||||
if (urand(0,2) == 0)
|
||||
if (urand(0, 2) == 0)
|
||||
CreatureID = CREATURE_CHROMATIC_DRAKANOID;
|
||||
else
|
||||
CreatureID = DrakType2;
|
||||
|
||||
++SpawnedAdds;
|
||||
|
||||
Spawned = me->SummonCreature(CreatureID,ADD_X2,ADD_Y2,ADD_Z2,5.000f,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,5000);
|
||||
Spawned = me->SummonCreature(CreatureID, ADD_X2, ADD_Y2, ADD_Z2, 5.000f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
||||
if (pTarget && Spawned)
|
||||
{
|
||||
@@ -329,7 +329,7 @@ public:
|
||||
if (SpawnedAdds >= 42)
|
||||
{
|
||||
//Teleport Victor Nefarius way out of the map
|
||||
//sMapMgr->GetMap(me->GetMapId(), me)->CreatureRelocation(me,0,0,-5000,0);
|
||||
//sMapMgr->GetMap(me->GetMapId(), me)->CreatureRelocation(me, 0, 0, -5000, 0);
|
||||
|
||||
//Interrupt any spell casting
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
@@ -341,11 +341,11 @@ public:
|
||||
DoCast(me, 8149);
|
||||
|
||||
//Teleport self to a hiding spot (this causes errors in the Trinity log but no real issues)
|
||||
DoTeleportTo(HIDE_X,HIDE_Y,HIDE_Z);
|
||||
DoTeleportTo(HIDE_X, HIDE_Y, HIDE_Z);
|
||||
me->AddUnitState(UNIT_STAT_FLEEING);
|
||||
|
||||
//Spawn nef and have him attack a random target
|
||||
Creature* Nefarian = me->SummonCreature(CREATURE_NEFARIAN,NEF_X,NEF_Y,NEF_Z,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,120000);
|
||||
Creature* Nefarian = me->SummonCreature(CREATURE_NEFARIAN, NEF_X, NEF_Y, NEF_Z, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
||||
if (pTarget && Nefarian)
|
||||
{
|
||||
@@ -363,7 +363,7 @@ public:
|
||||
{
|
||||
if (NefCheckTime <= diff)
|
||||
{
|
||||
Unit* Nefarian = Unit::GetCreature((*me),NefarianGUID);
|
||||
Unit* Nefarian = Unit::GetCreature((*me), NefarianGUID);
|
||||
|
||||
//If nef is dead then we die to so the players get out of combat
|
||||
//and cannot repeat the event
|
||||
|
||||
@@ -67,9 +67,9 @@ public:
|
||||
|
||||
void Reset()
|
||||
{
|
||||
uiTrashTimer = urand(5000,9000);
|
||||
uiTrashTimer = urand(5000, 9000);
|
||||
uiSlamTimer = 9000;
|
||||
uiNimbleReflexesTimer = urand(15500,31600);
|
||||
uiNimbleReflexesTimer = urand(15500, 31600);
|
||||
|
||||
uiHealth = 0;
|
||||
|
||||
@@ -86,7 +86,7 @@ public:
|
||||
|
||||
bool bCheckChances()
|
||||
{
|
||||
uint32 uiChances = urand(0,99);
|
||||
uint32 uiChances = urand(0, 99);
|
||||
if (uiChances <= 15)
|
||||
return false;
|
||||
else
|
||||
@@ -103,7 +103,7 @@ public:
|
||||
{
|
||||
if (bCheckChances())
|
||||
DoCast(me, SPELL_TRASH);
|
||||
uiTrashTimer = urand(6000,15500);
|
||||
uiTrashTimer = urand(6000, 15500);
|
||||
} else uiTrashTimer -= uiDiff;
|
||||
|
||||
if (uiSlamTimer <= uiDiff)
|
||||
@@ -117,17 +117,17 @@ public:
|
||||
{
|
||||
if (bCheckChances())
|
||||
DoCast(me, SPELL_NIMBLE_REFLEXES);
|
||||
uiNimbleReflexesTimer = urand(27300,60100);
|
||||
uiNimbleReflexesTimer = urand(27300, 60100);
|
||||
} else uiNimbleReflexesTimer -= uiDiff;
|
||||
/*END ACID-AI*/
|
||||
|
||||
if ((uiHealth == 0 && !HealthAbovePct(66)) || (uiHealth == 1 && !HealthAbovePct(33)))
|
||||
{
|
||||
++uiHealth;
|
||||
DoCastAOE(SPELL_SMITE_STOMP,false);
|
||||
DoCastAOE(SPELL_SMITE_STOMP, false);
|
||||
SetCombatMovement(false);
|
||||
if (pInstance)
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me),pInstance->GetData64(DATA_SMITE_CHEST)))
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me), pInstance->GetData64(DATA_SMITE_CHEST)))
|
||||
{
|
||||
me->GetMotionMaster()->Clear();
|
||||
me->GetMotionMaster()->MovePoint(1, pGo->GetPositionX() - 3.0f, pGo->GetPositionY(), pGo->GetPositionZ());
|
||||
|
||||
@@ -128,9 +128,9 @@ class instance_deadmines : public InstanceMapScript
|
||||
{
|
||||
if (GameObject* pIronCladDoor = instance->GetGameObject(IronCladDoorGUID))
|
||||
{
|
||||
Creature* DefiasPirate1 = pIronCladDoor->SummonCreature(657,pIronCladDoor->GetPositionX() - 2,pIronCladDoor->GetPositionY()-7,pIronCladDoor->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3000);
|
||||
Creature* DefiasPirate2 = pIronCladDoor->SummonCreature(657,pIronCladDoor->GetPositionX() + 3,pIronCladDoor->GetPositionY()-6,pIronCladDoor->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3000);
|
||||
Creature* DefiasCompanion = pIronCladDoor->SummonCreature(3450,pIronCladDoor->GetPositionX() + 2,pIronCladDoor->GetPositionY()-6,pIronCladDoor->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3000);
|
||||
Creature* DefiasPirate1 = pIronCladDoor->SummonCreature(657, pIronCladDoor->GetPositionX() - 2, pIronCladDoor->GetPositionY()-7, pIronCladDoor->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3000);
|
||||
Creature* DefiasPirate2 = pIronCladDoor->SummonCreature(657, pIronCladDoor->GetPositionX() + 3, pIronCladDoor->GetPositionY()-6, pIronCladDoor->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3000);
|
||||
Creature* DefiasCompanion = pIronCladDoor->SummonCreature(3450, pIronCladDoor->GetPositionX() + 2, pIronCladDoor->GetPositionY()-6, pIronCladDoor->GetPositionZ(), 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3000);
|
||||
|
||||
DefiasPirate1GUID = DefiasPirate1->GetGUID();
|
||||
DefiasPirate2GUID = DefiasPirate2->GetGUID();
|
||||
@@ -157,7 +157,7 @@ class instance_deadmines : public InstanceMapScript
|
||||
void MoveCreatureInside(Creature* creature)
|
||||
{
|
||||
creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
creature->GetMotionMaster()->MovePoint(0, -102.7f,-655.9f, creature->GetPositionZ());
|
||||
creature->GetMotionMaster()->MovePoint(0, -102.7f, -655.9f, creature->GetPositionZ());
|
||||
}
|
||||
|
||||
void ShootCannon()
|
||||
@@ -239,7 +239,7 @@ class instance_deadmines : public InstanceMapScript
|
||||
WorldPacket data(4);
|
||||
data.SetOpcode(SMSG_PLAY_SOUND);
|
||||
data << uint32(sound);
|
||||
unit->SendMessageToSet(&data,false);
|
||||
unit->SendMessageToSet(&data, false);
|
||||
}
|
||||
|
||||
void DoPlaySoundCreature(Unit* unit, uint32 sound)
|
||||
@@ -247,7 +247,7 @@ class instance_deadmines : public InstanceMapScript
|
||||
WorldPacket data(4);
|
||||
data.SetOpcode(SMSG_PLAY_SOUND);
|
||||
data << uint32(sound);
|
||||
unit->SendMessageToSet(&data,false);
|
||||
unit->SendMessageToSet(&data, false);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -66,23 +66,23 @@ enum eBlastmasterEmiShortfuse
|
||||
|
||||
const Position SpawnPosition[] =
|
||||
{
|
||||
{-557.630f,-114.514f,-152.209f,0.641f},
|
||||
{-555.263f,-113.802f,-152.737f,0.311f},
|
||||
{-552.154f,-112.476f,-153.349f,0.621f},
|
||||
{-548.692f,-111.089f,-154.090f,0.621f},
|
||||
{-546.905f,-108.340f,-154.877f,0.729f},
|
||||
{-547.736f,-105.154f,-155.176f,0.372f},
|
||||
{-547.274f,-114.109f,-153.952f,0.735f},
|
||||
{-552.534f,-110.012f,-153.577f,0.747f},
|
||||
{-550.708f,-116.436f,-153.103f,0.679f},
|
||||
{-554.030f,-115.983f,-152.635f,0.695f},
|
||||
{-494.595f,-87.516f,149.116f,3.344f},
|
||||
{-493.349f,-90.845f,-148.882f,3.717f},
|
||||
{-491.995f,-87.619f,-148.197f,3.230f},
|
||||
{-490.732f,-90.739f,-148.091f,3.230f},
|
||||
{-490.554f,-89.114f,-148.055f,3.230f},
|
||||
{-495.240f,-90.808f,-149.493f,3.238f},
|
||||
{-494.195f,-89.553f,-149.131f,3.254f}
|
||||
{-557.630f, -114.514f, -152.209f, 0.641f},
|
||||
{-555.263f, -113.802f, -152.737f, 0.311f},
|
||||
{-552.154f, -112.476f, -153.349f, 0.621f},
|
||||
{-548.692f, -111.089f, -154.090f, 0.621f},
|
||||
{-546.905f, -108.340f, -154.877f, 0.729f},
|
||||
{-547.736f, -105.154f, -155.176f, 0.372f},
|
||||
{-547.274f, -114.109f, -153.952f, 0.735f},
|
||||
{-552.534f, -110.012f, -153.577f, 0.747f},
|
||||
{-550.708f, -116.436f, -153.103f, 0.679f},
|
||||
{-554.030f, -115.983f, -152.635f, 0.695f},
|
||||
{-494.595f, -87.516f, 149.116f, 3.344f},
|
||||
{-493.349f, -90.845f, -148.882f, 3.717f},
|
||||
{-491.995f, -87.619f, -148.197f, 3.230f},
|
||||
{-490.732f, -90.739f, -148.091f, 3.230f},
|
||||
{-490.554f, -89.114f, -148.055f, 3.230f},
|
||||
{-495.240f, -90.808f, -149.493f, 3.238f},
|
||||
{-494.195f, -89.553f, -149.131f, 3.254f}
|
||||
};
|
||||
|
||||
class npc_blastmaster_emi_shortfuse : public CreatureScript
|
||||
@@ -101,10 +101,10 @@ public:
|
||||
if (uiAction == GOSSIP_ACTION_INFO_DEF+1)
|
||||
{
|
||||
if (npc_escortAI* pEscortAI = CAST_AI(npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI, pCreature->AI()))
|
||||
pEscortAI->Start(true, false,pPlayer->GetGUID());
|
||||
pEscortAI->Start(true, false, pPlayer->GetGUID());
|
||||
|
||||
pCreature->setFaction(pPlayer->getFaction());
|
||||
pCreature->AI()->SetData(1,0);
|
||||
pCreature->AI()->SetData(1, 0);
|
||||
|
||||
pPlayer->CLOSE_GOSSIP_MENU();
|
||||
}
|
||||
@@ -154,7 +154,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void NextStep(uint32 uiTimerStep,bool bNextStep = true,uint8 uiPhaseStep = 0)
|
||||
void NextStep(uint32 uiTimerStep, bool bNextStep = true, uint8 uiPhaseStep = 0)
|
||||
{
|
||||
uiTimer = uiTimerStep;
|
||||
if (bNextStep)
|
||||
@@ -174,14 +174,14 @@ public:
|
||||
{
|
||||
if (pGo)
|
||||
{
|
||||
if (Creature *trigger = pGo->SummonTrigger(pGo->GetPositionX(), pGo->GetPositionY(),pGo->GetPositionZ(), 0, 1))
|
||||
if (Creature *trigger = pGo->SummonTrigger(pGo->GetPositionX(), pGo->GetPositionY(), pGo->GetPositionZ(), 0, 1))
|
||||
{
|
||||
//visual effects are not working! ¬¬
|
||||
trigger->CastSpell(trigger,11542,true);
|
||||
trigger->CastSpell(trigger,35470,true);
|
||||
trigger->CastSpell(trigger, 11542, true);
|
||||
trigger->CastSpell(trigger, 35470, true);
|
||||
}
|
||||
pGo->RemoveFromWorld();
|
||||
//pGo->CastSpell(me,12158); makes all die?!
|
||||
//pGo->CastSpell(me, 12158); makes all die?!
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -189,12 +189,12 @@ public:
|
||||
if (bBool)
|
||||
{
|
||||
if (pInstance)
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me),pInstance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
|
||||
pInstance->HandleGameObject(0,false,pGo);
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me), pInstance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
|
||||
pInstance->HandleGameObject(0, false, pGo);
|
||||
}else
|
||||
if (pInstance)
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me),pInstance->GetData64(DATA_GO_CAVE_IN_LEFT)))
|
||||
pInstance->HandleGameObject(0,false,pGo);
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me), pInstance->GetData64(DATA_GO_CAVE_IN_LEFT)))
|
||||
pInstance->HandleGameObject(0, false, pGo);
|
||||
}
|
||||
|
||||
void SetInFace(bool bBool)
|
||||
@@ -204,10 +204,10 @@ public:
|
||||
|
||||
if (bBool)
|
||||
{
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me),pInstance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me), pInstance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
|
||||
me->SetFacingToObject(pGo);
|
||||
}else
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me),pInstance->GetData64(DATA_GO_CAVE_IN_LEFT)))
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me), pInstance->GetData64(DATA_GO_CAVE_IN_LEFT)))
|
||||
me->SetFacingToObject(pGo);
|
||||
}
|
||||
|
||||
@@ -216,11 +216,11 @@ public:
|
||||
if (!pInstance)
|
||||
return;
|
||||
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me),pInstance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
|
||||
pInstance->HandleGameObject(0,false,pGo);
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me), pInstance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
|
||||
pInstance->HandleGameObject(0, false, pGo);
|
||||
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me),pInstance->GetData64(DATA_GO_CAVE_IN_LEFT)))
|
||||
pInstance->HandleGameObject(0,false,pGo);
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me), pInstance->GetData64(DATA_GO_CAVE_IN_LEFT)))
|
||||
pInstance->HandleGameObject(0, false, pGo);
|
||||
|
||||
if (!GoSummonList.empty())
|
||||
for (std::list<uint64>::const_iterator itr = GoSummonList.begin(); itr != GoSummonList.end(); ++itr)
|
||||
@@ -277,47 +277,47 @@ public:
|
||||
{
|
||||
case 3:
|
||||
SetEscortPaused(true);
|
||||
NextStep(2000,false,3);
|
||||
NextStep(2000, false, 3);
|
||||
break;
|
||||
case 7:
|
||||
SetEscortPaused(true);
|
||||
NextStep(2000,false,4);
|
||||
NextStep(2000, false, 4);
|
||||
break;
|
||||
case 9:
|
||||
NextStep(1000,false,8);
|
||||
NextStep(1000, false, 8);
|
||||
break;
|
||||
case 10:
|
||||
NextStep(25000,false,10);
|
||||
NextStep(25000, false, 10);
|
||||
break;
|
||||
case 11:
|
||||
SetEscortPaused(true);
|
||||
SetInFace(true);
|
||||
NextStep(1000,false,11);
|
||||
NextStep(1000, false, 11);
|
||||
break;
|
||||
case 12:
|
||||
NextStep(25000,false,18);
|
||||
NextStep(25000, false, 18);
|
||||
break;
|
||||
case 13:
|
||||
Summon(7);
|
||||
NextStep(25000,false,19);
|
||||
NextStep(25000, false, 19);
|
||||
break;
|
||||
case 14:
|
||||
SetInFace(false);
|
||||
DoScriptText(SAY_BLASTMASTER_26,me);
|
||||
DoScriptText(SAY_BLASTMASTER_26, me);
|
||||
SetEscortPaused(true);
|
||||
NextStep(5000,false,20);
|
||||
NextStep(5000, false, 20);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void SetData(uint32 uiI,uint32 uiValue)
|
||||
void SetData(uint32 uiI, uint32 uiValue)
|
||||
{
|
||||
switch(uiI)
|
||||
{
|
||||
case 1:
|
||||
SetEscortPaused(true);
|
||||
DoScriptText(SAY_BLASTMASTER_0,me);
|
||||
NextStep(1500,true);
|
||||
DoScriptText(SAY_BLASTMASTER_0, me);
|
||||
NextStep(1500, true);
|
||||
break;
|
||||
case 2:
|
||||
if (!pInstance)
|
||||
@@ -330,7 +330,7 @@ public:
|
||||
break;
|
||||
case 2:
|
||||
pInstance->SetData(TYPE_EVENT, DONE);
|
||||
NextStep(5000,false,22);
|
||||
NextStep(5000, false, 22);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -354,10 +354,10 @@ public:
|
||||
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[9], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
|
||||
break;
|
||||
case 2:
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -533.140f,-105.322f,-156.016f, 0, 0, 0, 0, 0, 1000))
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -533.140f, -105.322f, -156.016f, 0, 0, 0, 0, 0, 1000))
|
||||
{
|
||||
GoSummonList.push_back(pGo->GetGUID());
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS,GO_FLAG_UNK1); //We can't use it!
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); //We can't use it!
|
||||
}
|
||||
Summon(3);
|
||||
break;
|
||||
@@ -366,20 +366,20 @@ public:
|
||||
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[1], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
|
||||
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[2], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
|
||||
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[3], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
|
||||
DoScriptText(SAY_BLASTMASTER_19,me);
|
||||
DoScriptText(SAY_BLASTMASTER_19, me);
|
||||
break;
|
||||
case 4:
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -542.199f,-96.854f,-155.790f, 0, 0, 0, 0, 0, 1000))
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -542.199f, -96.854f, -155.790f, 0, 0, 0, 0, 0, 1000))
|
||||
{
|
||||
GoSummonList.push_back(pGo->GetGUID());
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS,GO_FLAG_UNK1);
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[0], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
|
||||
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[1], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
|
||||
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[2], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
|
||||
DoScriptText(SAY_BLASTMASTER_15,me);
|
||||
DoScriptText(SAY_BLASTMASTER_15, me);
|
||||
break;
|
||||
case 6:
|
||||
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[10], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
|
||||
@@ -389,23 +389,23 @@ public:
|
||||
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[14], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
|
||||
break;
|
||||
case 7:
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -507.820f,-103.333f,-151.353f, 0, 0, 0, 0, 0, 1000))
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -507.820f, -103.333f, -151.353f, 0, 0, 0, 0, 0, 1000))
|
||||
{
|
||||
GoSummonList.push_back(pGo->GetGUID());
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS,GO_FLAG_UNK1); //We can't use it!
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); //We can't use it!
|
||||
Summon(6);
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -511.829f,-86.249f,-151.431f, 0, 0, 0, 0, 0, 1000))
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -511.829f, -86.249f, -151.431f, 0, 0, 0, 0, 0, 1000))
|
||||
{
|
||||
GoSummonList.push_back(pGo->GetGUID());
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS,GO_FLAG_UNK1); //We can't use it!
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); //We can't use it!
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
if (Creature* pGrubbis = me->SummonCreature(NPC_GRUBBIS, SpawnPosition[15], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000))
|
||||
DoScriptText(SAY_GRUBBIS,pGrubbis);
|
||||
DoScriptText(SAY_GRUBBIS, pGrubbis);
|
||||
me->SummonCreature(NPC_CHOMPER, SpawnPosition[16], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
|
||||
break;
|
||||
}
|
||||
@@ -420,109 +420,109 @@ public:
|
||||
switch(uiPhase)
|
||||
{
|
||||
case 1:
|
||||
DoScriptText(SAY_BLASTMASTER_1,me);
|
||||
NextStep(1500,true);
|
||||
DoScriptText(SAY_BLASTMASTER_1, me);
|
||||
NextStep(1500, true);
|
||||
break;
|
||||
case 2:
|
||||
SetEscortPaused(false);
|
||||
NextStep(0,false,0);
|
||||
NextStep(0, false, 0);
|
||||
break;
|
||||
case 3:
|
||||
DoScriptText(SAY_BLASTMASTER_2,me);
|
||||
DoScriptText(SAY_BLASTMASTER_2, me);
|
||||
SetEscortPaused(false);
|
||||
NextStep(0,false,0);
|
||||
NextStep(0, false, 0);
|
||||
break;
|
||||
case 4:
|
||||
DoScriptText(SAY_BLASTMASTER_3,me);
|
||||
NextStep(3000,true);
|
||||
DoScriptText(SAY_BLASTMASTER_3, me);
|
||||
NextStep(3000, true);
|
||||
break;
|
||||
case 5:
|
||||
DoScriptText(SAY_BLASTMASTER_4,me);
|
||||
NextStep(3000,true);
|
||||
DoScriptText(SAY_BLASTMASTER_4, me);
|
||||
NextStep(3000, true);
|
||||
break;
|
||||
case 6:
|
||||
SetInFace(true);
|
||||
DoScriptText(SAY_BLASTMASTER_5,me);
|
||||
DoScriptText(SAY_BLASTMASTER_5, me);
|
||||
Summon(1);
|
||||
if (pInstance)
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me),pInstance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
|
||||
pInstance->HandleGameObject(0,true,pGo);
|
||||
NextStep(3000,true);
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me), pInstance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
|
||||
pInstance->HandleGameObject(0, true, pGo);
|
||||
NextStep(3000, true);
|
||||
break;
|
||||
case 7:
|
||||
DoScriptText(SAY_BLASTMASTER_6,me);
|
||||
DoScriptText(SAY_BLASTMASTER_6, me);
|
||||
SetEscortPaused(false);
|
||||
NextStep(0,false,0);
|
||||
NextStep(0, false, 0);
|
||||
break;
|
||||
case 8:
|
||||
me->HandleEmoteCommand(EMOTE_STATE_WORK);
|
||||
NextStep(25000,true);
|
||||
NextStep(25000, true);
|
||||
break;
|
||||
case 9:
|
||||
Summon(2);
|
||||
NextStep(0,false);
|
||||
NextStep(0, false);
|
||||
break;
|
||||
case 10:
|
||||
Summon(4);
|
||||
NextStep(0,false);
|
||||
NextStep(0, false);
|
||||
break;
|
||||
case 11:
|
||||
DoScriptText(SAY_BLASTMASTER_17,me);
|
||||
NextStep(5000,true);
|
||||
DoScriptText(SAY_BLASTMASTER_17, me);
|
||||
NextStep(5000, true);
|
||||
break;
|
||||
case 12:
|
||||
DoScriptText(SAY_BLASTMASTER_18,me);
|
||||
NextStep(5000,true);
|
||||
DoScriptText(SAY_BLASTMASTER_18, me);
|
||||
NextStep(5000, true);
|
||||
break;
|
||||
case 13:
|
||||
DoScriptText(SAY_BLASTMASTER_20,me);
|
||||
DoScriptText(SAY_BLASTMASTER_20, me);
|
||||
CaveDestruction(true);
|
||||
NextStep(8000,true);
|
||||
NextStep(8000, true);
|
||||
break;
|
||||
case 14:
|
||||
DoScriptText(SAY_BLASTMASTER_21,me);
|
||||
NextStep(8500,true);
|
||||
DoScriptText(SAY_BLASTMASTER_21, me);
|
||||
NextStep(8500, true);
|
||||
break;
|
||||
case 15:
|
||||
DoScriptText(SAY_BLASTMASTER_22,me);
|
||||
NextStep(2000,true);
|
||||
DoScriptText(SAY_BLASTMASTER_22, me);
|
||||
NextStep(2000, true);
|
||||
break;
|
||||
case 16:
|
||||
DoScriptText(SAY_BLASTMASTER_23,me);
|
||||
DoScriptText(SAY_BLASTMASTER_23, me);
|
||||
SetInFace(false);
|
||||
if (pInstance)
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me),pInstance->GetData64(DATA_GO_CAVE_IN_LEFT)))
|
||||
pInstance->HandleGameObject(0,true,pGo);
|
||||
NextStep(2000,true);
|
||||
if (GameObject* pGo = GameObject::GetGameObject((*me), pInstance->GetData64(DATA_GO_CAVE_IN_LEFT)))
|
||||
pInstance->HandleGameObject(0, true, pGo);
|
||||
NextStep(2000, true);
|
||||
break;
|
||||
case 17:
|
||||
SetEscortPaused(false);
|
||||
DoScriptText(SAY_BLASTMASTER_24,me);
|
||||
DoScriptText(SAY_BLASTMASTER_24, me);
|
||||
Summon(6);
|
||||
NextStep(0,false);
|
||||
NextStep(0, false);
|
||||
break;
|
||||
case 18:
|
||||
Summon(7);
|
||||
NextStep(0,false);
|
||||
NextStep(0, false);
|
||||
break;
|
||||
case 19:
|
||||
SetInFace(false);
|
||||
Summon(8);
|
||||
DoScriptText(SAY_BLASTMASTER_25,me);
|
||||
NextStep(0,false);
|
||||
DoScriptText(SAY_BLASTMASTER_25, me);
|
||||
NextStep(0, false);
|
||||
break;
|
||||
case 20:
|
||||
DoScriptText(SAY_BLASTMASTER_27,me);
|
||||
NextStep(2000,true);
|
||||
DoScriptText(SAY_BLASTMASTER_27, me);
|
||||
NextStep(2000, true);
|
||||
break;
|
||||
case 21:
|
||||
Summon(9);
|
||||
NextStep(0,false);
|
||||
NextStep(0, false);
|
||||
break;
|
||||
case 22:
|
||||
CaveDestruction(false);
|
||||
DoScriptText(SAY_BLASTMASTER_20,me);
|
||||
NextStep(0,false);
|
||||
DoScriptText(SAY_BLASTMASTER_20, me);
|
||||
NextStep(0, false);
|
||||
break;
|
||||
}
|
||||
} else uiTimer -= uiDiff;
|
||||
@@ -566,7 +566,7 @@ public:
|
||||
return;
|
||||
|
||||
if (Unit* pSummon = CAST_SUM(me)->GetSummoner())
|
||||
CAST_CRE(pSummon)->AI()->SetData(2,1);
|
||||
CAST_CRE(pSummon)->AI()->SetData(2, 1);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 /*diff*/)
|
||||
@@ -583,7 +583,7 @@ public:
|
||||
return;
|
||||
|
||||
if (Unit* pSummon = CAST_SUM(me)->GetSummoner())
|
||||
CAST_CRE(pSummon)->AI()->SetData(2,2);
|
||||
CAST_CRE(pSummon)->AI()->SetData(2, 2);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -90,12 +90,12 @@ public:
|
||||
case GO_CAVE_IN_LEFT:
|
||||
uiCaveInLeftGUID = go->GetGUID();
|
||||
if (m_auiEncounter[0] == DONE || m_auiEncounter[0] == NOT_STARTED)
|
||||
HandleGameObject(0,false,go);
|
||||
HandleGameObject(0, false, go);
|
||||
break;
|
||||
case GO_CAVE_IN_RIGHT:
|
||||
uiCaveInRightGUID = go->GetGUID();
|
||||
if (m_auiEncounter[0] == DONE || m_auiEncounter[0] == NOT_STARTED)
|
||||
HandleGameObject(0,false,go);
|
||||
HandleGameObject(0, false, go);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit * /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_KILL1,SAY_KILL2), me);
|
||||
DoScriptText(RAND(SAY_KILL1, SAY_KILL2), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit * /*victim*/)
|
||||
@@ -159,9 +159,9 @@ public:
|
||||
}
|
||||
else
|
||||
{
|
||||
if (urand(0,1) == 0)
|
||||
if (urand(0, 1) == 0)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SUMMON1,SAY_SUMMON2), me);
|
||||
DoScriptText(RAND(SAY_SUMMON1, SAY_SUMMON2), me);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,8 +74,8 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*Victim*/)
|
||||
{
|
||||
if (urand(0,1) == 0)
|
||||
DoScriptText(RAND(SAY_SLAY1,SAY_SLAY2,SAY_SLAY3), me);
|
||||
if (urand(0, 1) == 0)
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
@@ -108,9 +108,9 @@ public:
|
||||
if (Repentance_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_REPENTANCE);
|
||||
DoScriptText(RAND(SAY_REPENTANCE1,SAY_REPENTANCE2), me);
|
||||
DoScriptText(RAND(SAY_REPENTANCE1, SAY_REPENTANCE2), me);
|
||||
|
||||
Repentance_Timer = urand(25000,35000); //A little randomness on that spell
|
||||
Repentance_Timer = urand(25000, 35000); //A little randomness on that spell
|
||||
} else Repentance_Timer -= diff;
|
||||
|
||||
if (Holyfire_Timer <= diff)
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget, SPELL_HOLYFIRE);
|
||||
|
||||
Holyfire_Timer = urand(8000,23000); //Anywhere from 8 to 23 seconds, good luck having several of those in a row!
|
||||
Holyfire_Timer = urand(8000, 23000); //Anywhere from 8 to 23 seconds, good luck having several of those in a row!
|
||||
} else Holyfire_Timer -= diff;
|
||||
|
||||
if (Holywrath_Timer <= diff)
|
||||
@@ -126,7 +126,7 @@ public:
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget, SPELL_HOLYWRATH);
|
||||
|
||||
Holywrath_Timer = urand(20000,25000); //20-30 secs sounds nice
|
||||
Holywrath_Timer = urand(20000, 25000); //20-30 secs sounds nice
|
||||
} else Holywrath_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
@@ -62,9 +62,9 @@ public:
|
||||
{
|
||||
Phase = 1;
|
||||
|
||||
CleaveTimer = urand(10000,15000);
|
||||
CleaveTimer = urand(10000, 15000);
|
||||
CurseTimer = 30000;
|
||||
RandomYellTimer = urand(30000,60000); //Occasionally yell
|
||||
RandomYellTimer = urand(30000, 60000); //Occasionally yell
|
||||
ChargeTimer = 20000;
|
||||
ResetTimer = 0;
|
||||
}
|
||||
@@ -86,7 +86,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit * /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_KILL1,SAY_KILL2), me);
|
||||
DoScriptText(RAND(SAY_KILL1, SAY_KILL2), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit * /*victim*/)
|
||||
@@ -159,7 +159,7 @@ public:
|
||||
Attumen = pAttumen->GetGUID();
|
||||
pAttumen->AI()->AttackStart(me->getVictim());
|
||||
SetMidnight(pAttumen, me->GetGUID());
|
||||
DoScriptText(RAND(SAY_APPEAR1,SAY_APPEAR2,SAY_APPEAR3), pAttumen);
|
||||
DoScriptText(RAND(SAY_APPEAR1, SAY_APPEAR2, SAY_APPEAR3), pAttumen);
|
||||
}
|
||||
}
|
||||
else if (Phase == 2 && HealthBelowPct(25))
|
||||
@@ -185,7 +185,7 @@ public:
|
||||
pAttumen->GetMotionMaster()->MoveChase(pAttumen->getVictim());
|
||||
pAttumen->SetUInt64Value(UNIT_FIELD_TARGET, pAttumen->getVictim()->GetGUID());
|
||||
}
|
||||
pAttumen->SetFloatValue(OBJECT_FIELD_SCALE_X,1);
|
||||
pAttumen->SetFloatValue(OBJECT_FIELD_SCALE_X, 1);
|
||||
}
|
||||
} else Mount_Timer -= diff;
|
||||
}
|
||||
@@ -206,7 +206,7 @@ public:
|
||||
float newX = me->GetPositionX() + cos(angle)*(distance/2) ;
|
||||
float newY = me->GetPositionY() + sin(angle)*(distance/2) ;
|
||||
float newZ = 50;
|
||||
//me->Relocate(newX,newY,newZ,angle);
|
||||
//me->Relocate(newX, newY, newZ, angle);
|
||||
//me->SendMonsterMove(newX, newY, newZ, 0, true, 1000);
|
||||
me->GetMotionMaster()->Clear();
|
||||
me->GetMotionMaster()->MovePoint(0, newX, newY, newZ);
|
||||
@@ -215,7 +215,7 @@ public:
|
||||
newY = me->GetPositionY() + sin(angle)*(distance/2) ;
|
||||
pAttumen->GetMotionMaster()->Clear();
|
||||
pAttumen->GetMotionMaster()->MovePoint(0, newX, newY, newZ);
|
||||
//pAttumen->Relocate(newX,newY,newZ,-angle);
|
||||
//pAttumen->Relocate(newX, newY, newZ, -angle);
|
||||
//pAttumen->SendMonsterMove(newX, newY, newZ, 0, true, 1000);
|
||||
Mount_Timer = 1000;
|
||||
}
|
||||
@@ -257,7 +257,7 @@ void boss_attumen::boss_attumenAI::UpdateAI(const uint32 diff)
|
||||
if (CleaveTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SHADOWCLEAVE);
|
||||
CleaveTimer = urand(10000,15000);
|
||||
CleaveTimer = urand(10000, 15000);
|
||||
} else CleaveTimer -= diff;
|
||||
|
||||
if (CurseTimer <= diff)
|
||||
@@ -268,8 +268,8 @@ void boss_attumen::boss_attumenAI::UpdateAI(const uint32 diff)
|
||||
|
||||
if (RandomYellTimer <= diff)
|
||||
{
|
||||
DoScriptText(RAND(SAY_RANDOM1,SAY_RANDOM2), me);
|
||||
RandomYellTimer = urand(30000,60000);
|
||||
DoScriptText(RAND(SAY_RANDOM1, SAY_RANDOM2), me);
|
||||
RandomYellTimer = urand(30000, 60000);
|
||||
} else RandomYellTimer -= diff;
|
||||
|
||||
if (me->GetUInt32Value(UNIT_FIELD_DISPLAYID) == MOUNTED_DISPLAYID)
|
||||
|
||||
@@ -133,7 +133,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_KILL_1,SAY_KILL_2,SAY_KILL_3), me);
|
||||
DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2, SAY_KILL_3), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*victim*/)
|
||||
@@ -207,7 +207,7 @@ public:
|
||||
Creature* Temp = NULL;
|
||||
if (AddGUID[i])
|
||||
{
|
||||
Temp = Creature::GetCreature((*me),AddGUID[i]);
|
||||
Temp = Creature::GetCreature((*me), AddGUID[i]);
|
||||
if (Temp && Temp->isAlive())
|
||||
Temp->DisappearAndDie();
|
||||
}
|
||||
@@ -221,7 +221,7 @@ public:
|
||||
Creature* Temp = NULL;
|
||||
if (AddGUID[i])
|
||||
{
|
||||
Temp = Creature::GetCreature((*me),AddGUID[i]);
|
||||
Temp = Creature::GetCreature((*me), AddGUID[i]);
|
||||
if (Temp && Temp->isAlive())
|
||||
{
|
||||
Temp->AI()->AttackStart(me->getVictim());
|
||||
@@ -256,7 +256,7 @@ public:
|
||||
Creature* Temp = NULL;
|
||||
if (AddGUID[i])
|
||||
{
|
||||
Temp = Unit::GetCreature((*me),AddGUID[i]);
|
||||
Temp = Unit::GetCreature((*me), AddGUID[i]);
|
||||
if (Temp && Temp->isAlive())
|
||||
if (!Temp->getVictim())
|
||||
Temp->AI()->AttackStart(me->getVictim());
|
||||
@@ -300,10 +300,10 @@ public:
|
||||
{
|
||||
if (Wait_Timer <= diff)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SPECIAL_1,SAY_SPECIAL_2), me);
|
||||
DoScriptText(RAND(SAY_SPECIAL_1, SAY_SPECIAL_2), me);
|
||||
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
pTarget->CastSpell(pTarget, SPELL_GARROTE,true);
|
||||
pTarget->CastSpell(pTarget, SPELL_GARROTE, true);
|
||||
|
||||
InVanish = false;
|
||||
} else Wait_Timer -= diff;
|
||||
|
||||
@@ -52,11 +52,11 @@ enum Netherspite_Portal{
|
||||
};
|
||||
|
||||
const uint32 PortalID[3] = {17369, 17367, 17368};
|
||||
const uint32 PortalVisual[3] = {30487,30490,30491};
|
||||
const uint32 PortalBeam[3] = {30465,30464,30463};
|
||||
const uint32 PlayerBuff[3] = {30421,30422,30423};
|
||||
const uint32 NetherBuff[3] = {30466,30467,30468};
|
||||
const uint32 PlayerDebuff[3] = {38637,38638,38639};
|
||||
const uint32 PortalVisual[3] = {30487, 30490, 30491};
|
||||
const uint32 PortalBeam[3] = {30465, 30464, 30463};
|
||||
const uint32 PlayerBuff[3] = {30421, 30422, 30423};
|
||||
const uint32 NetherBuff[3] = {30466, 30467, 30468};
|
||||
const uint32 PlayerDebuff[3] = {38637, 38638, 38639};
|
||||
|
||||
class boss_netherspite : public CreatureScript
|
||||
{
|
||||
@@ -110,10 +110,10 @@ public:
|
||||
yh = pTarget->GetPositionY();
|
||||
|
||||
// check if target is between (not checking distance from the beam yet)
|
||||
if (dist(xn,yn,xh,yh) >= dist(xn,yn,xp,yp) || dist(xp,yp,xh,yh) >= dist(xn,yn,xp,yp))
|
||||
if (dist(xn, yn, xh, yh) >= dist(xn, yn, xp, yp) || dist(xp, yp, xh, yh) >= dist(xn, yn, xp, yp))
|
||||
return false;
|
||||
// check distance from the beam
|
||||
return (abs((xn-xp)*yh+(yp-yn)*xh-xn*yp+xp*yn)/dist(xn,yn,xp,yp) < 1.5f);
|
||||
return (abs((xn-xp)*yh+(yp-yn)*xh-xn*yp+xp*yn)/dist(xn, yn, xp, yp) < 1.5f);
|
||||
}
|
||||
|
||||
float dist(float xa, float ya, float xb, float yb) // auxiliary method for distance
|
||||
@@ -141,7 +141,7 @@ public:
|
||||
pos[BLUE_PORTAL] = (r>1 ? 1: 2); // Blue Portal not on the left side (0)
|
||||
|
||||
for (int i=0; i<3; ++i)
|
||||
if (Creature *portal = me->SummonCreature(PortalID[i],PortalCoord[pos[i]][0],PortalCoord[pos[i]][1],PortalCoord[pos[i]][2],0,TEMPSUMMON_TIMED_DESPAWN,60000))
|
||||
if (Creature *portal = me->SummonCreature(PortalID[i], PortalCoord[pos[i]][0], PortalCoord[pos[i]][1], PortalCoord[pos[i]][2], 0, TEMPSUMMON_TIMED_DESPAWN, 60000))
|
||||
{
|
||||
PortalGUID[i] = portal->GetGUID();
|
||||
portal->AddAura(PortalVisual[i], portal);
|
||||
@@ -181,9 +181,9 @@ public:
|
||||
Player* p = i->getSource();
|
||||
if (p && p->isAlive() // alive
|
||||
&& (!pTarget || pTarget->GetDistance2d(portal)>p->GetDistance2d(portal)) // closer than current best
|
||||
&& !p->HasAura(PlayerDebuff[j],0) // not exhausted
|
||||
&& !p->HasAura(PlayerBuff[(j+1)%3],0) // not on another beam
|
||||
&& !p->HasAura(PlayerBuff[(j+2)%3],0)
|
||||
&& !p->HasAura(PlayerDebuff[j], 0) // not exhausted
|
||||
&& !p->HasAura(PlayerBuff[(j+1)%3], 0) // not on another beam
|
||||
&& !p->HasAura(PlayerBuff[(j+2)%3], 0)
|
||||
&& IsBetween(me, p, portal)) // on the beam
|
||||
pTarget = p;
|
||||
}
|
||||
@@ -206,7 +206,7 @@ public:
|
||||
BeamerGUID[j] = 0;
|
||||
}
|
||||
// create new one and start beaming on the target
|
||||
if (Creature *beamer = portal->SummonCreature(PortalID[j],portal->GetPositionX(),portal->GetPositionY(),portal->GetPositionZ(),portal->GetOrientation(),TEMPSUMMON_TIMED_DESPAWN,60000))
|
||||
if (Creature *beamer = portal->SummonCreature(PortalID[j], portal->GetPositionX(), portal->GetPositionY(), portal->GetPositionZ(), portal->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 60000))
|
||||
{
|
||||
beamer->CastSpell(pTarget, PortalBeam[j], false);
|
||||
BeamerGUID[j] = beamer->GetGUID();
|
||||
@@ -227,7 +227,7 @@ public:
|
||||
PortalPhase = true;
|
||||
PortalTimer = 10000;
|
||||
EmpowermentTimer = 10000;
|
||||
DoScriptText(EMOTE_PHASE_PORTAL,me);
|
||||
DoScriptText(EMOTE_PHASE_PORTAL, me);
|
||||
}
|
||||
|
||||
void SwitchToBanishPhase()
|
||||
@@ -239,7 +239,7 @@ public:
|
||||
DestroyPortals();
|
||||
PhaseTimer = 30000;
|
||||
PortalPhase = false;
|
||||
DoScriptText(EMOTE_PHASE_BANISH,me);
|
||||
DoScriptText(EMOTE_PHASE_BANISH, me);
|
||||
|
||||
for (int i=0; i<3; ++i)
|
||||
me->RemoveAurasDueToSpell(NetherBuff[i]);
|
||||
@@ -271,7 +271,7 @@ public:
|
||||
// Void Zone
|
||||
if (VoidZoneTimer <= diff)
|
||||
{
|
||||
DoCast(SelectTarget(SELECT_TARGET_RANDOM,1,45,true),SPELL_VOIDZONE,true);
|
||||
DoCast(SelectTarget(SELECT_TARGET_RANDOM, 1, 45, true), SPELL_VOIDZONE, true);
|
||||
VoidZoneTimer = 15000;
|
||||
} else VoidZoneTimer -= diff;
|
||||
|
||||
@@ -314,9 +314,9 @@ public:
|
||||
// Netherbreath
|
||||
if (NetherbreathTimer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0,40,true))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 40, true))
|
||||
DoCast(pTarget, SPELL_NETHERBREATH);
|
||||
NetherbreathTimer = urand(5000,7000);
|
||||
NetherbreathTimer = urand(5000, 7000);
|
||||
} else NetherbreathTimer -= diff;
|
||||
|
||||
if (PhaseTimer <= diff)
|
||||
|
||||
@@ -48,14 +48,14 @@ EndScriptData */
|
||||
|
||||
float IntroWay[8][3] =
|
||||
{
|
||||
{-11053.37f,-1794.48f,149.00f},
|
||||
{-11141.07f,-1841.40f,125.00f},
|
||||
{-11187.28f,-1890.23f,125.00f},
|
||||
{-11189.20f,-1931.25f,125.00f},
|
||||
{-11153.76f,-1948.93f,125.00f},
|
||||
{-11128.73f,-1929.75f,125.00f},
|
||||
{-11140.00f,-1915.00f,122.00f},
|
||||
{-11163.00f,-1903.00f,91.473f}
|
||||
{-11053.37f, -1794.48f, 149.00f},
|
||||
{-11141.07f, -1841.40f, 125.00f},
|
||||
{-11187.28f, -1890.23f, 125.00f},
|
||||
{-11189.20f, -1931.25f, 125.00f},
|
||||
{-11153.76f, -1948.93f, 125.00f},
|
||||
{-11128.73f, -1929.75f, 125.00f},
|
||||
{-11140.00f, -1915.00f, 122.00f},
|
||||
{-11163.00f, -1903.00f, 91.473f}
|
||||
};
|
||||
|
||||
class boss_nightbane : public CreatureScript
|
||||
@@ -140,7 +140,7 @@ public:
|
||||
|
||||
if (!Intro)
|
||||
{
|
||||
me->SetHomePosition(IntroWay[7][0],IntroWay[7][1],IntroWay[7][2],0);
|
||||
me->SetHomePosition(IntroWay[7][0], IntroWay[7][1], IntroWay[7][2], 0);
|
||||
me->GetMotionMaster()->MoveTargetedHome();
|
||||
}
|
||||
}
|
||||
@@ -193,7 +193,7 @@ public:
|
||||
if (id >= 8)
|
||||
{
|
||||
Intro = false;
|
||||
me->SetHomePosition(IntroWay[7][0],IntroWay[7][1],IntroWay[7][2],0);
|
||||
me->SetHomePosition(IntroWay[7][0], IntroWay[7][1], IntroWay[7][2], 0);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -242,11 +242,11 @@ public:
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
(*me).GetMotionMaster()->Clear(false);
|
||||
(*me).GetMotionMaster()->MovePoint(0,IntroWay[2][0],IntroWay[2][1],IntroWay[2][2]);
|
||||
(*me).GetMotionMaster()->MovePoint(0, IntroWay[2][0], IntroWay[2][1], IntroWay[2][2]);
|
||||
|
||||
Flying = true;
|
||||
|
||||
FlyTimer = urand(45000,60000); //timer wrong between 45 and 60 seconds
|
||||
FlyTimer = urand(45000, 60000); //timer wrong between 45 and 60 seconds
|
||||
++FlyCount;
|
||||
|
||||
RainofBonesTimer = 5000; //timer wrong (maybe)
|
||||
@@ -265,11 +265,11 @@ public:
|
||||
{
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
|
||||
me->GetMotionMaster()->MovePoint(8,IntroWay[7][0],IntroWay[7][1],IntroWay[7][2]);
|
||||
me->GetMotionMaster()->MovePoint(8, IntroWay[7][0], IntroWay[7][1], IntroWay[7][2]);
|
||||
}
|
||||
else
|
||||
{
|
||||
me->GetMotionMaster()->MovePoint(MovePhase,IntroWay[MovePhase][0],IntroWay[MovePhase][1],IntroWay[MovePhase][2]);
|
||||
me->GetMotionMaster()->MovePoint(MovePhase, IntroWay[MovePhase][0], IntroWay[MovePhase][1], IntroWay[MovePhase][2]);
|
||||
++MovePhase;
|
||||
}
|
||||
}
|
||||
@@ -279,11 +279,11 @@ public:
|
||||
{
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
|
||||
me->GetMotionMaster()->MovePoint(8,IntroWay[7][0],IntroWay[7][1],IntroWay[7][2]);
|
||||
me->GetMotionMaster()->MovePoint(8, IntroWay[7][0], IntroWay[7][1], IntroWay[7][2]);
|
||||
}
|
||||
else
|
||||
{
|
||||
me->GetMotionMaster()->MovePoint(MovePhase,IntroWay[MovePhase][0],IntroWay[MovePhase][1],IntroWay[MovePhase][2]);
|
||||
me->GetMotionMaster()->MovePoint(MovePhase, IntroWay[MovePhase][0], IntroWay[MovePhase][1], IntroWay[MovePhase][2]);
|
||||
++MovePhase;
|
||||
}
|
||||
}
|
||||
@@ -310,7 +310,7 @@ public:
|
||||
if (BellowingRoarTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_BELLOWING_ROAR);
|
||||
BellowingRoarTimer = urand(30000,40000);
|
||||
BellowingRoarTimer = urand(30000, 40000);
|
||||
} else BellowingRoarTimer -= diff;
|
||||
|
||||
if (SmolderingBreathTimer <= diff)
|
||||
@@ -402,10 +402,10 @@ public:
|
||||
|
||||
if (FlyTimer <= diff) //landing
|
||||
{
|
||||
me->MonsterYell(RAND(*YELL_LAND_PHASE_1,*YELL_LAND_PHASE_2), LANG_UNIVERSAL, 0);
|
||||
me->MonsterYell(RAND(*YELL_LAND_PHASE_1, *YELL_LAND_PHASE_2), LANG_UNIVERSAL, 0);
|
||||
|
||||
me->GetMotionMaster()->Clear(false);
|
||||
me->GetMotionMaster()->MovePoint(3,IntroWay[3][0],IntroWay[3][1],IntroWay[3][2]);
|
||||
me->GetMotionMaster()->MovePoint(3, IntroWay[3][0], IntroWay[3][1], IntroWay[3][2]);
|
||||
|
||||
Flying = true;
|
||||
} else FlyTimer -= diff;
|
||||
|
||||
@@ -42,7 +42,7 @@ EndScriptData */
|
||||
// 18 Coordinates for Infernal spawns
|
||||
struct InfernalPoint
|
||||
{
|
||||
float x,y;
|
||||
float x, y;
|
||||
};
|
||||
|
||||
#define INFERNAL_Z 275.5f
|
||||
@@ -230,8 +230,8 @@ public:
|
||||
Cleave_Timer = 8000;
|
||||
InfernalTimer = 45000;
|
||||
InfernalCleanupTimer = 47000;
|
||||
AxesTargetSwitchTimer = urand(7500,20000);
|
||||
SunderArmorTimer = urand(5000,10000);
|
||||
AxesTargetSwitchTimer = urand(7500, 20000);
|
||||
SunderArmorTimer = urand(5000, 10000);
|
||||
phase = 1;
|
||||
|
||||
if (pInstance)
|
||||
@@ -240,7 +240,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit * /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1,SAY_SLAY2,SAY_SLAY3), me);
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit * /*victim*/)
|
||||
@@ -379,7 +379,7 @@ public:
|
||||
DoCast(Infernal, SPELL_INFERNAL_RELAY);
|
||||
}
|
||||
|
||||
DoScriptText(RAND(SAY_SUMMON1,SAY_SUMMON2), me);
|
||||
DoScriptText(RAND(SAY_SUMMON1, SAY_SUMMON2), me);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -477,14 +477,14 @@ public:
|
||||
if (SunderArmorTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SUNDER_ARMOR);
|
||||
SunderArmorTimer = urand(10000,18000);
|
||||
SunderArmorTimer = urand(10000, 18000);
|
||||
|
||||
} else SunderArmorTimer -= diff;
|
||||
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = urand(6000,12000);
|
||||
Cleave_Timer = urand(6000, 12000);
|
||||
|
||||
} else Cleave_Timer -= diff;
|
||||
}
|
||||
@@ -492,7 +492,7 @@ public:
|
||||
{
|
||||
if (AxesTargetSwitchTimer <= diff)
|
||||
{
|
||||
AxesTargetSwitchTimer = urand(7500,20000);
|
||||
AxesTargetSwitchTimer = urand(7500, 20000);
|
||||
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
{
|
||||
@@ -515,7 +515,7 @@ public:
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget, SPELL_AMPLIFY_DAMAGE);
|
||||
AmplifyDamageTimer = urand(20000,30000);
|
||||
AmplifyDamageTimer = urand(20000, 30000);
|
||||
} else AmplifyDamageTimer -= diff;
|
||||
}
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit * /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_KILL1,SAY_KILL2), me);
|
||||
DoScriptText(RAND(SAY_KILL1, SAY_KILL2), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit * /*victim*/)
|
||||
@@ -175,7 +175,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_AGGRO1,SAY_AGGRO2,SAY_AGGRO3), me);
|
||||
DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me);
|
||||
|
||||
if (pInstance)
|
||||
{
|
||||
@@ -345,7 +345,7 @@ public:
|
||||
|
||||
if (SecondarySpellTimer <= diff)
|
||||
{
|
||||
switch (urand(0,1))
|
||||
switch (urand(0, 1))
|
||||
{
|
||||
case 0:
|
||||
DoCast(me, SPELL_AOE_CS);
|
||||
@@ -355,7 +355,7 @@ public:
|
||||
DoCast(pTarget, SPELL_CHAINSOFICE);
|
||||
break;
|
||||
}
|
||||
SecondarySpellTimer = urand(5000,20000);
|
||||
SecondarySpellTimer = urand(5000, 20000);
|
||||
} else SecondarySpellTimer -= diff;
|
||||
|
||||
if (SuperCastTimer <= diff)
|
||||
@@ -378,12 +378,12 @@ public:
|
||||
break;
|
||||
}
|
||||
|
||||
LastSuperSpell = Available[urand(0,1)];
|
||||
LastSuperSpell = Available[urand(0, 1)];
|
||||
|
||||
switch (LastSuperSpell)
|
||||
{
|
||||
case SUPER_AE:
|
||||
DoScriptText(RAND(SAY_EXPLOSION1,SAY_EXPLOSION2), me);
|
||||
DoScriptText(RAND(SAY_EXPLOSION1, SAY_EXPLOSION2), me);
|
||||
|
||||
DoCast(me, SPELL_BLINK_CENTER, true);
|
||||
DoCast(me, SPELL_PLAYERPULL, true);
|
||||
@@ -392,7 +392,7 @@ public:
|
||||
break;
|
||||
|
||||
case SUPER_FLAME:
|
||||
DoScriptText(RAND(SAY_FLAMEWREATH1,SAY_FLAMEWREATH2), me);
|
||||
DoScriptText(RAND(SAY_FLAMEWREATH1, SAY_FLAMEWREATH2), me);
|
||||
|
||||
FlameWreathTimer = 20000;
|
||||
FlameWreathCheckTime = 500;
|
||||
@@ -405,7 +405,7 @@ public:
|
||||
break;
|
||||
|
||||
case SUPER_BLIZZARD:
|
||||
DoScriptText(RAND(SAY_BLIZZARD1,SAY_BLIZZARD2), me);
|
||||
DoScriptText(RAND(SAY_BLIZZARD1, SAY_BLIZZARD2), me);
|
||||
|
||||
if (Creature* pSpawn = me->SummonCreature(CREATURE_ARAN_BLIZZARD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 25000))
|
||||
{
|
||||
@@ -415,7 +415,7 @@ public:
|
||||
break;
|
||||
}
|
||||
|
||||
SuperCastTimer = urand(35000,40000);
|
||||
SuperCastTimer = urand(35000, 40000);
|
||||
} else SuperCastTimer -= diff;
|
||||
|
||||
if (!ElementalsSpawned && HealthBelowPct(40))
|
||||
@@ -542,7 +542,7 @@ public:
|
||||
if (CastTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WATERBOLT);
|
||||
CastTimer = urand(2000,5000);
|
||||
CastTimer = urand(2000, 5000);
|
||||
} else CastTimer -= diff;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -119,7 +119,7 @@ public:
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
DoCast(me->getVictim(), SPELL_AMPLIFY_FLAMES);
|
||||
|
||||
AmplifyTimer = urand(10000,20000);
|
||||
AmplifyTimer = urand(10000, 20000);
|
||||
} else AmplifyTimer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
@@ -157,7 +157,7 @@ public:
|
||||
{
|
||||
if (SacrificeGUID)
|
||||
{
|
||||
Unit* Sacrifice = Unit::GetUnit((*me),SacrificeGUID);
|
||||
Unit* Sacrifice = Unit::GetUnit((*me), SacrificeGUID);
|
||||
if (Sacrifice)
|
||||
Sacrifice->RemoveAurasDueToSpell(SPELL_SACRIFICE);
|
||||
}
|
||||
@@ -178,7 +178,7 @@ public:
|
||||
|
||||
struct mob_fiendish_portalAI : public PassiveAI
|
||||
{
|
||||
mob_fiendish_portalAI(Creature *c) : PassiveAI(c),summons(me){}
|
||||
mob_fiendish_portalAI(Creature *c) : PassiveAI(c), summons(me){}
|
||||
|
||||
SummonList summons;
|
||||
|
||||
@@ -333,7 +333,7 @@ public:
|
||||
|
||||
if (pSummoned->GetUInt32Value(UNIT_CREATED_BY_SPELL) == SPELL_FIENDISH_PORTAL_1)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SUMMON1,SAY_SUMMON2), me);
|
||||
DoScriptText(RAND(SAY_SUMMON1, SAY_SUMMON2), me);
|
||||
SummonedPortals = true;
|
||||
}
|
||||
}
|
||||
@@ -341,7 +341,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit * /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY1,SAY_SLAY2), me);
|
||||
DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit * /*killer*/)
|
||||
@@ -380,7 +380,7 @@ public:
|
||||
{
|
||||
CAST_AI(mob_demon_chain::mob_demon_chainAI, Chains->AI())->SacrificeGUID = pTarget->GetGUID();
|
||||
Chains->CastSpell(Chains, SPELL_DEMON_CHAINS, true);
|
||||
DoScriptText(RAND(SAY_SACRIFICE1,SAY_SACRIFICE2), me);
|
||||
DoScriptText(RAND(SAY_SACRIFICE1, SAY_SACRIFICE2), me);
|
||||
SacrificeTimer = 30000;
|
||||
}
|
||||
}
|
||||
@@ -402,7 +402,7 @@ public:
|
||||
|
||||
if (PortalGUID[0] && PortalGUID[1])
|
||||
{
|
||||
if (Creature* pPortal = Unit::GetCreature(*me, PortalGUID[urand(0,1)]))
|
||||
if (Creature* pPortal = Unit::GetCreature(*me, PortalGUID[urand(0, 1)]))
|
||||
pPortal->CastSpell(me->getVictim(), SPELL_SUMMON_FIENDISIMP, false);
|
||||
SummonTimer = 5000;
|
||||
}
|
||||
|
||||
@@ -345,7 +345,7 @@ public:
|
||||
if ((Spell->SchoolMask == SPELL_SCHOOL_MASK_FIRE) && (!(rand()%10)))
|
||||
{
|
||||
/*
|
||||
if (not direct damage(aoe,dot))
|
||||
if (not direct damage(aoe, dot))
|
||||
return;
|
||||
*/
|
||||
|
||||
@@ -597,19 +597,19 @@ public:
|
||||
if (MangleTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_MANGLE);
|
||||
MangleTimer = urand(5000,8000);
|
||||
MangleTimer = urand(5000, 8000);
|
||||
} else MangleTimer -= diff;
|
||||
|
||||
if (ShredTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SHRED);
|
||||
ShredTimer = urand(10000,15000);
|
||||
ShredTimer = urand(10000, 15000);
|
||||
} else ShredTimer -= diff;
|
||||
|
||||
if (ScreamTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_FRIGHTENED_SCREAM);
|
||||
ScreamTimer = urand(20000,30000);
|
||||
ScreamTimer = urand(20000, 30000);
|
||||
} else ScreamTimer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
@@ -653,7 +653,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_CRONE_AGGRO,SAY_CRONE_AGGRO2), me);
|
||||
DoScriptText(RAND(SAY_CRONE_AGGRO, SAY_CRONE_AGGRO2), me);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
||||
}
|
||||
@@ -683,7 +683,7 @@ public:
|
||||
|
||||
if (CycloneTimer <= diff)
|
||||
{
|
||||
if (Creature* Cyclone = DoSpawnCreature(CREATURE_CYCLONE, float(urand(0,9)), float(urand(0,9)), 0, 0, TEMPSUMMON_TIMED_DESPAWN, 15000))
|
||||
if (Creature* Cyclone = DoSpawnCreature(CREATURE_CYCLONE, float(urand(0, 9)), float(urand(0, 9)), 0, 0, TEMPSUMMON_TIMED_DESPAWN, 15000))
|
||||
Cyclone->CastSpell(Cyclone, SPELL_CYCLONE_VISUAL, true);
|
||||
CycloneTimer = 30000;
|
||||
} else CycloneTimer -= diff;
|
||||
@@ -737,7 +737,7 @@ public:
|
||||
Position pos;
|
||||
me->GetRandomNearPosition(pos, 10);
|
||||
me->GetMotionMaster()->MovePoint(0, pos);
|
||||
MoveTimer = urand(5000,8000);
|
||||
MoveTimer = urand(5000, 8000);
|
||||
} else MoveTimer -= diff;
|
||||
}
|
||||
};
|
||||
@@ -905,13 +905,13 @@ public:
|
||||
if (FearTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_TERRIFYING_HOWL);
|
||||
FearTimer = urand(25000,35000);
|
||||
FearTimer = urand(25000, 35000);
|
||||
} else FearTimer -= diff;
|
||||
|
||||
if (SwipeTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_WIDE_SWIPE);
|
||||
SwipeTimer = urand(25000,30000);
|
||||
SwipeTimer = urand(25000, 30000);
|
||||
} else SwipeTimer -= diff;
|
||||
|
||||
}
|
||||
@@ -1293,27 +1293,27 @@ public:
|
||||
if (pTarget && !me->HasInArc(M_PI, pTarget))
|
||||
{
|
||||
DoCast(pTarget, SPELL_BACKWARD_LUNGE);
|
||||
BackwardLungeTimer = urand(15000,30000);
|
||||
BackwardLungeTimer = urand(15000, 30000);
|
||||
}
|
||||
} else BackwardLungeTimer -= diff;
|
||||
|
||||
if (DaringTimer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_DARING);
|
||||
DaringTimer = urand(20000,40000);
|
||||
DaringTimer = urand(20000, 40000);
|
||||
} else DaringTimer -= diff;
|
||||
|
||||
if (DeadlySwatheTimer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget, SPELL_DEADLY_SWATHE);
|
||||
DeadlySwatheTimer = urand(15000,25000);
|
||||
DeadlySwatheTimer = urand(15000, 25000);
|
||||
} else DeadlySwatheTimer -= diff;
|
||||
|
||||
if (PoisonThrustTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_POISON_THRUST);
|
||||
PoisonThrustTimer = urand(10000,20000);
|
||||
PoisonThrustTimer = urand(10000, 20000);
|
||||
} else PoisonThrustTimer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
@@ -1412,31 +1412,31 @@ void boss_julianne::boss_julianneAI::UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(pTarget, SPELL_BLINDING_PASSION);
|
||||
BlindingPassionTimer = urand(30000,45000);
|
||||
BlindingPassionTimer = urand(30000, 45000);
|
||||
} else BlindingPassionTimer -= diff;
|
||||
|
||||
if (DevotionTimer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_DEVOTION);
|
||||
DevotionTimer = urand(15000,45000);
|
||||
DevotionTimer = urand(15000, 45000);
|
||||
} else DevotionTimer -= diff;
|
||||
|
||||
if (PowerfulAttractionTimer <= diff)
|
||||
{
|
||||
DoCast(SelectTarget(SELECT_TARGET_RANDOM, 0), SPELL_POWERFUL_ATTRACTION);
|
||||
PowerfulAttractionTimer = urand(5000,30000);
|
||||
PowerfulAttractionTimer = urand(5000, 30000);
|
||||
} else PowerfulAttractionTimer -= diff;
|
||||
|
||||
if (EternalAffectionTimer <= diff)
|
||||
{
|
||||
if (urand(0,1) && SummonedRomulo)
|
||||
if (urand(0, 1) && SummonedRomulo)
|
||||
{
|
||||
Creature* Romulo = (Unit::GetCreature((*me), RomuloGUID));
|
||||
if (Romulo && Romulo->isAlive() && !RomuloDead)
|
||||
DoCast(Romulo, SPELL_ETERNAL_AFFECTION);
|
||||
} else DoCast(me, SPELL_ETERNAL_AFFECTION);
|
||||
|
||||
EternalAffectionTimer = urand(45000,60000);
|
||||
EternalAffectionTimer = urand(45000, 60000);
|
||||
} else EternalAffectionTimer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
|
||||
|
||||
// 1 - OZ, 2 - HOOD, 3 - RAJ, this never gets altered.
|
||||
m_uiOperaEvent = urand(1,3);
|
||||
m_uiOperaEvent = urand(1, 3);
|
||||
m_uiOzDeathCount = 0;
|
||||
|
||||
m_uiCurtainGUID = 0;
|
||||
@@ -149,7 +149,7 @@ public:
|
||||
case TYPE_NETHERSPITE: m_auiEncounter[8] = uiData; break;
|
||||
case TYPE_CHESS:
|
||||
if (uiData == DONE)
|
||||
DoRespawnGameObject(DustCoveredChest,DAY);
|
||||
DoRespawnGameObject(DustCoveredChest, DAY);
|
||||
m_auiEncounter[9] = uiData;
|
||||
break;
|
||||
case TYPE_MALCHEZZAR: m_auiEncounter[10] = uiData; break;
|
||||
|
||||
@@ -342,17 +342,17 @@ public:
|
||||
case GOSSIP_ACTION_INFO_DEF+3:
|
||||
pPlayer->CLOSE_GOSSIP_MENU();
|
||||
pBarnesAI->m_uiEventId = EVENT_OZ;
|
||||
sLog->outString("TSCR: player (GUID " UI64FMTD ") manually set Opera event to EVENT_OZ",pPlayer->GetGUID());
|
||||
sLog->outString("TSCR: player (GUID " UI64FMTD ") manually set Opera event to EVENT_OZ", pPlayer->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+4:
|
||||
pPlayer->CLOSE_GOSSIP_MENU();
|
||||
pBarnesAI->m_uiEventId = EVENT_HOOD;
|
||||
sLog->outString("TSCR: player (GUID " UI64FMTD ") manually set Opera event to EVENT_HOOD",pPlayer->GetGUID());
|
||||
sLog->outString("TSCR: player (GUID " UI64FMTD ") manually set Opera event to EVENT_HOOD", pPlayer->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+5:
|
||||
pPlayer->CLOSE_GOSSIP_MENU();
|
||||
pBarnesAI->m_uiEventId = EVENT_RAJ;
|
||||
sLog->outString("TSCR: player (GUID " UI64FMTD ") manually set Opera event to EVENT_RAJ",pPlayer->GetGUID());
|
||||
sLog->outString("TSCR: player (GUID " UI64FMTD ") manually set Opera event to EVENT_RAJ", pPlayer->GetGUID());
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -375,7 +375,7 @@ public:
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, OZ_GM_GOSSIP3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
|
||||
}
|
||||
|
||||
if (npc_barnesAI* pBarnesAI = CAST_AI(npc_barnes::npc_barnesAI,pCreature->AI()))
|
||||
if (npc_barnesAI* pBarnesAI = CAST_AI(npc_barnes::npc_barnesAI, pCreature->AI()))
|
||||
{
|
||||
if (!pBarnesAI->RaidWiped)
|
||||
pPlayer->SEND_GOSSIP_MENU(8970, pCreature->GetGUID());
|
||||
@@ -459,8 +459,8 @@ public:
|
||||
#define SPELL_CONFLAGRATION_BLAST 30977
|
||||
#define SPELL_MANA_SHIELD 31635
|
||||
|
||||
static float MedivPos[4] = {-11161.49f,-1902.24f,91.48f,1.94f};
|
||||
static float ArcanagosPos[4] = {-11169.75f,-1881.48f,95.39f,4.83f};
|
||||
static float MedivPos[4] = {-11161.49f, -1902.24f, 91.48f, 1.94f};
|
||||
static float ArcanagosPos[4] = {-11169.75f, -1881.48f, 95.39f, 4.83f};
|
||||
|
||||
class npc_image_of_medivh : public CreatureScript
|
||||
{
|
||||
@@ -497,11 +497,11 @@ public:
|
||||
if (pInstance && pInstance->GetData64(DATA_IMAGE_OF_MEDIVH) == 0)
|
||||
{
|
||||
pInstance->SetData64(DATA_IMAGE_OF_MEDIVH, me->GetGUID());
|
||||
(*me).GetMotionMaster()->MovePoint(1,MedivPos[0],MedivPos[1],MedivPos[2]);
|
||||
(*me).GetMotionMaster()->MovePoint(1, MedivPos[0], MedivPos[1], MedivPos[2]);
|
||||
Step = 0;
|
||||
}else
|
||||
{
|
||||
me->DealDamage(me,me->GetHealth(),NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||
me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||
me->RemoveCorpse();
|
||||
}
|
||||
}
|
||||
@@ -523,12 +523,12 @@ public:
|
||||
{
|
||||
Step = 1;
|
||||
EventStarted = true;
|
||||
Creature* Arcanagos = me->SummonCreature(MOB_ARCANAGOS,ArcanagosPos[0],ArcanagosPos[1],ArcanagosPos[2],0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,20000);
|
||||
Creature* Arcanagos = me->SummonCreature(MOB_ARCANAGOS, ArcanagosPos[0], ArcanagosPos[1], ArcanagosPos[2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20000);
|
||||
if (!Arcanagos)
|
||||
return;
|
||||
ArcanagosGUID = Arcanagos->GetGUID();
|
||||
Arcanagos->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
(*Arcanagos).GetMotionMaster()->MovePoint(0,ArcanagosPos[0],ArcanagosPos[1],ArcanagosPos[2]);
|
||||
(*Arcanagos).GetMotionMaster()->MovePoint(0, ArcanagosPos[0], ArcanagosPos[1], ArcanagosPos[2]);
|
||||
Arcanagos->SetOrientation(ArcanagosPos[3]);
|
||||
me->SetOrientation(MedivPos[3]);
|
||||
YellTimer = 10000;
|
||||
@@ -536,7 +536,7 @@ public:
|
||||
|
||||
uint32 NextStep(uint32 Step)
|
||||
{
|
||||
Unit* arca = Unit::GetUnit((*me),ArcanagosGUID);
|
||||
Unit* arca = Unit::GetUnit((*me), ArcanagosGUID);
|
||||
Map* pMap = me->GetMap();
|
||||
switch(Step)
|
||||
{
|
||||
@@ -581,7 +581,7 @@ public:
|
||||
CAST_CRE(arca)->MonsterYell(SAY_DIALOG_ARCANAGOS_8, LANG_UNIVERSAL, 0);
|
||||
return 5000;
|
||||
case 12:
|
||||
arca->GetMotionMaster()->MovePoint(0, -11010.82f,-1761.18f, 156.47f);
|
||||
arca->GetMotionMaster()->MovePoint(0, -11010.82f, -1761.18f, 156.47f);
|
||||
arca->setActive(true);
|
||||
arca->InterruptNonMeleeSpells(true);
|
||||
arca->SetSpeed(MOVE_FLIGHT, 2.0f);
|
||||
@@ -607,7 +607,7 @@ public:
|
||||
}
|
||||
return 50000;
|
||||
case 15:
|
||||
arca->DealDamage(arca,arca->GetHealth(),NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||
arca->DealDamage(arca, arca->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||
return 5000;
|
||||
default : return 9999999;
|
||||
}
|
||||
@@ -625,7 +625,7 @@ public:
|
||||
|
||||
if (Step >= 7 && Step <= 12)
|
||||
{
|
||||
Unit* arca = Unit::GetUnit((*me),ArcanagosGUID);
|
||||
Unit* arca = Unit::GetUnit((*me), ArcanagosGUID);
|
||||
|
||||
if (FireArcanagosTimer <= diff)
|
||||
{
|
||||
|
||||
@@ -296,15 +296,15 @@ public:
|
||||
if (FireballTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_FIREBALL_NORMAL);
|
||||
FireballTimer = urand(2000,6000);
|
||||
FireballTimer = urand(2000, 6000);
|
||||
} else FireballTimer -= diff;
|
||||
|
||||
if (PhoenixTimer <= diff)
|
||||
{
|
||||
|
||||
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,1);
|
||||
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1);
|
||||
|
||||
uint8 random = urand(1,2);
|
||||
uint8 random = urand(1, 2);
|
||||
float x = KaelLocations[random][0];
|
||||
float y = KaelLocations[random][1];
|
||||
|
||||
@@ -330,7 +330,7 @@ public:
|
||||
DoCast(pTarget, SPELL_FLAMESTRIKE3, true);
|
||||
DoScriptText(SAY_FLAMESTRIKE, me);
|
||||
}
|
||||
FlameStrikeTimer = urand(15000,25000);
|
||||
FlameStrikeTimer = urand(15000, 25000);
|
||||
} else FlameStrikeTimer -= diff;
|
||||
|
||||
// Below 50%
|
||||
@@ -396,7 +396,7 @@ public:
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
|
||||
Creature* Orb = DoSpawnCreature(CREATURE_ARCANE_SPHERE, 5, 5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 30000);
|
||||
if (Orb && pTarget)
|
||||
@@ -535,7 +535,7 @@ public:
|
||||
me->ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, false);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->ClearAllReactives();
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET,0);
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, 0);
|
||||
me->GetMotionMaster()->Clear();
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
me->SetStandState(UNIT_STAND_STATE_DEAD);
|
||||
@@ -580,7 +580,7 @@ public:
|
||||
if (BurnTimer <= diff)
|
||||
{
|
||||
//spell Burn should possible do this, but it doesn't, so do this for now.
|
||||
uint16 dmg = urand(1650,2050);
|
||||
uint16 dmg = urand(1650, 2050);
|
||||
me->DealDamage(me, dmg, 0, DOT, SPELL_SCHOOL_MASK_FIRE, NULL, false);
|
||||
BurnTimer += 2000;
|
||||
} BurnTimer -= diff;
|
||||
@@ -648,7 +648,7 @@ public:
|
||||
void Reset()
|
||||
{
|
||||
DespawnTimer = 30000;
|
||||
ChangeTargetTimer = urand(6000,12000);
|
||||
ChangeTargetTimer = urand(6000, 12000);
|
||||
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
@@ -678,7 +678,7 @@ public:
|
||||
AttackStart(pTarget);
|
||||
}
|
||||
|
||||
ChangeTargetTimer = urand(5000,15000);
|
||||
ChangeTargetTimer = urand(5000, 15000);
|
||||
} else ChangeTargetTimer -= diff;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -274,7 +274,7 @@ public:
|
||||
{
|
||||
Unit *pTarget = me;
|
||||
|
||||
if (urand(0,1))
|
||||
if (urand(0, 1))
|
||||
if (Unit* pAdd = Unit::GetUnit(*me, m_auiLackeyGUID[rand()%MAX_ACTIVE_LACKEY]))
|
||||
if (pAdd->isAlive())
|
||||
pTarget = pAdd;
|
||||
@@ -287,7 +287,7 @@ public:
|
||||
{
|
||||
Unit *pTarget = me;
|
||||
|
||||
if (urand(0,1))
|
||||
if (urand(0, 1))
|
||||
if (Unit* pAdd = Unit::GetUnit(*me, m_auiLackeyGUID[rand()%MAX_ACTIVE_LACKEY]))
|
||||
if (pAdd->isAlive() && !pAdd->HasAura(SPELL_SHIELD))
|
||||
pTarget = pAdd;
|
||||
@@ -300,11 +300,11 @@ public:
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
|
||||
if (urand(0,1))
|
||||
if (urand(0, 1))
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
||||
else
|
||||
{
|
||||
if (urand(0,1))
|
||||
if (urand(0, 1))
|
||||
pTarget = me;
|
||||
else
|
||||
if (Unit* pAdd = Unit::GetUnit(*me, m_auiLackeyGUID[rand()%MAX_ACTIVE_LACKEY]))
|
||||
@@ -362,7 +362,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
|
||||
// For later development, some alternative threat system should be made
|
||||
// We do not know what this system is based upon, but one theory is class (healers=high threat, dps=medium, etc)
|
||||
// We reset their threat frequently as an alternative until such a system exist
|
||||
ResetThreatTimer = urand(5000,20000);
|
||||
ResetThreatTimer = urand(5000, 20000);
|
||||
|
||||
// in case she is not alive and Reset was for some reason called, respawn her (most likely party wipe after killing her)
|
||||
if (Creature* pDelrissa = Unit::GetCreature(*me, pInstance ? pInstance->GetData64(DATA_DELRISSA) : 0))
|
||||
@@ -1025,7 +1025,7 @@ public:
|
||||
Wing_Clip_Timer = 4000;
|
||||
Freezing_Trap_Timer = 15000;
|
||||
|
||||
Unit* pPet = Unit::GetUnit(*me,m_uiPetGUID);
|
||||
Unit* pPet = Unit::GetUnit(*me, m_uiPetGUID);
|
||||
if (!pPet)
|
||||
me->SummonCreature(NPC_SLIVER, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
|
||||
@@ -1155,7 +1155,7 @@ public:
|
||||
|
||||
if (Totem_Timer <= diff)
|
||||
{
|
||||
DoCast(me, RAND(SPELL_WINDFURY_TOTEM,SPELL_FIRE_NOVA_TOTEM,SPELL_EARTHBIND_TOTEM));
|
||||
DoCast(me, RAND(SPELL_WINDFURY_TOTEM, SPELL_FIRE_NOVA_TOTEM, SPELL_EARTHBIND_TOTEM));
|
||||
++Totem_Amount;
|
||||
Totem_Timer = Totem_Amount*2000;
|
||||
} else Totem_Timer -= diff;
|
||||
|
||||
@@ -203,7 +203,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_KILL_1,SAY_KILL_2), me);
|
||||
DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id)
|
||||
|
||||
@@ -118,10 +118,10 @@ public:
|
||||
void JustSummoned(Creature *summoned)
|
||||
{
|
||||
if (Unit *temp = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
summoned->GetMotionMaster()->MoveFollow(temp,0,0);
|
||||
summoned->GetMotionMaster()->MoveFollow(temp, 0, 0);
|
||||
|
||||
//spells are SUMMON_TYPE_GUARDIAN, so using setOwner should be ok
|
||||
summoned->CastSpell(summoned,SPELL_ENERGY_BOLT,false,0,0,me->GetGUID());
|
||||
summoned->CastSpell(summoned, SPELL_ENERGY_BOLT, false, 0, 0, me->GetGUID());
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
|
||||
@@ -209,7 +209,7 @@ class boss_ragnaros : public CreatureScript
|
||||
break;
|
||||
case EVENT_HAND_OF_RAGNAROS:
|
||||
DoCast(me, SPELL_HAND_OF_RAGNAROS);
|
||||
if (urand(0,1))
|
||||
if (urand(0, 1))
|
||||
DoScriptText(SAY_HAND, me);
|
||||
events.ScheduleEvent(EVENT_HAND_OF_RAGNAROS, 20000);
|
||||
break;
|
||||
@@ -260,7 +260,7 @@ class boss_ragnaros : public CreatureScript
|
||||
// summon 8 elementals
|
||||
for (uint8 i = 0; i < 8; ++i)
|
||||
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Creature* pSummoned = me->SummonCreature(12143, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0.0f,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,900000))
|
||||
if (Creature* pSummoned = me->SummonCreature(12143, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 900000))
|
||||
pSummoned->AI()->AttackStart(pTarget);
|
||||
|
||||
_hasSubmergedOnce = true;
|
||||
@@ -275,7 +275,7 @@ class boss_ragnaros : public CreatureScript
|
||||
|
||||
for (uint8 i = 0; i < 8; ++i)
|
||||
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Creature* pSummoned = me->SummonCreature(12143, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0.0f,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,900000))
|
||||
if (Creature* pSummoned = me->SummonCreature(12143, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 900000))
|
||||
pSummoned->AI()->AttackStart(pTarget);
|
||||
|
||||
_isBanished = true;
|
||||
|
||||
@@ -56,8 +56,8 @@ public:
|
||||
ai->Spell[0].First_Cast = 10000;
|
||||
ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET;
|
||||
|
||||
uint32 RandDebuff = RAND(SPELL_GROUND_STOMP,SPELL_ANCIENT_DREAD,SPELL_CAUTERIZING_FLAMES,
|
||||
SPELL_WITHERING_HEAT,SPELL_ANCIENT_DESPAIR,SPELL_ANCIENT_HYSTERIA);
|
||||
uint32 RandDebuff = RAND(SPELL_GROUND_STOMP, SPELL_ANCIENT_DREAD, SPELL_CAUTERIZING_FLAMES,
|
||||
SPELL_WITHERING_HEAT, SPELL_ANCIENT_DESPAIR, SPELL_ANCIENT_HYSTERIA);
|
||||
|
||||
ai->Spell[1].Enabled = true;
|
||||
ai->Spell[1].Spell_Id = RandDebuff;
|
||||
|
||||
@@ -43,17 +43,17 @@ enum eDeathKnightSpells
|
||||
#define EVENT_BLOOD_STRIKE 3
|
||||
#define EVENT_DEATH_COIL 4
|
||||
|
||||
//used by 29519,29520,29565,29566,29567 but signed for 29519
|
||||
//used by 29519, 29520, 29565, 29566, 29567 but signed for 29519
|
||||
int32 say_event_start[8] =
|
||||
{
|
||||
-1609000,-1609001,-1609002,-1609003,
|
||||
-1609004,-1609005,-1609006,-1609007
|
||||
-1609000, -1609001, -1609002, -1609003,
|
||||
-1609004, -1609005, -1609006, -1609007
|
||||
};
|
||||
|
||||
int32 say_event_attack[9] =
|
||||
{
|
||||
-1609008,-1609009,-1609010,-1609011,-1609012,
|
||||
-1609013,-1609014,-1609015,-1609016
|
||||
-1609008, -1609009, -1609010, -1609011, -1609012,
|
||||
-1609013, -1609014, -1609015, -1609016
|
||||
};
|
||||
|
||||
uint32 acherus_soul_prison[12] =
|
||||
@@ -192,7 +192,7 @@ public:
|
||||
|
||||
for (uint8 i = 0; i < 12; ++i)
|
||||
{
|
||||
if (GameObject* temp_prison = me->FindNearestGameObject(acherus_soul_prison[i],30))
|
||||
if (GameObject* temp_prison = me->FindNearestGameObject(acherus_soul_prison[i], 30))
|
||||
{
|
||||
if (me->IsWithinDist(temp_prison, dist, false))
|
||||
{
|
||||
@@ -401,7 +401,7 @@ public:
|
||||
return true;
|
||||
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ACCEPT_DUEL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
|
||||
pPlayer->SEND_GOSSIP_MENU(pPlayer->GetGossipTextId(pCreature),pCreature->GetGUID());
|
||||
pPlayer->SEND_GOSSIP_MENU(pPlayer->GetGossipTextId(pCreature), pCreature->GetGUID());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -787,14 +787,14 @@ public:
|
||||
// Ghouls should display their Birth Animation
|
||||
// Crawling out of the ground
|
||||
//DoCast(me, 35177, true);
|
||||
//me->MonsterSay("Mommy?",LANG_UNIVERSAL,0);
|
||||
//me->MonsterSay("Mommy?", LANG_UNIVERSAL, 0);
|
||||
me->SetReactState(REACT_DEFENSIVE);
|
||||
}
|
||||
|
||||
void FindMinions(Unit *owner)
|
||||
{
|
||||
std::list<Creature*> MinionList;
|
||||
owner->GetAllMinionsByEntry(MinionList,GHOULS);
|
||||
owner->GetAllMinionsByEntry(MinionList, GHOULS);
|
||||
|
||||
if (!MinionList.empty())
|
||||
{
|
||||
@@ -959,7 +959,7 @@ public:
|
||||
AddWaypoint(11, 2202.595947f, -6061.325684f, 5.882018f);
|
||||
AddWaypoint(12, 2188.974609f, -6080.866699f, 3.370027f);
|
||||
|
||||
if (urand(0,1))
|
||||
if (urand(0, 1))
|
||||
{
|
||||
AddWaypoint(13, 2176.483887f, -6110.407227f, 1.855181f);
|
||||
AddWaypoint(14, 2172.516602f, -6146.752441f, 1.074235f);
|
||||
@@ -995,7 +995,7 @@ public:
|
||||
me->SetInFront(car);
|
||||
me->SendMovementFlagUpdate();
|
||||
}
|
||||
me->MonsterSay(SAY_SCARLET_MINER1,LANG_UNIVERSAL,0);
|
||||
me->MonsterSay(SAY_SCARLET_MINER1, LANG_UNIVERSAL, 0);
|
||||
SetRun(true);
|
||||
IntroTimer = 4000;
|
||||
IntroPhase = 1;
|
||||
@@ -1009,7 +1009,7 @@ public:
|
||||
car->SendMonsterStop();
|
||||
car->RemoveAura(SPELL_CART_DRAG);
|
||||
}
|
||||
me->MonsterSay(SAY_SCARLET_MINER2,LANG_UNIVERSAL,0);
|
||||
me->MonsterSay(SAY_SCARLET_MINER2, LANG_UNIVERSAL, 0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -1059,7 +1059,7 @@ public:
|
||||
if (pPlayer->GetQuestStatus(12701) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
// Hack Why Trinity Dont Support Custom Summon Location
|
||||
if (Creature *miner = pPlayer->SummonCreature(28841, 2383.869629f, -5900.312500f, 107.996086f, pPlayer->GetOrientation(),TEMPSUMMON_DEAD_DESPAWN, 1))
|
||||
if (Creature *miner = pPlayer->SummonCreature(28841, 2383.869629f, -5900.312500f, 107.996086f, pPlayer->GetOrientation(), TEMPSUMMON_DEAD_DESPAWN, 1))
|
||||
{
|
||||
pPlayer->CastSpell(pPlayer, SPELL_CART_SUMM, true);
|
||||
if (Creature *car = pPlayer->GetVehicleCreatureBase())
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "ScriptedEscortAI.h"
|
||||
|
||||
//How to win friends and influence enemies
|
||||
// texts signed for creature 28939 but used for 28939,28940,28610
|
||||
// texts signed for creature 28939 but used for 28939, 28940, 28610
|
||||
enum win_friends
|
||||
{
|
||||
SAY_PERSUADE1 = -1609501,
|
||||
@@ -86,12 +86,12 @@ public:
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
DoCastAOE(58111, true);
|
||||
|
||||
DoScriptText(RAND(SAY_PERSUADE1,SAY_PERSUADE2,SAY_PERSUADE3,
|
||||
SAY_PERSUADE4,SAY_PERSUADE5,SAY_PERSUADE6,
|
||||
DoScriptText(RAND(SAY_PERSUADE1, SAY_PERSUADE2, SAY_PERSUADE3,
|
||||
SAY_PERSUADE4, SAY_PERSUADE5, SAY_PERSUADE6,
|
||||
SAY_PERSUADE7), caster);
|
||||
|
||||
DoScriptText(RAND(SAY_CRUSADER1,SAY_CRUSADER2,SAY_CRUSADER3,
|
||||
SAY_CRUSADER4,SAY_CRUSADER5,SAY_CRUSADER6), me);
|
||||
DoScriptText(RAND(SAY_CRUSADER1, SAY_CRUSADER2, SAY_CRUSADER3,
|
||||
SAY_CRUSADER4, SAY_CRUSADER5, SAY_CRUSADER6), me);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -183,7 +183,7 @@ public:
|
||||
{
|
||||
pCreature->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
|
||||
if (npc_escortAI* pEscortAI = CAST_AI(npc_koltira_deathweaver::npc_koltira_deathweaverAI,pCreature->AI()))
|
||||
if (npc_escortAI* pEscortAI = CAST_AI(npc_koltira_deathweaver::npc_koltira_deathweaverAI, pCreature->AI()))
|
||||
pEscortAI->Start(false, false, pPlayer->GetGUID());
|
||||
}
|
||||
return true;
|
||||
@@ -505,7 +505,7 @@ public:
|
||||
void Shout()
|
||||
{
|
||||
if (rand()%100 < 15)
|
||||
DoScriptText(RAND(SAY_VALROTH3,SAY_VALROTH4,SAY_VALROTH5), me);
|
||||
DoScriptText(RAND(SAY_VALROTH3, SAY_VALROTH4, SAY_VALROTH5), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit* killer)
|
||||
@@ -520,7 +520,7 @@ public:
|
||||
/*######
|
||||
## npc_a_special_surprise
|
||||
######*/
|
||||
//used by 29032,29061,29065,29067,29068,29070,29074,29072,29073,29071 but signed for 29032
|
||||
//used by 29032, 29061, 29065, 29067, 29068, 29070, 29074, 29072, 29073, 29071 but signed for 29032
|
||||
enum SpecialSurprise
|
||||
{
|
||||
SAY_EXEC_START_1 = -1609025, // speech for all
|
||||
|
||||
@@ -243,7 +243,7 @@ void UpdateWorldState(Map *map, uint32 id, uint32 state)
|
||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
{
|
||||
if (Player* pPlayer = itr->getSource())
|
||||
pPlayer->SendUpdateWorldState(id,state);
|
||||
pPlayer->SendUpdateWorldState(id, state);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -377,11 +377,11 @@ public:
|
||||
uiTotal_scourge = ENCOUNTER_TOTAL_SCOURGE;
|
||||
uiSummon_counter = 0;
|
||||
|
||||
uiAnti_magic_zone = urand(1000,6000);
|
||||
uiDeath_strike = urand(5000,10000);
|
||||
uiDeath_embrace = urand(5000,10000);
|
||||
uiIcy_touch = urand(5000,10000);
|
||||
uiUnholy_blight = urand(5000,10000);
|
||||
uiAnti_magic_zone = urand(1000, 6000);
|
||||
uiDeath_strike = urand(5000, 10000);
|
||||
uiDeath_embrace = urand(5000, 10000);
|
||||
uiIcy_touch = urand(5000, 10000);
|
||||
uiUnholy_blight = urand(5000, 10000);
|
||||
|
||||
uiFight_speech = 15000;
|
||||
uiSpawncheck = 1000;
|
||||
@@ -1381,11 +1381,11 @@ public:
|
||||
|
||||
if (uiFight_speech <= diff)
|
||||
{
|
||||
DoScriptText(RAND(SAY_LIGHT_OF_DAWN09,SAY_LIGHT_OF_DAWN10,SAY_LIGHT_OF_DAWN11,
|
||||
SAY_LIGHT_OF_DAWN12,SAY_LIGHT_OF_DAWN13,SAY_LIGHT_OF_DAWN14,
|
||||
SAY_LIGHT_OF_DAWN15,SAY_LIGHT_OF_DAWN16,SAY_LIGHT_OF_DAWN17,
|
||||
SAY_LIGHT_OF_DAWN18,SAY_LIGHT_OF_DAWN19,SAY_LIGHT_OF_DAWN20,
|
||||
SAY_LIGHT_OF_DAWN21,SAY_LIGHT_OF_DAWN22,SAY_LIGHT_OF_DAWN23,
|
||||
DoScriptText(RAND(SAY_LIGHT_OF_DAWN09, SAY_LIGHT_OF_DAWN10, SAY_LIGHT_OF_DAWN11,
|
||||
SAY_LIGHT_OF_DAWN12, SAY_LIGHT_OF_DAWN13, SAY_LIGHT_OF_DAWN14,
|
||||
SAY_LIGHT_OF_DAWN15, SAY_LIGHT_OF_DAWN16, SAY_LIGHT_OF_DAWN17,
|
||||
SAY_LIGHT_OF_DAWN18, SAY_LIGHT_OF_DAWN19, SAY_LIGHT_OF_DAWN20,
|
||||
SAY_LIGHT_OF_DAWN21, SAY_LIGHT_OF_DAWN22, SAY_LIGHT_OF_DAWN23,
|
||||
SAY_LIGHT_OF_DAWN24), me);
|
||||
uiFight_speech = 15000 + rand()%5000;
|
||||
} else uiFight_speech -= diff;
|
||||
@@ -1535,7 +1535,7 @@ public:
|
||||
{
|
||||
if (Creature* pTemp = Unit::GetCreature(*me, ui_GUID))
|
||||
if (pTemp->isAlive())
|
||||
if (Unit* pTarger = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit* pTarger = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (pTarger->isAlive())
|
||||
{
|
||||
// pTemp->DeleteThreatList();
|
||||
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
FlyBackTimer = 500;
|
||||
break;
|
||||
case 1:
|
||||
plr->GetClosePoint(x,y,z, me->GetObjectSize());
|
||||
plr->GetClosePoint(x, y, z, me->GetObjectSize());
|
||||
z += 2.5; x -= 2; y -= 1.5;
|
||||
me->GetMotionMaster()->MovePoint(0, x, y, z);
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, plr->GetGUID());
|
||||
|
||||
@@ -101,7 +101,7 @@ public:
|
||||
|
||||
if (Polymorph_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,1))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1))
|
||||
DoCast(pTarget, SPELL_POLYMORPH);
|
||||
|
||||
Polymorph_Timer = 20000;
|
||||
|
||||
@@ -89,33 +89,33 @@ struct Locations
|
||||
|
||||
static Locations FlightPoint[]=
|
||||
{
|
||||
{1754.00f,1346.00f,17.50f},
|
||||
{1765.00f,1347.00f,19.00f},
|
||||
{1784.00f,1346.80f,25.40f},
|
||||
{1803.30f,1347.60f,33.00f},
|
||||
{1824.00f,1350.00f,42.60f},
|
||||
{1838.80f,1353.20f,49.80f},
|
||||
{1852.00f,1357.60f,55.70f},
|
||||
{1861.30f,1364.00f,59.40f},
|
||||
{1866.30f,1374.80f,61.70f},
|
||||
{1864.00f,1387.30f,63.20f},
|
||||
{1854.80f,1399.40f,64.10f},
|
||||
{1844.00f,1406.90f,64.10f},
|
||||
{1824.30f,1411.40f,63.30f},
|
||||
{1801.00f,1412.30f,60.40f},
|
||||
{1782.00f,1410.10f,55.50f},
|
||||
{1770.50f,1405.20f,50.30f},
|
||||
{1765.20f,1400.70f,46.60f},
|
||||
{1761.40f,1393.40f,41.70f},
|
||||
{1759.10f,1386.70f,36.60f},
|
||||
{1757.80f,1378.20f,29.00f},
|
||||
{1758.00f,1367.00f,19.51f}
|
||||
{1754.00f, 1346.00f, 17.50f},
|
||||
{1765.00f, 1347.00f, 19.00f},
|
||||
{1784.00f, 1346.80f, 25.40f},
|
||||
{1803.30f, 1347.60f, 33.00f},
|
||||
{1824.00f, 1350.00f, 42.60f},
|
||||
{1838.80f, 1353.20f, 49.80f},
|
||||
{1852.00f, 1357.60f, 55.70f},
|
||||
{1861.30f, 1364.00f, 59.40f},
|
||||
{1866.30f, 1374.80f, 61.70f},
|
||||
{1864.00f, 1387.30f, 63.20f},
|
||||
{1854.80f, 1399.40f, 64.10f},
|
||||
{1844.00f, 1406.90f, 64.10f},
|
||||
{1824.30f, 1411.40f, 63.30f},
|
||||
{1801.00f, 1412.30f, 60.40f},
|
||||
{1782.00f, 1410.10f, 55.50f},
|
||||
{1770.50f, 1405.20f, 50.30f},
|
||||
{1765.20f, 1400.70f, 46.60f},
|
||||
{1761.40f, 1393.40f, 41.70f},
|
||||
{1759.10f, 1386.70f, 36.60f},
|
||||
{1757.80f, 1378.20f, 29.00f},
|
||||
{1758.00f, 1367.00f, 19.51f}
|
||||
};
|
||||
|
||||
static Locations Spawn[]=
|
||||
{
|
||||
{1776.27f,1348.74f,19.20f}, //spawn point for pumpkin shrine mob
|
||||
{1765.28f,1347.46f,17.55f} //spawn point for smoke
|
||||
{1776.27f, 1348.74f, 19.20f}, //spawn point for pumpkin shrine mob
|
||||
{1765.28f, 1347.46f, 17.55f} //spawn point for smoke
|
||||
};
|
||||
|
||||
static const char* Text[]=
|
||||
@@ -245,7 +245,7 @@ public:
|
||||
die = false;
|
||||
withbody = true;
|
||||
wait = 1000;
|
||||
laugh = urand(15000,30000);
|
||||
laugh = urand(15000, 30000);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/) {}
|
||||
@@ -253,13 +253,13 @@ public:
|
||||
{
|
||||
DoScriptText(textEntry, me, pTarget);
|
||||
//DoCast(me, SPELL_HEAD_SPEAKS, true);
|
||||
Creature *speaker = DoSpawnCreature(HELPER,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,1000);
|
||||
Creature *speaker = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 1000);
|
||||
if (speaker)
|
||||
speaker->CastSpell(speaker,SPELL_HEAD_SPEAKS,false);
|
||||
speaker->CastSpell(speaker, SPELL_HEAD_SPEAKS, false);
|
||||
laugh += 3000;
|
||||
}
|
||||
|
||||
void DamageTaken(Unit* /*done_by*/,uint32 &damage)
|
||||
void DamageTaken(Unit* /*done_by*/, uint32 &damage)
|
||||
{
|
||||
if (withbody)
|
||||
return;
|
||||
@@ -327,13 +327,13 @@ public:
|
||||
|
||||
if (laugh <= diff)
|
||||
{
|
||||
laugh = urand(15000,30000);
|
||||
DoPlaySoundToSet(me, RandomLaugh[urand(0,2)]);
|
||||
laugh = urand(15000, 30000);
|
||||
DoPlaySoundToSet(me, RandomLaugh[urand(0, 2)]);
|
||||
//DoCast(me, SPELL_HEAD_SPEAKS, true); //this spell remove buff "head"
|
||||
Creature *speaker = DoSpawnCreature(HELPER,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,1000);
|
||||
Creature *speaker = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 1000);
|
||||
if (speaker)
|
||||
speaker->CastSpell(speaker,SPELL_HEAD_SPEAKS,false);
|
||||
me->MonsterTextEmote(EMOTE_LAUGHS,0);
|
||||
speaker->CastSpell(speaker, SPELL_HEAD_SPEAKS, false);
|
||||
me->MonsterTextEmote(EMOTE_LAUGHS, 0);
|
||||
} else laugh -= diff;
|
||||
}
|
||||
else
|
||||
@@ -400,7 +400,7 @@ public:
|
||||
Phase = 1;
|
||||
conflagrate = 15000;
|
||||
summonadds = 15000;
|
||||
laugh = urand(16000,20000);
|
||||
laugh = urand(16000, 20000);
|
||||
cleave = 2000;
|
||||
regen = 1000;
|
||||
burn = 6000;
|
||||
@@ -429,7 +429,7 @@ public:
|
||||
me->SetVisible(false);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT | MOVEMENTFLAG_LEVITATING);
|
||||
me->SetSpeed(MOVE_WALK,5.0f,true);
|
||||
me->SetSpeed(MOVE_WALK, 5.0f, true);
|
||||
wp_reached = false;
|
||||
count = 0;
|
||||
say_timer = 3000;
|
||||
@@ -451,7 +451,7 @@ public:
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
if (Creature *smoke = me->SummonCreature(HELPER,Spawn[1].x,Spawn[1].y,Spawn[1].z,0,TEMPSUMMON_TIMED_DESPAWN,20000))
|
||||
if (Creature *smoke = me->SummonCreature(HELPER, Spawn[1].x, Spawn[1].y, Spawn[1].z, 0, TEMPSUMMON_TIMED_DESPAWN, 20000))
|
||||
CAST_AI(mob_wisp_invis::mob_wisp_invisAI, smoke->AI())->SetType(3);
|
||||
DoCast(me, SPELL_RHYME_BIG);
|
||||
break;
|
||||
@@ -470,7 +470,7 @@ public:
|
||||
wp_reached = false;
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
SaySound(SAY_ENTRANCE);
|
||||
if (Unit *plr = Unit::GetUnit((*me),PlayerGUID))
|
||||
if (Unit *plr = Unit::GetUnit((*me), PlayerGUID))
|
||||
DoStartMovement(plr);
|
||||
break;
|
||||
}
|
||||
@@ -537,7 +537,7 @@ public:
|
||||
void SpellHitTarget(Unit* unit, const SpellEntry* spell)
|
||||
{
|
||||
if (spell->Id == SPELL_CONFLAGRATION && unit->HasAura(SPELL_CONFLAGRATION))
|
||||
SaySound(SAY_CONFLAGRATION,unit);
|
||||
SaySound(SAY_CONFLAGRATION, unit);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
@@ -545,9 +545,9 @@ public:
|
||||
me->StopMoving();
|
||||
//me->GetMotionMaster()->MoveIdle();
|
||||
SaySound(SAY_DEATH);
|
||||
if (Creature *flame = DoSpawnCreature(HELPER,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,60000))
|
||||
flame->CastSpell(flame,SPELL_BODY_FLAME,false);
|
||||
if (Creature *wisp = DoSpawnCreature(WISP_INVIS,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,60000))
|
||||
if (Creature *flame = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 60000))
|
||||
flame->CastSpell(flame, SPELL_BODY_FLAME, false);
|
||||
if (Creature *wisp = DoSpawnCreature(WISP_INVIS, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 60000))
|
||||
CAST_AI(mob_wisp_invis::mob_wisp_invisAI, wisp->AI())->SetType(4);
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_HORSEMAN_EVENT, DONE);
|
||||
@@ -571,14 +571,14 @@ public:
|
||||
SaySound(SAY_REJOINED);
|
||||
DoCast(me, SPELL_HEAD);
|
||||
caster->GetMotionMaster()->Clear(false);
|
||||
caster->GetMotionMaster()->MoveFollow(me,6,float(urand(0,5)));
|
||||
caster->GetMotionMaster()->MoveFollow(me, 6, float(urand(0, 5)));
|
||||
//DoResetThreat();//not sure if need
|
||||
std::list<HostileReference*>::const_iterator itr;
|
||||
for (itr = caster->getThreatManager().getThreatList().begin(); itr != caster->getThreatManager().getThreatList().end(); ++itr)
|
||||
{
|
||||
Unit* pUnit = Unit::GetUnit((*me), (*itr)->getUnitGuid());
|
||||
if (pUnit && pUnit->isAlive() && pUnit != caster)
|
||||
me->AddThreat(pUnit,caster->getThreatManager().getThreat(pUnit));
|
||||
me->AddThreat(pUnit, caster->getThreatManager().getThreat(pUnit));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -594,19 +594,19 @@ public:
|
||||
me->SetName("Headless Horseman, Unhorsed");
|
||||
|
||||
if (!headGUID)
|
||||
headGUID = DoSpawnCreature(HEAD, float(rand()%6), float(rand()%6),0,0,TEMPSUMMON_DEAD_DESPAWN,0)->GetGUID();
|
||||
headGUID = DoSpawnCreature(HEAD, float(rand()%6), float(rand()%6), 0, 0, TEMPSUMMON_DEAD_DESPAWN, 0)->GetGUID();
|
||||
Unit* Head = Unit::GetUnit((*me), headGUID);
|
||||
if (Head && Head->isAlive())
|
||||
{
|
||||
Head->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
//Head->CastSpell(Head,SPELL_HEAD_INVIS,false);
|
||||
//Head->CastSpell(Head, SPELL_HEAD_INVIS, false);
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
DoCast(me, SPELL_IMMUNE, true);
|
||||
DoCast(me, SPELL_BODY_REGEN, true);
|
||||
DoCast(Head, SPELL_FLYING_HEAD, true);
|
||||
DoCast(me, SPELL_CONFUSE, false); //test
|
||||
done_by->ProcDamageAndSpell(me,PROC_FLAG_KILL,PROC_FLAG_KILLED,PROC_EX_NONE,0);
|
||||
whirlwind = urand(4000,8000);
|
||||
done_by->ProcDamageAndSpell(me, PROC_FLAG_KILL, PROC_FLAG_KILLED, PROC_EX_NONE, 0);
|
||||
whirlwind = urand(4000, 8000);
|
||||
regen = 0;
|
||||
}
|
||||
}
|
||||
@@ -653,7 +653,7 @@ public:
|
||||
{
|
||||
wp_reached = false;
|
||||
me->GetMotionMaster()->Clear(false);
|
||||
me->GetMotionMaster()->MovePoint(id,FlightPoint[id].x,FlightPoint[id].y,FlightPoint[id].z);
|
||||
me->GetMotionMaster()->MovePoint(id, FlightPoint[id].x, FlightPoint[id].y, FlightPoint[id].z);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -663,7 +663,7 @@ public:
|
||||
break;
|
||||
if (burn <= diff)
|
||||
{
|
||||
if (Creature *flame = me->SummonCreature(HELPER,Spawn[0].x,Spawn[0].y,Spawn[0].z,0,TEMPSUMMON_TIMED_DESPAWN,17000))
|
||||
if (Creature *flame = me->SummonCreature(HELPER, Spawn[0].x, Spawn[0].y, Spawn[0].z, 0, TEMPSUMMON_TIMED_DESPAWN, 17000))
|
||||
CAST_AI(mob_wisp_invis::mob_wisp_invisAI, flame->AI())->SetType(2);
|
||||
burned = true;
|
||||
} else burn -= diff;
|
||||
@@ -673,7 +673,7 @@ public:
|
||||
{
|
||||
if (Unit *plr = SelectRandomPlayer(30.0f))
|
||||
DoCast(plr, SPELL_CONFLAGRATION, false);
|
||||
conflagrate = urand(10000,16000);
|
||||
conflagrate = urand(10000, 16000);
|
||||
} else conflagrate -= diff;
|
||||
break;
|
||||
case 3:
|
||||
@@ -682,15 +682,15 @@ public:
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
DoCast(me, SPELL_SUMMON_PUMPKIN);
|
||||
SaySound(SAY_SPROUTING_PUMPKINS);
|
||||
summonadds = urand(25000,35000);
|
||||
summonadds = urand(25000, 35000);
|
||||
} else summonadds -= diff;
|
||||
break;
|
||||
}
|
||||
|
||||
if (laugh <= diff)
|
||||
{
|
||||
laugh = urand(11000,22000);
|
||||
me->MonsterTextEmote(EMOTE_LAUGHS,0);
|
||||
laugh = urand(11000, 22000);
|
||||
me->MonsterTextEmote(EMOTE_LAUGHS, 0);
|
||||
DoPlaySoundToSet(me, RandomLaugh[rand()%3]);
|
||||
} else laugh -= diff;
|
||||
|
||||
@@ -700,7 +700,7 @@ public:
|
||||
if (cleave <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_CLEAVE);
|
||||
cleave = urand(2000,6000); //1 cleave per 2.0f-6.0fsec
|
||||
cleave = urand(2000, 6000); //1 cleave per 2.0f-6.0fsec
|
||||
} else cleave -= diff;
|
||||
}
|
||||
}
|
||||
@@ -728,8 +728,8 @@ public:
|
||||
|
||||
if (whirlwind <= diff)
|
||||
{
|
||||
whirlwind = urand(4000,8000);
|
||||
if (urand(0,1))
|
||||
whirlwind = urand(4000, 8000);
|
||||
if (urand(0, 1))
|
||||
{
|
||||
me->RemoveAurasDueToSpell(SPELL_CONFUSE);
|
||||
DoCast(me, SPELL_WHIRLWIND, true);
|
||||
@@ -764,20 +764,20 @@ public:
|
||||
{
|
||||
float x, y, z;
|
||||
me->GetPosition(x, y, z); //this visual aura some under ground
|
||||
me->GetMap()->CreatureRelocation(me, x,y,z + 0.35f, 0.0f);
|
||||
me->GetMap()->CreatureRelocation(me, x, y, z + 0.35f, 0.0f);
|
||||
Despawn();
|
||||
Creature *debuff = DoSpawnCreature(HELPER,0,0,0,0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,14500);
|
||||
Creature *debuff = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 14500);
|
||||
if (debuff)
|
||||
{
|
||||
debuff->SetDisplayId(me->GetDisplayId());
|
||||
debuff->CastSpell(debuff,SPELL_PUMPKIN_AURA_GREEN,false);
|
||||
debuff->CastSpell(debuff, SPELL_PUMPKIN_AURA_GREEN, false);
|
||||
CAST_AI(mob_wisp_invis::mob_wisp_invisAI, debuff->AI())->SetType(1);
|
||||
debuffGUID = debuff->GetGUID();
|
||||
}
|
||||
sprouted = false;
|
||||
DoCast(me, SPELL_PUMPKIN_AURA, true);
|
||||
DoCast(me, SPELL_SPROUTING);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_STUNNED);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/){}
|
||||
@@ -788,7 +788,7 @@ public:
|
||||
{
|
||||
sprouted = true;
|
||||
me->RemoveAllAuras();
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_STUNNED);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
|
||||
DoCast(me, SPELL_SPROUT_BODY, true);
|
||||
me->UpdateEntry(PUMPKIN_FIEND);
|
||||
DoStartMovement(me->getVictim());
|
||||
@@ -798,7 +798,7 @@ public:
|
||||
void Despawn()
|
||||
{
|
||||
if (!debuffGUID) return;
|
||||
Unit *debuff = Unit::GetUnit((*me),debuffGUID);
|
||||
Unit *debuff = Unit::GetUnit((*me), debuffGUID);
|
||||
if (debuff)
|
||||
debuff->SetVisible(false);
|
||||
debuffGUID = 0;
|
||||
@@ -811,7 +811,7 @@ public:
|
||||
if (!who || !who->isTargetableForAttack() || !me->IsHostileTo(who) || me->getVictim())
|
||||
return;
|
||||
|
||||
me->AddThreat(who,0.0f);
|
||||
me->AddThreat(who, 0.0f);
|
||||
if (sprouted)
|
||||
DoStartMovement(who);
|
||||
}
|
||||
@@ -847,7 +847,7 @@ public:
|
||||
if (plr->GetQuestStatus(11405) == QUEST_STATUS_INCOMPLETE && plr->getLevel() > 64)
|
||||
{ */
|
||||
pPlayer->AreaExploredOrEventHappens(11405);
|
||||
if (Creature *horseman = soil->SummonCreature(HH_MOUNTED,FlightPoint[20].x,FlightPoint[20].y,FlightPoint[20].z,0,TEMPSUMMON_MANUAL_DESPAWN,0))
|
||||
if (Creature *horseman = soil->SummonCreature(HH_MOUNTED, FlightPoint[20].x, FlightPoint[20].y, FlightPoint[20].z, 0, TEMPSUMMON_MANUAL_DESPAWN, 0))
|
||||
{
|
||||
CAST_AI(boss_headless_horseman::boss_headless_horsemanAI, horseman->AI())->PlayerGUID = pPlayer->GetGUID();
|
||||
CAST_AI(boss_headless_horseman::boss_headless_horsemanAI, horseman->AI())->FlyMode();
|
||||
|
||||
@@ -132,7 +132,7 @@ public:
|
||||
{
|
||||
mob_scarlet_traineeAI(Creature *c) : npc_escortAI(c)
|
||||
{
|
||||
Start_Timer = urand(1000,6000);
|
||||
Start_Timer = urand(1000, 6000);
|
||||
}
|
||||
|
||||
uint32 Start_Timer;
|
||||
@@ -147,7 +147,7 @@ public:
|
||||
{
|
||||
if (Start_Timer <= diff)
|
||||
{
|
||||
Start(true,true);
|
||||
Start(true, true);
|
||||
Start_Timer = 0;
|
||||
} else Start_Timer -= diff;
|
||||
}
|
||||
|
||||
+3
-3
@@ -87,7 +87,7 @@ public:
|
||||
//Fear_Timer
|
||||
if (Fear_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,1))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1))
|
||||
DoCast(pTarget, SPELL_FEAR);
|
||||
|
||||
Fear_Timer = 40000;
|
||||
@@ -96,7 +96,7 @@ public:
|
||||
//Sleep_Timer
|
||||
if (Sleep_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_TOPAGGRO,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_TOPAGGRO, 0))
|
||||
DoCast(pTarget, SPELL_SLEEP);
|
||||
|
||||
Sleep_Timer = 30000;
|
||||
@@ -112,7 +112,7 @@ public:
|
||||
//Dispel_Timer
|
||||
if (Dispel_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, SPELL_DISPELMAGIC);
|
||||
|
||||
DispelMagic_Timer = 30000;
|
||||
|
||||
@@ -81,7 +81,7 @@ public:
|
||||
return;
|
||||
|
||||
//Any other actions to do with vorrel? setStandState?
|
||||
if (Unit *vorrel = Unit::GetUnit(*me,pInstance->GetData64(DATA_VORREL)))
|
||||
if (Unit *vorrel = Unit::GetUnit(*me, pInstance->GetData64(DATA_VORREL)))
|
||||
DoScriptText(SAY_TRIGGER_VORREL, vorrel);
|
||||
}
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ public:
|
||||
|
||||
if (m_pInstance)
|
||||
if (me->isAlive())
|
||||
m_pInstance->SetData(TYPE_MOGRAINE_AND_WHITE_EVENT,NOT_STARTED);
|
||||
m_pInstance->SetData(TYPE_MOGRAINE_AND_WHITE_EVENT, NOT_STARTED);
|
||||
|
||||
m_bHasDied = false;
|
||||
m_bHeal = false;
|
||||
@@ -133,7 +133,7 @@ public:
|
||||
{
|
||||
m_pInstance->SetData(TYPE_MOGRAINE_AND_WHITE_EVENT, IN_PROGRESS);
|
||||
|
||||
Whitemane->GetMotionMaster()->MovePoint(1,1163.113370f,1398.856812f,32.527786f);
|
||||
Whitemane->GetMotionMaster()->MovePoint(1, 1163.113370f, 1398.856812f, 32.527786f);
|
||||
|
||||
me->GetMotionMaster()->MovementExpired();
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
if (Teleport_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
if (pTarget && pTarget->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
if (DoGetThreat(pTarget))
|
||||
@@ -135,80 +135,80 @@ public:
|
||||
switch(rand()%6)
|
||||
{
|
||||
case 0:
|
||||
DoTeleportPlayer(pTarget, 250.0696f,0.3921f,84.8408f,3.149f);
|
||||
Summoned = me->SummonCreature(16119,254.2325f,0.3417f,84.8407f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
DoTeleportPlayer(pTarget, 250.0696f, 0.3921f, 84.8408f, 3.149f);
|
||||
Summoned = me->SummonCreature(16119, 254.2325f, 0.3417f, 84.8407f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,257.7133f,4.0226f,84.8407f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 257.7133f, 4.0226f, 84.8407f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,258.6702f,-2.60656f,84.8407f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 258.6702f, -2.60656f, 84.8407f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
break;
|
||||
case 1:
|
||||
DoTeleportPlayer(pTarget, 181.4220f,-91.9481f,84.8410f,1.608f);
|
||||
Summoned = me->SummonCreature(16119,184.0519f,-73.5649f,84.8407f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
DoTeleportPlayer(pTarget, 181.4220f, -91.9481f, 84.8410f, 1.608f);
|
||||
Summoned = me->SummonCreature(16119, 184.0519f, -73.5649f, 84.8407f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,179.5951f,-73.7045f,84.8407f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 179.5951f, -73.7045f, 84.8407f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,180.6452f,-78.2143f,84.8407f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 180.6452f, -78.2143f, 84.8407f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,283.2274f,-78.1518f,84.8407f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 283.2274f, -78.1518f, 84.8407f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
break;
|
||||
case 2:
|
||||
DoTeleportPlayer(pTarget, 95.1547f,-1.8173f,85.2289f,0.043f);
|
||||
Summoned = me->SummonCreature(16119,100.9404f,-1.8016f,85.2289f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
DoTeleportPlayer(pTarget, 95.1547f, -1.8173f, 85.2289f, 0.043f);
|
||||
Summoned = me->SummonCreature(16119, 100.9404f, -1.8016f, 85.2289f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,101.3729f,0.4882f,85.2289f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 101.3729f, 0.4882f, 85.2289f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,101.4596f,-4.4740f,85.2289f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 101.4596f, -4.4740f, 85.2289f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
break;
|
||||
case 3:
|
||||
DoTeleportPlayer(pTarget, 250.0696f,0.3921f,72.6722f,3.149f);
|
||||
Summoned = me->SummonCreature(16119,240.34481f,0.7368f,72.6722f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
DoTeleportPlayer(pTarget, 250.0696f, 0.3921f, 72.6722f, 3.149f);
|
||||
Summoned = me->SummonCreature(16119, 240.34481f, 0.7368f, 72.6722f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,240.3633f,-2.9520f,72.6722f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 240.3633f, -2.9520f, 72.6722f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,240.6702f,3.34949f,72.6722f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 240.6702f, 3.34949f, 72.6722f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
break;
|
||||
case 4:
|
||||
DoTeleportPlayer(pTarget, 181.4220f,-91.9481f,70.7734f,1.608f);
|
||||
Summoned = me->SummonCreature(16119,184.0519f,-73.5649f,70.7734f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
DoTeleportPlayer(pTarget, 181.4220f, -91.9481f, 70.7734f, 1.608f);
|
||||
Summoned = me->SummonCreature(16119, 184.0519f, -73.5649f, 70.7734f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,179.5951f,-73.7045f,70.7734f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 179.5951f, -73.7045f, 70.7734f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,180.6452f,-78.2143f,70.7734f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 180.6452f, -78.2143f, 70.7734f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,283.2274f,-78.1518f,70.7734f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 283.2274f, -78.1518f, 70.7734f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
break;
|
||||
case 5:
|
||||
DoTeleportPlayer(pTarget, 106.1541f,-1.8994f,75.3663f,0.043f);
|
||||
Summoned = me->SummonCreature(16119,115.3945f,-1.5555f,75.3663f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
DoTeleportPlayer(pTarget, 106.1541f, -1.8994f, 75.3663f, 0.043f);
|
||||
Summoned = me->SummonCreature(16119, 115.3945f, -1.5555f, 75.3663f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,257.7133f,1.8066f,75.3663f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 257.7133f, 1.8066f, 75.3663f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
Summoned = me->SummonCreature(16119,258.6702f,-5.1001f,75.3663f,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
|
||||
Summoned = me->SummonCreature(16119, 258.6702f, -5.1001f, 75.3663f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
|
||||
if (Summoned)
|
||||
Summoned->AI()->AttackStart(pTarget);
|
||||
break;
|
||||
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
if (ShadowShock_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
if (pTarget) DoCast(pTarget, SPELL_SHADOWSHOCK);
|
||||
|
||||
ShadowShock_Timer = 12000;
|
||||
|
||||
@@ -97,7 +97,7 @@ public:
|
||||
if (Corruption_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
if (pTarget) DoCast(pTarget, SPELL_CORRUPTION);
|
||||
|
||||
Corruption_Timer = 24000;
|
||||
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
|
||||
void SummonIllusions(Unit* victim)
|
||||
{
|
||||
if (Creature *Illusion = DoSpawnCreature(11439, float(irand(-9,9)), float(irand(-9,9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000))
|
||||
if (Creature *Illusion = DoSpawnCreature(11439, float(irand(-9, 9)), float(irand(-9, 9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000))
|
||||
Illusion->AI()->AttackStart(victim);
|
||||
}
|
||||
|
||||
@@ -108,13 +108,13 @@ public:
|
||||
me->setFaction(35);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetDisplayId(11686); // Invisible Model
|
||||
DoModifyThreatPercent(me->getVictim(),-99);
|
||||
DoModifyThreatPercent(me->getVictim(), -99);
|
||||
|
||||
//Summon 10 Illusions attacking random gamers
|
||||
Unit *pTarget = NULL;
|
||||
for (uint8 i = 0; i < 10; ++i)
|
||||
{
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
if (pTarget)
|
||||
SummonIllusions(pTarget);
|
||||
}
|
||||
|
||||
@@ -63,13 +63,13 @@ public:
|
||||
|
||||
void SummonMinions(Unit* victim)
|
||||
{
|
||||
if (Creature *SummonedMinion = DoSpawnCreature(16119, float(irand(-7,7)), float(irand(-7,7)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000))
|
||||
if (Creature *SummonedMinion = DoSpawnCreature(16119, float(irand(-7, 7)), float(irand(-7, 7)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000))
|
||||
SummonedMinion->AI()->AttackStart(victim);
|
||||
}
|
||||
|
||||
void SummonMages(Unit* victim)
|
||||
{
|
||||
if (Creature *SummonedMage = DoSpawnCreature(16120, float(irand(-9,9)), float(irand(-9,9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000))
|
||||
if (Creature *SummonedMage = DoSpawnCreature(16120, float(irand(-9, 9)), float(irand(-9, 9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000))
|
||||
SummonedMage->AI()->AttackStart(victim);
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ public:
|
||||
if (Immolate_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
if (pTarget) DoCast(pTarget, SPELL_IMMOLATE);
|
||||
|
||||
Immolate_Timer = 12000;
|
||||
|
||||
@@ -48,11 +48,11 @@ enum eEnums
|
||||
|
||||
const Position SpawnLocation[] =
|
||||
{
|
||||
{-148.199f,2165.647f,128.448f,1.026f},
|
||||
{-153.110f,2168.620f,128.448f,1.026f},
|
||||
{-145.905f,2180.520f,128.448f,4.183f},
|
||||
{-140.794f,2178.037f,128.448f,4.090f},
|
||||
{-138.640f,2170.159f,136.577f,2.737f}
|
||||
{-148.199f, 2165.647f, 128.448f, 1.026f},
|
||||
{-153.110f, 2168.620f, 128.448f, 1.026f},
|
||||
{-145.905f, 2180.520f, 128.448f, 4.183f},
|
||||
{-140.794f, 2178.037f, 128.448f, 4.090f},
|
||||
{-138.640f, 2170.159f, 136.577f, 2.737f}
|
||||
};
|
||||
class instance_shadowfang_keep : public InstanceMapScript
|
||||
{
|
||||
@@ -137,8 +137,8 @@ public:
|
||||
|
||||
if (pAda && pAda->isAlive() && pAsh && pAsh->isAlive())
|
||||
{
|
||||
DoScriptText(SAY_BOSS_DIE_AD,pAda);
|
||||
DoScriptText(SAY_BOSS_DIE_AS,pAsh);
|
||||
DoScriptText(SAY_BOSS_DIE_AD, pAda);
|
||||
DoScriptText(SAY_BOSS_DIE_AS, pAsh);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -251,19 +251,19 @@ public:
|
||||
switch(uiPhase)
|
||||
{
|
||||
case 1:
|
||||
pSummon = pArchmage->SummonCreature(pArchmage->GetEntry(),SpawnLocation[4],TEMPSUMMON_TIMED_DESPAWN,10000);
|
||||
pSummon = pArchmage->SummonCreature(pArchmage->GetEntry(), SpawnLocation[4], TEMPSUMMON_TIMED_DESPAWN, 10000);
|
||||
pSummon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
||||
pSummon->SetReactState(REACT_DEFENSIVE);
|
||||
pSummon->CastSpell(pSummon,SPELL_ASHCROMBE_TELEPORT,true);
|
||||
DoScriptText(SAY_ARCHMAGE,pSummon);
|
||||
pSummon->CastSpell(pSummon, SPELL_ASHCROMBE_TELEPORT, true);
|
||||
DoScriptText(SAY_ARCHMAGE, pSummon);
|
||||
uiTimer = 2000;
|
||||
uiPhase = 2;
|
||||
break;
|
||||
case 2:
|
||||
pArchmage->SummonCreature(NPC_ARUGAL_VOIDWALKER,SpawnLocation[0],TEMPSUMMON_CORPSE_TIMED_DESPAWN,60000);
|
||||
pArchmage->SummonCreature(NPC_ARUGAL_VOIDWALKER,SpawnLocation[1],TEMPSUMMON_CORPSE_TIMED_DESPAWN,60000);
|
||||
pArchmage->SummonCreature(NPC_ARUGAL_VOIDWALKER,SpawnLocation[2],TEMPSUMMON_CORPSE_TIMED_DESPAWN,60000);
|
||||
pArchmage->SummonCreature(NPC_ARUGAL_VOIDWALKER,SpawnLocation[3],TEMPSUMMON_CORPSE_TIMED_DESPAWN,60000);
|
||||
pArchmage->SummonCreature(NPC_ARUGAL_VOIDWALKER, SpawnLocation[0], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
||||
pArchmage->SummonCreature(NPC_ARUGAL_VOIDWALKER, SpawnLocation[1], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
||||
pArchmage->SummonCreature(NPC_ARUGAL_VOIDWALKER, SpawnLocation[2], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
||||
pArchmage->SummonCreature(NPC_ARUGAL_VOIDWALKER, SpawnLocation[3], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);
|
||||
uiPhase = 0;
|
||||
break;
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@ public:
|
||||
|
||||
void Reset()
|
||||
{
|
||||
uiDarkOffering = urand(290,10);
|
||||
uiDarkOffering = urand(290, 10);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 const uiDiff)
|
||||
@@ -174,14 +174,14 @@ public:
|
||||
|
||||
if (uiDarkOffering <= uiDiff)
|
||||
{
|
||||
if (Creature* pFriend = me->FindNearestCreature(me->GetEntry(),25.0f,true))
|
||||
if (Creature* pFriend = me->FindNearestCreature(me->GetEntry(), 25.0f, true))
|
||||
{
|
||||
if (pFriend)
|
||||
DoCast(pFriend,SPELL_DARK_OFFERING);
|
||||
DoCast(pFriend, SPELL_DARK_OFFERING);
|
||||
}
|
||||
else
|
||||
DoCast(me,SPELL_DARK_OFFERING);
|
||||
uiDarkOffering = urand(4400,12500);
|
||||
DoCast(me, SPELL_DARK_OFFERING);
|
||||
uiDarkOffering = urand(4400, 12500);
|
||||
} else uiDarkOffering -= uiDiff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
@@ -110,26 +110,26 @@ public:
|
||||
// RaiseDead_Timer = 30000;
|
||||
SummonSkeletons_Timer = 34000;
|
||||
if (pInstance && pInstance->GetData(TYPE_RAMSTEIN) == DONE)
|
||||
pInstance->SetData(TYPE_BARON,NOT_STARTED);
|
||||
pInstance->SetData(TYPE_BARON, NOT_STARTED);
|
||||
}
|
||||
|
||||
void AttackStart(Unit* who)
|
||||
{
|
||||
if (pInstance)//can't use entercombat(), boss' dmg aura sets near players in combat, before entering the room's door
|
||||
pInstance->SetData(TYPE_BARON,IN_PROGRESS);
|
||||
pInstance->SetData(TYPE_BARON, IN_PROGRESS);
|
||||
ScriptedAI::AttackStart(who);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summoned)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
summoned->AI()->AttackStart(pTarget);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
{
|
||||
if (pInstance)
|
||||
pInstance->SetData(TYPE_BARON,DONE);
|
||||
pInstance->SetData(TYPE_BARON, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -171,12 +171,12 @@ public:
|
||||
//SummonSkeletons
|
||||
if (SummonSkeletons_Timer <= diff)
|
||||
{
|
||||
me->SummonCreature(11197,ADD_1X,ADD_1Y,ADD_1Z,ADD_1O,TEMPSUMMON_TIMED_DESPAWN,29000);
|
||||
me->SummonCreature(11197,ADD_2X,ADD_2Y,ADD_2Z,ADD_2O,TEMPSUMMON_TIMED_DESPAWN,29000);
|
||||
me->SummonCreature(11197,ADD_3X,ADD_3Y,ADD_3Z,ADD_3O,TEMPSUMMON_TIMED_DESPAWN,29000);
|
||||
me->SummonCreature(11197,ADD_4X,ADD_4Y,ADD_4Z,ADD_4O,TEMPSUMMON_TIMED_DESPAWN,29000);
|
||||
me->SummonCreature(11197,ADD_5X,ADD_5Y,ADD_5Z,ADD_5O,TEMPSUMMON_TIMED_DESPAWN,29000);
|
||||
me->SummonCreature(11197,ADD_6X,ADD_6Y,ADD_6Z,ADD_6O,TEMPSUMMON_TIMED_DESPAWN,29000);
|
||||
me->SummonCreature(11197, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 29000);
|
||||
me->SummonCreature(11197, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 29000);
|
||||
me->SummonCreature(11197, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 29000);
|
||||
me->SummonCreature(11197, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 29000);
|
||||
me->SummonCreature(11197, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 29000);
|
||||
me->SummonCreature(11197, ADD_6X, ADD_6Y, ADD_6Z, ADD_6O, TEMPSUMMON_TIMED_DESPAWN, 29000);
|
||||
|
||||
//34 seconds until we should cast this again
|
||||
SummonSkeletons_Timer = 40000;
|
||||
|
||||
@@ -70,7 +70,7 @@ public:
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
{
|
||||
if (pInstance)
|
||||
pInstance->SetData(TYPE_BARONESS,IN_PROGRESS);
|
||||
pInstance->SetData(TYPE_BARONESS, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -112,7 +112,7 @@ public:
|
||||
if (rand()%100 < 65)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0);
|
||||
if (pTarget)DoCast(pTarget, SPELL_POSSESS);
|
||||
}
|
||||
//50 seconds until we should cast this again
|
||||
|
||||
@@ -105,13 +105,13 @@ public:
|
||||
|
||||
void JustDied(Unit* /*Victim*/)
|
||||
{
|
||||
me->SummonCreature(11054,ADD_1X,ADD_1Y,ADD_1Z,ADD_1O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_2X,ADD_2Y,ADD_2Z,ADD_2O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_3X,ADD_3Y,ADD_3Z,ADD_3O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_4X,ADD_4Y,ADD_4Z,ADD_4O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_5X,ADD_5Y,ADD_5Z,ADD_5O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_7X,ADD_7Y,ADD_7Z,ADD_7O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_9X,ADD_9Y,ADD_9Z,ADD_9O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
@@ -164,49 +164,49 @@ public:
|
||||
switch (rand()%9)
|
||||
{
|
||||
case 0:
|
||||
me->SummonCreature(11054,ADD_1X,ADD_1Y,ADD_1Z,ADD_1O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_2X,ADD_2Y,ADD_2Z,ADD_2O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_4X,ADD_4Y,ADD_4Z,ADD_4O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
break;
|
||||
case 1:
|
||||
me->SummonCreature(11054,ADD_2X,ADD_2Y,ADD_2Z,ADD_2O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_3X,ADD_3Y,ADD_3Z,ADD_3O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_5X,ADD_5Y,ADD_5Z,ADD_5O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
break;
|
||||
case 2:
|
||||
me->SummonCreature(11054,ADD_3X,ADD_3Y,ADD_3Z,ADD_3O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_4X,ADD_4Y,ADD_4Z,ADD_4O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_6X,ADD_6Y,ADD_6Z,ADD_6O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_6X, ADD_6Y, ADD_6Z, ADD_6O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
break;
|
||||
case 3:
|
||||
me->SummonCreature(11054,ADD_4X,ADD_4Y,ADD_4Z,ADD_4O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_5X,ADD_5Y,ADD_5Z,ADD_5O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_7X,ADD_7Y,ADD_7Z,ADD_7O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054, ADD_4X, ADD_4Y, ADD_4Z, ADD_4O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
break;
|
||||
case 4:
|
||||
me->SummonCreature(11054,ADD_5X,ADD_5Y,ADD_5Z,ADD_5O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_6X,ADD_6Y,ADD_6Z,ADD_6O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_8X,ADD_8Y,ADD_8Z,ADD_8O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054, ADD_5X, ADD_5Y, ADD_5Z, ADD_5O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_6X, ADD_6Y, ADD_6Z, ADD_6O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_8X, ADD_8Y, ADD_8Z, ADD_8O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
break;
|
||||
case 5:
|
||||
me->SummonCreature(11054,ADD_6X,ADD_6Y,ADD_6Z,ADD_6O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_7X,ADD_7Y,ADD_7Z,ADD_7O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_9X,ADD_9Y,ADD_9Z,ADD_9O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054, ADD_6X, ADD_6Y, ADD_6Z, ADD_6O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
break;
|
||||
case 6:
|
||||
me->SummonCreature(11054,ADD_7X,ADD_7Y,ADD_7Z,ADD_7O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_8X,ADD_8Y,ADD_8Z,ADD_8O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_1X,ADD_1Y,ADD_1Z,ADD_1O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054, ADD_7X, ADD_7Y, ADD_7Z, ADD_7O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_8X, ADD_8Y, ADD_8Z, ADD_8O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
break;
|
||||
case 7:
|
||||
me->SummonCreature(11054,ADD_8X,ADD_8Y,ADD_8Z,ADD_8O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_9X,ADD_9Y,ADD_9Z,ADD_9O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_2X,ADD_2Y,ADD_2Z,ADD_2O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054, ADD_8X, ADD_8Y, ADD_8Z, ADD_8O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
break;
|
||||
case 8:
|
||||
me->SummonCreature(11054,ADD_9X,ADD_9Y,ADD_9Z,ADD_9O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_1X,ADD_1Y,ADD_1Z,ADD_1O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054,ADD_3X,ADD_3Y,ADD_3Z,ADD_3O,TEMPSUMMON_TIMED_DESPAWN,240000);
|
||||
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
me->SummonCreature(11054, ADD_3X, ADD_3Y, ADD_3Z, ADD_3O, TEMPSUMMON_TIMED_DESPAWN, 240000);
|
||||
break;
|
||||
}
|
||||
//30 seconds until we should cast this again
|
||||
|
||||
@@ -186,7 +186,7 @@ public:
|
||||
//PsychicScream
|
||||
if (m_uiPsychicScream_Timer <= uiDiff)
|
||||
{
|
||||
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, SPELL_PSYCHICSCREAM);
|
||||
|
||||
m_uiPsychicScream_Timer = 20000;
|
||||
@@ -195,7 +195,7 @@ public:
|
||||
//DeepSleep
|
||||
if (m_uiDeepSleep_Timer <= uiDiff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, SPELL_SLEEP);
|
||||
|
||||
m_uiDeepSleep_Timer = 15000;
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
{
|
||||
if (pInstance)
|
||||
pInstance->SetData(TYPE_PALLID,IN_PROGRESS);
|
||||
pInstance->SetData(TYPE_PALLID, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
|
||||
@@ -70,12 +70,12 @@ public:
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
{
|
||||
if (pInstance)
|
||||
pInstance->SetData(TYPE_NERUB,IN_PROGRESS);
|
||||
pInstance->SetData(TYPE_NERUB, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void RaiseUndeadScarab(Unit* pVictim)
|
||||
{
|
||||
if (Creature* pUndeadScarab = DoSpawnCreature(10876, float(irand(-9,9)), float(irand(-9,9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 180000))
|
||||
if (Creature* pUndeadScarab = DoSpawnCreature(10876, float(irand(-9, 9)), float(irand(-9, 9)), 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 180000))
|
||||
if (pUndeadScarab->AI())
|
||||
pUndeadScarab->AI()->AttackStart(pVictim);
|
||||
}
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
//PierceArmor
|
||||
if (PierceArmor_Timer <= diff)
|
||||
{
|
||||
if (urand(0,3) < 2)
|
||||
if (urand(0, 3) < 2)
|
||||
DoCast(me->getVictim(), SPELL_PIERCEARMOR);
|
||||
PierceArmor_Timer = 35000;
|
||||
} else PierceArmor_Timer -= diff;
|
||||
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
{
|
||||
for (uint8 i = 0; i < 30; ++i)
|
||||
{
|
||||
if (Creature* mob = me->SummonCreature(C_MINDLESS_UNDEAD,3969.35f+irand(-10,10),-3391.87f+irand(-10,10),119.11f,5.91f,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,1800000))
|
||||
if (Creature* mob = me->SummonCreature(C_MINDLESS_UNDEAD, 3969.35f+irand(-10, 10), -3391.87f+irand(-10, 10), 119.11f, 5.91f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1800000))
|
||||
mob->AI()->AttackStart(me->SelectNearestTarget(100.0f));
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
{
|
||||
if (!HasYelled)
|
||||
{
|
||||
me->MonsterYell(SAY_SPAWN,LANG_UNIVERSAL,0);
|
||||
me->MonsterYell(SAY_SPAWN, LANG_UNIVERSAL, 0);
|
||||
HasYelled = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,7 +184,7 @@ class instance_stratholme : public InstanceMapScript
|
||||
break;
|
||||
case GO_GAUNTLET_GATE1:
|
||||
//weird, but unless flag is set, client will not respond as expected. DB bug?
|
||||
go->SetFlag(GAMEOBJECT_FLAGS,GO_FLAG_LOCKED);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
gauntletGate1GUID = go->GetGUID();
|
||||
break;
|
||||
case GO_ZIGGURAT1:
|
||||
@@ -295,13 +295,13 @@ class instance_stratholme : public InstanceMapScript
|
||||
if (!count)
|
||||
{
|
||||
//a bit itchy, it should close the door after 10 secs, but it doesn't. skipping it for now.
|
||||
//UpdateGoState(ziggurat4GUID,0,true);
|
||||
//UpdateGoState(ziggurat4GUID, 0, true);
|
||||
if (Creature* pBaron = instance->GetCreature(baronGUID))
|
||||
pBaron->SummonCreature(C_RAMSTEIN, 4032.84f, -3390.24f, 119.73f, 4.71f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 1800000);
|
||||
sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Instance Stratholme: Ramstein spawned.");
|
||||
}
|
||||
else
|
||||
sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Instance Stratholme: %u Abomnation left to kill.",count);
|
||||
sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Instance Stratholme: %u Abomnation left to kill.", count);
|
||||
}
|
||||
|
||||
if (data == NOT_STARTED)
|
||||
@@ -329,7 +329,7 @@ class instance_stratholme : public InstanceMapScript
|
||||
if (player->GetQuestStatus(QUEST_DEAD_MAN_PLEA) == QUEST_STATUS_INCOMPLETE)
|
||||
player->AreaExploredOrEventHappens(QUEST_DEAD_MAN_PLEA);
|
||||
|
||||
SetData(TYPE_BARON_RUN,DONE);
|
||||
SetData(TYPE_BARON_RUN, DONE);
|
||||
}
|
||||
}
|
||||
if (data == DONE || data == NOT_STARTED)
|
||||
|
||||
@@ -64,14 +64,14 @@ public:
|
||||
if (pGroupie->GetQuestStatus(QUEST_DEAD_MAN_PLEA) == QUEST_STATUS_INCOMPLETE &&
|
||||
!pGroupie->HasAura(SPELL_BARON_ULTIMATUM) &&
|
||||
pGroupie->GetMap() == pGo->GetMap())
|
||||
pGroupie->CastSpell(pGroupie,SPELL_BARON_ULTIMATUM,true);
|
||||
pGroupie->CastSpell(pGroupie, SPELL_BARON_ULTIMATUM, true);
|
||||
}
|
||||
} else if (pPlayer->GetQuestStatus(QUEST_DEAD_MAN_PLEA) == QUEST_STATUS_INCOMPLETE &&
|
||||
!pPlayer->HasAura(SPELL_BARON_ULTIMATUM) &&
|
||||
pPlayer->GetMap() == pGo->GetMap())
|
||||
pPlayer->CastSpell(pPlayer,SPELL_BARON_ULTIMATUM,true);
|
||||
pPlayer->CastSpell(pPlayer, SPELL_BARON_ULTIMATUM, true);
|
||||
|
||||
pInstance->SetData(TYPE_BARON_RUN,IN_PROGRESS);
|
||||
pInstance->SetData(TYPE_BARON_RUN, IN_PROGRESS);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -103,7 +103,7 @@ public:
|
||||
|
||||
void Reset()
|
||||
{
|
||||
DoScriptText(RAND(SAY_ZAPPED0,SAY_ZAPPED1,SAY_ZAPPED2,SAY_ZAPPED3), me);
|
||||
DoScriptText(RAND(SAY_ZAPPED0, SAY_ZAPPED1, SAY_ZAPPED2, SAY_ZAPPED3), me);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/) {}
|
||||
@@ -162,7 +162,7 @@ public:
|
||||
|
||||
void JustSummoned(Creature *summoned)
|
||||
{
|
||||
summoned->CastSpell(summoned,SPELL_SOUL_FREED,false);
|
||||
summoned->CastSpell(summoned, SPELL_SOUL_FREED, false);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
@@ -177,7 +177,7 @@ public:
|
||||
{
|
||||
if (Die_Timer <= diff)
|
||||
{
|
||||
if (Unit* pTemp = Unit::GetUnit(*me,Tagger))
|
||||
if (Unit* pTemp = Unit::GetUnit(*me, Tagger))
|
||||
{
|
||||
CAST_PLR(pTemp)->KilledMonsterCredit(ENTRY_RESTLESS, me->GetGUID());
|
||||
me->Kill(me);
|
||||
@@ -237,7 +237,7 @@ public:
|
||||
for (uint32 i = 1; i <= 4; ++i)
|
||||
{
|
||||
//100%, 50%, 33%, 25% chance to spawn
|
||||
if (urand(1,i) == 1)
|
||||
if (urand(1, i) == 1)
|
||||
DoSummon(ENTRY_RESTLESS, me, 20.0f, 600000);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,20 +169,20 @@ public:
|
||||
|
||||
void UseStatue(GameObject* go)
|
||||
{
|
||||
go->SummonGameObject(GO_ATALAI_LIGHT1,go->GetPositionX(),go->GetPositionY(),go->GetPositionZ(),0,0,0,0,0,0);
|
||||
go->SummonGameObject(GO_ATALAI_LIGHT1, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ(), 0, 0, 0, 0, 0, 0);
|
||||
go->SetUInt32Value(GAMEOBJECT_FLAGS, 4);
|
||||
}
|
||||
|
||||
/*
|
||||
void UseLastStatue(GameObject* go)
|
||||
{
|
||||
AtalaiStatue1->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue1->GetPositionX(),AtalaiStatue1->GetPositionY(),AtalaiStatue1->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue2->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue2->GetPositionX(),AtalaiStatue2->GetPositionY(),AtalaiStatue2->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue3->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue3->GetPositionX(),AtalaiStatue3->GetPositionY(),AtalaiStatue3->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue4->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue4->GetPositionX(),AtalaiStatue4->GetPositionY(),AtalaiStatue4->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue5->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue5->GetPositionX(),AtalaiStatue5->GetPositionY(),AtalaiStatue5->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue6->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue6->GetPositionX(),AtalaiStatue6->GetPositionY(),AtalaiStatue6->GetPositionZ(),0,0,0,0,0,100000);
|
||||
go->SummonGameObject(148838,-488.997,96.61,-189.019,-1.52,0,0,0,0,100000);
|
||||
AtalaiStatue1->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue1->GetPositionX(), AtalaiStatue1->GetPositionY(), AtalaiStatue1->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
|
||||
AtalaiStatue2->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue2->GetPositionX(), AtalaiStatue2->GetPositionY(), AtalaiStatue2->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
|
||||
AtalaiStatue3->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue3->GetPositionX(), AtalaiStatue3->GetPositionY(), AtalaiStatue3->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
|
||||
AtalaiStatue4->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue4->GetPositionX(), AtalaiStatue4->GetPositionY(), AtalaiStatue4->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
|
||||
AtalaiStatue5->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue5->GetPositionX(), AtalaiStatue5->GetPositionY(), AtalaiStatue5->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
|
||||
AtalaiStatue6->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue6->GetPositionX(), AtalaiStatue6->GetPositionY(), AtalaiStatue6->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
|
||||
go->SummonGameObject(148838, -488.997, 96.61, -189.019, -1.52, 0, 0, 0, 0, 100000);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
bool OnGossipHello(Player* pPlayer, GameObject* pGo)
|
||||
{
|
||||
if (InstanceScript* pInstance = pPlayer->GetInstanceScript())
|
||||
pInstance->SetData(EVENT_STATE,pGo->GetEntry());
|
||||
pInstance->SetData(EVENT_STATE, pGo->GetEntry());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(YELL_KILL1,YELL_KILL2,YELL_KILL3), me);
|
||||
DoScriptText(RAND(YELL_KILL1, YELL_KILL2, YELL_KILL3), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
@@ -139,9 +139,9 @@ public:
|
||||
if (pInstance)
|
||||
{
|
||||
pInstance->SetData(DATA_BRUTALLUS_EVENT, DONE);
|
||||
float x,y,z;
|
||||
me->GetPosition(x,y,z);
|
||||
me->SummonCreature(FELMYST, x,y, z+30, me->GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN, 0);
|
||||
float x, y, z;
|
||||
me->GetPosition(x, y, z);
|
||||
me->SummonCreature(FELMYST, x, y, z+30, me->GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,7 +316,7 @@ public:
|
||||
|
||||
if (StompTimer <= diff)
|
||||
{
|
||||
DoScriptText(RAND(YELL_LOVE1,YELL_LOVE2,YELL_LOVE3), me);
|
||||
DoScriptText(RAND(YELL_LOVE1, YELL_LOVE2, YELL_LOVE3), me);
|
||||
DoCast(me->getVictim(), SPELL_STOMP);
|
||||
StompTimer = 30000;
|
||||
} else StompTimer -= diff;
|
||||
@@ -331,7 +331,7 @@ public:
|
||||
(*i)->CastSpell((*i), SPELL_BURN, true);
|
||||
break;
|
||||
}
|
||||
BurnTimer = urand(60000,180000);
|
||||
BurnTimer = urand(60000, 180000);
|
||||
} else BurnTimer -= diff;
|
||||
|
||||
if (BerserkTimer < diff && !Enraged)
|
||||
|
||||
@@ -120,13 +120,13 @@ public:
|
||||
|
||||
if (pInstance)
|
||||
{
|
||||
Unit* Temp = Unit::GetUnit((*me),pInstance->GetData64(DATA_ALYTHESS));
|
||||
Unit* Temp = Unit::GetUnit((*me), pInstance->GetData64(DATA_ALYTHESS));
|
||||
if (Temp)
|
||||
{
|
||||
if (Temp->isDead())
|
||||
CAST_CRE(Temp)->Respawn();
|
||||
else if (Temp->getVictim())
|
||||
me->getThreatManager().addThreat(Temp->getVictim(),0.0f);
|
||||
me->getThreatManager().addThreat(Temp->getVictim(), 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ public:
|
||||
|
||||
if (pInstance)
|
||||
{
|
||||
Unit* Temp = Unit::GetUnit((*me),pInstance->GetData64(DATA_ALYTHESS));
|
||||
Unit* Temp = Unit::GetUnit((*me), pInstance->GetData64(DATA_ALYTHESS));
|
||||
if (Temp && Temp->isAlive() && !(Temp->getVictim()))
|
||||
CAST_CRE(Temp)->AI()->AttackStart(who);
|
||||
}
|
||||
@@ -164,7 +164,7 @@ public:
|
||||
void KilledUnit(Unit * /*victim*/)
|
||||
{
|
||||
if (rand()%4 == 0)
|
||||
DoScriptText(RAND(YELL_SAC_KILL_1,YELL_SAC_KILL_2), me);
|
||||
DoScriptText(RAND(YELL_SAC_KILL_1, YELL_SAC_KILL_2), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
@@ -181,7 +181,7 @@ public:
|
||||
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit *pTarget,const SpellEntry* spell)
|
||||
void SpellHitTarget(Unit *pTarget, const SpellEntry* spell)
|
||||
{
|
||||
switch(spell->Id)
|
||||
{
|
||||
@@ -231,7 +231,7 @@ public:
|
||||
if (pInstance)
|
||||
{
|
||||
Unit* Temp = NULL;
|
||||
Temp = Unit::GetUnit((*me),pInstance->GetData64(DATA_ALYTHESS));
|
||||
Temp = Unit::GetUnit((*me), pInstance->GetData64(DATA_ALYTHESS));
|
||||
if (Temp && Temp->isDead())
|
||||
{
|
||||
DoScriptText(YELL_SISTER_ALYTHESS_DEAD, me);
|
||||
@@ -301,10 +301,10 @@ public:
|
||||
for (uint8 i = 0; i<3; ++i)
|
||||
{
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
temp = DoSpawnCreature(MOB_SHADOW_IMAGE,0,0,0,0,TEMPSUMMON_CORPSE_DESPAWN,10000);
|
||||
temp = DoSpawnCreature(MOB_SHADOW_IMAGE, 0, 0, 0, 0, TEMPSUMMON_CORPSE_DESPAWN, 10000);
|
||||
if (temp && pTarget)
|
||||
{
|
||||
temp->AddThreat(pTarget,1000000);//don't change target(healers)
|
||||
temp->AddThreat(pTarget, 1000000);//don't change target(healers)
|
||||
temp->AI()->AttackStart(pTarget);
|
||||
}
|
||||
}
|
||||
@@ -382,13 +382,13 @@ public:
|
||||
|
||||
if (pInstance)
|
||||
{
|
||||
Unit* Temp = Unit::GetUnit((*me),pInstance->GetData64(DATA_SACROLASH));
|
||||
Unit* Temp = Unit::GetUnit((*me), pInstance->GetData64(DATA_SACROLASH));
|
||||
if (Temp)
|
||||
{
|
||||
if (Temp->isDead())
|
||||
CAST_CRE(Temp)->Respawn();
|
||||
else if (Temp->getVictim())
|
||||
me->getThreatManager().addThreat(Temp->getVictim(),0.0f);
|
||||
me->getThreatManager().addThreat(Temp->getVictim(), 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -415,7 +415,7 @@ public:
|
||||
|
||||
if (pInstance)
|
||||
{
|
||||
Unit* Temp = Unit::GetUnit((*me),pInstance->GetData64(DATA_SACROLASH));
|
||||
Unit* Temp = Unit::GetUnit((*me), pInstance->GetData64(DATA_SACROLASH));
|
||||
if (Temp && Temp->isAlive() && !(Temp->getVictim()))
|
||||
CAST_CRE(Temp)->AI()->AttackStart(who);
|
||||
}
|
||||
@@ -459,7 +459,7 @@ public:
|
||||
{
|
||||
if (rand()%4 == 0)
|
||||
{
|
||||
DoScriptText(RAND(YELL_ALY_KILL_1,YELL_ALY_KILL_2), me);
|
||||
DoScriptText(RAND(YELL_ALY_KILL_1, YELL_ALY_KILL_2), me);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -476,7 +476,7 @@ public:
|
||||
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit *pTarget,const SpellEntry* spell)
|
||||
void SpellHitTarget(Unit *pTarget, const SpellEntry* spell)
|
||||
{
|
||||
switch(spell->Id)
|
||||
{
|
||||
@@ -568,7 +568,7 @@ public:
|
||||
if (pInstance)
|
||||
{
|
||||
Unit* Temp = NULL;
|
||||
Temp = Unit::GetUnit((*me),pInstance->GetData64(DATA_SACROLASH));
|
||||
Temp = Unit::GetUnit((*me), pInstance->GetData64(DATA_SACROLASH));
|
||||
if (Temp && Temp->isDead())
|
||||
{
|
||||
DoScriptText(YELL_SISTER_SACROLASH_DEAD, me);
|
||||
@@ -582,12 +582,12 @@ public:
|
||||
{
|
||||
if (pInstance)
|
||||
{
|
||||
Creature* sisiter = Unit::GetCreature((*me),pInstance->GetData64(DATA_SACROLASH));
|
||||
Creature* sisiter = Unit::GetCreature((*me), pInstance->GetData64(DATA_SACROLASH));
|
||||
if (sisiter && !sisiter->isDead() && sisiter->getVictim())
|
||||
{
|
||||
me->AddThreat(sisiter->getVictim(),0.0f);
|
||||
me->AddThreat(sisiter->getVictim(), 0.0f);
|
||||
DoStartNoMovement(sisiter->getVictim());
|
||||
me->Attack(sisiter->getVictim(),false);
|
||||
me->Attack(sisiter->getVictim(), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -701,7 +701,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit * /*who*/){}
|
||||
|
||||
void SpellHitTarget(Unit *pTarget,const SpellEntry* spell)
|
||||
void SpellHitTarget(Unit *pTarget, const SpellEntry* spell)
|
||||
{
|
||||
switch(spell->Id)
|
||||
{
|
||||
@@ -714,7 +714,7 @@ public:
|
||||
{
|
||||
pTarget->RemoveAurasDueToSpell(SPELL_FLAME_TOUCHED);
|
||||
pTarget->CastSpell(pTarget, SPELL_DARK_FLAME, true);
|
||||
} else pTarget->CastSpell(pTarget,SPELL_DARK_TOUCHED,true);
|
||||
} else pTarget->CastSpell(pTarget, SPELL_DARK_TOUCHED, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(YELL_KILL1,YELL_KILL2), me);
|
||||
DoScriptText(RAND(YELL_KILL1, YELL_KILL2), me);
|
||||
}
|
||||
|
||||
void JustRespawned()
|
||||
@@ -436,20 +436,20 @@ public:
|
||||
break;
|
||||
case EVENT_CLEAVE:
|
||||
DoCast(me->getVictim(), SPELL_CLEAVE, false);
|
||||
events.ScheduleEvent(EVENT_CLEAVE, urand(5000,10000));
|
||||
events.ScheduleEvent(EVENT_CLEAVE, urand(5000, 10000));
|
||||
break;
|
||||
case EVENT_CORROSION:
|
||||
DoCast(me->getVictim(), SPELL_CORROSION, false);
|
||||
events.ScheduleEvent(EVENT_CORROSION, urand(20000,30000));
|
||||
events.ScheduleEvent(EVENT_CORROSION, urand(20000, 30000));
|
||||
break;
|
||||
case EVENT_GAS_NOVA:
|
||||
DoCast(me, SPELL_GAS_NOVA, false);
|
||||
events.ScheduleEvent(EVENT_GAS_NOVA, urand(20000,25000));
|
||||
events.ScheduleEvent(EVENT_GAS_NOVA, urand(20000, 25000));
|
||||
break;
|
||||
case EVENT_ENCAPSULATE:
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 150, true))
|
||||
DoCast(pTarget, SPELL_ENCAPSULATE_CHANNEL, false);
|
||||
events.ScheduleEvent(EVENT_ENCAPSULATE, urand(25000,30000));
|
||||
events.ScheduleEvent(EVENT_ENCAPSULATE, urand(25000, 30000));
|
||||
break;
|
||||
case EVENT_FLIGHT:
|
||||
EnterPhase(PHASE_FLIGHT);
|
||||
|
||||
@@ -171,7 +171,7 @@ public:
|
||||
FrostBreathTimer = 15000;
|
||||
WildMagicTimer = 10000;
|
||||
TailLashTimer = 25000;
|
||||
SpectralBlastTimer = urand(20000,25000);
|
||||
SpectralBlastTimer = urand(20000, 25000);
|
||||
CheckTimer = 1000;
|
||||
ResetTimer = 30000;
|
||||
|
||||
@@ -320,7 +320,7 @@ public:
|
||||
advance(i, rand()%targetList.size());
|
||||
if ((*i))
|
||||
{
|
||||
(*i)->CastSpell((*i), SPELL_SPECTRAL_BLAST,true);
|
||||
(*i)->CastSpell((*i), SPELL_SPECTRAL_BLAST, true);
|
||||
SpectralBlastTimer = 20000+rand()%5000;
|
||||
} else SpectralBlastTimer = 1000;
|
||||
} else SpectralBlastTimer -= diff;
|
||||
@@ -360,10 +360,10 @@ public:
|
||||
|
||||
void KilledUnit(Unit * /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_EVIL_SLAY1,SAY_EVIL_SLAY2), me);
|
||||
DoScriptText(RAND(SAY_EVIL_SLAY1, SAY_EVIL_SLAY2), me);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type,uint32 /*id*/)
|
||||
void MovementInform(uint32 type, uint32 /*id*/)
|
||||
{
|
||||
if (type != POINT_MOTION_TYPE)
|
||||
return;
|
||||
@@ -404,7 +404,7 @@ public:
|
||||
break;
|
||||
case 3:
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->GetMotionMaster()->MovePoint(0,FLY_X,FLY_Y,FLY_Z);
|
||||
me->GetMotionMaster()->MovePoint(0, FLY_X, FLY_Y, FLY_Z);
|
||||
TalkTimer = 600000;
|
||||
break;
|
||||
default:
|
||||
@@ -422,7 +422,7 @@ public:
|
||||
break;
|
||||
case 2:
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->GetMotionMaster()->MovePoint(0,FLY_X,FLY_Y,FLY_Z);
|
||||
me->GetMotionMaster()->MovePoint(0, FLY_X, FLY_Y, FLY_Z);
|
||||
TalkTimer = 15000;
|
||||
break;
|
||||
case 3:
|
||||
@@ -658,7 +658,7 @@ public:
|
||||
EnterEvadeMode();
|
||||
return;
|
||||
}
|
||||
DoScriptText(RAND(SAY_SATH_SLAY1,SAY_SATH_SLAY2), me);
|
||||
DoScriptText(RAND(SAY_SATH_SLAY1, SAY_SATH_SLAY2), me);
|
||||
}
|
||||
|
||||
void JustDied(Unit * /*killer*/)
|
||||
@@ -686,7 +686,7 @@ public:
|
||||
if (i->getSource()->GetPositionZ() <= DRAGON_REALM_Z-5)
|
||||
{
|
||||
i->getSource()->RemoveAura(AURA_SPECTRAL_REALM);
|
||||
i->getSource()->TeleportTo(me->GetMap()->GetId(),i->getSource()->GetPositionX(),i->getSource()->GetPositionY(),DRAGON_REALM_Z+5,i->getSource()->GetOrientation());
|
||||
i->getSource()->TeleportTo(me->GetMap()->GetId(), i->getSource()->GetPositionX(), i->getSource()->GetPositionY(), DRAGON_REALM_Z+5, i->getSource()->GetOrientation());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -767,7 +767,7 @@ public:
|
||||
{
|
||||
if (pUnit->GetPositionZ() > me->GetPositionZ()+5)
|
||||
{
|
||||
me->getThreatManager().modifyThreatPercent(pUnit,-100);
|
||||
me->getThreatManager().modifyThreatPercent(pUnit, -100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -324,7 +324,7 @@ public:
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GameObject* pOrb = GetOrb(urand(0,3)))
|
||||
if (GameObject* pOrb = GetOrb(urand(0, 3)))
|
||||
{
|
||||
pOrb->CastSpell(me, SPELL_RING_OF_BLUE_FLAMES);
|
||||
pOrb->SetUInt32Value(GAMEOBJECT_FACTION, 35);
|
||||
@@ -468,7 +468,7 @@ public:
|
||||
if (uiRandomSayTimer < diff)
|
||||
{
|
||||
if (pInstance && pInstance->GetData(DATA_MURU_EVENT) != DONE && pInstance->GetData(DATA_KILJAEDEN_EVENT) == NOT_STARTED)
|
||||
DoScriptText(RAND(SAY_KJ_OFFCOMBAT1,SAY_KJ_OFFCOMBAT2,SAY_KJ_OFFCOMBAT3,SAY_KJ_OFFCOMBAT4,SAY_KJ_OFFCOMBAT5), me);
|
||||
DoScriptText(RAND(SAY_KJ_OFFCOMBAT1, SAY_KJ_OFFCOMBAT2, SAY_KJ_OFFCOMBAT3, SAY_KJ_OFFCOMBAT4, SAY_KJ_OFFCOMBAT5), me);
|
||||
uiRandomSayTimer = 30000;
|
||||
} else uiRandomSayTimer -= diff;
|
||||
|
||||
@@ -486,7 +486,7 @@ public:
|
||||
{
|
||||
me->RemoveAurasDueToSpell(SPELL_ANVEENA_ENERGY_DRAIN);
|
||||
phase = PHASE_NORMAL;
|
||||
DoSpawnCreature(CREATURE_KILJAEDEN, 0, 0,0, 0, TEMPSUMMON_MANUAL_DESPAWN, 0);
|
||||
DoSpawnCreature(CREATURE_KILJAEDEN, 0, 0, 0, 0, TEMPSUMMON_MANUAL_DESPAWN, 0);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -622,7 +622,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_KJ_SLAY1,SAY_KJ_SLAY2), me);
|
||||
DoScriptText(RAND(SAY_KJ_SLAY1, SAY_KJ_SLAY2), me);
|
||||
}
|
||||
|
||||
void EnterEvadeMode()
|
||||
@@ -651,26 +651,26 @@ public:
|
||||
TimerIsDeactivated[TIMER_SHADOW_SPIKE] = false;
|
||||
Timer[TIMER_SHADOW_SPIKE] = 100;
|
||||
// empowered orbs before darkness
|
||||
Timer[TIMER_DARKNESS] = (Phase == PHASE_SACRIFICE) ? 15000 : urand(10000,40000);
|
||||
Timer[TIMER_DARKNESS] = (Phase == PHASE_SACRIFICE) ? 15000 : urand(10000, 40000);
|
||||
Timer[TIMER_ORBS_EMPOWER] = (Phase == PHASE_SACRIFICE) ? 10000 : 5000;
|
||||
}
|
||||
|
||||
void CastSinisterReflection()
|
||||
{
|
||||
DoScriptText(RAND(SAY_KJ_REFLECTION1,SAY_KJ_REFLECTION2), me);
|
||||
DoScriptText(RAND(SAY_KJ_REFLECTION1, SAY_KJ_REFLECTION2), me);
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
{
|
||||
float x,y,z;
|
||||
float x, y, z;
|
||||
Unit *pTarget = NULL;
|
||||
for (uint8 z = 0; z < 6; ++z)
|
||||
{
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
||||
if (!pTarget || !pTarget->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT,0))break;
|
||||
if (!pTarget || !pTarget->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT, 0))break;
|
||||
}
|
||||
if (pTarget)
|
||||
{
|
||||
pTarget->GetPosition(x,y,z);
|
||||
if (Creature* pSinisterReflection = me->SummonCreature(CREATURE_SINISTER_REFLECTION, x,y,z,0, TEMPSUMMON_CORPSE_DESPAWN, 0))
|
||||
pTarget->GetPosition(x, y, z);
|
||||
if (Creature* pSinisterReflection = me->SummonCreature(CREATURE_SINISTER_REFLECTION, x, y, z, 0, TEMPSUMMON_CORPSE_DESPAWN, 0))
|
||||
{
|
||||
pSinisterReflection->SetDisplayId(pTarget->GetDisplayId());
|
||||
pSinisterReflection->AI()->AttackStart(pTarget);
|
||||
@@ -752,7 +752,7 @@ public:
|
||||
for (uint8 z = 0; z < 6; ++z)
|
||||
{
|
||||
pRandomPlayer = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
||||
if (!pRandomPlayer || !pRandomPlayer->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT,0))
|
||||
if (!pRandomPlayer || !pRandomPlayer->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT, 0))
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -782,7 +782,7 @@ public:
|
||||
sy = ShieldOrbLocations[0][1] + sin(ShieldOrbLocations[i][1]);
|
||||
me->SummonCreature(CREATURE_SHIELD_ORB, sx, sy, SHIELD_ORB_Z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45000);
|
||||
}
|
||||
Timer[TIMER_SUMMON_SHILEDORB] = urand(30000,60000); // 30-60seconds cooldown
|
||||
Timer[TIMER_SUMMON_SHILEDORB] = urand(30000, 60000); // 30-60seconds cooldown
|
||||
Timer[TIMER_SOUL_FLAY] = 2000;
|
||||
break;
|
||||
case TIMER_SHADOW_SPIKE: //Phase 3
|
||||
@@ -816,10 +816,10 @@ public:
|
||||
}
|
||||
else
|
||||
{
|
||||
Timer[TIMER_DARKNESS] = (Phase == PHASE_SACRIFICE) ? 15000 : urand(40000,70000);
|
||||
Timer[TIMER_DARKNESS] = (Phase == PHASE_SACRIFICE) ? 15000 : urand(40000, 70000);
|
||||
IsInDarkness = false;
|
||||
DoCastAOE(SPELL_DARKNESS_OF_A_THOUSAND_SOULS_DAMAGE);
|
||||
DoScriptText(RAND(SAY_KJ_DARKNESS1,SAY_KJ_DARKNESS2,SAY_KJ_DARKNESS3), me);
|
||||
DoScriptText(RAND(SAY_KJ_DARKNESS1, SAY_KJ_DARKNESS2, SAY_KJ_DARKNESS3), me);
|
||||
}
|
||||
Timer[TIMER_SOUL_FLAY] = 9000;
|
||||
}
|
||||
@@ -846,13 +846,13 @@ public:
|
||||
for (uint8 z = 0; z < 6; ++z)
|
||||
{
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
|
||||
if (!pTarget || !pTarget->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT,0)) break;
|
||||
if (!pTarget || !pTarget->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT, 0)) break;
|
||||
}
|
||||
if (pTarget)
|
||||
{
|
||||
float x, y, z;
|
||||
pTarget->GetPosition(x, y, z);
|
||||
me->SummonCreature(CREATURE_ARMAGEDDON_TARGET, x,y,z,0, TEMPSUMMON_TIMED_DESPAWN,15000);
|
||||
me->SummonCreature(CREATURE_ARMAGEDDON_TARGET, x, y, z, 0, TEMPSUMMON_TIMED_DESPAWN, 15000);
|
||||
}
|
||||
Timer[TIMER_ARMAGEDDON] = 2000; // No, I'm not kidding
|
||||
break;
|
||||
@@ -933,7 +933,7 @@ public:
|
||||
void Reset()
|
||||
{
|
||||
// TODO: Timers!
|
||||
ShadowBoltVolleyTimer = urand(8000,14000); // So they don't all cast it in the same moment.
|
||||
ShadowBoltVolleyTimer = urand(8000, 14000); // So they don't all cast it in the same moment.
|
||||
FelfirePortalTimer = 20000;
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_KILJAEDEN_EVENT, NOT_STARTED);
|
||||
@@ -989,7 +989,7 @@ public:
|
||||
// Felfire Portal - Creatres a portal, that spawns Volatile Felfire Fiends, which do suicide bombing.
|
||||
if (FelfirePortalTimer <= diff)
|
||||
{
|
||||
if (Creature* pPortal = DoSpawnCreature(CREATURE_FELFIRE_PORTAL, 0, 0,0, 0, TEMPSUMMON_TIMED_DESPAWN, 20000))
|
||||
if (Creature* pPortal = DoSpawnCreature(CREATURE_FELFIRE_PORTAL, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 20000))
|
||||
{
|
||||
std::list<HostileReference*>::iterator itr;
|
||||
for (itr = me->getThreatManager().getThreatList().begin(); itr != me->getThreatManager().getThreatList().end(); ++itr)
|
||||
@@ -1045,8 +1045,8 @@ public:
|
||||
if (uiSpawnFiendTimer <= diff)
|
||||
{
|
||||
if (Creature* pFiend = DoSpawnCreature(CREATURE_VOLATILE_FELFIRE_FIEND, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 20000))
|
||||
pFiend->AddThreat(SelectTarget(SELECT_TARGET_RANDOM,0), 100000.0f);
|
||||
uiSpawnFiendTimer = urand(4000,8000);
|
||||
pFiend->AddThreat(SelectTarget(SELECT_TARGET_RANDOM, 0), 100000.0f);
|
||||
uiSpawnFiendTimer = urand(4000, 8000);
|
||||
} else uiSpawnFiendTimer -= diff;
|
||||
}
|
||||
};
|
||||
@@ -1196,13 +1196,13 @@ public:
|
||||
{
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
bPointReached = true;
|
||||
uiTimer = urand(500,1000);
|
||||
uiTimer = urand(500, 1000);
|
||||
uiCheckTimer = 1000;
|
||||
r = 17;
|
||||
c = 0;
|
||||
mx = ShieldOrbLocations[0][0];
|
||||
my = ShieldOrbLocations[0][1];
|
||||
bClockwise = urand(0,1);
|
||||
bClockwise = urand(0, 1);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -1221,7 +1221,7 @@ public:
|
||||
}
|
||||
bPointReached = false;
|
||||
uiCheckTimer = 1000;
|
||||
me->GetMotionMaster()->MovePoint(1,x, y, SHIELD_ORB_Z);
|
||||
me->GetMotionMaster()->MovePoint(1, x, y, SHIELD_ORB_Z);
|
||||
c += M_PI/32;
|
||||
if (c >= 2*M_PI) c = 0;
|
||||
}
|
||||
@@ -1229,7 +1229,7 @@ public:
|
||||
{
|
||||
if (uiCheckTimer <= diff)
|
||||
{
|
||||
DoTeleportTo(x,y,SHIELD_ORB_Z);
|
||||
DoTeleportTo(x, y, SHIELD_ORB_Z);
|
||||
bPointReached = true;
|
||||
}
|
||||
else uiCheckTimer -= diff;
|
||||
@@ -1239,7 +1239,7 @@ public:
|
||||
{
|
||||
if (Unit* random = Unit::GetUnit(*me, pInstance ? pInstance->GetData64(DATA_PLAYER_GUID) : 0))
|
||||
DoCast(random, SPELL_SHADOW_BOLT, false);
|
||||
uiTimer = urand(500,1000);
|
||||
uiTimer = urand(500, 1000);
|
||||
} else uiTimer -= diff;
|
||||
}
|
||||
|
||||
@@ -1319,7 +1319,7 @@ public:
|
||||
if (uiTimer[1] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_MOONFIRE, false);
|
||||
uiTimer[1] = urand(2000,4000);
|
||||
uiTimer[1] = urand(2000, 4000);
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
break;
|
||||
@@ -1327,19 +1327,19 @@ public:
|
||||
if (uiTimer[1] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_MULTI_SHOT, false);
|
||||
uiTimer[1] = urand(8000,10000);
|
||||
uiTimer[1] = urand(8000, 10000);
|
||||
}
|
||||
if (uiTimer[2] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_SHOOT, false);
|
||||
uiTimer[2] = urand(4000,6000);
|
||||
uiTimer[2] = urand(4000, 6000);
|
||||
}
|
||||
if (me->IsWithinMeleeRange(me->getVictim(), 6))
|
||||
{
|
||||
if (uiTimer[0] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_MULTI_SHOT, false);
|
||||
uiTimer[0] = urand(6000,8000);
|
||||
uiTimer[0] = urand(6000, 8000);
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
@@ -1348,7 +1348,7 @@ public:
|
||||
if (uiTimer[1] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_FIREBALL, false);
|
||||
uiTimer[1] = urand(2000,4000);
|
||||
uiTimer[1] = urand(2000, 4000);
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
break;
|
||||
@@ -1356,12 +1356,12 @@ public:
|
||||
if (uiTimer[1] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_SHADOW_BOLT, false);
|
||||
uiTimer[1] = urand(3000,5000);
|
||||
uiTimer[1] = urand(3000, 5000);
|
||||
}
|
||||
if (uiTimer[2] <= diff)
|
||||
{
|
||||
DoCast(SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true), SPELL_SR_CURSE_OF_AGONY, true);
|
||||
uiTimer[2] = urand(2000,4000);
|
||||
uiTimer[2] = urand(2000, 4000);
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
break;
|
||||
@@ -1369,7 +1369,7 @@ public:
|
||||
if (uiTimer[1] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_WHIRLWIND, false);
|
||||
uiTimer[1] = urand(9000,11000);
|
||||
uiTimer[1] = urand(9000, 11000);
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
break;
|
||||
@@ -1377,12 +1377,12 @@ public:
|
||||
if (uiTimer[1] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_HAMMER_OF_JUSTICE, false);
|
||||
uiTimer[1] = urand(6000,8000);
|
||||
uiTimer[1] = urand(6000, 8000);
|
||||
}
|
||||
if (uiTimer[2] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_HOLY_SHOCK, false);
|
||||
uiTimer[2] = urand(2000,4000);
|
||||
uiTimer[2] = urand(2000, 4000);
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
break;
|
||||
@@ -1390,12 +1390,12 @@ public:
|
||||
if (uiTimer[1] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_HOLY_SMITE, false);
|
||||
uiTimer[1] = urand(4000,6000);
|
||||
uiTimer[1] = urand(4000, 6000);
|
||||
}
|
||||
if (uiTimer[2] <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_SR_RENEW, false);
|
||||
uiTimer[2] = urand(6000,8000);
|
||||
uiTimer[2] = urand(6000, 8000);
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
break;
|
||||
@@ -1403,7 +1403,7 @@ public:
|
||||
if (uiTimer[1] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_EARTH_SHOCK, false);
|
||||
uiTimer[1] = urand(4000,6000);
|
||||
uiTimer[1] = urand(4000, 6000);
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
break;
|
||||
@@ -1411,7 +1411,7 @@ public:
|
||||
if (uiTimer[1] <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SR_HEMORRHAGE, true);
|
||||
uiTimer[1] = urand(4000,6000);
|
||||
uiTimer[1] = urand(4000, 6000);
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
break;
|
||||
|
||||
@@ -148,16 +148,16 @@ public:
|
||||
switch(summoned->GetEntry())
|
||||
{
|
||||
case CREATURE_DARK_FIENDS:
|
||||
summoned->CastSpell(summoned,SPELL_DARKFIEND_VISUAL,false);
|
||||
summoned->CastSpell(summoned, SPELL_DARKFIEND_VISUAL, false);
|
||||
break;
|
||||
case CREATURE_DARKNESS:
|
||||
summoned->AddUnitState(UNIT_STAT_STUNNED);
|
||||
float x,y,z,o;
|
||||
summoned->GetHomePosition(x,y,z,o);
|
||||
me->SummonCreature(CREATURE_DARK_FIENDS, x,y,z,o, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
float x, y, z, o;
|
||||
summoned->GetHomePosition(x, y, z, o);
|
||||
me->SummonCreature(CREATURE_DARK_FIENDS, x, y, z, o, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
break;
|
||||
}
|
||||
summoned->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM,0, 50, true));
|
||||
summoned->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true));
|
||||
Summons.Summon(summoned);
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ public:
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
DoCastAOE(SPELL_NEGATIVE_ENERGY,false);
|
||||
DoCastAOE(SPELL_NEGATIVE_ENERGY, false);
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_MURU_EVENT, IN_PROGRESS);
|
||||
@@ -276,10 +276,10 @@ public:
|
||||
me->SetVisible(false);
|
||||
break;
|
||||
case CREATURE_DARK_FIENDS:
|
||||
summoned->CastSpell(summoned,SPELL_DARKFIEND_VISUAL,false);
|
||||
summoned->CastSpell(summoned, SPELL_DARKFIEND_VISUAL, false);
|
||||
break;
|
||||
}
|
||||
summoned->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM,0, 50, true));
|
||||
summoned->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true));
|
||||
Summons.Summon(summoned);
|
||||
}
|
||||
|
||||
@@ -331,13 +331,13 @@ public:
|
||||
{
|
||||
DarkFiend = false;
|
||||
for (uint8 i = 0; i < 8; ++i)
|
||||
me->SummonCreature(CREATURE_DARK_FIENDS,DarkFiends[i][0],DarkFiends[i][1],DarkFiends[i][2], DarkFiends[i][3], TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
me->SummonCreature(CREATURE_DARK_FIENDS, DarkFiends[i][0], DarkFiends[i][1], DarkFiends[i][2], DarkFiends[i][3], TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
Timer[TIMER_DARKNESS] = 42000;
|
||||
}
|
||||
break;
|
||||
case TIMER_HUMANOIDES:
|
||||
for (uint8 i = 0; i < 6; ++i)
|
||||
me->SummonCreature(uint32(Humanoides[i][0]),Humanoides[i][1],Humanoides[i][2],Humanoides[i][3], Humanoides[i][4], TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
me->SummonCreature(uint32(Humanoides[i][0]), Humanoides[i][1], Humanoides[i][2], Humanoides[i][3], Humanoides[i][4], TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
Timer[TIMER_HUMANOIDES] = 60000;
|
||||
break;
|
||||
case TIMER_PHASE:
|
||||
@@ -415,9 +415,9 @@ public:
|
||||
|
||||
void SpellHit(Unit* /*caster*/, const SpellEntry* Spell)
|
||||
{
|
||||
float x,y,z,o;
|
||||
me->GetHomePosition(x,y,z,o);
|
||||
DoTeleportTo(x,y,z);
|
||||
float x, y, z, o;
|
||||
me->GetHomePosition(x, y, z, o);
|
||||
DoTeleportTo(x, y, z);
|
||||
InAction = true;
|
||||
switch(Spell->Id)
|
||||
{
|
||||
@@ -535,15 +535,15 @@ public:
|
||||
PulseTimer = 3000;
|
||||
VoidBlastTimer = 45000; //is this a correct timer?
|
||||
|
||||
float x,y,z,o;
|
||||
me->GetHomePosition(x,y,z,o);
|
||||
DoTeleportTo(x,y,71);
|
||||
float x, y, z, o;
|
||||
me->GetHomePosition(x, y, z, o);
|
||||
DoTeleportTo(x, y, 71);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
for (uint8 i = 0; i < 8; ++i)
|
||||
me->SummonCreature(CREATURE_VOID_SPAWN, me->GetPositionX(),me->GetPositionY(),me->GetPositionZ(), float(rand()%6), TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 180000);
|
||||
me->SummonCreature(CREATURE_VOID_SPAWN, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), float(rand()%6), TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 180000);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
@@ -629,7 +629,7 @@ public:
|
||||
me->RemoveAura(SPELL_BLACKHOLE_GROW, 1);
|
||||
break;
|
||||
case 3:
|
||||
SpellTimer = urand(400,900);
|
||||
SpellTimer = urand(400, 900);
|
||||
NeedForAHack = 1;
|
||||
if (Unit* Temp = me->getVictim())
|
||||
{
|
||||
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
{
|
||||
Player* plr = itr->getSource();
|
||||
if (plr && !plr->HasAura(45839,0))
|
||||
if (plr && !plr->HasAura(45839, 0))
|
||||
return plr;
|
||||
}
|
||||
}
|
||||
@@ -226,15 +226,15 @@ public:
|
||||
{
|
||||
if (data == NOT_STARTED || data == DONE)
|
||||
{
|
||||
HandleGameObject(ForceField,true);
|
||||
HandleGameObject(KalecgosWall[0],true);
|
||||
HandleGameObject(KalecgosWall[1],true);
|
||||
HandleGameObject(ForceField, true);
|
||||
HandleGameObject(KalecgosWall[0], true);
|
||||
HandleGameObject(KalecgosWall[1], true);
|
||||
}
|
||||
else if (data == IN_PROGRESS)
|
||||
{
|
||||
HandleGameObject(ForceField,false);
|
||||
HandleGameObject(KalecgosWall[0],false);
|
||||
HandleGameObject(KalecgosWall[1],false);
|
||||
HandleGameObject(ForceField, false);
|
||||
HandleGameObject(KalecgosWall[0], false);
|
||||
HandleGameObject(KalecgosWall[1], false);
|
||||
}
|
||||
m_auiEncounter[0] = data;
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ class boss_archaedas : public CreatureScript
|
||||
if (pMinion && pMinion->isAlive())
|
||||
{
|
||||
DoCast(pMinion, SPELL_AWAKEN_VAULT_WALKER, bFlag);
|
||||
pMinion->CastSpell(pMinion, SPELL_ARCHAEDAS_AWAKEN,true);
|
||||
pMinion->CastSpell(pMinion, SPELL_ARCHAEDAS_AWAKEN, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ class boss_archaedas : public CreatureScript
|
||||
{
|
||||
me->setFaction(14);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_DISABLE_MOVE);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
||||
}
|
||||
|
||||
void SpellHit(Unit* /*caster*/, const SpellEntry *spell)
|
||||
@@ -118,7 +118,7 @@ class boss_archaedas : public CreatureScript
|
||||
if (spell == GetSpellStore()->LookupEntry(SPELL_ARCHAEDAS_AWAKEN))
|
||||
{
|
||||
me->MonsterYell(SAY_AGGRO, LANG_UNIVERSAL, 0);
|
||||
DoPlaySoundToSet(me,SOUND_AGGRO);
|
||||
DoPlaySoundToSet(me, SOUND_AGGRO);
|
||||
iAwakenTimer = 4000;
|
||||
bWakingUp = true;
|
||||
}
|
||||
@@ -161,12 +161,12 @@ class boss_archaedas : public CreatureScript
|
||||
//If we are <66 summon the guardians
|
||||
if (!bGuardiansAwake && !HealthAbovePct(66))
|
||||
{
|
||||
ActivateMinion(pInstance->GetData64(5),true); // EarthenGuardian1
|
||||
ActivateMinion(pInstance->GetData64(6),true); // EarthenGuardian2
|
||||
ActivateMinion(pInstance->GetData64(7),true); // EarthenGuardian3
|
||||
ActivateMinion(pInstance->GetData64(8),true); // EarthenGuardian4
|
||||
ActivateMinion(pInstance->GetData64(9),true); // EarthenGuardian5
|
||||
ActivateMinion(pInstance->GetData64(10),false); // EarthenGuardian6
|
||||
ActivateMinion(pInstance->GetData64(5), true); // EarthenGuardian1
|
||||
ActivateMinion(pInstance->GetData64(6), true); // EarthenGuardian2
|
||||
ActivateMinion(pInstance->GetData64(7), true); // EarthenGuardian3
|
||||
ActivateMinion(pInstance->GetData64(8), true); // EarthenGuardian4
|
||||
ActivateMinion(pInstance->GetData64(9), true); // EarthenGuardian5
|
||||
ActivateMinion(pInstance->GetData64(10), false); // EarthenGuardian6
|
||||
me->MonsterYell(SAY_SUMMON, LANG_UNIVERSAL, 0);
|
||||
DoPlaySoundToSet(me, SOUND_SUMMON);
|
||||
bGuardiansAwake = true;
|
||||
@@ -175,10 +175,10 @@ class boss_archaedas : public CreatureScript
|
||||
//If we are <33 summon the vault walkers
|
||||
if (!bVaultWalkersAwake && !HealthAbovePct(33))
|
||||
{
|
||||
ActivateMinion(pInstance->GetData64(1),true); // VaultWalker1
|
||||
ActivateMinion(pInstance->GetData64(2),true); // VaultWalker2
|
||||
ActivateMinion(pInstance->GetData64(3),true); // VaultWalker3
|
||||
ActivateMinion(pInstance->GetData64(4),false); // VaultWalker4
|
||||
ActivateMinion(pInstance->GetData64(1), true); // VaultWalker1
|
||||
ActivateMinion(pInstance->GetData64(2), true); // VaultWalker2
|
||||
ActivateMinion(pInstance->GetData64(3), true); // VaultWalker3
|
||||
ActivateMinion(pInstance->GetData64(4), false); // VaultWalker4
|
||||
me->MonsterYell(SAY_SUMMON2, LANG_UNIVERSAL, 0);
|
||||
DoPlaySoundToSet(me, SOUND_SUMMON2);
|
||||
bVaultWalkersAwake = true;
|
||||
@@ -364,7 +364,7 @@ class mob_stonekeepers : public CreatureScript
|
||||
|
||||
void JustDied(Unit * /*attacker*/)
|
||||
{
|
||||
DoCast (me, SPELL_SELF_DESTRUCT,true);
|
||||
DoCast (me, SPELL_SELF_DESTRUCT, true);
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_STONE_KEEPERS, IN_PROGRESS); // activate next stonekeeper
|
||||
}
|
||||
@@ -402,7 +402,7 @@ class go_altar_of_archaedas : public GameObjectScript
|
||||
|
||||
pPlayer->CastSpell (pPlayer, SPELL_BOSS_OBJECT_VISUAL, false);
|
||||
|
||||
pInstance->SetData64(0,pPlayer->GetGUID()); // activate archaedas
|
||||
pInstance->SetData64(0, pPlayer->GetGUID()); // activate archaedas
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -148,7 +148,7 @@ class instance_uldaman : public InstanceMapScript
|
||||
{
|
||||
creature->setFaction(35);
|
||||
creature->RemoveAllAuras();
|
||||
//creature->RemoveFlag (UNIT_FIELD_FLAGS,UNIT_FLAG_ANIMATION_FROZEN);
|
||||
//creature->RemoveFlag (UNIT_FIELD_FLAGS, UNIT_FLAG_ANIMATION_FROZEN);
|
||||
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
||||
}
|
||||
@@ -178,7 +178,7 @@ class instance_uldaman : public InstanceMapScript
|
||||
Creature* pTarget = instance->GetCreature(*i);
|
||||
if (!pTarget || !pTarget->isAlive() || pTarget->getFaction() == 14)
|
||||
continue;
|
||||
pTarget->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_DISABLE_MOVE);
|
||||
pTarget->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
||||
pTarget->setFaction(14);
|
||||
pTarget->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
return; // only want the first one we find
|
||||
@@ -200,7 +200,7 @@ class instance_uldaman : public InstanceMapScript
|
||||
if (!pTarget || !pTarget->isAlive() || pTarget->getFaction() == 14)
|
||||
continue;
|
||||
archaedas->CastSpell(pTarget, SPELL_AWAKEN_VAULT_WALKER, true);
|
||||
pTarget->CastSpell(pTarget, SPELL_ARCHAEDAS_AWAKEN,true);
|
||||
pTarget->CastSpell(pTarget, SPELL_ARCHAEDAS_AWAKEN, true);
|
||||
return; // only want the first one we find
|
||||
}
|
||||
}
|
||||
@@ -247,7 +247,7 @@ class instance_uldaman : public InstanceMapScript
|
||||
|
||||
if (Unit::GetUnit(*archaedas, target))
|
||||
{
|
||||
archaedas->CastSpell(archaedas, SPELL_ARCHAEDAS_AWAKEN,false);
|
||||
archaedas->CastSpell(archaedas, SPELL_ARCHAEDAS_AWAKEN, false);
|
||||
uiWhoWokeuiArchaedasGUID = target;
|
||||
}
|
||||
}
|
||||
@@ -259,7 +259,7 @@ class instance_uldaman : public InstanceMapScript
|
||||
return;
|
||||
|
||||
ironaya->setFaction(415);
|
||||
ironaya->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_DISABLE_MOVE);
|
||||
ironaya->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
||||
ironaya->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
|
||||
@@ -104,9 +104,9 @@ class boss_akilzon : public CreatureScript
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_AKILZONEVENT, NOT_STARTED);
|
||||
|
||||
StaticDisruption_Timer = urand(10000,20000); //10 to 20 seconds (bosskillers)
|
||||
GustOfWind_Timer = urand(20000,30000); //20 to 30 seconds(bosskillers)
|
||||
CallLighting_Timer = urand(10000,20000); //totaly random timer. can't find any info on this
|
||||
StaticDisruption_Timer = urand(10000, 20000); //10 to 20 seconds (bosskillers)
|
||||
GustOfWind_Timer = urand(20000, 30000); //20 to 30 seconds(bosskillers)
|
||||
CallLighting_Timer = urand(10000, 20000); //totaly random timer. can't find any info on this
|
||||
ElectricalStorm_Timer = 60000; //60 seconds(bosskillers)
|
||||
Enrage_Timer = 10*MINUTE*IN_MILLISECONDS; //10 minutes till enrage(bosskillers)
|
||||
SummonEagles_Timer = 99999;
|
||||
@@ -146,7 +146,7 @@ class boss_akilzon : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
switch (urand(0,1))
|
||||
switch (urand(0, 1))
|
||||
{
|
||||
case 0:
|
||||
me->MonsterYell(SAY_ONSLAY1, LANG_UNIVERSAL, 0);
|
||||
@@ -163,7 +163,7 @@ class boss_akilzon : public CreatureScript
|
||||
{
|
||||
for (uint8 i = 0; i < 8; ++i)
|
||||
{
|
||||
Unit* bird = Unit::GetUnit(*me,BirdGUIDs[i]);
|
||||
Unit* bird = Unit::GetUnit(*me, BirdGUIDs[i]);
|
||||
if (bird && bird->isAlive())
|
||||
{
|
||||
bird->SetVisible(false);
|
||||
@@ -219,7 +219,7 @@ class boss_akilzon : public CreatureScript
|
||||
}
|
||||
}
|
||||
// visual
|
||||
float x,y,z;
|
||||
float x, y, z;
|
||||
z = me->GetPositionZ();
|
||||
for (uint8 i = 0; i < 5+rand()%5; ++i)
|
||||
{
|
||||
@@ -232,7 +232,7 @@ class boss_akilzon : public CreatureScript
|
||||
trigger->SetHealth(100000);
|
||||
trigger->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
if (Cloud)
|
||||
Cloud->CastCustomSpell(trigger, /*43661*/43137, &bp0, NULL, NULL,true, 0, 0, Cloud->GetGUID());
|
||||
Cloud->CastCustomSpell(trigger, /*43661*/43137, &bp0, NULL, NULL, true, 0, 0, Cloud->GetGUID());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -244,7 +244,7 @@ class boss_akilzon : public CreatureScript
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
CloudGUID = 0;
|
||||
if (Cloud)
|
||||
Cloud->DealDamage(Cloud, Cloud->GetHealth(),NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||
Cloud->DealDamage(Cloud, Cloud->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||
SetWeather(WEATHER_STATE_FINE, 0.0f);
|
||||
isRaining = false;
|
||||
}
|
||||
@@ -325,12 +325,12 @@ class boss_akilzon : public CreatureScript
|
||||
}
|
||||
pTarget->CastSpell(pTarget, 44007, true);//cloud visual
|
||||
DoCast(pTarget, SPELL_ELECTRICAL_STORM, false);//storm cyclon + visual
|
||||
float x,y,z;
|
||||
pTarget->GetPosition(x,y,z);
|
||||
float x, y, z;
|
||||
pTarget->GetPosition(x, y, z);
|
||||
if (pTarget)
|
||||
{
|
||||
pTarget->SetUnitMovementFlags(MOVEMENTFLAG_LEVITATING);
|
||||
pTarget->SendMonsterMove(x,y,me->GetPositionZ()+15,0);
|
||||
pTarget->SendMonsterMove(x, y, me->GetPositionZ()+15, 0);
|
||||
}
|
||||
Unit *Cloud = me->SummonTrigger(x, y, me->GetPositionZ()+16, 0, 15000);
|
||||
if (Cloud)
|
||||
@@ -359,16 +359,16 @@ class boss_akilzon : public CreatureScript
|
||||
|
||||
for (uint8 i = 0; i < 8; ++i)
|
||||
{
|
||||
Unit* bird = Unit::GetUnit(*me,BirdGUIDs[i]);
|
||||
Unit* bird = Unit::GetUnit(*me, BirdGUIDs[i]);
|
||||
if (!bird) //they despawned on die
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
x = pTarget->GetPositionX() + irand(-10,10);
|
||||
y = pTarget->GetPositionY() + irand(-10,10);
|
||||
z = pTarget->GetPositionZ() + urand(16,20);
|
||||
x = pTarget->GetPositionX() + irand(-10, 10);
|
||||
y = pTarget->GetPositionY() + irand(-10, 10);
|
||||
z = pTarget->GetPositionZ() + urand(16, 20);
|
||||
if (z > 95)
|
||||
z = 95.0f - urand(0,5);
|
||||
z = 95.0f - urand(0, 5);
|
||||
}
|
||||
Creature *pCreature = me->SummonCreature(MOB_SOARING_EAGLE, x, y, z, 0, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
if (pCreature)
|
||||
@@ -448,11 +448,11 @@ class mob_akilzon_eagle : public CreatureScript
|
||||
float x, y, z;
|
||||
if (EagleSwoop_Timer)
|
||||
{
|
||||
x = pTarget->GetPositionX() + irand(-10,10);
|
||||
y = pTarget->GetPositionY() + irand(-10,10);
|
||||
z = pTarget->GetPositionZ() + urand(10,15);
|
||||
x = pTarget->GetPositionX() + irand(-10, 10);
|
||||
y = pTarget->GetPositionY() + irand(-10, 10);
|
||||
z = pTarget->GetPositionZ() + urand(10, 15);
|
||||
if (z > 95)
|
||||
z = 95.0f - urand(0,5);
|
||||
z = 95.0f - urand(0, 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -186,7 +186,7 @@ class boss_halazzi : public CreatureScript
|
||||
break;
|
||||
case PHASE_HUMAN:
|
||||
//DoCast(me, SPELL_SUMMON_LYNX, true);
|
||||
DoSpawnCreature(MOB_SPIRIT_LYNX, 5,5,0,0, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
DoSpawnCreature(MOB_SPIRIT_LYNX, 5, 5, 0, 0, TEMPSUMMON_CORPSE_DESPAWN, 0);
|
||||
me->SetMaxHealth(400000);
|
||||
me->SetHealth(400000);
|
||||
ShockTimer = 10000;
|
||||
@@ -238,7 +238,7 @@ class boss_halazzi : public CreatureScript
|
||||
if (FrenzyTimer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_FRENZY);
|
||||
FrenzyTimer = urand(10000,15000);
|
||||
FrenzyTimer = urand(10000, 15000);
|
||||
} else FrenzyTimer -= diff;
|
||||
|
||||
if (Phase == PHASE_LYNX)
|
||||
@@ -262,7 +262,7 @@ class boss_halazzi : public CreatureScript
|
||||
|
||||
if (ShockTimer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
if (pTarget->IsNonMeleeSpellCasted(false))
|
||||
DoCast(pTarget, SPELL_EARTHSHOCK);
|
||||
@@ -315,7 +315,7 @@ class boss_halazzi : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
switch (urand(0,1))
|
||||
switch (urand(0, 1))
|
||||
{
|
||||
case 0:
|
||||
me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, 0);
|
||||
@@ -364,7 +364,7 @@ class mob_halazzi_lynx : public CreatureScript
|
||||
|
||||
void Reset()
|
||||
{
|
||||
FrenzyTimer = urand(30000,50000); //frenzy every 30-50 seconds
|
||||
FrenzyTimer = urand(30000, 50000); //frenzy every 30-50 seconds
|
||||
shredder_timer = 4000;
|
||||
}
|
||||
|
||||
@@ -390,7 +390,7 @@ class mob_halazzi_lynx : public CreatureScript
|
||||
if (FrenzyTimer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_LYNX_FRENZY);
|
||||
FrenzyTimer = urand(30000,50000); //frenzy every 30-50 seconds
|
||||
FrenzyTimer = urand(30000, 50000); //frenzy every 30-50 seconds
|
||||
} else FrenzyTimer -= diff;
|
||||
|
||||
if (shredder_timer <= diff)
|
||||
|
||||
@@ -264,7 +264,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
{
|
||||
Unit* Temp = Unit::GetUnit((*me),AddGUID[i]);
|
||||
Unit* Temp = Unit::GetUnit((*me), AddGUID[i]);
|
||||
if (Temp && Temp->isAlive())
|
||||
CAST_CRE(Temp)->AI()->AttackStart(me->getVictim());
|
||||
else
|
||||
@@ -277,7 +277,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
switch (urand(0,1))
|
||||
switch (urand(0, 1))
|
||||
{
|
||||
case 0:
|
||||
me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, 0);
|
||||
@@ -300,7 +300,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
|
||||
for (uint8 i = 0; i < 4 ; ++i)
|
||||
{
|
||||
Unit* Temp = Unit::GetUnit((*me),AddGUID[i]);
|
||||
Unit* Temp = Unit::GetUnit((*me), AddGUID[i]);
|
||||
if (Temp && Temp->isAlive())
|
||||
Temp->DealDamage(Temp, Temp->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||
}
|
||||
@@ -371,7 +371,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
DoCast(me, SPELL_DRAIN_POWER, true);
|
||||
me->MonsterYell(YELL_DRAIN_POWER, LANG_UNIVERSAL, 0);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_DRAIN_POWER);
|
||||
DrainPower_Timer = urand(40000,55000); // must cast in 60 sec, or buff/debuff will disappear
|
||||
DrainPower_Timer = urand(40000, 55000); // must cast in 60 sec, or buff/debuff will disappear
|
||||
} else DrainPower_Timer -= diff;
|
||||
|
||||
if (SpiritBolts_Timer <= diff)
|
||||
@@ -410,7 +410,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
//me->SetUInt32Value(UNIT_CHANNEL_SPELL, SPELL_SIPHON_SOUL);
|
||||
|
||||
PlayerGUID = pTarget->GetGUID();
|
||||
PlayerAbility_Timer = urand(8000,10000);
|
||||
PlayerAbility_Timer = urand(8000, 10000);
|
||||
PlayerClass = pTarget->getClass() - 1;
|
||||
|
||||
if (PlayerClass == CLASS_DRUID-1)
|
||||
@@ -428,7 +428,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
//if (pTarget && pTarget->isAlive())
|
||||
//{
|
||||
UseAbility();
|
||||
PlayerAbility_Timer = urand(8000,10000);
|
||||
PlayerAbility_Timer = urand(8000, 10000);
|
||||
//}
|
||||
} else PlayerAbility_Timer -= diff;
|
||||
|
||||
@@ -437,7 +437,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
|
||||
void UseAbility()
|
||||
{
|
||||
uint8 random = urand(0,2);
|
||||
uint8 random = urand(0, 2);
|
||||
Unit *pTarget = NULL;
|
||||
switch(PlayerAbility[PlayerClass][random].target)
|
||||
{
|
||||
@@ -599,7 +599,7 @@ class boss_alyson_antille : public CreatureScript
|
||||
}
|
||||
else
|
||||
{
|
||||
if (urand(0,1))
|
||||
if (urand(0, 1))
|
||||
pTarget = DoSelectLowestHpFriendly(50, 0);
|
||||
else
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
@@ -611,7 +611,7 @@ class boss_alyson_antille : public CreatureScript
|
||||
|
||||
/*if (dispelmagic_timer <= diff)
|
||||
{
|
||||
if (urand(0,1))
|
||||
if (urand(0, 1))
|
||||
{
|
||||
Unit *pTarget = SelectTarget();
|
||||
|
||||
@@ -865,7 +865,7 @@ class boss_fenstalker : public CreatureScript
|
||||
if (volatileinf_timer <= diff)
|
||||
{
|
||||
// core bug
|
||||
me->getVictim()->CastSpell(me->getVictim(),SPELL_VOLATILE_INFECTION, false);
|
||||
me->getVictim()->CastSpell(me->getVictim(), SPELL_VOLATILE_INFECTION, false);
|
||||
volatileinf_timer = 12000;
|
||||
} else volatileinf_timer -= diff;
|
||||
|
||||
|
||||
@@ -87,18 +87,18 @@ float FireWallCoords[4][4] =
|
||||
float hatcherway[2][5][3] =
|
||||
{
|
||||
{
|
||||
{-87.46f,1170.09f,6},
|
||||
{-74.41f,1154.75f,6},
|
||||
{-52.74f,1153.32f,19},
|
||||
{-33.37f,1172.46f,19},
|
||||
{-33.09f,1203.87f,19}
|
||||
{-87.46f, 1170.09f, 6},
|
||||
{-74.41f, 1154.75f, 6},
|
||||
{-52.74f, 1153.32f, 19},
|
||||
{-33.37f, 1172.46f, 19},
|
||||
{-33.09f, 1203.87f, 19}
|
||||
},
|
||||
{
|
||||
{-86.57f,1132.85f,6},
|
||||
{-73.94f,1146.00f,6},
|
||||
{-52.29f,1146.51f,19},
|
||||
{-33.57f,1125.72f,19},
|
||||
{-34.29f,1095.22f,19}
|
||||
{-86.57f, 1132.85f, 6},
|
||||
{-73.94f, 1146.00f, 6},
|
||||
{-52.29f, 1146.51f, 19},
|
||||
{-33.57f, 1125.72f, 19},
|
||||
{-34.29f, 1095.22f, 19}
|
||||
}
|
||||
};
|
||||
class boss_janalai : public CreatureScript
|
||||
@@ -175,7 +175,7 @@ class boss_janalai : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY_1,SAY_SLAY_2), me);
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
@@ -210,9 +210,9 @@ class boss_janalai : public CreatureScript
|
||||
for (uint8 j = 0; j < WallNum; j++)
|
||||
{
|
||||
if (WallNum == 3)
|
||||
wall = me->SummonCreature(MOB_FIRE_BOMB, FireWallCoords[i][0],FireWallCoords[i][1]+5*(j-1),FireWallCoords[i][2],FireWallCoords[i][3],TEMPSUMMON_TIMED_DESPAWN,15000);
|
||||
wall = me->SummonCreature(MOB_FIRE_BOMB, FireWallCoords[i][0], FireWallCoords[i][1]+5*(j-1), FireWallCoords[i][2], FireWallCoords[i][3], TEMPSUMMON_TIMED_DESPAWN, 15000);
|
||||
else
|
||||
wall = me->SummonCreature(MOB_FIRE_BOMB, FireWallCoords[i][0]-2+4*j,FireWallCoords[i][1],FireWallCoords[i][2],FireWallCoords[i][3],TEMPSUMMON_TIMED_DESPAWN,15000);
|
||||
wall = me->SummonCreature(MOB_FIRE_BOMB, FireWallCoords[i][0]-2+4*j, FireWallCoords[i][1], FireWallCoords[i][2], FireWallCoords[i][3], TEMPSUMMON_TIMED_DESPAWN, 15000);
|
||||
if (wall) wall->CastSpell(wall, SPELL_FIRE_WALL, true);
|
||||
}
|
||||
}
|
||||
@@ -312,7 +312,7 @@ class boss_janalai : public CreatureScript
|
||||
{
|
||||
Boom();
|
||||
isBombing = false;
|
||||
BombTimer = urand(20000,40000);
|
||||
BombTimer = urand(20000, 40000);
|
||||
me->RemoveAurasDueToSpell(SPELL_FIRE_BOMB_CHANNEL);
|
||||
if (EnrageTimer <= 10000)
|
||||
EnrageTimer = 0;
|
||||
@@ -369,10 +369,10 @@ class boss_janalai : public CreatureScript
|
||||
|
||||
me->AttackStop();
|
||||
me->GetMotionMaster()->Clear();
|
||||
DoTeleportTo(JanalainPos[0][0],JanalainPos[0][1],JanalainPos[0][2]);
|
||||
DoTeleportTo(JanalainPos[0][0], JanalainPos[0][1], JanalainPos[0][2]);
|
||||
me->StopMoving();
|
||||
DoCast(me, SPELL_FIRE_BOMB_CHANNEL, false);
|
||||
//DoTeleportPlayer(me, JanalainPos[0][0], JanalainPos[0][1],JanalainPos[0][2], 0);
|
||||
//DoTeleportPlayer(me, JanalainPos[0][0], JanalainPos[0][1], JanalainPos[0][2], 0);
|
||||
//DoCast(me, SPELL_TELE_TO_CENTER, true);
|
||||
|
||||
FireWall();
|
||||
@@ -400,7 +400,7 @@ class boss_janalai : public CreatureScript
|
||||
|
||||
me->AttackStop();
|
||||
me->GetMotionMaster()->Clear();
|
||||
DoTeleportTo(JanalainPos[0][0],JanalainPos[0][1],JanalainPos[0][2]);
|
||||
DoTeleportTo(JanalainPos[0][0], JanalainPos[0][1], JanalainPos[0][2]);
|
||||
me->StopMoving();
|
||||
DoCast(me, SPELL_HATCH_ALL, false);
|
||||
HatchAllEggs(2);
|
||||
@@ -411,8 +411,8 @@ class boss_janalai : public CreatureScript
|
||||
if (HatchAllEggs(0))
|
||||
{
|
||||
DoScriptText(SAY_SUMMON_HATCHER, me);
|
||||
me->SummonCreature(MOB_AMANI_HATCHER,hatcherway[0][0][0],hatcherway[0][0][1],hatcherway[0][0][2],0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000);
|
||||
me->SummonCreature(MOB_AMANI_HATCHER,hatcherway[1][0][0],hatcherway[1][0][1],hatcherway[1][0][2],0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000);
|
||||
me->SummonCreature(MOB_AMANI_HATCHER, hatcherway[0][0][0], hatcherway[0][0][1], hatcherway[0][0][2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
me->SummonCreature(MOB_AMANI_HATCHER, hatcherway[1][0][0], hatcherway[1][0][1], hatcherway[1][0][2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
|
||||
HatcherTimer = 90000;
|
||||
}
|
||||
else
|
||||
@@ -426,7 +426,7 @@ class boss_janalai : public CreatureScript
|
||||
|
||||
if (FireBreathTimer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
me->AttackStop();
|
||||
me->GetMotionMaster()->Clear();
|
||||
@@ -578,7 +578,7 @@ class mob_janalai_hatcher : public CreatureScript
|
||||
if (WaitTimer)
|
||||
{
|
||||
me->GetMotionMaster()->Clear();
|
||||
me->GetMotionMaster()->MovePoint(0,hatcherway[side][waypoint][0],hatcherway[side][waypoint][1],hatcherway[side][waypoint][2]);
|
||||
me->GetMotionMaster()->MovePoint(0, hatcherway[side][waypoint][0], hatcherway[side][waypoint][1], hatcherway[side][waypoint][2]);
|
||||
++waypoint;
|
||||
WaitTimer = 0;
|
||||
}
|
||||
@@ -637,9 +637,9 @@ class mob_janalai_hatchling : public CreatureScript
|
||||
{
|
||||
BuffetTimer = 7000;
|
||||
if (me->GetPositionY() > 1150)
|
||||
me->GetMotionMaster()->MovePoint(0, hatcherway[0][3][0]+rand()%4-2,1150.0f+rand()%4-2,hatcherway[0][3][2]);
|
||||
me->GetMotionMaster()->MovePoint(0, hatcherway[0][3][0]+rand()%4-2, 1150.0f+rand()%4-2, hatcherway[0][3][2]);
|
||||
else
|
||||
me->GetMotionMaster()->MovePoint(0, hatcherway[1][3][0]+rand()%4-2,1150.0f+rand()%4-2,hatcherway[1][3][2]);
|
||||
me->GetMotionMaster()->MovePoint(0, hatcherway[1][3][0]+rand()%4-2, 1150.0f+rand()%4-2, hatcherway[1][3][2]);
|
||||
|
||||
me->SetUnitMovementFlags(MOVEMENTFLAG_LEVITATING);
|
||||
}
|
||||
|
||||
@@ -30,12 +30,12 @@ EndScriptData */
|
||||
//Trash Waves
|
||||
float NalorakkWay[8][3] =
|
||||
{
|
||||
{ 18.569f, 1414.512f, 11.42f},// waypoint 1
|
||||
{ 18.569f, 1414.512f, 11.42f}, // waypoint 1
|
||||
{-17.264f, 1419.551f, 12.62f},
|
||||
{-52.642f, 1419.357f, 27.31f},// waypoint 2
|
||||
{-52.642f, 1419.357f, 27.31f}, // waypoint 2
|
||||
{-69.908f, 1419.721f, 27.31f},
|
||||
{-79.929f, 1395.958f, 27.31f},
|
||||
{-80.072f, 1374.555f, 40.87f},// waypoint 3
|
||||
{-80.072f, 1374.555f, 40.87f}, // waypoint 3
|
||||
{-80.072f, 1314.398f, 40.87f},
|
||||
{-80.072f, 1295.775f, 48.60f} // waypoint 4
|
||||
};
|
||||
@@ -135,11 +135,11 @@ class boss_nalorakk : public CreatureScript
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
inMove = false;
|
||||
waitTimer = 0;
|
||||
me->SetSpeed(MOVE_RUN,2);
|
||||
me->SetSpeed(MOVE_RUN, 2);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
}else
|
||||
{
|
||||
(*me).GetMotionMaster()->MovePoint(0,NalorakkWay[7][0],NalorakkWay[7][1],NalorakkWay[7][2]);
|
||||
(*me).GetMotionMaster()->MovePoint(0, NalorakkWay[7][0], NalorakkWay[7][1], NalorakkWay[7][2]);
|
||||
}
|
||||
|
||||
if (pInstance)
|
||||
@@ -180,7 +180,7 @@ class boss_nalorakk : public CreatureScript
|
||||
|
||||
for (std::list<Creature*>::const_iterator i = templist.begin(); i != templist.end(); ++i)
|
||||
{
|
||||
if ((*i) && me->IsWithinDistInMap((*i),25))
|
||||
if ((*i) && me->IsWithinDistInMap((*i), 25))
|
||||
{
|
||||
(*i)->SetNoCallAssistance(true);
|
||||
(*i)->AI()->AttackStart(pTarget);
|
||||
@@ -214,7 +214,7 @@ class boss_nalorakk : public CreatureScript
|
||||
me->MonsterYell(YELL_NALORAKK_WAVE1, LANG_UNIVERSAL, 0);
|
||||
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE1);
|
||||
|
||||
(*me).GetMotionMaster()->MovePoint(1,NalorakkWay[1][0],NalorakkWay[1][1],NalorakkWay[1][2]);
|
||||
(*me).GetMotionMaster()->MovePoint(1, NalorakkWay[1][0], NalorakkWay[1][1], NalorakkWay[1][2]);
|
||||
MovePhase ++;
|
||||
inMove = true;
|
||||
|
||||
@@ -227,7 +227,7 @@ class boss_nalorakk : public CreatureScript
|
||||
me->MonsterYell(YELL_NALORAKK_WAVE2, LANG_UNIVERSAL, 0);
|
||||
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE2);
|
||||
|
||||
(*me).GetMotionMaster()->MovePoint(3,NalorakkWay[3][0],NalorakkWay[3][1],NalorakkWay[3][2]);
|
||||
(*me).GetMotionMaster()->MovePoint(3, NalorakkWay[3][0], NalorakkWay[3][1], NalorakkWay[3][2]);
|
||||
MovePhase ++;
|
||||
inMove = true;
|
||||
|
||||
@@ -240,7 +240,7 @@ class boss_nalorakk : public CreatureScript
|
||||
me->MonsterYell(YELL_NALORAKK_WAVE3, LANG_UNIVERSAL, 0);
|
||||
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE3);
|
||||
|
||||
(*me).GetMotionMaster()->MovePoint(6,NalorakkWay[6][0],NalorakkWay[6][1],NalorakkWay[6][2]);
|
||||
(*me).GetMotionMaster()->MovePoint(6, NalorakkWay[6][0], NalorakkWay[6][1], NalorakkWay[6][2]);
|
||||
MovePhase ++;
|
||||
inMove = true;
|
||||
|
||||
@@ -288,7 +288,7 @@ class boss_nalorakk : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*victim*/)
|
||||
{
|
||||
switch (urand(0,1))
|
||||
switch (urand(0, 1))
|
||||
{
|
||||
case 0:
|
||||
me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, 0);
|
||||
@@ -348,7 +348,7 @@ class boss_nalorakk : public CreatureScript
|
||||
if (waitTimer <= diff)
|
||||
{
|
||||
(*me).GetMotionMaster()->MovementExpired();
|
||||
(*me).GetMotionMaster()->MovePoint(MovePhase,NalorakkWay[MovePhase][0],NalorakkWay[MovePhase][1],NalorakkWay[MovePhase][2]);
|
||||
(*me).GetMotionMaster()->MovePoint(MovePhase, NalorakkWay[MovePhase][0], NalorakkWay[MovePhase][1], NalorakkWay[MovePhase][2]);
|
||||
waitTimer = 0;
|
||||
} else waitTimer -= diff;
|
||||
}
|
||||
|
||||
@@ -239,7 +239,7 @@ class boss_zuljin : public CreatureScript
|
||||
if (Intro_Timer)
|
||||
return;
|
||||
|
||||
switch (urand(0,1))
|
||||
switch (urand(0, 1))
|
||||
{
|
||||
case 0:
|
||||
me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, 0);
|
||||
@@ -262,7 +262,7 @@ class boss_zuljin : public CreatureScript
|
||||
Summons.DespawnEntry(CREATURE_COLUMN_OF_FIRE);
|
||||
|
||||
if (Unit *Temp = Unit::GetUnit(*me, SpiritGUID[3]))
|
||||
Temp->SetUInt32Value(UNIT_FIELD_BYTES_1,UNIT_STAND_STATE_DEAD);
|
||||
Temp->SetUInt32Value(UNIT_FIELD_BYTES_1, UNIT_STAND_STATE_DEAD);
|
||||
}
|
||||
|
||||
void AttackStart(Unit *who)
|
||||
@@ -358,7 +358,7 @@ class boss_zuljin : public CreatureScript
|
||||
if (Phase > 0)
|
||||
{
|
||||
if (Unit *Temp = Unit::GetUnit(*me, SpiritGUID[Phase - 1]))
|
||||
Temp->SetUInt32Value(UNIT_FIELD_BYTES_1,UNIT_STAND_STATE_DEAD);
|
||||
Temp->SetUInt32Value(UNIT_FIELD_BYTES_1, UNIT_STAND_STATE_DEAD);
|
||||
}
|
||||
if (Unit *Temp = Unit::GetUnit(*me, SpiritGUID[NextPhase - 1]))
|
||||
Temp->CastSpell(me, SPELL_SIPHON_SOUL, false); // should m cast on temp
|
||||
|
||||
@@ -86,8 +86,8 @@ class npc_forest_frog : public CreatureScript
|
||||
|
||||
if (cEntry) me->UpdateEntry(cEntry);
|
||||
|
||||
if (cEntry == 24408) pInstance->SetData(TYPE_RAND_VENDOR_1,DONE);
|
||||
if (cEntry == 24409) pInstance->SetData(TYPE_RAND_VENDOR_2,DONE);
|
||||
if (cEntry == 24408) pInstance->SetData(TYPE_RAND_VENDOR_1, DONE);
|
||||
if (cEntry == 24409) pInstance->SetData(TYPE_RAND_VENDOR_2, DONE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ class boss_arlokk : public CreatureScript
|
||||
|
||||
if (m_uiMark_Timer <= uiDiff)
|
||||
{
|
||||
Unit *pMarkedTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
Unit *pMarkedTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
|
||||
if (pMarkedTarget)
|
||||
{
|
||||
@@ -193,7 +193,7 @@ class boss_arlokk : public CreatureScript
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_GOUGE);
|
||||
|
||||
DoModifyThreatPercent(me->getVictim(),-80);
|
||||
DoModifyThreatPercent(me->getVictim(), -80);
|
||||
|
||||
m_uiGouge_Timer = 17000+rand()%10000;
|
||||
}
|
||||
@@ -242,7 +242,7 @@ class boss_arlokk : public CreatureScript
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35)));
|
||||
me->UpdateDamagePhysical(BASE_ATTACK);
|
||||
|
||||
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
AttackStart(pTarget);
|
||||
|
||||
m_bIsPhaseTwo = true;
|
||||
|
||||
@@ -68,10 +68,10 @@ class boss_grilek : public CreatureScript
|
||||
DoCast(me, SPELL_AVARTAR);
|
||||
Unit *pTarget = NULL;
|
||||
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,1);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-50);
|
||||
DoModifyThreatPercent(me->getVictim(), -50);
|
||||
if (pTarget)
|
||||
AttackStart(pTarget);
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ class boss_hakkar : public CreatureScript
|
||||
//CauseInsanity_Timer
|
||||
/*if (CauseInsanity_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, SPELL_CAUSEINSANITY);
|
||||
|
||||
CauseInsanity_Timer = 35000 + rand()%8000;
|
||||
@@ -141,7 +141,7 @@ class boss_hakkar : public CreatureScript
|
||||
//WillOfHakkar_Timer
|
||||
if (WillOfHakkar_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
DoCast(pTarget, SPELL_WILLOFHAKKAR);
|
||||
|
||||
WillOfHakkar_Timer = 25000 + rand()%10000;
|
||||
|
||||
@@ -84,11 +84,11 @@ class boss_hazzarah : public CreatureScript
|
||||
Unit *pTarget = NULL;
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
{
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
if (!pTarget)
|
||||
return;
|
||||
|
||||
Creature *Illusion = me->SummonCreature(15163,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,30000);
|
||||
Creature *Illusion = me->SummonCreature(15163, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 30000);
|
||||
if (Illusion)
|
||||
Illusion->AI()->AttackStart(pTarget);
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ class boss_jeklik : public CreatureScript
|
||||
{
|
||||
if (Charge_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
DoCast(pTarget, SPELL_CHARGE);
|
||||
AttackStart(pTarget);
|
||||
@@ -136,24 +136,24 @@ class boss_jeklik : public CreatureScript
|
||||
|
||||
if (SpawnBats_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
|
||||
Creature* Bat = NULL;
|
||||
Bat = me->SummonCreature(11368,-12291.6220f,-1380.2640f,144.8304f,5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Bat = me->SummonCreature(11368, -12291.6220f, -1380.2640f, 144.8304f, 5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
|
||||
Bat = me->SummonCreature(11368,-12289.6220f,-1380.2640f,144.8304f,5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Bat = me->SummonCreature(11368, -12289.6220f, -1380.2640f, 144.8304f, 5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
|
||||
Bat = me->SummonCreature(11368,-12293.6220f,-1380.2640f,144.8304f,5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Bat = me->SummonCreature(11368, -12293.6220f, -1380.2640f, 144.8304f, 5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
|
||||
Bat = me->SummonCreature(11368,-12291.6220f,-1380.2640f,144.8304f,5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Bat = me->SummonCreature(11368, -12291.6220f, -1380.2640f, 144.8304f, 5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
|
||||
Bat = me->SummonCreature(11368,-12289.6220f,-1380.2640f,144.8304f,5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Bat = me->SummonCreature(11368, -12289.6220f, -1380.2640f, 144.8304f, 5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
Bat = me->SummonCreature(11368,-12293.6220f,-1380.2640f,144.8304f,5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Bat = me->SummonCreature(11368, -12293.6220f, -1380.2640f, 144.8304f, 5.483f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
|
||||
SpawnBats_Timer = 60000;
|
||||
@@ -165,7 +165,7 @@ class boss_jeklik : public CreatureScript
|
||||
{
|
||||
if (PhaseTwo && ShadowWordPain_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
DoCast(pTarget, SPELL_SHADOW_WORD_PAIN);
|
||||
ShadowWordPain_Timer = 12000 + rand()%6000;
|
||||
|
||||
@@ -90,7 +90,7 @@ class boss_jindo : public CreatureScript
|
||||
if (HealingWard_Timer <= diff)
|
||||
{
|
||||
//DoCast(me, SPELL_POWERFULLHEALINGWARD);
|
||||
me->SummonCreature(14987, me->GetPositionX()+3, me->GetPositionY()-2, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,30000);
|
||||
me->SummonCreature(14987, me->GetPositionX()+3, me->GetPositionY()-2, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 30000);
|
||||
HealingWard_Timer = 14000 + rand()%6000;
|
||||
} else HealingWard_Timer -= diff;
|
||||
|
||||
@@ -100,7 +100,7 @@ class boss_jindo : public CreatureScript
|
||||
DoCast(me->getVictim(), SPELL_HEX);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-80);
|
||||
DoModifyThreatPercent(me->getVictim(), -80);
|
||||
|
||||
Hex_Timer = 12000 + rand()%8000;
|
||||
} else Hex_Timer -= diff;
|
||||
@@ -108,7 +108,7 @@ class boss_jindo : public CreatureScript
|
||||
//Casting the delusion curse with a shade. So shade will attack the same target with the curse.
|
||||
if (Delusions_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
DoCast(pTarget, SPELL_DELUSIONSOFJINDO);
|
||||
|
||||
@@ -124,13 +124,13 @@ class boss_jindo : public CreatureScript
|
||||
if (Teleport_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
if (pTarget && pTarget->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
DoTeleportPlayer(pTarget, -11583.7783f,-1249.4278f,77.5471f,4.745f);
|
||||
DoTeleportPlayer(pTarget, -11583.7783f, -1249.4278f, 77.5471f, 4.745f);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(pTarget,-100);
|
||||
DoModifyThreatPercent(pTarget, -100);
|
||||
|
||||
Creature *Skeletons;
|
||||
Skeletons = me->SummonCreature(14826, pTarget->GetPositionX()+2, pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
|
||||
@@ -121,7 +121,7 @@ class boss_mandokir : public CreatureScript
|
||||
uint64 JindoGUID = m_pInstance->GetData64(DATA_JINDO);
|
||||
if (JindoGUID)
|
||||
{
|
||||
if (Unit* jTemp = Unit::GetUnit(*me,JindoGUID))
|
||||
if (Unit* jTemp = Unit::GetUnit(*me, JindoGUID))
|
||||
{
|
||||
if (jTemp->isAlive())
|
||||
DoScriptText(SAY_GRATS_JINDO, jTemp);
|
||||
@@ -175,7 +175,7 @@ class boss_mandokir : public CreatureScript
|
||||
else
|
||||
{
|
||||
DoCast(pUnit, SPELL_CHARGE);
|
||||
//me->SendMonsterMove(pUnit->GetPositionX(), pUnit->GetPositionY(), pUnit->GetPositionZ(), 0, true,1);
|
||||
//me->SendMonsterMove(pUnit->GetPositionX(), pUnit->GetPositionY(), pUnit->GetPositionZ(), 0, true, 1);
|
||||
AttackStart(pUnit);
|
||||
}
|
||||
}
|
||||
@@ -186,7 +186,7 @@ class boss_mandokir : public CreatureScript
|
||||
|
||||
if ((Watch_Timer < 8000) && !someWatched) //8 sec(cast time + expire time) before the check for the watch effect mandokir will cast watch debuff on a random target
|
||||
{
|
||||
if (Unit* p = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit* p = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
DoScriptText(SAY_WATCH, me, p);
|
||||
DoCast(p, SPELL_WATCH);
|
||||
|
||||
@@ -118,22 +118,22 @@ class boss_marli : public CreatureScript
|
||||
{
|
||||
DoScriptText(SAY_SPIDER_SPAWN, me);
|
||||
|
||||
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
if (!pTarget)
|
||||
return;
|
||||
|
||||
Creature *Spider = NULL;
|
||||
|
||||
Spider = me->SummonCreature(15041,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Spider = me->SummonCreature(15041, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Spider)
|
||||
Spider->AI()->AttackStart(pTarget);
|
||||
Spider = me->SummonCreature(15041,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Spider = me->SummonCreature(15041, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Spider)
|
||||
Spider->AI()->AttackStart(pTarget);
|
||||
Spider = me->SummonCreature(15041,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Spider = me->SummonCreature(15041, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Spider)
|
||||
Spider->AI()->AttackStart(pTarget);
|
||||
Spider = me->SummonCreature(15041,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Spider = me->SummonCreature(15041, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Spider)
|
||||
Spider->AI()->AttackStart(pTarget);
|
||||
|
||||
@@ -142,11 +142,11 @@ class boss_marli : public CreatureScript
|
||||
|
||||
if (SpawnSpider_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
if (!pTarget)
|
||||
return;
|
||||
|
||||
Creature *Spider = me->SummonCreature(15041,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
Creature *Spider = me->SummonCreature(15041, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Spider)
|
||||
Spider->AI()->AttackStart(pTarget);
|
||||
SpawnSpider_Timer = 12000 + rand()%5000;
|
||||
@@ -163,10 +163,10 @@ class boss_marli : public CreatureScript
|
||||
DoCast(me->getVictim(), SPELL_ENVOLWINGWEB);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-100);
|
||||
DoModifyThreatPercent(me->getVictim(), -100);
|
||||
|
||||
PhaseTwo = true;
|
||||
Transform_Timer = urand(35000,60000);
|
||||
Transform_Timer = urand(35000, 60000);
|
||||
} else Transform_Timer -= diff;
|
||||
|
||||
if (PhaseTwo)
|
||||
@@ -178,7 +178,7 @@ class boss_marli : public CreatureScript
|
||||
while (i < 3) // max 3 tries to get a random target with power_mana
|
||||
{
|
||||
++i;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,1, 100, true); // not aggro leader
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true); // not aggro leader
|
||||
if (pTarget && pTarget->getPowerType() == POWER_MANA)
|
||||
i = 3;
|
||||
}
|
||||
@@ -186,7 +186,7 @@ class boss_marli : public CreatureScript
|
||||
{
|
||||
DoCast(pTarget, SPELL_CHARGE);
|
||||
//me->GetMap()->CreatureRelocation(me, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0);
|
||||
//me->SendMonsterMove(pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, true,1);
|
||||
//me->SendMonsterMove(pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, true, 1);
|
||||
AttackStart(pTarget);
|
||||
}
|
||||
|
||||
@@ -202,7 +202,7 @@ class boss_marli : public CreatureScript
|
||||
me->UpdateDamagePhysical(BASE_ATTACK);
|
||||
|
||||
PhaseTwo = false;
|
||||
TransformBack_Timer = urand(25000,40000);
|
||||
TransformBack_Timer = urand(25000, 40000);
|
||||
} else TransformBack_Timer -= diff;
|
||||
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ class boss_renataki : public CreatureScript
|
||||
if (Ambush_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
if (pTarget)
|
||||
{
|
||||
DoTeleportTo(pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ());
|
||||
@@ -127,10 +127,10 @@ class boss_renataki : public CreatureScript
|
||||
if (Aggro_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,1);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM, 1);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-50);
|
||||
DoModifyThreatPercent(me->getVictim(), -50);
|
||||
|
||||
if (pTarget)
|
||||
AttackStart(pTarget);
|
||||
|
||||
@@ -219,7 +219,7 @@ class boss_thekal : public CreatureScript
|
||||
{
|
||||
if (Charge_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM,0))
|
||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
DoCast(pTarget, SPELL_CHARGE);
|
||||
DoResetThreat();
|
||||
@@ -343,7 +343,7 @@ class mob_zealot_lorkhan : public CreatureScript
|
||||
if (!pThekal || !pZath)
|
||||
return;
|
||||
|
||||
switch (urand(0,1))
|
||||
switch (urand(0, 1))
|
||||
{
|
||||
case 0:
|
||||
if (me->IsWithinMeleeRange(pThekal))
|
||||
@@ -500,7 +500,7 @@ class mob_zealot_zath : public CreatureScript
|
||||
DoCast(me->getVictim(), SPELL_GOUGE);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-100);
|
||||
DoModifyThreatPercent(me->getVictim(), -100);
|
||||
|
||||
Gouge_Timer = 17000+rand()%10000;
|
||||
} else Gouge_Timer -= diff;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user