*Do not call reset in construct funciton of script.

*Add function doaction to safely pass parameters between scripts.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-03-31 18:12:49 -06:00
parent bd1a630463
commit 7f209249a2
270 changed files with 335 additions and 578 deletions
@@ -149,6 +149,8 @@ struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI
void DoTeleportTo(float x, float y, float z, uint32 time = 0); void DoTeleportTo(float x, float y, float z, uint32 time = 0);
void DoAction(const int32 param) {}
//Teleports a player without dropping threat (only teleports to same map) //Teleports a player without dropping threat (only teleports to same map)
void DoTeleportPlayer(Unit* pUnit, float x, float y, float z, float o); void DoTeleportPlayer(Unit* pUnit, float x, float y, float z, float o);
void DoTeleportAll(float x, float y, float z, float o); void DoTeleportAll(float x, float y, float z, float o);
@@ -32,7 +32,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_emerissAI : public ScriptedAI struct TRINITY_DLL_DECL boss_emerissAI : public ScriptedAI
{ {
boss_emerissAI(Creature *c) : ScriptedAI(c) {Reset();} boss_emerissAI(Creature *c) : ScriptedAI(c) {}
uint32 Sleep_Timer; uint32 Sleep_Timer;
uint32 NoxiousBreath_Timer; uint32 NoxiousBreath_Timer;
@@ -40,7 +40,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_taerarAI : public ScriptedAI struct TRINITY_DLL_DECL boss_taerarAI : public ScriptedAI
{ {
boss_taerarAI(Creature *c) : ScriptedAI(c) {Reset();} boss_taerarAI(Creature *c) : ScriptedAI(c) {}
uint32 Sleep_Timer; uint32 Sleep_Timer;
uint32 NoxiousBreath_Timer; uint32 NoxiousBreath_Timer;
@@ -242,7 +242,7 @@ struct TRINITY_DLL_DECL boss_taerarAI : public ScriptedAI
struct TRINITY_DLL_DECL boss_shadeoftaerarAI : public ScriptedAI struct TRINITY_DLL_DECL boss_shadeoftaerarAI : public ScriptedAI
{ {
boss_shadeoftaerarAI(Creature *c) : ScriptedAI(c) {Reset();} boss_shadeoftaerarAI(Creature *c) : ScriptedAI(c) {}
uint32 PoisonCloud_Timer; uint32 PoisonCloud_Timer;
uint32 PosionBreath_Timer; uint32 PosionBreath_Timer;
@@ -36,7 +36,7 @@ EndScriptData */
// Ysondre script // Ysondre script
struct TRINITY_DLL_DECL boss_ysondreAI : public ScriptedAI struct TRINITY_DLL_DECL boss_ysondreAI : public ScriptedAI
{ {
boss_ysondreAI(Creature *c) : ScriptedAI(c) {Reset();} boss_ysondreAI(Creature *c) : ScriptedAI(c) {}
uint32 Sleep_Timer; uint32 Sleep_Timer;
uint32 NoxiousBreath_Timer; uint32 NoxiousBreath_Timer;
@@ -191,7 +191,7 @@ struct TRINITY_DLL_DECL boss_ysondreAI : public ScriptedAI
// Summoned druid script // Summoned druid script
struct TRINITY_DLL_DECL mob_dementeddruidsAI : public ScriptedAI struct TRINITY_DLL_DECL mob_dementeddruidsAI : public ScriptedAI
{ {
mob_dementeddruidsAI(Creature *c) : ScriptedAI(c) {Reset();} mob_dementeddruidsAI(Creature *c) : ScriptedAI(c) {}
uint32 MoonFire_Timer; uint32 MoonFire_Timer;
@@ -58,8 +58,6 @@ struct TRINITY_DLL_DECL Mob_EventAI : public ScriptedAI
break; break;
} }
} }
Reset();
} }
~Mob_EventAI() ~Mob_EventAI()
@@ -27,7 +27,7 @@ EndScriptData */
struct TRINITY_DLL_DECL generic_creatureAI : public ScriptedAI struct TRINITY_DLL_DECL generic_creatureAI : public ScriptedAI
{ {
generic_creatureAI(Creature *c) : ScriptedAI(c) {Reset();} generic_creatureAI(Creature *c) : ScriptedAI(c) {}
uint32 GlobalCooldown; //This variable acts like the global cooldown that players have (1.5 seconds) uint32 GlobalCooldown; //This variable acts like the global cooldown that players have (1.5 seconds)
uint32 BuffTimer; //This variable keeps track of buffs uint32 BuffTimer; //This variable keeps track of buffs
@@ -60,7 +60,7 @@ struct TRINITY_DLL_DECL custom_exampleAI : public ScriptedAI
{ {
//*** HANDLED FUNCTION *** //*** HANDLED FUNCTION ***
//This is the constructor, called only once when the creature is first created //This is the constructor, called only once when the creature is first created
custom_exampleAI(Creature *c) : ScriptedAI(c) {Reset();} custom_exampleAI(Creature *c) : ScriptedAI(c) {}
//*** CUSTOM VARIABLES **** //*** CUSTOM VARIABLES ****
//These variables are for use only by this individual script. //These variables are for use only by this individual script.
+1 -1
View File
@@ -29,7 +29,7 @@ struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI
public: public:
// CreatureAI functions // CreatureAI functions
npc_testAI(Creature *c) : npc_escortAI(c) {Reset();} npc_testAI(Creature *c) : npc_escortAI(c) {}
uint32 DeathCoilTimer; uint32 DeathCoilTimer;
uint32 ChatTimer; uint32 ChatTimer;
@@ -9,7 +9,7 @@
struct TRINITY_DLL_DECL guardAI : public ScriptedAI struct TRINITY_DLL_DECL guardAI : public ScriptedAI
{ {
guardAI(Creature *c) : ScriptedAI(c) {Reset();} guardAI(Creature *c) : ScriptedAI(c) {}
uint32 GlobalCooldown; //This variable acts like the global cooldown that players have (1.5 seconds) uint32 GlobalCooldown; //This variable acts like the global cooldown that players have (1.5 seconds)
uint32 BuffTimer; //This variable keeps track of buffs uint32 BuffTimer; //This variable keeps track of buffs
@@ -2498,7 +2498,7 @@ CreatureAI* GetAI_guard_shattrath(Creature *_Creature)
struct TRINITY_DLL_DECL guard_shattrath_aldorAI : public guardAI struct TRINITY_DLL_DECL guard_shattrath_aldorAI : public guardAI
{ {
guard_shattrath_aldorAI(Creature *c) : guardAI(c) { Reset(); } guard_shattrath_aldorAI(Creature *c) : guardAI(c) {}
uint32 Exile_Timer; uint32 Exile_Timer;
uint32 Banish_Timer; uint32 Banish_Timer;
@@ -2694,7 +2694,7 @@ CreatureAI* GetAI_guard_shattrath_aldor(Creature *_Creature)
struct TRINITY_DLL_DECL guard_shattrath_scryerAI : public guardAI struct TRINITY_DLL_DECL guard_shattrath_scryerAI : public guardAI
{ {
guard_shattrath_scryerAI(Creature *c) : guardAI(c) { Reset(); } guard_shattrath_scryerAI(Creature *c) : guardAI(c) {}
uint32 Exile_Timer; uint32 Exile_Timer;
uint32 Banish_Timer; uint32 Banish_Timer;
@@ -49,7 +49,7 @@ EndContentData */
struct TRINITY_DLL_DECL npc_chicken_cluckAI : public ScriptedAI struct TRINITY_DLL_DECL npc_chicken_cluckAI : public ScriptedAI
{ {
npc_chicken_cluckAI(Creature *c) : ScriptedAI(c) {Reset();} npc_chicken_cluckAI(Creature *c) : ScriptedAI(c) {}
uint32 ResetFlagTimer; uint32 ResetFlagTimer;
@@ -138,7 +138,7 @@ bool QuestComplete_npc_chicken_cluck(Player *player, Creature *_Creature, const
struct TRINITY_DLL_DECL npc_dancing_flamesAI : public ScriptedAI struct TRINITY_DLL_DECL npc_dancing_flamesAI : public ScriptedAI
{ {
npc_dancing_flamesAI(Creature *c) : ScriptedAI(c) {Reset();} npc_dancing_flamesAI(Creature *c) : ScriptedAI(c) {}
bool active; bool active;
uint32 can_iteract; uint32 can_iteract;
@@ -317,7 +317,7 @@ struct TRINITY_DLL_DECL npc_doctorAI : public ScriptedAI
std::list<uint64> Patients; std::list<uint64> Patients;
std::vector<Location*> Coordinates; std::vector<Location*> Coordinates;
npc_doctorAI(Creature *c) : ScriptedAI(c) {Reset();} npc_doctorAI(Creature *c) : ScriptedAI(c) {}
void Reset(){} void Reset(){}
@@ -335,7 +335,7 @@ struct TRINITY_DLL_DECL npc_doctorAI : public ScriptedAI
struct TRINITY_DLL_DECL npc_injured_patientAI : public ScriptedAI struct TRINITY_DLL_DECL npc_injured_patientAI : public ScriptedAI
{ {
npc_injured_patientAI(Creature *c) : ScriptedAI(c) {Reset();} npc_injured_patientAI(Creature *c) : ScriptedAI(c) {}
uint64 Doctorguid; uint64 Doctorguid;
@@ -597,7 +597,7 @@ CreatureAI* GetAI_npc_doctor(Creature *_Creature)
struct TRINITY_DLL_DECL npc_guardianAI : public ScriptedAI struct TRINITY_DLL_DECL npc_guardianAI : public ScriptedAI
{ {
npc_guardianAI(Creature *c) : ScriptedAI(c) {Reset();} npc_guardianAI(Creature *c) : ScriptedAI(c) {}
void Reset() void Reset()
{ {
@@ -895,7 +895,7 @@ bool GossipSelect_npc_sayge(Player *player, Creature *_Creature, uint32 sender,
struct TRINITY_DLL_DECL npc_steam_tonkAI : public ScriptedAI struct TRINITY_DLL_DECL npc_steam_tonkAI : public ScriptedAI
{ {
npc_steam_tonkAI(Creature *c) : ScriptedAI(c) {Reset();} npc_steam_tonkAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void Aggro(Unit *who) {} void Aggro(Unit *who) {}
@@ -928,7 +928,6 @@ struct TRINITY_DLL_DECL npc_tonk_mineAI : public ScriptedAI
npc_tonk_mineAI(Creature *c) : ScriptedAI(c) npc_tonk_mineAI(Creature *c) : ScriptedAI(c)
{ {
m_creature->SetReactState(REACT_PASSIVE); m_creature->SetReactState(REACT_PASSIVE);
Reset();
} }
uint32 ExplosionTimer; uint32 ExplosionTimer;
@@ -1011,7 +1010,7 @@ bool ReceiveEmote_npc_brewfest_reveler( Player *player, Creature *_Creature, uin
struct TRINITY_DLL_DECL npc_snake_trap_serpentsAI : public ScriptedAI struct TRINITY_DLL_DECL npc_snake_trap_serpentsAI : public ScriptedAI
{ {
npc_snake_trap_serpentsAI(Creature *c) : ScriptedAI(c) {Reset();} npc_snake_trap_serpentsAI(Creature *c) : ScriptedAI(c) {}
uint32 SpellTimer; uint32 SpellTimer;
Unit *Owner; Unit *Owner;
@@ -33,7 +33,7 @@ EndContentData */
struct TRINITY_DLL_DECL npc_ravenholdtAI : public ScriptedAI struct TRINITY_DLL_DECL npc_ravenholdtAI : public ScriptedAI
{ {
npc_ravenholdtAI(Creature *c) : ScriptedAI(c) { Reset(); } npc_ravenholdtAI(Creature *c) : ScriptedAI(c) {}
void Reset() { } void Reset() { }
@@ -48,7 +48,7 @@ EndContentData */
struct TRINITY_DLL_DECL npc_professor_phizzlethorpeAI : public npc_escortAI struct TRINITY_DLL_DECL npc_professor_phizzlethorpeAI : public npc_escortAI
{ {
npc_professor_phizzlethorpeAI(Creature *c) : npc_escortAI(c) {Reset();} npc_professor_phizzlethorpeAI(Creature *c) : npc_escortAI(c) {}
bool Completed; bool Completed;
@@ -51,7 +51,7 @@ EndContentData */
struct TRINITY_DLL_DECL npc_torekAI : public npc_escortAI struct TRINITY_DLL_DECL npc_torekAI : public npc_escortAI
{ {
npc_torekAI(Creature *c) : npc_escortAI(c) {Reset();} npc_torekAI(Creature *c) : npc_escortAI(c) {}
uint32 Rend_Timer; uint32 Rend_Timer;
uint32 Thunderclap_Timer; uint32 Thunderclap_Timer;
@@ -189,7 +189,7 @@ CreatureAI* GetAI_npc_torek(Creature *_Creature)
struct TRINITY_DLL_DECL npc_ruul_snowhoofAI : public npc_escortAI struct TRINITY_DLL_DECL npc_ruul_snowhoofAI : public npc_escortAI
{ {
npc_ruul_snowhoofAI(Creature *c) : npc_escortAI(c) {Reset();} npc_ruul_snowhoofAI(Creature *c) : npc_escortAI(c) {}
void WaypointReached(uint32 i) void WaypointReached(uint32 i)
{ {
@@ -41,7 +41,7 @@ EndContentData */
struct TRINITY_DLL_DECL mob_stolen_soulAI : public ScriptedAI struct TRINITY_DLL_DECL mob_stolen_soulAI : public ScriptedAI
{ {
mob_stolen_soulAI(Creature *c) : ScriptedAI(c) {Reset();} mob_stolen_soulAI(Creature *c) : ScriptedAI(c) {}
uint8 myClass; uint8 myClass;
uint32 Class_Timer; uint32 Class_Timer;
@@ -146,7 +146,6 @@ struct TRINITY_DLL_DECL boss_exarch_maladaarAI : public ScriptedAI
boss_exarch_maladaarAI(Creature *c) : ScriptedAI(c) boss_exarch_maladaarAI(Creature *c) : ScriptedAI(c)
{ {
HasTaunted = false; HasTaunted = false;
Reset();
} }
uint32 soulmodel; uint32 soulmodel;
@@ -304,7 +303,7 @@ CreatureAI* GetAI_boss_exarch_maladaar(Creature *_Creature)
struct TRINITY_DLL_DECL mob_avatar_of_martyredAI : public ScriptedAI struct TRINITY_DLL_DECL mob_avatar_of_martyredAI : public ScriptedAI
{ {
mob_avatar_of_martyredAI(Creature *c) : ScriptedAI(c) {Reset();} mob_avatar_of_martyredAI(Creature *c) : ScriptedAI(c) {}
uint32 Mortal_Strike_timer; uint32 Mortal_Strike_timer;
@@ -41,7 +41,6 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI
boss_shirrak_the_dead_watcherAI(Creature *c) : ScriptedAI(c) boss_shirrak_the_dead_watcherAI(Creature *c) : ScriptedAI(c)
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
uint32 Inhibitmagic_Timer; uint32 Inhibitmagic_Timer;
@@ -154,7 +153,6 @@ struct TRINITY_DLL_DECL mob_focus_fireAI : public ScriptedAI
mob_focus_fireAI(Creature *c) : ScriptedAI(c) mob_focus_fireAI(Creature *c) : ScriptedAI(c)
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
bool HeroicMode; bool HeroicMode;
@@ -54,7 +54,7 @@ EndContentData */
struct TRINITY_DLL_DECL boss_nexusprince_shaffarAI : public ScriptedAI struct TRINITY_DLL_DECL boss_nexusprince_shaffarAI : public ScriptedAI
{ {
boss_nexusprince_shaffarAI(Creature *c) : ScriptedAI(c) {Reset();} boss_nexusprince_shaffarAI(Creature *c) : ScriptedAI(c) {}
uint32 Blink_Timer; uint32 Blink_Timer;
uint32 Beacon_Timer; uint32 Beacon_Timer;
@@ -204,7 +204,6 @@ struct TRINITY_DLL_DECL mob_ethereal_beaconAI : public ScriptedAI
mob_ethereal_beaconAI(Creature *c) : ScriptedAI(c) mob_ethereal_beaconAI(Creature *c) : ScriptedAI(c)
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
CanEvade = false; CanEvade = false;
} }
@@ -44,7 +44,6 @@ struct TRINITY_DLL_DECL boss_pandemoniusAI : public ScriptedAI
boss_pandemoniusAI(Creature *c) : ScriptedAI(c) boss_pandemoniusAI(Creature *c) : ScriptedAI(c)
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
bool HeroicMode; bool HeroicMode;
@@ -57,7 +57,6 @@ struct TRINITY_DLL_DECL boss_darkweaver_sythAI : public ScriptedAI
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
uint32 flameshock_timer; uint32 flameshock_timer;
@@ -210,7 +209,6 @@ struct TRINITY_DLL_DECL mob_syth_fireAI : public ScriptedAI
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
uint32 flameshock_timer; uint32 flameshock_timer;
@@ -262,7 +260,6 @@ struct TRINITY_DLL_DECL mob_syth_arcaneAI : public ScriptedAI
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
uint32 arcaneshock_timer; uint32 arcaneshock_timer;
@@ -314,7 +311,6 @@ struct TRINITY_DLL_DECL mob_syth_frostAI : public ScriptedAI
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
uint32 frostshock_timer; uint32 frostshock_timer;
@@ -366,7 +362,6 @@ struct TRINITY_DLL_DECL mob_syth_shadowAI : public ScriptedAI
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
uint32 shadowshock_timer; uint32 shadowshock_timer;
@@ -55,7 +55,6 @@ struct TRINITY_DLL_DECL boss_talon_king_ikissAI : public ScriptedAI
boss_talon_king_ikissAI(Creature *c) : ScriptedAI(c) boss_talon_king_ikissAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -48,7 +48,6 @@ struct TRINITY_DLL_DECL boss_ambassador_hellmawAI : public ScriptedAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -56,7 +56,6 @@ struct TRINITY_DLL_DECL boss_blackheart_the_inciterAI : public ScriptedAI
boss_blackheart_the_inciterAI(Creature *c) : ScriptedAI(c) boss_blackheart_the_inciterAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -71,7 +71,6 @@ struct TRINITY_DLL_DECL mob_voidtravelerAI : public ScriptedAI
mob_voidtravelerAI(Creature *c) : ScriptedAI(c) mob_voidtravelerAI(Creature *c) : ScriptedAI(c)
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
bool HeroicMode; bool HeroicMode;
@@ -136,7 +135,6 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Intro = false; Intro = false;
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -38,7 +38,6 @@ struct TRINITY_DLL_DECL boss_murmurAI : public Scripted_NoMovementAI
boss_murmurAI(Creature *c) : Scripted_NoMovementAI(c) boss_murmurAI(Creature *c) : Scripted_NoMovementAI(c)
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
uint32 SonicBoom_Timer; uint32 SonicBoom_Timer;
@@ -38,7 +38,7 @@ EndContentData */
struct TRINITY_DLL_DECL mobs_spitelashesAI : public ScriptedAI struct TRINITY_DLL_DECL mobs_spitelashesAI : public ScriptedAI
{ {
mobs_spitelashesAI(Creature *c) : ScriptedAI(c) {Reset();} mobs_spitelashesAI(Creature *c) : ScriptedAI(c) {}
uint32 morphtimer; uint32 morphtimer;
bool spellhit; bool spellhit;
@@ -237,7 +237,7 @@ float WPs[58][4] =
struct TRINITY_DLL_DECL mob_rizzle_sprysprocketAI : public ScriptedAI struct TRINITY_DLL_DECL mob_rizzle_sprysprocketAI : public ScriptedAI
{ {
mob_rizzle_sprysprocketAI(Creature *c) : ScriptedAI(c) {Reset();} mob_rizzle_sprysprocketAI(Creature *c) : ScriptedAI(c) {}
uint32 spellEscape_Timer; uint32 spellEscape_Timer;
uint32 Teleport_Timer; uint32 Teleport_Timer;
@@ -433,7 +433,7 @@ CreatureAI* GetAI_mob_rizzle_sprysprocket(Creature *_Creature)
struct TRINITY_DLL_DECL mob_depth_chargeAI : public ScriptedAI struct TRINITY_DLL_DECL mob_depth_chargeAI : public ScriptedAI
{ {
mob_depth_chargeAI(Creature *c) : ScriptedAI(c) {Reset();} mob_depth_chargeAI(Creature *c) : ScriptedAI(c) {}
bool we_must_die; bool we_must_die;
uint32 must_die_timer; uint32 must_die_timer;
@@ -35,7 +35,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_azuregosAI : public ScriptedAI struct TRINITY_DLL_DECL boss_azuregosAI : public ScriptedAI
{ {
boss_azuregosAI(Creature *c) : ScriptedAI(c) {Reset();} boss_azuregosAI(Creature *c) : ScriptedAI(c) {}
uint32 MarkOfFrost_Timer; uint32 MarkOfFrost_Timer;
uint32 ManaStorm_Timer; uint32 ManaStorm_Timer;
@@ -51,7 +51,7 @@ EndContentData */
struct TRINITY_DLL_DECL npc_draenei_survivorAI : public ScriptedAI struct TRINITY_DLL_DECL npc_draenei_survivorAI : public ScriptedAI
{ {
npc_draenei_survivorAI(Creature *c) : ScriptedAI(c) {Reset();} npc_draenei_survivorAI(Creature *c) : ScriptedAI(c) {}
uint32 UnSpawnTimer; uint32 UnSpawnTimer;
uint32 ResetlifeTimer; uint32 ResetlifeTimer;
@@ -209,7 +209,7 @@ CreatureAI* GetAI_npc_draenei_survivor(Creature *_Creature)
struct TRINITY_DLL_DECL npc_engineer_spark_overgrindAI : public ScriptedAI struct TRINITY_DLL_DECL npc_engineer_spark_overgrindAI : public ScriptedAI
{ {
npc_engineer_spark_overgrindAI(Creature *c) : ScriptedAI(c) {Reset();} npc_engineer_spark_overgrindAI(Creature *c) : ScriptedAI(c) {}
uint32 Dynamite_Timer; uint32 Dynamite_Timer;
uint32 Emote_Timer; uint32 Emote_Timer;
@@ -280,7 +280,7 @@ bool GossipSelect_npc_engineer_spark_overgrind(Player *player, Creature *_Creatu
struct TRINITY_DLL_DECL npc_injured_draeneiAI : public ScriptedAI struct TRINITY_DLL_DECL npc_injured_draeneiAI : public ScriptedAI
{ {
npc_injured_draeneiAI(Creature *c) : ScriptedAI(c) {Reset();} npc_injured_draeneiAI(Creature *c) : ScriptedAI(c) {}
void Reset() void Reset()
{ {
@@ -326,7 +326,7 @@ CreatureAI* GetAI_npc_injured_draenei(Creature *_Creature)
struct TRINITY_DLL_DECL npc_magwinAI : public npc_escortAI struct TRINITY_DLL_DECL npc_magwinAI : public npc_escortAI
{ {
npc_magwinAI(Creature *c) : npc_escortAI(c) {Reset();} npc_magwinAI(Creature *c) : npc_escortAI(c) {}
void WaypointReached(uint32 i) void WaypointReached(uint32 i)
@@ -487,7 +487,7 @@ static float SparkPos[3] = {-5030.95, -11291.99, 7.97};
struct TRINITY_DLL_DECL npc_geezleAI : public ScriptedAI struct TRINITY_DLL_DECL npc_geezleAI : public ScriptedAI
{ {
npc_geezleAI(Creature *c) : ScriptedAI(c) {Reset();} npc_geezleAI(Creature *c) : ScriptedAI(c) {}
std::list<GameObject*> FlagList; std::list<GameObject*> FlagList;
@@ -608,7 +608,7 @@ CreatureAI* GetAI_npc_geezleAI(Creature *_Creature)
struct TRINITY_DLL_DECL mob_nestlewood_owlkinAI : public ScriptedAI struct TRINITY_DLL_DECL mob_nestlewood_owlkinAI : public ScriptedAI
{ {
mob_nestlewood_owlkinAI(Creature *c) : ScriptedAI(c) {Reset();} mob_nestlewood_owlkinAI(Creature *c) : ScriptedAI(c) {}
uint32 ChannelTimer; uint32 ChannelTimer;
bool Channeled; bool Channeled;
@@ -98,7 +98,7 @@ bool GossipSelect_npc_sputtervalve(Player *player, Creature *_Creature, uint32 s
struct TRINITY_DLL_DECL npc_taskmaster_fizzuleAI : public ScriptedAI struct TRINITY_DLL_DECL npc_taskmaster_fizzuleAI : public ScriptedAI
{ {
npc_taskmaster_fizzuleAI(Creature* c) : ScriptedAI(c) { Reset(); } npc_taskmaster_fizzuleAI(Creature* c) : ScriptedAI(c) {}
bool IsFriend; bool IsFriend;
uint32 Reset_Timer; uint32 Reset_Timer;
@@ -195,7 +195,7 @@ float AffrayChallengerLoc[6][4]=
struct TRINITY_DLL_DECL npc_twiggy_flatheadAI : public ScriptedAI struct TRINITY_DLL_DECL npc_twiggy_flatheadAI : public ScriptedAI
{ {
npc_twiggy_flatheadAI(Creature *c) : ScriptedAI(c) {Reset();} npc_twiggy_flatheadAI(Creature *c) : ScriptedAI(c) {}
bool EventInProgress; bool EventInProgress;
bool EventGrate; bool EventGrate;
@@ -408,7 +408,7 @@ CreatureAI* GetAI_npc_twiggy_flathead(Creature *_Creature)
struct TRINITY_DLL_DECL npc_wizzlecrank_shredderAI : public npc_escortAI struct TRINITY_DLL_DECL npc_wizzlecrank_shredderAI : public npc_escortAI
{ {
npc_wizzlecrank_shredderAI(Creature* c) : npc_escortAI(c) {Reset();} npc_wizzlecrank_shredderAI(Creature* c) : npc_escortAI(c) {}
bool Completed; bool Completed;
@@ -68,7 +68,6 @@ struct TRINITY_DLL_DECL boss_gurtogg_bloodboilAI : public ScriptedAI
boss_gurtogg_bloodboilAI(Creature *c) : ScriptedAI(c) boss_gurtogg_bloodboilAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -160,7 +160,7 @@ enum CreatureEntry
/*** Phase Names ***/ /*** Phase Names ***/
enum PhaseIllidan enum PhaseIllidan
{ {
PHASE_NULL = 0, PHASE_ILLIDAN_NULL = 0,
PHASE_NORMAL = 1, PHASE_NORMAL = 1,
PHASE_FLIGHT = 2, PHASE_FLIGHT = 2,
PHASE_NORMAL_2 = 3, PHASE_NORMAL_2 = 3,
@@ -169,6 +169,7 @@ enum PhaseIllidan
PHASE_TALK_SEQUENCE = 6, PHASE_TALK_SEQUENCE = 6,
PHASE_FLIGHT_SEQUENCE = 7, PHASE_FLIGHT_SEQUENCE = 7,
PHASE_TRANSFORM_SEQUENCE = 8, PHASE_TRANSFORM_SEQUENCE = 8,
PHASE_ILLIDAN_MAX = 9,
};//Maiev uses the same phase };//Maiev uses the same phase
enum PhaseAkama enum PhaseAkama
@@ -364,7 +365,6 @@ struct TRINITY_DLL_DECL boss_illidan_stormrageAI : public ScriptedAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
m_creature->CastSpell(m_creature, SPELL_DUAL_WIELD, true); m_creature->CastSpell(m_creature, SPELL_DUAL_WIELD, true);
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -398,7 +398,7 @@ struct TRINITY_DLL_DECL boss_illidan_stormrageAI : public ScriptedAI
if(summon->GetGUID() == FlameGUID[i]) if(summon->GetGUID() == FlameGUID[i])
FlameGUID[i] = 0; FlameGUID[i] = 0;
if(!FlameGUID[0] && !FlameGUID[1] && Phase != PHASE_NULL) if(!FlameGUID[0] && !FlameGUID[1] && Phase != PHASE_ILLIDAN_NULL)
{ {
m_creature->InterruptNonMeleeSpells(true); m_creature->InterruptNonMeleeSpells(true);
EnterPhase(PHASE_FLIGHT_SEQUENCE); EnterPhase(PHASE_FLIGHT_SEQUENCE);
@@ -883,7 +883,7 @@ struct TRINITY_DLL_DECL boss_illidan_stormrageAI : public ScriptedAI
struct TRINITY_DLL_DECL flame_of_azzinothAI : public ScriptedAI struct TRINITY_DLL_DECL flame_of_azzinothAI : public ScriptedAI
{ {
flame_of_azzinothAI(Creature *c) : ScriptedAI(c) {Reset();} flame_of_azzinothAI(Creature *c) : ScriptedAI(c) {}
uint32 FlameBlastTimer; uint32 FlameBlastTimer;
uint32 CheckTimer; uint32 CheckTimer;
@@ -968,7 +968,6 @@ struct TRINITY_DLL_DECL npc_akama_illidanAI : public ScriptedAI
npc_akama_illidanAI(Creature* c) : ScriptedAI(c) npc_akama_illidanAI(Creature* c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -1362,7 +1361,7 @@ struct TRINITY_DLL_DECL npc_akama_illidanAI : public ScriptedAI
struct TRINITY_DLL_DECL boss_maievAI : public ScriptedAI struct TRINITY_DLL_DECL boss_maievAI : public ScriptedAI
{ {
boss_maievAI(Creature *c) : ScriptedAI(c) { Reset(); }; boss_maievAI(Creature *c) : ScriptedAI(c) {};
uint64 IllidanGUID; uint64 IllidanGUID;
@@ -1421,6 +1420,12 @@ struct TRINITY_DLL_DECL boss_maievAI : public ScriptedAI
ScriptedAI::AttackStart(who, true); ScriptedAI::AttackStart(who, true);
} }
void DoAction(const int32 param)
{
if(param > PHASE_ILLIDAN_NULL && param < PHASE_ILLIDAN_MAX)
EnterPhase(PhaseIllidan(param));
}
void EnterPhase(PhaseIllidan NextPhase)//This is in fact Illidan's phase. void EnterPhase(PhaseIllidan NextPhase)//This is in fact Illidan's phase.
{ {
switch(NextPhase) switch(NextPhase)
@@ -1582,7 +1587,7 @@ bool GossipHello_npc_akama_at_illidan(Player *player, Creature *_Creature)
struct TRINITY_DLL_DECL cage_trap_triggerAI : public ScriptedAI struct TRINITY_DLL_DECL cage_trap_triggerAI : public ScriptedAI
{ {
cage_trap_triggerAI(Creature *c) : ScriptedAI(c) {Reset();} cage_trap_triggerAI(Creature *c) : ScriptedAI(c) {}
uint64 IllidanGUID; uint64 IllidanGUID;
uint32 DespawnTimer; uint32 DespawnTimer;
@@ -1672,7 +1677,7 @@ bool GOHello_cage_trap(Player* plr, GameObject* go)
struct TRINITY_DLL_DECL shadow_demonAI : public ScriptedAI struct TRINITY_DLL_DECL shadow_demonAI : public ScriptedAI
{ {
shadow_demonAI(Creature *c) : ScriptedAI(c) {Reset();} shadow_demonAI(Creature *c) : ScriptedAI(c) {}
uint64 TargetGUID; uint64 TargetGUID;
@@ -1715,7 +1720,6 @@ struct TRINITY_DLL_DECL mob_parasitic_shadowfiendAI : public ScriptedAI
mob_parasitic_shadowfiendAI(Creature* c) : ScriptedAI(c) mob_parasitic_shadowfiendAI(Creature* c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -1817,7 +1821,7 @@ void boss_illidan_stormrageAI::Reset()
GlaiveGUID[i] = 0; GlaiveGUID[i] = 0;
} }
Phase = PHASE_NULL; Phase = PHASE_ILLIDAN_NULL;
Event = EVENT_NULL; Event = EVENT_NULL;
Timer[EVENT_BERSERK] = 1500000; Timer[EVENT_BERSERK] = 1500000;
@@ -1869,7 +1873,7 @@ void boss_illidan_stormrageAI::JustSummoned(Creature* summon)
summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
MaievGUID = summon->GetGUID(); MaievGUID = summon->GetGUID();
((boss_maievAI*)summon->AI())->GetIllidanGUID(m_creature->GetGUID()); ((boss_maievAI*)summon->AI())->GetIllidanGUID(m_creature->GetGUID());
((boss_maievAI*)summon->AI())->EnterPhase(PHASE_TALK_SEQUENCE); summon->AI()->DoAction(PHASE_TALK_SEQUENCE);
}break; }break;
case FLAME_OF_AZZINOTH: case FLAME_OF_AZZINOTH:
{ {
@@ -2116,7 +2120,7 @@ void boss_illidan_stormrageAI::EnterPhase(PhaseIllidan NextPhase)
{ {
GETCRE(Maiev, MaievGUID); GETCRE(Maiev, MaievGUID);
if(Maiev && Maiev->isAlive()) if(Maiev && Maiev->isAlive())
((boss_maievAI*)Maiev->AI())->EnterPhase(NextPhase); Maiev->AI()->DoAction(NextPhase);
} }
Phase = NextPhase; Phase = NextPhase;
Event = EVENT_NULL; Event = EVENT_NULL;
@@ -81,7 +81,6 @@ struct TRINITY_DLL_DECL boss_shahrazAI : public ScriptedAI
boss_shahrazAI(Creature *c) : ScriptedAI(c) boss_shahrazAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -100,7 +100,7 @@ static Position Coords[]=
struct TRINITY_DLL_DECL npc_enslaved_soulAI : public ScriptedAI struct TRINITY_DLL_DECL npc_enslaved_soulAI : public ScriptedAI
{ {
npc_enslaved_soulAI(Creature *c) : ScriptedAI(c) {Reset();} npc_enslaved_soulAI(Creature *c) : ScriptedAI(c) {}
uint64 ReliquaryGUID; uint64 ReliquaryGUID;
@@ -121,7 +121,6 @@ struct TRINITY_DLL_DECL boss_reliquary_of_soulsAI : public ScriptedAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
EssenceGUID = 0; EssenceGUID = 0;
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -322,7 +321,7 @@ struct TargetDistanceOrder : public std::binary_function<const Unit, const Unit,
struct TRINITY_DLL_DECL boss_essence_of_sufferingAI : public ScriptedAI struct TRINITY_DLL_DECL boss_essence_of_sufferingAI : public ScriptedAI
{ {
boss_essence_of_sufferingAI(Creature *c) : ScriptedAI(c) {Reset();} boss_essence_of_sufferingAI(Creature *c) : ScriptedAI(c) {}
uint64 StatAuraGUID; uint64 StatAuraGUID;
@@ -430,7 +429,7 @@ struct TRINITY_DLL_DECL boss_essence_of_sufferingAI : public ScriptedAI
struct TRINITY_DLL_DECL boss_essence_of_desireAI : public ScriptedAI struct TRINITY_DLL_DECL boss_essence_of_desireAI : public ScriptedAI
{ {
boss_essence_of_desireAI(Creature *c) : ScriptedAI(c) {Reset();} boss_essence_of_desireAI(Creature *c) : ScriptedAI(c) {}
uint32 RuneShieldTimer; uint32 RuneShieldTimer;
uint32 DeadenTimer; uint32 DeadenTimer;
@@ -526,7 +525,7 @@ struct TRINITY_DLL_DECL boss_essence_of_desireAI : public ScriptedAI
struct TRINITY_DLL_DECL boss_essence_of_angerAI : public ScriptedAI struct TRINITY_DLL_DECL boss_essence_of_angerAI : public ScriptedAI
{ {
boss_essence_of_angerAI(Creature *c) : ScriptedAI(c) {Reset();} boss_essence_of_angerAI(Creature *c) : ScriptedAI(c) {}
uint64 AggroTargetGUID; uint64 AggroTargetGUID;
@@ -107,7 +107,7 @@ const uint32 spawnEntries[4]= { 23523, 23318, 23524 };
struct TRINITY_DLL_DECL mob_ashtongue_channelerAI : public ScriptedAI struct TRINITY_DLL_DECL mob_ashtongue_channelerAI : public ScriptedAI
{ {
mob_ashtongue_channelerAI(Creature* c) : ScriptedAI(c) { Reset(); } mob_ashtongue_channelerAI(Creature* c) : ScriptedAI(c) {}
uint64 ShadeGUID; uint64 ShadeGUID;
@@ -121,7 +121,7 @@ struct TRINITY_DLL_DECL mob_ashtongue_channelerAI : public ScriptedAI
struct TRINITY_DLL_DECL mob_ashtongue_sorcererAI : public ScriptedAI struct TRINITY_DLL_DECL mob_ashtongue_sorcererAI : public ScriptedAI
{ {
mob_ashtongue_sorcererAI(Creature* c) : ScriptedAI(c) { Reset(); } mob_ashtongue_sorcererAI(Creature* c) : ScriptedAI(c) {}
uint64 ShadeGUID; uint64 ShadeGUID;
uint32 CheckTimer; uint32 CheckTimer;
@@ -169,7 +169,6 @@ struct TRINITY_DLL_DECL boss_shade_of_akamaAI : public ScriptedAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
AkamaGUID = pInstance ? pInstance->GetData64(DATA_AKAMA_SHADE) : 0; AkamaGUID = pInstance ? pInstance->GetData64(DATA_AKAMA_SHADE) : 0;
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -507,7 +506,6 @@ struct TRINITY_DLL_DECL npc_akamaAI : public ScriptedAI
StartCombat = false; StartCombat = false;
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
ShadeGUID = pInstance ? pInstance->GetData64(DATA_SHADEOFAKAMA) : 0; ShadeGUID = pInstance ? pInstance->GetData64(DATA_SHADEOFAKAMA) : 0;
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -54,7 +54,6 @@ struct TRINITY_DLL_DECL boss_supremusAI : public ScriptedAI
boss_supremusAI(Creature *c) : ScriptedAI(c), summons(m_creature) boss_supremusAI(Creature *c) : ScriptedAI(c), summons(m_creature)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -241,7 +240,6 @@ struct TRINITY_DLL_DECL npc_volcanoAI : public ScriptedAI
npc_volcanoAI(Creature *c) : ScriptedAI(c) npc_volcanoAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -51,10 +51,7 @@ EndScriptData */
struct TRINITY_DLL_DECL mob_doom_blossomAI : public ScriptedAI struct TRINITY_DLL_DECL mob_doom_blossomAI : public ScriptedAI
{ {
mob_doom_blossomAI(Creature *c) : ScriptedAI(c) mob_doom_blossomAI(Creature *c) : ScriptedAI(c) {}
{
Reset();
}
uint32 CheckTeronTimer; uint32 CheckTeronTimer;
uint32 ShadowBoltTimer; uint32 ShadowBoltTimer;
@@ -116,10 +113,7 @@ struct TargetDistanceOrder : public std::binary_function<const Unit, const Unit,
struct TRINITY_DLL_DECL mob_shadowy_constructAI : public ScriptedAI struct TRINITY_DLL_DECL mob_shadowy_constructAI : public ScriptedAI
{ {
mob_shadowy_constructAI(Creature* c) : ScriptedAI(c) mob_shadowy_constructAI(Creature* c) : ScriptedAI(c) {}
{
Reset();
}
uint64 GhostGUID; uint64 GhostGUID;
uint64 TeronGUID; uint64 TeronGUID;
@@ -200,7 +194,6 @@ struct TRINITY_DLL_DECL boss_teron_gorefiendAI : public ScriptedAI
boss_teron_gorefiendAI(Creature *c) : ScriptedAI(c) boss_teron_gorefiendAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -51,7 +51,6 @@ struct TRINITY_DLL_DECL boss_najentusAI : public ScriptedAI
boss_najentusAI(Creature *c) : ScriptedAI(c) boss_najentusAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -111,7 +111,6 @@ struct TRINITY_DLL_DECL mob_blood_elf_council_voice_triggerAI : public ScriptedA
{ {
for(uint8 i = 0; i < 4; ++i) for(uint8 i = 0; i < 4; ++i)
Council[i] = 0; Council[i] = 0;
Reset();
} }
uint64 Council[4]; uint64 Council[4];
@@ -196,8 +195,6 @@ struct TRINITY_DLL_DECL mob_illidari_councilAI : public ScriptedAI
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
for(uint8 i = 0; i < 4; ++i) for(uint8 i = 0; i < 4; ++i)
Council[i] = 0; Council[i] = 0;
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -432,7 +429,7 @@ struct TRINITY_DLL_DECL boss_illidari_councilAI : public ScriptedAI
struct TRINITY_DLL_DECL boss_gathios_the_shattererAI : public boss_illidari_councilAI struct TRINITY_DLL_DECL boss_gathios_the_shattererAI : public boss_illidari_councilAI
{ {
boss_gathios_the_shattererAI(Creature *c) : boss_illidari_councilAI(c) { Reset(); } boss_gathios_the_shattererAI(Creature *c) : boss_illidari_councilAI(c) {}
uint32 ConsecrationTimer; uint32 ConsecrationTimer;
uint32 HammerOfJusticeTimer; uint32 HammerOfJusticeTimer;
@@ -547,7 +544,7 @@ struct TRINITY_DLL_DECL boss_gathios_the_shattererAI : public boss_illidari_coun
struct TRINITY_DLL_DECL boss_high_nethermancer_zerevorAI : public boss_illidari_councilAI struct TRINITY_DLL_DECL boss_high_nethermancer_zerevorAI : public boss_illidari_councilAI
{ {
boss_high_nethermancer_zerevorAI(Creature *c) : boss_illidari_councilAI(c) { Reset(); } boss_high_nethermancer_zerevorAI(Creature *c) : boss_illidari_councilAI(c) {}
uint32 BlizzardTimer; uint32 BlizzardTimer;
uint32 FlamestrikeTimer; uint32 FlamestrikeTimer;
@@ -639,7 +636,7 @@ struct TRINITY_DLL_DECL boss_high_nethermancer_zerevorAI : public boss_illidari_
struct TRINITY_DLL_DECL boss_lady_malandeAI : public boss_illidari_councilAI struct TRINITY_DLL_DECL boss_lady_malandeAI : public boss_illidari_councilAI
{ {
boss_lady_malandeAI(Creature *c) : boss_illidari_councilAI(c) { Reset(); } boss_lady_malandeAI(Creature *c) : boss_illidari_councilAI(c) {}
uint32 EmpoweredSmiteTimer; uint32 EmpoweredSmiteTimer;
uint32 CircleOfHealingTimer; uint32 CircleOfHealingTimer;
@@ -705,7 +702,7 @@ struct TRINITY_DLL_DECL boss_lady_malandeAI : public boss_illidari_councilAI
struct TRINITY_DLL_DECL boss_veras_darkshadowAI : public boss_illidari_councilAI struct TRINITY_DLL_DECL boss_veras_darkshadowAI : public boss_illidari_councilAI
{ {
boss_veras_darkshadowAI(Creature *c) : boss_illidari_councilAI(c) { Reset(); } boss_veras_darkshadowAI(Creature *c) : boss_illidari_councilAI(c) {}
uint64 EnvenomTargetGUID; uint64 EnvenomTargetGUID;
@@ -103,7 +103,6 @@ struct TRINITY_DLL_DECL npc_grimstoneAI : public npc_escortAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
MobSpawnId = rand()%6; MobSpawnId = rand()%6;
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -341,7 +340,7 @@ CreatureAI* GetAI_npc_grimstone(Creature *_Creature)
struct TRINITY_DLL_DECL mob_phalanxAI : public ScriptedAI struct TRINITY_DLL_DECL mob_phalanxAI : public ScriptedAI
{ {
mob_phalanxAI(Creature *c) : ScriptedAI(c) {Reset();} mob_phalanxAI(Creature *c) : ScriptedAI(c) {}
uint32 ThunderClap_Timer; uint32 ThunderClap_Timer;
uint32 FireballVolley_Timer; uint32 FireballVolley_Timer;
@@ -542,7 +541,7 @@ ScriptedInstance *pInstance;
/* /*
struct TRINITY_DLL_DECL npc_dughal_stormwingAI : public npc_escortAI struct TRINITY_DLL_DECL npc_dughal_stormwingAI : public npc_escortAI
{ {
npc_dughal_stormwingAI(Creature *c) : npc_escortAI(c) { Reset(); } npc_dughal_stormwingAI(Creature *c) : npc_escortAI(c) {}
void WaypointReached(uint32 i) void WaypointReached(uint32 i)
{ {
@@ -645,7 +644,6 @@ struct TRINITY_DLL_DECL npc_marshal_windsorAI : public npc_escortAI
npc_marshal_windsorAI(Creature *c) : npc_escortAI(c) npc_marshal_windsorAI(Creature *c) : npc_escortAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
void WaypointReached(uint32 i) void WaypointReached(uint32 i)
@@ -810,7 +808,6 @@ struct TRINITY_DLL_DECL npc_marshal_reginald_windsorAI : public npc_escortAI
{ {
npc_marshal_reginald_windsorAI(Creature *c) : npc_escortAI(c) npc_marshal_reginald_windsorAI(Creature *c) : npc_escortAI(c)
{ {
Reset();
} }
void WaypointReached(uint32 i) void WaypointReached(uint32 i)
@@ -1004,7 +1001,7 @@ CreatureAI* GetAI_npc_marshal_reginald_windsor(Creature *_Creature)
/* /*
struct TRINITY_DLL_DECL npc_tobias_seecherAI : public npc_escortAI struct TRINITY_DLL_DECL npc_tobias_seecherAI : public npc_escortAI
{ {
npc_tobias_seecherAI(Creature *c) :npc_escortAI(c) {Reset();} npc_tobias_seecherAI(Creature *c) :npc_escortAI(c) {}
void Aggro(Unit* who) { } void Aggro(Unit* who) { }
void Reset() {} void Reset() {}
@@ -1128,7 +1125,6 @@ struct TRINITY_DLL_DECL npc_rocknotAI : public npc_escortAI
npc_rocknotAI(Creature *c) : npc_escortAI(c) npc_rocknotAI(Creature *c) : npc_escortAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -27,7 +27,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_ambassador_flamelashAI : public ScriptedAI struct TRINITY_DLL_DECL boss_ambassador_flamelashAI : public ScriptedAI
{ {
boss_ambassador_flamelashAI(Creature *c) : ScriptedAI(c) {Reset();} boss_ambassador_flamelashAI(Creature *c) : ScriptedAI(c) {}
uint32 FireBlast_Timer; uint32 FireBlast_Timer;
uint32 Spirit_Timer; uint32 Spirit_Timer;
@@ -31,7 +31,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_anubshiahAI : public ScriptedAI struct TRINITY_DLL_DECL boss_anubshiahAI : public ScriptedAI
{ {
boss_anubshiahAI(Creature *c) : ScriptedAI(c) {Reset();} boss_anubshiahAI(Creature *c) : ScriptedAI(c) {}
uint32 ShadowBolt_Timer; uint32 ShadowBolt_Timer;
uint32 CurseOfTongues_Timer; uint32 CurseOfTongues_Timer;
@@ -31,7 +31,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_draganthaurissanAI : public ScriptedAI struct TRINITY_DLL_DECL boss_draganthaurissanAI : public ScriptedAI
{ {
boss_draganthaurissanAI(Creature *c) : ScriptedAI(c) {Reset();} boss_draganthaurissanAI(Creature *c) : ScriptedAI(c) {}
uint32 HandOfThaurissan_Timer; uint32 HandOfThaurissan_Timer;
uint32 AvatarOfFlame_Timer; uint32 AvatarOfFlame_Timer;
@@ -29,7 +29,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_general_angerforgeAI : public ScriptedAI struct TRINITY_DLL_DECL boss_general_angerforgeAI : public ScriptedAI
{ {
boss_general_angerforgeAI(Creature *c) : ScriptedAI(c) {Reset();} boss_general_angerforgeAI(Creature *c) : ScriptedAI(c) {}
uint32 MightyBlow_Timer; uint32 MightyBlow_Timer;
uint32 HamString_Timer; uint32 HamString_Timer;
@@ -28,7 +28,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_gorosh_the_dervishAI : public ScriptedAI struct TRINITY_DLL_DECL boss_gorosh_the_dervishAI : public ScriptedAI
{ {
boss_gorosh_the_dervishAI(Creature *c) : ScriptedAI(c) {Reset();} boss_gorosh_the_dervishAI(Creature *c) : ScriptedAI(c) {}
uint32 WhirlWind_Timer; uint32 WhirlWind_Timer;
uint32 MortalStrike_Timer; uint32 MortalStrike_Timer;
@@ -28,7 +28,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_grizzleAI : public ScriptedAI struct TRINITY_DLL_DECL boss_grizzleAI : public ScriptedAI
{ {
boss_grizzleAI(Creature *c) : ScriptedAI(c) {Reset();} boss_grizzleAI(Creature *c) : ScriptedAI(c) {}
uint32 GroundTremor_Timer; uint32 GroundTremor_Timer;
uint32 Frenzy_Timer; uint32 Frenzy_Timer;
@@ -30,7 +30,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_high_interrogator_gerstahnAI : public ScriptedAI struct TRINITY_DLL_DECL boss_high_interrogator_gerstahnAI : public ScriptedAI
{ {
boss_high_interrogator_gerstahnAI(Creature *c) : ScriptedAI(c) {Reset();} boss_high_interrogator_gerstahnAI(Creature *c) : ScriptedAI(c) {}
uint32 ShadowWordPain_Timer; uint32 ShadowWordPain_Timer;
uint32 ManaBurn_Timer; uint32 ManaBurn_Timer;
@@ -28,7 +28,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_magmusAI : public ScriptedAI struct TRINITY_DLL_DECL boss_magmusAI : public ScriptedAI
{ {
boss_magmusAI(Creature *c) : ScriptedAI(c) {Reset();} boss_magmusAI(Creature *c) : ScriptedAI(c) {}
uint32 FieryBurst_Timer; uint32 FieryBurst_Timer;
uint32 WarStomp_Timer; uint32 WarStomp_Timer;
@@ -32,7 +32,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_moira_bronzebeardAI : public ScriptedAI struct TRINITY_DLL_DECL boss_moira_bronzebeardAI : public ScriptedAI
{ {
boss_moira_bronzebeardAI(Creature *c) : ScriptedAI(c) {Reset();} boss_moira_bronzebeardAI(Creature *c) : ScriptedAI(c) {}
uint32 Heal_Timer; uint32 Heal_Timer;
uint32 MindBlast_Timer; uint32 MindBlast_Timer;
@@ -33,7 +33,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_angerrelAI : public ScriptedAI struct TRINITY_DLL_DECL boss_angerrelAI : public ScriptedAI
{ {
boss_angerrelAI(Creature *c) : ScriptedAI(c) {Reset();} boss_angerrelAI(Creature *c) : ScriptedAI(c) {}
uint32 SunderArmor_Timer; uint32 SunderArmor_Timer;
uint32 ShieldBlock_Timer; uint32 ShieldBlock_Timer;
@@ -91,7 +91,7 @@ CreatureAI* GetAI_boss_angerrel(Creature *_Creature)
struct TRINITY_DLL_DECL boss_doperelAI : public ScriptedAI struct TRINITY_DLL_DECL boss_doperelAI : public ScriptedAI
{ {
boss_doperelAI(Creature *c) : ScriptedAI(c) {Reset();} boss_doperelAI(Creature *c) : ScriptedAI(c) {}
uint32 SinisterStrike_Timer; uint32 SinisterStrike_Timer;
uint32 BackStab_Timer; uint32 BackStab_Timer;
@@ -149,7 +149,7 @@ CreatureAI* GetAI_boss_doperel(Creature *_Creature)
struct TRINITY_DLL_DECL boss_haterelAI : public ScriptedAI struct TRINITY_DLL_DECL boss_haterelAI : public ScriptedAI
{ {
boss_haterelAI(Creature *c) : ScriptedAI(c) {Reset();} boss_haterelAI(Creature *c) : ScriptedAI(c) {}
uint32 ShadowBolt_Timer; uint32 ShadowBolt_Timer;
uint32 ManaBurn_Timer; uint32 ManaBurn_Timer;
@@ -221,7 +221,7 @@ CreatureAI* GetAI_boss_haterel(Creature *_Creature)
struct TRINITY_DLL_DECL boss_vilerelAI : public ScriptedAI struct TRINITY_DLL_DECL boss_vilerelAI : public ScriptedAI
{ {
boss_vilerelAI(Creature *c) : ScriptedAI(c) {Reset();} boss_vilerelAI(Creature *c) : ScriptedAI(c) {}
uint32 MindBlast_Timer; uint32 MindBlast_Timer;
uint32 Heal_Timer; uint32 Heal_Timer;
@@ -290,7 +290,7 @@ CreatureAI* GetAI_boss_vilerel(Creature *_Creature)
struct TRINITY_DLL_DECL boss_seethrelAI : public ScriptedAI struct TRINITY_DLL_DECL boss_seethrelAI : public ScriptedAI
{ {
boss_seethrelAI(Creature *c) : ScriptedAI(c) {Reset();} boss_seethrelAI(Creature *c) : ScriptedAI(c) {}
uint32 FrostArmor_Timer; uint32 FrostArmor_Timer;
uint32 Frostbolt_Timer; uint32 Frostbolt_Timer;
@@ -370,7 +370,7 @@ CreatureAI* GetAI_boss_seethrel(Creature *_Creature)
struct TRINITY_DLL_DECL boss_gloomrelAI : public ScriptedAI struct TRINITY_DLL_DECL boss_gloomrelAI : public ScriptedAI
{ {
boss_gloomrelAI(Creature *c) : ScriptedAI(c) {Reset();} boss_gloomrelAI(Creature *c) : ScriptedAI(c) {}
uint32 Hamstring_Timer; uint32 Hamstring_Timer;
uint32 Cleave_Timer; uint32 Cleave_Timer;
@@ -470,7 +470,7 @@ bool GossipSelect_boss_gloomrel(Player *player, Creature *_Creature, uint32 send
struct TRINITY_DLL_DECL boss_doomrelAI : public ScriptedAI struct TRINITY_DLL_DECL boss_doomrelAI : public ScriptedAI
{ {
boss_doomrelAI(Creature *c) : ScriptedAI(c) {Reset();} boss_doomrelAI(Creature *c) : ScriptedAI(c) {}
uint32 ShadowVolley_Timer; uint32 ShadowVolley_Timer;
uint32 Immolate_Timer; uint32 Immolate_Timer;
@@ -30,7 +30,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_drakkisathAI : public ScriptedAI struct TRINITY_DLL_DECL boss_drakkisathAI : public ScriptedAI
{ {
boss_drakkisathAI(Creature *c) : ScriptedAI(c) {Reset();} boss_drakkisathAI(Creature *c) : ScriptedAI(c) {}
uint32 FireNova_Timer; uint32 FireNova_Timer;
uint32 Cleave_Timer; uint32 Cleave_Timer;
@@ -29,7 +29,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_gythAI : public ScriptedAI struct TRINITY_DLL_DECL boss_gythAI : public ScriptedAI
{ {
boss_gythAI(Creature *c) : ScriptedAI(c) {Reset();} boss_gythAI(Creature *c) : ScriptedAI(c) {}
uint32 Aggro_Timer; uint32 Aggro_Timer;
uint32 Dragons_Timer; uint32 Dragons_Timer;
@@ -33,7 +33,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_halyconAI : public ScriptedAI struct TRINITY_DLL_DECL boss_halyconAI : public ScriptedAI
{ {
boss_halyconAI(Creature *c) : ScriptedAI(c) {Reset();} boss_halyconAI(Creature *c) : ScriptedAI(c) {}
uint32 CrowdPummel_Timer; uint32 CrowdPummel_Timer;
uint32 MightyBlow_Timer; uint32 MightyBlow_Timer;
@@ -33,7 +33,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_highlordomokkAI : public ScriptedAI struct TRINITY_DLL_DECL boss_highlordomokkAI : public ScriptedAI
{ {
boss_highlordomokkAI(Creature *c) : ScriptedAI(c) {Reset();} boss_highlordomokkAI(Creature *c) : ScriptedAI(c) {}
uint32 WarStomp_Timer; uint32 WarStomp_Timer;
uint32 Cleave_Timer; uint32 Cleave_Timer;
@@ -29,7 +29,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_mothersmolderwebAI : public ScriptedAI struct TRINITY_DLL_DECL boss_mothersmolderwebAI : public ScriptedAI
{ {
boss_mothersmolderwebAI(Creature *c) : ScriptedAI(c) {Reset();} boss_mothersmolderwebAI(Creature *c) : ScriptedAI(c) {}
uint32 Crystalize_Timer; uint32 Crystalize_Timer;
uint32 MothersMilk_Timer; uint32 MothersMilk_Timer;
@@ -40,7 +40,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_overlordwyrmthalakAI : public ScriptedAI struct TRINITY_DLL_DECL boss_overlordwyrmthalakAI : public ScriptedAI
{ {
boss_overlordwyrmthalakAI(Creature *c) : ScriptedAI(c) {Reset();} boss_overlordwyrmthalakAI(Creature *c) : ScriptedAI(c) {}
uint32 BlastWave_Timer; uint32 BlastWave_Timer;
uint32 Shout_Timer; uint32 Shout_Timer;
@@ -29,7 +29,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_pyroguard_emberseerAI : public ScriptedAI struct TRINITY_DLL_DECL boss_pyroguard_emberseerAI : public ScriptedAI
{ {
boss_pyroguard_emberseerAI(Creature *c) : ScriptedAI(c) {Reset();} boss_pyroguard_emberseerAI(Creature *c) : ScriptedAI(c) {}
uint32 FireNova_Timer; uint32 FireNova_Timer;
uint32 FlameBuffet_Timer; uint32 FlameBuffet_Timer;
@@ -30,7 +30,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_quatermasterzigrisAI : public ScriptedAI struct TRINITY_DLL_DECL boss_quatermasterzigrisAI : public ScriptedAI
{ {
boss_quatermasterzigrisAI(Creature *c) : ScriptedAI(c) {Reset();} boss_quatermasterzigrisAI(Creature *c) : ScriptedAI(c) {}
uint32 Shoot_Timer; uint32 Shoot_Timer;
uint32 StunBomb_Timer; uint32 StunBomb_Timer;
@@ -29,7 +29,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_rend_blackhandAI : public ScriptedAI struct TRINITY_DLL_DECL boss_rend_blackhandAI : public ScriptedAI
{ {
boss_rend_blackhandAI(Creature *c) : ScriptedAI(c) {Reset();} boss_rend_blackhandAI(Creature *c) : ScriptedAI(c) {}
uint32 WhirlWind_Timer; uint32 WhirlWind_Timer;
uint32 Cleave_Timer; uint32 Cleave_Timer;
@@ -29,7 +29,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_shadowvoshAI : public ScriptedAI struct TRINITY_DLL_DECL boss_shadowvoshAI : public ScriptedAI
{ {
boss_shadowvoshAI(Creature *c) : ScriptedAI(c) {Reset();} boss_shadowvoshAI(Creature *c) : ScriptedAI(c) {}
uint32 CurseOfBlood_Timer; uint32 CurseOfBlood_Timer;
uint32 Hex_Timer; uint32 Hex_Timer;
@@ -29,7 +29,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_thebeastAI : public ScriptedAI struct TRINITY_DLL_DECL boss_thebeastAI : public ScriptedAI
{ {
boss_thebeastAI(Creature *c) : ScriptedAI(c) {Reset();} boss_thebeastAI(Creature *c) : ScriptedAI(c) {}
uint32 Flamebreak_Timer; uint32 Flamebreak_Timer;
uint32 Immolate_Timer; uint32 Immolate_Timer;
@@ -32,7 +32,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_warmastervooneAI : public ScriptedAI struct TRINITY_DLL_DECL boss_warmastervooneAI : public ScriptedAI
{ {
boss_warmastervooneAI(Creature *c) : ScriptedAI(c) {Reset();} boss_warmastervooneAI(Creature *c) : ScriptedAI(c) {}
uint32 Snapkick_Timer; uint32 Snapkick_Timer;
uint32 Cleave_Timer; uint32 Cleave_Timer;
@@ -33,7 +33,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI
{ {
boss_broodlordAI(Creature *c) : ScriptedAI(c) {Reset();} boss_broodlordAI(Creature *c) : ScriptedAI(c) {}
uint32 Cleave_Timer; uint32 Cleave_Timer;
uint32 BlastWave_Timer; uint32 BlastWave_Timer;
@@ -30,7 +30,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_ebonrocAI : public ScriptedAI struct TRINITY_DLL_DECL boss_ebonrocAI : public ScriptedAI
{ {
boss_ebonrocAI(Creature *c) : ScriptedAI(c) {Reset();} boss_ebonrocAI(Creature *c) : ScriptedAI(c) {}
uint32 ShadowFlame_Timer; uint32 ShadowFlame_Timer;
uint32 WingBuffet_Timer; uint32 WingBuffet_Timer;
@@ -29,7 +29,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_firemawAI : public ScriptedAI struct TRINITY_DLL_DECL boss_firemawAI : public ScriptedAI
{ {
boss_firemawAI(Creature *c) : ScriptedAI(c) {Reset();} boss_firemawAI(Creature *c) : ScriptedAI(c) {}
uint32 ShadowFlame_Timer; uint32 ShadowFlame_Timer;
uint32 WingBuffet_Timer; uint32 WingBuffet_Timer;
@@ -31,7 +31,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_flamegorAI : public ScriptedAI struct TRINITY_DLL_DECL boss_flamegorAI : public ScriptedAI
{ {
boss_flamegorAI(Creature *c) : ScriptedAI(c) {Reset();} boss_flamegorAI(Creature *c) : ScriptedAI(c) {}
uint32 ShadowFlame_Timer; uint32 ShadowFlame_Timer;
uint32 WingBuffet_Timer; uint32 WingBuffet_Timer;
@@ -60,7 +60,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI
{ {
boss_nefarianAI(Creature *c) : ScriptedAI(c) {Reset();} boss_nefarianAI(Creature *c) : ScriptedAI(c) {}
uint32 ShadowFlame_Timer; uint32 ShadowFlame_Timer;
uint32 BellowingRoar_Timer; uint32 BellowingRoar_Timer;
@@ -37,7 +37,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_razorgoreAI : public ScriptedAI struct TRINITY_DLL_DECL boss_razorgoreAI : public ScriptedAI
{ {
boss_razorgoreAI(Creature *c) : ScriptedAI(c) {Reset();} boss_razorgoreAI(Creature *c) : ScriptedAI(c) {}
uint32 Cleave_Timer; uint32 Cleave_Timer;
uint32 WarStomp_Timer; uint32 WarStomp_Timer;
@@ -45,7 +45,6 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI
c->SetUInt32Value(UNIT_NPC_FLAGS,1); c->SetUInt32Value(UNIT_NPC_FLAGS,1);
c->setFaction(35); c->setFaction(35);
c->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); c->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
Reset();
} }
uint64 PlayerGUID; uint64 PlayerGUID;
@@ -72,7 +72,6 @@ struct TRINITY_DLL_DECL boss_victor_nefariusAI : public ScriptedAI
boss_victor_nefariusAI(Creature *c) : ScriptedAI(c) boss_victor_nefariusAI(Creature *c) : ScriptedAI(c)
{ {
NefarianGUID = 0; NefarianGUID = 0;
Reset();
srand(time(NULL)); srand(time(NULL));
switch (rand()%20) switch (rand()%20)
{ {
@@ -39,7 +39,7 @@ EndContentData */
//TODO: add support for quest 10512 + creature abilities //TODO: add support for quest 10512 + creature abilities
struct TRINITY_DLL_DECL mobs_bladespire_ogreAI : public ScriptedAI struct TRINITY_DLL_DECL mobs_bladespire_ogreAI : public ScriptedAI
{ {
mobs_bladespire_ogreAI(Creature *c) : ScriptedAI(c) {Reset();} mobs_bladespire_ogreAI(Creature *c) : ScriptedAI(c) {}
void Reset() void Reset()
{ {
@@ -84,7 +84,7 @@ CreatureAI* GetAI_mobs_bladespire_ogre(Creature *_Creature)
struct TRINITY_DLL_DECL mobs_nether_drakeAI : public ScriptedAI struct TRINITY_DLL_DECL mobs_nether_drakeAI : public ScriptedAI
{ {
mobs_nether_drakeAI(Creature *c) : ScriptedAI(c) {Reset();} mobs_nether_drakeAI(Creature *c) : ScriptedAI(c) {}
bool IsNihil; bool IsNihil;
uint32 NihilSpeech_Timer; uint32 NihilSpeech_Timer;
@@ -265,7 +265,7 @@ CreatureAI* GetAI_mobs_nether_drake(Creature *_Creature)
struct TRINITY_DLL_DECL npc_daranelleAI : public ScriptedAI struct TRINITY_DLL_DECL npc_daranelleAI : public ScriptedAI
{ {
npc_daranelleAI(Creature *c) : ScriptedAI(c) {Reset();} npc_daranelleAI(Creature *c) : ScriptedAI(c) {}
void Reset() void Reset()
{ {
@@ -33,7 +33,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_kruulAI : public ScriptedAI struct TRINITY_DLL_DECL boss_kruulAI : public ScriptedAI
{ {
boss_kruulAI(Creature *c) : ScriptedAI(c) {Reset();} boss_kruulAI(Creature *c) : ScriptedAI(c) {}
uint32 ShadowVolley_Timer; uint32 ShadowVolley_Timer;
uint32 Cleave_Timer; uint32 Cleave_Timer;
@@ -37,7 +37,7 @@ const uint32 possibleSpawns[32] = {17322, 17661, 17496, 17522, 17340, 17352, 173
struct TRINITY_DLL_DECL mob_webbed_creatureAI : public ScriptedAI struct TRINITY_DLL_DECL mob_webbed_creatureAI : public ScriptedAI
{ {
mob_webbed_creatureAI(Creature *c) : ScriptedAI(c) {Reset();} mob_webbed_creatureAI(Creature *c) : ScriptedAI(c) {}
void Reset() void Reset()
{ {
@@ -46,7 +46,7 @@ EndContentData */
struct TRINITY_DLL_DECL npc_ragged_johnAI : public ScriptedAI struct TRINITY_DLL_DECL npc_ragged_johnAI : public ScriptedAI
{ {
npc_ragged_johnAI(Creature *c) : ScriptedAI(c) { Reset(); } npc_ragged_johnAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
@@ -44,7 +44,6 @@ struct TRINITY_DLL_DECL boss_aeonusAI : public ScriptedAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -44,7 +44,6 @@ struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -43,7 +43,6 @@ struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -59,7 +59,6 @@ struct TRINITY_DLL_DECL npc_medivh_bmAI : public ScriptedAI
npc_medivh_bmAI(Creature *c) : ScriptedAI(c) npc_medivh_bmAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -242,7 +241,6 @@ struct TRINITY_DLL_DECL npc_time_riftAI : public ScriptedAI
npc_time_riftAI(Creature *c) : ScriptedAI(c) npc_time_riftAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -77,7 +77,6 @@ struct mob_ancient_wispAI : public ScriptedAI
mob_ancient_wispAI(Creature* c) : ScriptedAI(c) mob_ancient_wispAI(Creature* c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -127,10 +126,7 @@ struct mob_ancient_wispAI : public ScriptedAI
are within 3 yards. Another creature called Doomfire Targetting spawns this creature as well as stalks. */ are within 3 yards. Another creature called Doomfire Targetting spawns this creature as well as stalks. */
struct TRINITY_DLL_DECL mob_doomfireAI : public ScriptedAI struct TRINITY_DLL_DECL mob_doomfireAI : public ScriptedAI
{ {
mob_doomfireAI(Creature* c) : ScriptedAI(c) mob_doomfireAI(Creature* c) : ScriptedAI(c) {}
{
Reset();
}
uint32 CheckTimer; uint32 CheckTimer;
uint32 RefreshTimer; uint32 RefreshTimer;
@@ -222,10 +218,7 @@ struct TRINITY_DLL_DECL mob_doomfireAI : public ScriptedAI
/* This is the script for the Doomfire Targetting Mob. This mob simply follows players and/or travels in random directions and spawns the actual Doomfire which does damage to anyone that moves close. */ /* This is the script for the Doomfire Targetting Mob. This mob simply follows players and/or travels in random directions and spawns the actual Doomfire which does damage to anyone that moves close. */
struct TRINITY_DLL_DECL mob_doomfire_targettingAI : public ScriptedAI struct TRINITY_DLL_DECL mob_doomfire_targettingAI : public ScriptedAI
{ {
mob_doomfire_targettingAI(Creature* c) : ScriptedAI(c) mob_doomfire_targettingAI(Creature* c) : ScriptedAI(c) {}
{
Reset();
}
uint32 ChangeTargetTimer; uint32 ChangeTargetTimer;
uint32 SummonTimer; // This timer will serve as both a summon timer for the doomfire that does damage as well as to check on Archionde uint32 SummonTimer; // This timer will serve as both a summon timer for the doomfire that does damage as well as to check on Archionde
@@ -335,7 +328,6 @@ struct TRINITY_DLL_DECL boss_archimondeAI : public ScriptedAI
boss_archimondeAI(Creature *c) : ScriptedAI(c) boss_archimondeAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -52,7 +52,6 @@ float AttackArea[2][3]=
hyjalAI::hyjalAI(Creature *c) : ScriptedAI(c) hyjalAI::hyjalAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
void hyjalAI::Reset() void hyjalAI::Reset()
@@ -43,7 +43,6 @@ struct TRINITY_DLL_DECL boss_captain_skarlocAI : public ScriptedAI
boss_captain_skarlocAI(Creature *c) : ScriptedAI(c) boss_captain_skarlocAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -45,7 +45,6 @@ struct TRINITY_DLL_DECL boss_epoch_hunterAI : public ScriptedAI
boss_epoch_hunterAI(Creature *c) : ScriptedAI(c) boss_epoch_hunterAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -94,7 +94,7 @@ static Location DrakeWP[]=
struct TRINITY_DLL_DECL boss_lieutenant_drakeAI : public ScriptedAI struct TRINITY_DLL_DECL boss_lieutenant_drakeAI : public ScriptedAI
{ {
boss_lieutenant_drakeAI(Creature *c) : ScriptedAI(c) {Reset();} boss_lieutenant_drakeAI(Creature *c) : ScriptedAI(c) {}
bool CanPatrol; bool CanPatrol;
uint32 wpId; uint32 wpId;
@@ -211,7 +211,6 @@ struct TRINITY_DLL_DECL npc_thrall_old_hillsbradAI : public npc_escortAI
npc_thrall_old_hillsbradAI(Creature *c) : npc_escortAI(c) npc_thrall_old_hillsbradAI(Creature *c) : npc_escortAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -752,7 +751,6 @@ struct TRINITY_DLL_DECL npc_tarethaAI : public npc_escortAI
npc_tarethaAI(Creature *c) : npc_escortAI(c) npc_tarethaAI(Creature *c) : npc_escortAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -99,7 +99,6 @@ struct TRINITY_DLL_DECL boss_fathomlord_karathressAI : public ScriptedAI
Advisors[0] = 0; Advisors[0] = 0;
Advisors[1] = 0; Advisors[1] = 0;
Advisors[2] = 0; Advisors[2] = 0;
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -309,7 +308,6 @@ struct TRINITY_DLL_DECL boss_fathomguard_sharkkisAI : public ScriptedAI
boss_fathomguard_sharkkisAI(Creature *c) : ScriptedAI(c) boss_fathomguard_sharkkisAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -454,7 +452,6 @@ struct TRINITY_DLL_DECL boss_fathomguard_tidalvessAI : public ScriptedAI
boss_fathomguard_tidalvessAI(Creature *c) : ScriptedAI(c) boss_fathomguard_tidalvessAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -570,7 +567,6 @@ struct TRINITY_DLL_DECL boss_fathomguard_caribdisAI : public ScriptedAI
boss_fathomguard_caribdisAI(Creature *c) : ScriptedAI(c) boss_fathomguard_caribdisAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -79,7 +79,6 @@ struct TRINITY_DLL_DECL boss_hydross_the_unstableAI : public ScriptedAI
boss_hydross_the_unstableAI(Creature *c) : ScriptedAI(c), Summons(m_creature) boss_hydross_the_unstableAI(Creature *c) : ScriptedAI(c), Summons(m_creature)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -132,9 +132,8 @@ struct TRINITY_DLL_DECL boss_lady_vashjAI : public ScriptedAI
{ {
boss_lady_vashjAI (Creature *c) : ScriptedAI(c) boss_lady_vashjAI (Creature *c) : ScriptedAI(c)
{ {
pInstance = (c->GetInstanceData()) ? ((ScriptedInstance*)c->GetInstanceData()) : NULL; pInstance = ((ScriptedInstance*)c->GetInstanceData());
Intro = false; Intro = false;
Reset();
CanAttack = false;//must be after reset() CanAttack = false;//must be after reset()
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); //set it only once on creature create (no need do intro if wiped) m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); //set it only once on creature create (no need do intro if wiped)
} }
@@ -584,8 +583,7 @@ struct TRINITY_DLL_DECL mob_enchanted_elementalAI : public ScriptedAI
{ {
mob_enchanted_elementalAI(Creature *c) : ScriptedAI(c) mob_enchanted_elementalAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = (c->GetInstanceData()) ? ((ScriptedInstance*)c->GetInstanceData()) : NULL; pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -689,8 +687,7 @@ struct TRINITY_DLL_DECL mob_tainted_elementalAI : public ScriptedAI
{ {
mob_tainted_elementalAI(Creature *c) : ScriptedAI(c) mob_tainted_elementalAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = (c->GetInstanceData()) ? ((ScriptedInstance*)c->GetInstanceData()) : NULL; pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -753,7 +750,7 @@ struct TRINITY_DLL_DECL mob_toxic_sporebatAI : public ScriptedAI
{ {
mob_toxic_sporebatAI(Creature *c) : ScriptedAI(c) mob_toxic_sporebatAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = (c->GetInstanceData()) ? ((ScriptedInstance*)c->GetInstanceData()) : NULL; pInstance = ((ScriptedInstance*)c->GetInstanceData());
EnterEvadeMode(); EnterEvadeMode();
} }
@@ -889,8 +886,7 @@ struct TRINITY_DLL_DECL mob_shield_generator_channelAI : public ScriptedAI
{ {
mob_shield_generator_channelAI(Creature *c) : ScriptedAI(c) mob_shield_generator_channelAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = (c->GetInstanceData()) ? ((ScriptedInstance*)c->GetInstanceData()) : NULL; pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -76,7 +76,6 @@ struct TRINITY_DLL_DECL mob_inner_demonAI : public ScriptedAI
mob_inner_demonAI(Creature *c) : ScriptedAI(c) mob_inner_demonAI(Creature *c) : ScriptedAI(c)
{ {
victimGUID = 0; victimGUID = 0;
Reset();
} }
uint32 ShadowBolt_Timer; uint32 ShadowBolt_Timer;
@@ -147,14 +146,13 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blindAI : public ScriptedAI
boss_leotheras_the_blindAI(Creature *c) : ScriptedAI(c) boss_leotheras_the_blindAI(Creature *c) : ScriptedAI(c)
{ {
m_creature->GetPosition(x,y,z); m_creature->GetPosition(x,y,z);
pInstance = (c->GetInstanceData()) ? ((ScriptedInstance*)c->GetInstanceData()) : NULL; pInstance = ((ScriptedInstance*)c->GetInstanceData());
Demon = 0; Demon = 0;
for(uint8 i = 0; i < 3; i++)//clear guids for(uint8 i = 0; i < 3; i++)//clear guids
SpellBinderGUID[i] = 0; SpellBinderGUID[i] = 0;
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
uint32 Whirlwind_Timer; uint32 Whirlwind_Timer;
@@ -578,10 +576,7 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blindAI : public ScriptedAI
//Leotheras the Blind Demon Form AI //Leotheras the Blind Demon Form AI
struct TRINITY_DLL_DECL boss_leotheras_the_blind_demonformAI : public ScriptedAI struct TRINITY_DLL_DECL boss_leotheras_the_blind_demonformAI : public ScriptedAI
{ {
boss_leotheras_the_blind_demonformAI(Creature *c) : ScriptedAI(c) boss_leotheras_the_blind_demonformAI(Creature *c) : ScriptedAI(c) {}
{
Reset();
}
uint32 ChaosBlast_Timer; uint32 ChaosBlast_Timer;
bool DealDamage; bool DealDamage;
@@ -652,7 +647,6 @@ struct TRINITY_DLL_DECL mob_greyheart_spellbinderAI : public ScriptedAI
pInstance = ((ScriptedInstance *)c->GetInstanceData());; pInstance = ((ScriptedInstance *)c->GetInstanceData());;
leotherasGUID = 0; leotherasGUID = 0;
AddedBanish = false; AddedBanish = false;
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -76,9 +76,7 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI
{ {
boss_the_lurker_belowAI(Creature *c) : Scripted_NoMovementAI(c), Summons(m_creature) boss_the_lurker_belowAI(Creature *c) : Scripted_NoMovementAI(c), Summons(m_creature)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData()); SpellEntry *TempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(SPELL_SPOUT_ANIM);
Reset();
SpellEntry *TempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(SPELL_SPOUT_ANIM);
if(TempSpell) if(TempSpell)
{ {
TempSpell->Effect[0] = 0;//remove all spell effect, only anim is needed TempSpell->Effect[0] = 0;//remove all spell effect, only anim is needed
@@ -403,7 +401,6 @@ struct TRINITY_DLL_DECL mob_coilfang_ambusherAI : public Scripted_NoMovementAI
{ {
mob_coilfang_ambusherAI(Creature *c) : Scripted_NoMovementAI(c) mob_coilfang_ambusherAI(Creature *c) : Scripted_NoMovementAI(c)
{ {
Reset();
SpellEntry *TempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(SPELL_SHOOT); SpellEntry *TempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(SPELL_SHOOT);
if(TempSpell) if(TempSpell)
TempSpell->Effect[0] = 2;//change spell effect from weapon % dmg to simple phisical dmg TempSpell->Effect[0] = 2;//change spell effect from weapon % dmg to simple phisical dmg
@@ -101,7 +101,6 @@ struct TRINITY_DLL_DECL boss_morogrim_tidewalkerAI : public ScriptedAI
boss_morogrim_tidewalkerAI(Creature *c) : ScriptedAI(c) boss_morogrim_tidewalkerAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -295,7 +294,7 @@ struct TRINITY_DLL_DECL boss_morogrim_tidewalkerAI : public ScriptedAI
struct TRINITY_DLL_DECL mob_water_globuleAI : public ScriptedAI struct TRINITY_DLL_DECL mob_water_globuleAI : public ScriptedAI
{ {
mob_water_globuleAI(Creature *c) : ScriptedAI(c) {Reset();} mob_water_globuleAI(Creature *c) : ScriptedAI(c) {}
uint32 Check_Timer; uint32 Check_Timer;
@@ -47,7 +47,6 @@ struct TRINITY_DLL_DECL boss_thespiaAI : public ScriptedAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -143,7 +142,7 @@ struct TRINITY_DLL_DECL boss_thespiaAI : public ScriptedAI
struct TRINITY_DLL_DECL mob_coilfang_waterelementalAI : public ScriptedAI struct TRINITY_DLL_DECL mob_coilfang_waterelementalAI : public ScriptedAI
{ {
mob_coilfang_waterelementalAI(Creature *c) : ScriptedAI(c) {Reset();} mob_coilfang_waterelementalAI(Creature *c) : ScriptedAI(c) {}
bool HeroicMode; bool HeroicMode;
uint32 WaterBoltVolley_Timer; uint32 WaterBoltVolley_Timer;
@@ -52,7 +52,6 @@ struct TRINITY_DLL_DECL boss_mekgineer_steamriggerAI : public ScriptedAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -202,7 +201,6 @@ struct TRINITY_DLL_DECL mob_steamrigger_mechanicAI : public ScriptedAI
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
ScriptedInstance* pInstance; ScriptedInstance* pInstance;
@@ -45,7 +45,6 @@ struct TRINITY_DLL_DECL mob_naga_distillerAI : public ScriptedAI
mob_naga_distillerAI(Creature *c) : ScriptedAI(c) mob_naga_distillerAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -92,7 +91,6 @@ struct TRINITY_DLL_DECL boss_warlord_kalithreshAI : public ScriptedAI
boss_warlord_kalithreshAI(Creature *c) : ScriptedAI(c) boss_warlord_kalithreshAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;
@@ -31,7 +31,6 @@ struct TRINITY_DLL_DECL boss_hungarfenAI : public ScriptedAI
boss_hungarfenAI(Creature *c) : ScriptedAI(c) boss_hungarfenAI(Creature *c) : ScriptedAI(c)
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
bool HeroicMode; bool HeroicMode;
@@ -95,7 +94,7 @@ CreatureAI* GetAI_boss_hungarfen(Creature *_Creature)
struct TRINITY_DLL_DECL mob_underbog_mushroomAI : public ScriptedAI struct TRINITY_DLL_DECL mob_underbog_mushroomAI : public ScriptedAI
{ {
mob_underbog_mushroomAI(Creature *c) : ScriptedAI(c) { Reset(); } mob_underbog_mushroomAI(Creature *c) : ScriptedAI(c) {}
bool Stop; bool Stop;
uint32 Grow_Timer; uint32 Grow_Timer;
@@ -38,7 +38,6 @@ struct TRINITY_DLL_DECL boss_the_black_stalkerAI : public ScriptedAI
boss_the_black_stalkerAI(Creature *c) : ScriptedAI(c) boss_the_black_stalkerAI(Creature *c) : ScriptedAI(c)
{ {
HeroicMode = m_creature->GetMap()->IsHeroic(); HeroicMode = m_creature->GetMap()->IsHeroic();
Reset();
} }
bool HeroicMode; bool HeroicMode;
@@ -38,7 +38,7 @@ struct TRINITY_DLL_DECL npc_narm_faulkAI : public ScriptedAI
uint32 lifeTimer; uint32 lifeTimer;
bool spellHit; bool spellHit;
npc_narm_faulkAI(Creature *c) : ScriptedAI(c) {Reset();} npc_narm_faulkAI(Creature *c) : ScriptedAI(c) {}
void Reset() void Reset()
{ {
@@ -41,7 +41,7 @@ EndContentData */
struct TRINITY_DLL_DECL mobs_risen_husk_spiritAI : public ScriptedAI struct TRINITY_DLL_DECL mobs_risen_husk_spiritAI : public ScriptedAI
{ {
mobs_risen_husk_spiritAI(Creature *c) : ScriptedAI(c) {Reset();} mobs_risen_husk_spiritAI(Creature *c) : ScriptedAI(c) {}
uint32 ConsumeFlesh_Timer; uint32 ConsumeFlesh_Timer;
uint32 IntangiblePresence_Timer; uint32 IntangiblePresence_Timer;
@@ -108,7 +108,7 @@ bool GossipHello_npc_restless_apparition(Player *player, Creature *_Creature)
struct TRINITY_DLL_DECL npc_deserter_agitatorAI : public ScriptedAI struct TRINITY_DLL_DECL npc_deserter_agitatorAI : public ScriptedAI
{ {
npc_deserter_agitatorAI(Creature *c) : ScriptedAI(c) {Reset();} npc_deserter_agitatorAI(Creature *c) : ScriptedAI(c) {}
void Reset() void Reset()
{ {
@@ -36,7 +36,7 @@ EndContentData */
struct TRINITY_DLL_DECL mobs_ghoul_flayerAI : public ScriptedAI struct TRINITY_DLL_DECL mobs_ghoul_flayerAI : public ScriptedAI
{ {
mobs_ghoul_flayerAI(Creature *c) : ScriptedAI(c) {Reset();} mobs_ghoul_flayerAI(Creature *c) : ScriptedAI(c) {}
void Reset() { } void Reset() { }
@@ -85,7 +85,7 @@ bool GossipSelect_npc_augustus_the_touched(Player *player, Creature *_Creature,
struct TRINITY_DLL_DECL npc_darrowshire_spiritAI : public ScriptedAI struct TRINITY_DLL_DECL npc_darrowshire_spiritAI : public ScriptedAI
{ {
npc_darrowshire_spiritAI(Creature *c) : ScriptedAI(c) {Reset();} npc_darrowshire_spiritAI(Creature *c) : ScriptedAI(c) {}
void Reset() void Reset()
{ {
@@ -38,7 +38,7 @@ struct TRINITY_DLL_DECL npc_henze_faulkAI : public ScriptedAI
uint32 lifeTimer; uint32 lifeTimer;
bool spellHit; bool spellHit;
npc_henze_faulkAI(Creature *c) : ScriptedAI(c) {Reset();} npc_henze_faulkAI(Creature *c) : ScriptedAI(c) {}
void Reset() void Reset()
{ {
@@ -37,7 +37,7 @@ EndContentData */
struct TRINITY_DLL_DECL mobs_mana_tappedAI : public ScriptedAI struct TRINITY_DLL_DECL mobs_mana_tappedAI : public ScriptedAI
{ {
mobs_mana_tappedAI(Creature *c) : ScriptedAI(c) {Reset();} mobs_mana_tappedAI(Creature *c) : ScriptedAI(c) {}
void Reset() { } void Reset() { }
@@ -71,7 +71,7 @@ CreatureAI* GetAI_mobs_mana_tapped(Creature *_Creature)
struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI
{ {
// CreatureAI functions // CreatureAI functions
npc_prospector_anvilwardAI(Creature *c) : npc_escortAI(c) {Reset();} npc_prospector_anvilwardAI(Creature *c) : npc_escortAI(c) {}
// Pure Virtual Functions // Pure Virtual Functions
void WaypointReached(uint32 i) void WaypointReached(uint32 i)
@@ -206,7 +206,7 @@ static uint32 PaladinEntry[]= {CHAMPION_BLOODWRATH, CHAMPION_LIGHTREND, CHAMPION
struct TRINITY_DLL_DECL npc_secondTrialAI : public ScriptedAI struct TRINITY_DLL_DECL npc_secondTrialAI : public ScriptedAI
{ {
npc_secondTrialAI(Creature *c) : ScriptedAI(c) {Reset();} npc_secondTrialAI(Creature *c) : ScriptedAI(c) {}
uint32 timer; uint32 timer;
uint8 questPhase; uint8 questPhase;
@@ -340,7 +340,7 @@ struct TRINITY_DLL_DECL npc_secondTrialAI : public ScriptedAI
struct TRINITY_DLL_DECL master_kelerun_bloodmournAI : public ScriptedAI struct TRINITY_DLL_DECL master_kelerun_bloodmournAI : public ScriptedAI
{ {
master_kelerun_bloodmournAI(Creature *c) : ScriptedAI(c) {Reset();} master_kelerun_bloodmournAI(Creature *c) : ScriptedAI(c) {}
uint8 questPhase; uint8 questPhase;
uint8 paladinPhase; uint8 paladinPhase;
@@ -425,7 +425,7 @@ struct TRINITY_DLL_DECL master_kelerun_bloodmournAI : public ScriptedAI
} }
void SecondTrialKill(); void SecondTrialKill();
void SummonedCreatureDespawn(Creature* c) {Reset();} void SummonedCreatureDespawn(Creature* c) {}
}; };
@@ -560,7 +560,7 @@ bool GOHello_go_second_trial(Player *player, GameObject* _GO)
struct TRINITY_DLL_DECL npc_apprentice_mirvedaAI : public ScriptedAI struct TRINITY_DLL_DECL npc_apprentice_mirvedaAI : public ScriptedAI
{ {
npc_apprentice_mirvedaAI(Creature* c) : ScriptedAI(c), Summons(m_creature) {Reset();} npc_apprentice_mirvedaAI(Creature* c) : ScriptedAI(c), Summons(m_creature) {}
uint32 KillCount; uint32 KillCount;
uint64 PlayerGUID; uint64 PlayerGUID;
@@ -663,7 +663,7 @@ static Location SpawnLocations[]=
struct TRINITY_DLL_DECL npc_infused_crystalAI : public Scripted_NoMovementAI struct TRINITY_DLL_DECL npc_infused_crystalAI : public Scripted_NoMovementAI
{ {
npc_infused_crystalAI(Creature* c) : Scripted_NoMovementAI(c) {Reset();} npc_infused_crystalAI(Creature* c) : Scripted_NoMovementAI(c) {}
uint32 EndTimer; uint32 EndTimer;
uint32 WaveTimer; uint32 WaveTimer;
@@ -149,7 +149,7 @@ bool GOHello_gilded_brazier(Player *player, GameObject* _GO)
struct TRINITY_DLL_DECL npc_ranger_lilathaAI : public npc_escortAI struct TRINITY_DLL_DECL npc_ranger_lilathaAI : public npc_escortAI
{ {
npc_ranger_lilathaAI(Creature *c) : npc_escortAI(c) {Reset();} npc_ranger_lilathaAI(Creature *c) : npc_escortAI(c) {}
std::list<GameObject*> CageList; std::list<GameObject*> CageList;
@@ -54,7 +54,6 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI
boss_gruulAI(Creature *c) : ScriptedAI(c) boss_gruulAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset();
} }
ScriptedInstance *pInstance; ScriptedInstance *pInstance;

Some files were not shown because too many files have changed in this diff Show More