Nexus, The Oculus: Cleanup

--HG--
branch : trunk
This commit is contained in:
Tartalo
2010-03-27 22:32:17 +01:00
parent 63bfba39a8
commit 69579e38a5
5 changed files with 177 additions and 147 deletions
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 - 2010 TrinityCore <http://www.trinitycore.org>
/* Copyright (C) 2008 - 2010 TrinityCore <http://www.trinitycore.org>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -53,23 +53,23 @@ struct boss_drakosAI : public ScriptedAI
pInstance = c->GetInstanceData();
}
uint32 magicPullTimer ;
uint32 stompTimer ;
uint32 bombSummonTimer ;
uint32 postPullTimer ;
bool isPulling ;
bool postPull ;
uint32 uiMagicPullTimer ;
uint32 uiStompTimer ;
uint32 uiBombSummonTimer ;
uint32 uiPostPullTimer ;
bool bIsPulling ;
bool bPostPull ;
ScriptedInstance* pInstance;
SummonList lSummons;
void Reset()
{
lSummons.DespawnAll();
magicPullTimer = urand(12000, 15000);
stompTimer = urand(3000, 6000);
bombSummonTimer = 2000;
postPull = false;
isPulling = false;
uiMagicPullTimer = urand(12*IN_MILISECONDS, 15*IN_MILISECONDS);
uiStompTimer = urand(3*IN_MILISECONDS, 6*IN_MILISECONDS);
uiBombSummonTimer = 2*IN_MILISECONDS;
bPostPull = false;
bIsPulling = false;
if (pInstance)
pInstance->SetData(DATA_DRAKOS_EVENT, NOT_STARTED);
}
@@ -92,21 +92,21 @@ struct boss_drakosAI : public ScriptedAI
if (!UpdateVictim())
return;
if(bombSummonTimer < diff)
if(uiBombSummonTimer < diff)
{
if(postPull)
if(bPostPull)
{
m_creature->SummonCreature(NPC_UNSTABLE_SPHERE, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ());
m_creature->SummonCreature(NPC_UNSTABLE_SPHERE, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ());
}
else
m_creature->SummonCreature(NPC_UNSTABLE_SPHERE, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ());
bombSummonTimer = 2000;
} else bombSummonTimer -= diff;
uiBombSummonTimer = 2*IN_MILISECONDS;
} else uiBombSummonTimer -= diff;
if(magicPullTimer < diff)
if(uiMagicPullTimer < diff)
{
if(isPulling)
if(bIsPulling)
{
if (pInstance)
{
@@ -114,33 +114,33 @@ struct boss_drakosAI : public ScriptedAI
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
DoCast(itr->getSource(), SPELL_MAGIC_PULL_EFFECT, true);
}
isPulling = false;
postPull = true;
postPullTimer = 4000;
magicPullTimer = urand(15000, 25000);
bIsPulling = false;
bPostPull = true;
uiPostPullTimer = 4*IN_MILISECONDS;
uiMagicPullTimer = urand(15*IN_MILISECONDS, 25*IN_MILISECONDS);
}
else
{
DoScriptText(RAND(SAY_PULL_1,SAY_PULL_2,SAY_PULL_3,SAY_PULL_4), m_creature);
DoCast(SPELL_MAGIC_PULL);
magicPullTimer = 2000;
isPulling = true;
uiMagicPullTimer = 2*IN_MILISECONDS;
bIsPulling = true;
}
} else magicPullTimer -= diff;
} else uiMagicPullTimer -= diff;
if(postPull)
if(bPostPull)
{
if (postPullTimer < diff)
postPull = false;
else postPullTimer -= diff;
if (uiPostPullTimer < diff)
bPostPull = false;
else uiPostPullTimer -= diff;
}
if(stompTimer < diff)
if(uiStompTimer < diff)
{
DoScriptText(RAND(SAY_STOMP_1,SAY_STOMP_2,SAY_STOMP_3), m_creature);
DoCast(DUNGEON_MODE(SPELL_THUNDERING_STOMP, SPELL_THUNDERING_STOMP_H));
stompTimer = urand(15000, 18000);
} else stompTimer -= diff ;
uiStompTimer = urand(15*IN_MILISECONDS, 18*IN_MILISECONDS);
} else uiStompTimer -= diff ;
DoMeleeAttackIfReady();
}
@@ -166,8 +166,8 @@ struct npc_unstable_sphereAI : public ScriptedAI
{
npc_unstable_sphereAI(Creature *c) : ScriptedAI(c) {}
uint32 pulseTimer;
uint32 deathTimer;
uint32 uiPulseTimer;
uint32 uiDeathTimer;
void Reset()
{
@@ -177,21 +177,21 @@ struct npc_unstable_sphereAI : public ScriptedAI
m_creature->setFaction(14);
m_creature->AddAura(SPELL_UNSTABLE_SPHERE_PASSIVE, m_creature);
m_creature->AddAura(SPELL_UNSTABLE_SPHERE_TIMER, m_creature);
pulseTimer = 3000;
deathTimer = 19000;
uiPulseTimer = 3*IN_MILISECONDS;
uiDeathTimer = 19*IN_MILISECONDS;
}
void UpdateAI(const uint32 diff)
{
if(pulseTimer < diff)
if(uiPulseTimer < diff)
{
DoCast(SPELL_UNSTABLE_SPHERE_PULSE);
pulseTimer = 3000;
} pulseTimer -= diff;
uiPulseTimer = 3*IN_MILISECONDS;
} else uiPulseTimer -= diff;
if(deathTimer < diff)
if(uiDeathTimer < diff)
m_creature->DisappearAndDie();
else deathTimer -= diff;
else uiDeathTimer -= diff;
}
};
@@ -1,14 +1,19 @@
/* Script Data Start
SDName: Boss eregos
SDAuthor: LordVanMartin
SD%Complete:
SDComment: Encounter is done entirely on drake vehicles
SDCategory:
Script Data End */
/* Copyright (C) 2008 - 2010 TrinityCore <http://www.trinitycore.org>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/*** SQL START ***
update creature_template set scriptname = '' where entry = '';
*** SQL END ***/
#include "ScriptedPch.h"
#include "oculus.h"
@@ -18,13 +23,12 @@ update creature_template set scriptname = '' where entry = '';
enum Spells
{
SPELL_ARCANE_BARRAGE = 50804,
H_SPELL_ARCANE_BARRAGE = 59381,
SPELL_ARCANE_VOLLEY = 51153,
H_SPELL_ARCANE_VOLLEY = 59382
SPELL_ENRAGED_ASSAULT = 51170,
SPELL_PLANAR_ANOMALIES = 57959,
SPELL_PLANAR_SHIFT = 51162,
//Heroic
H_SPELL_ARCANE_BARRAGE = 59381,
H_SPELL_ARCANE_VOLLEY = 59382
};
/*Ruby Drake ,
(npc 27756) (item 37860)
@@ -1,14 +1,19 @@
/* Script Data Start
SDName: Boss urom
SDAuthor: LordVanMartin
SD%Complete: 1%
SDComment:
SDCategory:
Script Data End */
/* Copyright (C) 2008 - 2010 TrinityCore <http://www.trinitycore.org>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/*** SQL START ***
update creature_template set scriptname = '' where entry = '';
*** SQL END ***/
#include "ScriptedPch.h"
#include "oculus.h"
@@ -1,14 +1,19 @@
/* Script Data Start
SDName: Boss varos
SDAuthor: LordVanMartin
SD%Complete:
SDComment:
SDCategory:
Script Data End */
/* Copyright (C) 2008 - 2010 TrinityCore <http://www.trinitycore.org>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/*** SQL START ***
update creature_template set scriptname = '' where entry = '';
*** SQL END ***/
#include "ScriptedPch.h"
#include "oculus.h"
@@ -1,3 +1,19 @@
/* Copyright (C) 2008 - 2010 TrinityCore <http://www.trinitycore.org>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "ScriptedPch.h"
#include "oculus.h"