diff options
Diffstat (limited to 'src')
9 files changed, 131 insertions, 237 deletions
diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp index 0a0fb17cce4..c675c8d7c27 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2008 - 2009 Trinity <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 @@ -14,14 +14,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* ScriptData -SDName: Boss_Anubrekhan -SD%Complete: 100 -SDComment: -SDCategory: Naxxramas -EndScriptData */ - #include "precompiled.h" +#include "def_naxxramas.h" #define SAY_GREET RAND(-1533000,-1533004,-1533005,-1533006,-1533007) #define SAY_AGGRO RAND(-1533001,-1533002,-1533003) @@ -31,46 +25,29 @@ EndScriptData */ #define SPELL_LOCUSTSWARM HEROIC(28785,54021) #define SPELL_SELF_SPAWN_5 29105 //This spawns 5 corpse scarabs ontop of us (most likely the player casts this on death) -#define SPELL_SELF_SPAWN_10 28864 //This is used by the crypt guards when they die #define EVENT_IMPALE 1 #define EVENT_LOCUST 2 #define MOB_CRYPT_GUARD 16573 -struct TRINITY_DLL_DECL boss_anubrekhanAI : public ScriptedAI +struct TRINITY_DLL_DECL boss_anubrekhanAI : public BossAI { - boss_anubrekhanAI(Creature *c) : ScriptedAI(c), summons(me) {} + boss_anubrekhanAI(Creature *c) : BossAI(c, BOSS_ANUBREKHAN) {} bool HasTaunted; - EventMap events; - SummonList summons; void Prepare() { HasTaunted = false; - DoSpawnCreature(MOB_CRYPT_GUARD, 0, 10, 0, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000); + DoSpawnCreature(MOB_CRYPT_GUARD, 0, 10, 0, me->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000); if(HeroicMode) - DoSpawnCreature(MOB_CRYPT_GUARD, 0, -10, 0, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000); + DoSpawnCreature(MOB_CRYPT_GUARD, 0, -10, 0, me->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000); } void InitializeAI() { Prepare(); } void JustReachedHome() { Prepare(); } - void Reset() - { - events.Reset(); - summons.DespawnAll(); - } - - void JustSummoned(Creature *summon) - { - summons.Summon(summon); - DoZoneInCombat(summon); - } - - void SummonedCreatureDespawn(Creature *summon) {summons.Despawn(summon);} - void KilledUnit(Unit* victim) { //Force the player to spawn corpse scarabs via spell @@ -82,9 +59,8 @@ struct TRINITY_DLL_DECL boss_anubrekhanAI : public ScriptedAI void EnterCombat(Unit *who) { + _EnterCombat(); DoScriptText(SAY_AGGRO, me); - DoZoneInCombat(); - events.ScheduleEvent(EVENT_IMPALE, 15000, 1); events.ScheduleEvent(EVENT_LOCUST, 80000 + rand()%40000, 1); } diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp index f18cd81064a..45f54611ae3 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2008 - 2009 Trinity <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 @@ -14,20 +14,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* ScriptData -SDName: Boss_Grobbulus -SD%Complete: 0 -SDComment: Place holder -SDCategory: Naxxramas -EndScriptData */ - -/*Poison Cloud 26590 -Slime Spray 28157 -Fallout slime 28218 -Mutating Injection 28169 -Enrages 26527*/ - #include "precompiled.h" +#include "def_naxxramas.h" #define SPELL_BOMBARD_SLIME 28280 @@ -43,20 +31,13 @@ Enrages 26527*/ #define MOB_FALLOUT_SLIME 16290 -struct TRINITY_DLL_DECL boss_grobbulusAI : public ScriptedAI +struct TRINITY_DLL_DECL boss_grobbulusAI : public BossAI { - boss_grobbulusAI(Creature *c) : ScriptedAI(c) {} - - EventMap events; - - void Reset() - { - events.Reset(); - } + boss_grobbulusAI(Creature *c) : BossAI(c, BOSS_GROBBULUS) {} void EnterCombat(Unit *who) { - DoZoneInCombat(); + _EnterCombat(); events.ScheduleEvent(EVENT_CLOUD, 15000); events.ScheduleEvent(EVENT_INJECT, 20000); events.ScheduleEvent(EVENT_SPRAY, 15000+rand()%15000); //not sure diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp index 9207b2c09a2..0302a93c488 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2008 - 2009 Trinity <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 @@ -14,13 +14,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* ScriptData -SDName: Boss_Heigan -SD%Complete: 0 -SDComment: Place Holder -SDCategory: Naxxramas -EndScriptData */ - #include "precompiled.h" #include "def_naxxramas.h" @@ -50,25 +43,14 @@ enum Phases //Spell by eye stalks #define SPELL_MIND_FLAY 26143 -struct TRINITY_DLL_DECL boss_heiganAI : public ScriptedAI +struct TRINITY_DLL_DECL boss_heiganAI : public BossAI { - boss_heiganAI(Creature *c) : ScriptedAI(c) - { - instance = ((ScriptedInstance*)c->GetInstanceData()); - } + boss_heiganAI(Creature *c) : BossAI(c, BOSS_HEIGAN) {} - EventMap events; - ScriptedInstance *instance; uint32 eruptSection; bool eruptDirection; Phases phase; - void Reset() - { - events.Reset(); - instance->SetBossState(BOSS_HEIGAN, NOT_STARTED); - } - void KilledUnit(Unit* Victim) { if(!(rand()%5)) @@ -77,16 +59,15 @@ struct TRINITY_DLL_DECL boss_heiganAI : public ScriptedAI void JustDied(Unit* Killer) { + _JustDied(); DoScriptText(SAY_DEATH, me); - instance->SetBossState(BOSS_HEIGAN, DONE); } void EnterCombat(Unit *who) { + _EnterCombat(); DoScriptText(SAY_AGGRO, me); - DoZoneInCombat(); EnterPhase(PHASE_FIGHT); - instance->SetBossState(BOSS_HEIGAN, IN_PROGRESS); } void EnterPhase(Phases newPhase) diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp index 22796094557..1f7b1a55daa 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2008 - 2009 Trinity <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 @@ -14,13 +14,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* ScriptData -SDName: Boss_Noth -SD%Complete: 40 -SDComment: Missing Balcony stage -SDCategory: Naxxramas -EndScriptData */ - #include "precompiled.h" #include "def_naxxramas.h" @@ -68,33 +61,25 @@ enum Events EVENT_GROUND, }; -struct TRINITY_DLL_DECL boss_nothAI : public ScriptedAI +struct TRINITY_DLL_DECL boss_nothAI : public BossAI { - boss_nothAI(Creature *c) : ScriptedAI(c), summons(me) - { - instance = ((ScriptedInstance*)c->GetInstanceData()); - } + boss_nothAI(Creature *c) : BossAI(c, BOSS_NOTH) {} - EventMap events; - SummonList summons; - ScriptedInstance *instance; uint32 waveCount, balconyCount; void Reset() { - events.Reset(); - summons.DespawnAll(); + _Reset(); me->setActive(false); - instance->SetBossState(BOSS_NOTH, NOT_STARTED); } void EnterCombat(Unit *who) { + _EnterCombat(); DoScriptText(SAY_AGGRO, me); me->setActive(true); balconyCount = 0; EnterPhaseGround(); - instance->SetBossState(BOSS_NOTH, IN_PROGRESS); } void EnterPhaseGround() @@ -104,7 +89,7 @@ struct TRINITY_DLL_DECL boss_nothAI : public ScriptedAI EnterEvadeMode(); else { - events.ScheduleEvent(EVENT_BALCONY, 11000); + events.ScheduleEvent(EVENT_BALCONY, 110000); events.ScheduleEvent(EVENT_CURSE, 20000+rand()%10000); events.ScheduleEvent(EVENT_WARRIOR, 30000); if(HeroicMode) @@ -125,13 +110,10 @@ struct TRINITY_DLL_DECL boss_nothAI : public ScriptedAI summon->AI()->DoZoneInCombat(); } - void SummonedCreatureDespawn(Creature *summon) { summons.Despawn(summon); } - void JustDied(Unit* Killer) { - summons.DespawnAll(); + _JustDied(); DoScriptText(SAY_DEATH, me); - instance->SetBossState(BOSS_NOTH, DONE); } void SummonUndead(uint32 entry, uint32 num) diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp index 99f8741c897..a05685264d6 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2008 - 2009 Trinity <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 @@ -14,14 +14,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* ScriptData -SDName: Boss_Patchwerk -SD%Complete: 80 -SDComment: Some issues with hateful strike inturrupting the melee swing timer. -SDCategory: Naxxramas -EndScriptData */ - #include "precompiled.h" +#include "def_naxxramas.h" #define SAY_AGGRO RAND(-1533017,-1533018) #define SAY_SLAY -1533019 @@ -39,16 +33,15 @@ EndScriptData */ #define EVENT_HATEFUL 2 #define EVENT_SLIME 3 -struct TRINITY_DLL_DECL boss_patchwerkAI : public ScriptedAI +struct TRINITY_DLL_DECL boss_patchwerkAI : public BossAI { - boss_patchwerkAI(Creature *c) : ScriptedAI(c) {} + boss_patchwerkAI(Creature *c) : BossAI(c, BOSS_PATCHWERK) {} bool Enraged; - EventMap events; void Reset() { - events.Reset(); + _Reset(); Enraged = false; } @@ -60,13 +53,14 @@ struct TRINITY_DLL_DECL boss_patchwerkAI : public ScriptedAI void JustDied(Unit* Killer) { + _JustDied(); DoScriptText(SAY_DEATH, me); } void EnterCombat(Unit *who) { + _EnterCombat(); DoScriptText(SAY_AGGRO, me); - DoZoneInCombat(); events.ScheduleEvent(EVENT_HATEFUL, 1200); events.ScheduleEvent(EVENT_BERSERK, 360000); } diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp index 64147eaea8a..120220172cd 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp @@ -1,4 +1,6 @@ -/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* + * Copyright (C) 2008 - 2009 Trinity <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 @@ -14,14 +16,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* ScriptData -SDName: Boss_Razuvious -SD%Complete: 50 -SDComment: Missing adds and event is impossible without Mind Control -SDCategory: Naxxramas -EndScriptData */ - #include "precompiled.h" +#include "def_naxxramas.h" //Razuvious - NO TEXT sound only //8852 aggro01 - Hah hah, I'm just getting warmed up! @@ -37,121 +33,86 @@ EndScriptData */ //8860 death - An honorable... death... //8947 - Aggro Mixed? - ? -#define SOUND_AGGRO1 8852 -#define SOUND_AGGRO2 8853 -#define SOUND_AGGRO3 8854 -#define SOUND_SLAY1 8861 -#define SOUND_SLAY2 8863 -#define SOUND_COMMND1 8855 -#define SOUND_COMMND2 8856 -#define SOUND_COMMND3 8858 -#define SOUND_COMMND4 8859 -#define SOUND_COMMND5 8861 +#define SOUND_AGGRO RAND(8852,8853,8854) +#define SOUND_SLAY RAND(8861,8863) +#define SOUND_COMMND RAND(8855,8856,8858,8859,8861) #define SOUND_DEATH 8860 #define SOUND_AGGROMIX 8847 -#define SPELL_UNBALANCINGSTRIKE 26613 -#define SPELL_DISRUPTINGSHOUT 29107 +#define SPELL_UNBALANCING_STRIKE 26613 +#define SPELL_DISRUPTING_SHOUT HEROIC(29107,55543) +#define SPELL_JAGGED_KNIFE 55550 +#define SPELL_HOPELESS 29105 -struct TRINITY_DLL_DECL boss_razuviousAI : public ScriptedAI +enum Events { - boss_razuviousAI(Creature *c) : ScriptedAI(c) {} - - uint32 UnbalancingStrike_Timer; - uint32 DisruptingShout_Timer; - uint32 CommandSound_Timer; + EVENT_STRIKE, + EVENT_SHOUT, + EVENT_KNIFE, + EVENT_COMMAND, +}; - void Reset() - { - UnbalancingStrike_Timer = 30000; //30 seconds - DisruptingShout_Timer = 25000; //25 seconds - CommandSound_Timer = 40000; //40 seconds - } +struct TRINITY_DLL_DECL boss_razuviousAI : public BossAI +{ + boss_razuviousAI(Creature *c) : BossAI(c, BOSS_RAZUVIOUS) {} - void KilledUnit(Unit* Victim) + void KilledUnit(Unit* victim) { - if (rand()%3) - return; - - switch (rand()%2) - { - case 0: - DoPlaySoundToSet(m_creature, SOUND_SLAY1); - break; - case 1: - DoPlaySoundToSet(m_creature, SOUND_SLAY2); - break; - } + if(!(rand()%3)) + DoPlaySoundToSet(me, SOUND_SLAY); } - void JustDied(Unit* Killer) + void JustDied(Unit* killer) { - DoPlaySoundToSet(m_creature, SOUND_DEATH); + _JustDied(); + DoPlaySoundToSet(me, SOUND_DEATH); + me->CastSpell(me, SPELL_HOPELESS, true); } void EnterCombat(Unit *who) { - switch (rand()%3) - { - case 0: - DoPlaySoundToSet(m_creature, SOUND_AGGRO1); - break; - case 1: - DoPlaySoundToSet(m_creature, SOUND_AGGRO2); - break; - case 2: - DoPlaySoundToSet(m_creature, SOUND_AGGRO3); - break; - } + _EnterCombat(); + DoPlaySoundToSet(m_creature, SOUND_AGGRO); + events.ScheduleEvent(EVENT_STRIKE, 30000); + events.ScheduleEvent(EVENT_SHOUT, 25000); + events.ScheduleEvent(EVENT_COMMAND, 40000); } void UpdateAI(const uint32 diff) { - if (!UpdateVictim()) + if(!UpdateVictim()) return; - //UnbalancingStrike_Timer - if (UnbalancingStrike_Timer < diff) - { - DoCast(m_creature->getVictim(),SPELL_UNBALANCINGSTRIKE); - UnbalancingStrike_Timer = 30000; - }else UnbalancingStrike_Timer -= diff; - - //DisruptingShout_Timer - if (DisruptingShout_Timer < diff) - { - DoCast(m_creature->getVictim(), SPELL_DISRUPTINGSHOUT); - DisruptingShout_Timer = 25000; - }else DisruptingShout_Timer -= diff; + events.Update(diff); - //CommandSound_Timer - if (CommandSound_Timer < diff) + while(uint32 eventId = events.ExecuteEvent()) { - switch (rand()%5) + switch(eventId) { - case 0: - DoPlaySoundToSet(m_creature, SOUND_COMMND1); - break; - case 1: - DoPlaySoundToSet(m_creature, SOUND_COMMND2); - break; - case 2: - DoPlaySoundToSet(m_creature, SOUND_COMMND3); - break; - case 3: - DoPlaySoundToSet(m_creature, SOUND_COMMND4); - break; - case 4: - DoPlaySoundToSet(m_creature, SOUND_COMMND5); - break; + case EVENT_STRIKE: + DoCast(me->getVictim(), SPELL_UNBALANCING_STRIKE); + events.ScheduleEvent(EVENT_STRIKE, 30000); + return; + case EVENT_SHOUT: + DoCastAOE(SPELL_DISRUPTING_SHOUT); + events.ScheduleEvent(EVENT_SHOUT, 25000); + return; + case EVENT_KNIFE: + if(Unit *target = SelectTarget(SELECT_TARGET_RANDOM, 0, 45)) + DoCast(target, SPELL_JAGGED_KNIFE); + events.ScheduleEvent(EVENT_KNIFE, 25000); + return; + case EVENT_COMMAND: + DoPlaySoundToSet(me, SOUND_COMMND); + events.ScheduleEvent(EVENT_COMMAND, 40000); + return; } - - CommandSound_Timer = 40000; - }else CommandSound_Timer -= diff; + } DoMeleeAttackIfReady(); } }; + CreatureAI* GetAI_boss_razuvious(Creature *_Creature) { return new boss_razuviousAI (_Creature); @@ -165,4 +126,3 @@ void AddSC_boss_razuvious() newscript->GetAI = &GetAI_boss_razuvious; newscript->RegisterSelf(); } - diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp index 682f6cee3a9..71259df7824 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp @@ -1,4 +1,6 @@ -/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* + * Copyright (C) 2008 - 2009 Trinity <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 @@ -14,13 +16,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* ScriptData -SDName: Boss_Sapphiron -SD%Complete: 0 -SDComment: Place Holder -SDCategory: Naxxramas -EndScriptData */ - #include "precompiled.h" #include "def_naxxramas.h" @@ -71,14 +66,12 @@ enum Events typedef std::map<uint64, uint64> IceBlockMap; -struct TRINITY_DLL_DECL boss_sapphironAI : public ScriptedAI +struct TRINITY_DLL_DECL boss_sapphironAI : public BossAI { - boss_sapphironAI(Creature* c) : ScriptedAI(c) + boss_sapphironAI(Creature* c) : BossAI(c, BOSS_SAPPHIRON) , phase(PHASE_NULL) - { - } + {} - EventMap events; Phases phase; uint32 iceboltCount; IceBlockMap iceblocks; @@ -97,16 +90,18 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public ScriptedAI void Reset() { + _Reset(); + if(phase = PHASE_FLIGHT) ClearIceBlock(); - events.Reset(); phase = PHASE_NULL; } void EnterCombat(Unit *who) { - DoZoneInCombat(); + _EnterCombat(); + me->CastSpell(me, SPELL_FROST_AURA, true); events.ScheduleEvent(EVENT_BERSERK, 15*60000); @@ -128,6 +123,7 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public ScriptedAI void JustDied(Unit*) { + _JustDied(); me->CastSpell(me, SPELL_DIES, true); } diff --git a/src/bindings/scripts/scripts/zone/naxxramas/def_naxxramas.h b/src/bindings/scripts/scripts/zone/naxxramas/def_naxxramas.h index 12c1dc6edfa..383200d4600 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/def_naxxramas.h +++ b/src/bindings/scripts/scripts/zone/naxxramas/def_naxxramas.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Trinity <http://www.trinitycore.org/> + * Copyright (C) 2008 - 2009 Trinity <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 @@ -21,14 +21,28 @@ enum Encounter { + BOSS_ANUBREKHAN, + BOSS_FAERLINA, + BOSS_MAEXXNA, BOSS_NOTH, BOSS_HEIGAN, BOSS_LOATHEB, + BOSS_PATCHWERK, + BOSS_GROBBULUS, + BOSS_GLUTH, + BOSS_THADDIUS, + BOSS_RAZUVIOUS, + BOSS_GOTHIK, + BOSS_HORSEMEN, + BOSS_SAPPHIRON, + BOSS_KELTHUZAD, + MAX_BOSS_NUMBER }; enum Data { DATA_HEIGAN_ERUPT, + DATA_GOTHIK_GATE, DATA_SAPPHIRON_BIRTH, }; diff --git a/src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp b/src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp index 23ffb7b8c4d..4dc189723f3 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +/* Copyright (C) 2008 - 2009 Trinity <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 @@ -14,18 +14,16 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* ScriptData -SDName: Instance_Naxxramas -SD%Complete: 0 -SDComment: Place holder -SDCategory: Naxxramas -EndScriptData */ - #include "precompiled.h" #include "def_naxxramas.h" const DoorData doorData[] = { + {181126, BOSS_ANUBREKHAN,DOOR_TYPE_ROOM}, + {181195, BOSS_ANUBREKHAN,DOOR_TYPE_PASSAGE}, + {194022, BOSS_FAERLINA, DOOR_TYPE_PASSAGE}, + {181209, BOSS_FAERLINA, DOOR_TYPE_PASSAGE}, + {181209, BOSS_MAEXXNA, DOOR_TYPE_ROOM}, {181200, BOSS_NOTH, DOOR_TYPE_ROOM}, {181201, BOSS_NOTH, DOOR_TYPE_PASSAGE}, {181202, BOSS_NOTH, DOOR_TYPE_PASSAGE}, @@ -33,9 +31,21 @@ const DoorData doorData[] = {181203, BOSS_HEIGAN, DOOR_TYPE_PASSAGE}, {181241, BOSS_HEIGAN, DOOR_TYPE_PASSAGE}, {181241, BOSS_LOATHEB, DOOR_TYPE_ROOM}, + {181123, BOSS_PATCHWERK, DOOR_TYPE_PASSAGE}, + {181123, BOSS_GROBBULUS, DOOR_TYPE_ROOM}, + {181120, BOSS_GLUTH, DOOR_TYPE_PASSAGE}, + {181121, BOSS_GLUTH, DOOR_TYPE_PASSAGE}, + {181121, BOSS_THADDIUS, DOOR_TYPE_ROOM}, + {181124, BOSS_RAZUVIOUS, DOOR_TYPE_PASSAGE}, + {181124, BOSS_GOTHIK, DOOR_TYPE_ROOM}, + {181125, BOSS_GOTHIK, DOOR_TYPE_PASSAGE}, + {181119, BOSS_GOTHIK, DOOR_TYPE_PASSAGE}, + {181119, BOSS_HORSEMEN, DOOR_TYPE_ROOM}, {0, 0, DOOR_TYPE_ROOM}, // EOF }; +#define GO_GOTHIK_GATE 181170 + #define SPELL_ERUPTION 29371 const float HeiganPos[2] = {2796, -3707}; @@ -72,7 +82,7 @@ struct TRINITY_DLL_DECL instance_naxxramas : public ScriptedInstance instance_naxxramas(Map *map) : ScriptedInstance(map) , Sapphiron(NULL) { - SetBossNumber(15); + SetBossNumber(MAX_BOSS_NUMBER); LoadDoorData(doorData); } |