Naxxramas: Gothik the Harvester: Cleanup + timer correction + add heroic info for waves + open middle door in case of a wipe
--HG-- branch : trunk
This commit is contained in:
@@ -17,40 +17,46 @@
|
|||||||
#include "precompiled.h"
|
#include "precompiled.h"
|
||||||
#include "def_naxxramas.h"
|
#include "def_naxxramas.h"
|
||||||
|
|
||||||
#define SAY_SPEECH -1533040
|
enum Yells
|
||||||
#define SAY_KILL -1533041
|
{
|
||||||
#define SAY_DEATH -1533042
|
SAY_SPEECH = -1533040,
|
||||||
#define SAY_TELEPORT -1533043
|
SAY_KILL = -1533041,
|
||||||
|
SAY_DEATH = -1533042,
|
||||||
|
SAY_TELEPORT = -1533043
|
||||||
|
};
|
||||||
//Gothik
|
//Gothik
|
||||||
#define SPELL_HARVEST_SOUL 28679
|
enum Spells
|
||||||
#define SPELL_SHADOW_BOLT HEROIC(29317,56405)
|
{
|
||||||
|
SPELL_HARVEST_SOUL = 28679,
|
||||||
#define SPELL_INFORM_LIVE_TRAINEE 27892
|
SPELL_SHADOW_BOLT = 29317,
|
||||||
#define SPELL_INFORM_LIVE_KNIGHT 27928
|
H_SPELL_SHADOW_BOLT = 56405,
|
||||||
#define SPELL_INFORM_LIVE_RIDER 27935
|
SPELL_INFORM_LIVE_TRAINEE = 27892,
|
||||||
#define SPELL_INFORM_DEAD_TRAINEE 27915
|
SPELL_INFORM_LIVE_KNIGHT = 27928,
|
||||||
#define SPELL_INFORM_DEAD_KNIGHT 27931
|
SPELL_INFORM_LIVE_RIDER = 27935,
|
||||||
#define SPELL_INFORM_DEAD_RIDER 27937
|
SPELL_INFORM_DEAD_TRAINEE = 27915,
|
||||||
|
SPELL_INFORM_DEAD_KNIGHT = 27931,
|
||||||
#define MOB_LIVE_TRAINEE 16124
|
SPELL_INFORM_DEAD_RIDER = 27937
|
||||||
#define MOB_LIVE_KNIGHT 16125
|
};
|
||||||
#define MOB_LIVE_RIDER 16126
|
enum Creatures
|
||||||
#define MOB_DEAD_TRAINEE 16127
|
{
|
||||||
#define MOB_DEAD_KNIGHT 16148
|
MOB_LIVE_TRAINEE = 16124,
|
||||||
#define MOB_DEAD_RIDER 16150
|
MOB_LIVE_KNIGHT = 16125,
|
||||||
#define MOB_DEAD_HORSE 16149
|
MOB_LIVE_RIDER = 16126,
|
||||||
|
MOB_DEAD_TRAINEE = 16127,
|
||||||
const struct Waves { uint32 entry, number, time; }
|
MOB_DEAD_KNIGHT = 16148,
|
||||||
waves[] =
|
MOB_DEAD_RIDER = 16150,
|
||||||
|
MOB_DEAD_HORSE = 16149
|
||||||
|
};
|
||||||
|
struct Waves { uint32 entry, number, time; };
|
||||||
|
const Waves waves[] =
|
||||||
{
|
{
|
||||||
{MOB_LIVE_TRAINEE, 2, 20000},
|
{MOB_LIVE_TRAINEE, 2, 20000},
|
||||||
{MOB_LIVE_TRAINEE, 2, 20000},
|
{MOB_LIVE_TRAINEE, 2, 20000},
|
||||||
{MOB_LIVE_TRAINEE, 2, 10000},
|
{MOB_LIVE_TRAINEE, 2, 10000},
|
||||||
{MOB_LIVE_KNIGHT, 1, 10000},
|
{MOB_LIVE_KNIGHT, 1, 10000},
|
||||||
{MOB_LIVE_TRAINEE, 2, 15000},
|
{MOB_LIVE_TRAINEE, 2, 15000},
|
||||||
{MOB_LIVE_KNIGHT, 1, 10000},
|
{MOB_LIVE_KNIGHT, 1, 5000},
|
||||||
{MOB_LIVE_TRAINEE, 2, 15000},
|
{MOB_LIVE_TRAINEE, 2, 20000},
|
||||||
{MOB_LIVE_TRAINEE, 2, 0},
|
{MOB_LIVE_TRAINEE, 2, 0},
|
||||||
{MOB_LIVE_KNIGHT, 1, 10000},
|
{MOB_LIVE_KNIGHT, 1, 10000},
|
||||||
{MOB_LIVE_RIDER, 1, 10000},
|
{MOB_LIVE_RIDER, 1, 10000},
|
||||||
@@ -69,6 +75,34 @@ waves[] =
|
|||||||
{MOB_LIVE_TRAINEE, 2, 29000},
|
{MOB_LIVE_TRAINEE, 2, 29000},
|
||||||
{0, 0, 0},
|
{0, 0, 0},
|
||||||
};
|
};
|
||||||
|
const Waves wavesHeroic[] =
|
||||||
|
{
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 20000},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 20000},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 10000},
|
||||||
|
{MOB_LIVE_KNIGHT, 2, 10000},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 15000},
|
||||||
|
{MOB_LIVE_KNIGHT, 2, 5000},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 20000},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 0},
|
||||||
|
{MOB_LIVE_KNIGHT, 2, 10000},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 10000},
|
||||||
|
{MOB_LIVE_RIDER, 1, 5000},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 15000},
|
||||||
|
{MOB_LIVE_RIDER, 1, 10000},
|
||||||
|
{MOB_LIVE_KNIGHT, 2, 10000},
|
||||||
|
{MOB_LIVE_RIDER, 1, 10000},
|
||||||
|
{MOB_LIVE_RIDER, 1, 0},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 5000},
|
||||||
|
{MOB_LIVE_KNIGHT, 1, 0},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 5000},
|
||||||
|
{MOB_LIVE_RIDER, 1, 0},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 20000},
|
||||||
|
{MOB_LIVE_KNIGHT, 2, 0},
|
||||||
|
{MOB_LIVE_RIDER, 1, 0},
|
||||||
|
{MOB_LIVE_TRAINEE, 3, 29000},
|
||||||
|
{0, 0, 0},
|
||||||
|
};
|
||||||
|
|
||||||
#define POS_Y_GATE -3360.78f
|
#define POS_Y_GATE -3360.78f
|
||||||
|
|
||||||
@@ -78,9 +112,11 @@ enum Events
|
|||||||
EVENT_HARVEST,
|
EVENT_HARVEST,
|
||||||
EVENT_BOLT,
|
EVENT_BOLT,
|
||||||
};
|
};
|
||||||
|
enum Pos
|
||||||
#define POS_LIVE 3
|
{
|
||||||
#define POS_DEAD 5
|
POS_LIVE = 3,
|
||||||
|
POS_DEAD = 5
|
||||||
|
};
|
||||||
|
|
||||||
const Position PosSummonLive[POS_LIVE] =
|
const Position PosSummonLive[POS_LIVE] =
|
||||||
{
|
{
|
||||||
@@ -115,6 +151,8 @@ struct TRINITY_DLL_DECL boss_gothikAI : public BossAI
|
|||||||
deadTrigger.clear();
|
deadTrigger.clear();
|
||||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
||||||
me->SetReactState(REACT_PASSIVE);
|
me->SetReactState(REACT_PASSIVE);
|
||||||
|
if (instance)
|
||||||
|
instance->SetData(DATA_GOTHIK_GATE, GO_STATE_ACTIVE);
|
||||||
_Reset();
|
_Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,7 +179,7 @@ struct TRINITY_DLL_DECL boss_gothikAI : public BossAI
|
|||||||
DoTeleportTo(PosPlatform);
|
DoTeleportTo(PosPlatform);
|
||||||
DoScriptText(SAY_SPEECH, me);
|
DoScriptText(SAY_SPEECH, me);
|
||||||
if (instance)
|
if (instance)
|
||||||
instance->SetData(DATA_GOTHIK_GATE, 1);
|
instance->SetData(DATA_GOTHIK_GATE, GO_STATE_READY);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustSummoned(Creature *summon)
|
void JustSummoned(Creature *summon)
|
||||||
@@ -243,7 +281,7 @@ struct TRINITY_DLL_DECL boss_gothikAI : public BossAI
|
|||||||
me->SetReactState(REACT_AGGRESSIVE);
|
me->SetReactState(REACT_AGGRESSIVE);
|
||||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
||||||
if (instance)
|
if (instance)
|
||||||
instance->SetData(DATA_GOTHIK_GATE, 0);
|
instance->SetData(DATA_GOTHIK_GATE, GO_STATE_ACTIVE);
|
||||||
summons.DoAction(0, 0);
|
summons.DoAction(0, 0);
|
||||||
summons.DoZoneInCombat();
|
summons.DoZoneInCombat();
|
||||||
events.ScheduleEvent(EVENT_BOLT, 1000);
|
events.ScheduleEvent(EVENT_BOLT, 1000);
|
||||||
@@ -251,7 +289,7 @@ struct TRINITY_DLL_DECL boss_gothikAI : public BossAI
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EVENT_BOLT:
|
case EVENT_BOLT:
|
||||||
DoCast(me->getVictim(), SPELL_SHADOW_BOLT);
|
DoCast(me->getVictim(), HEROIC(SPELL_SHADOW_BOLT,H_SPELL_SHADOW_BOLT));
|
||||||
events.ScheduleEvent(EVENT_BOLT, 1000);
|
events.ScheduleEvent(EVENT_BOLT, 1000);
|
||||||
return;
|
return;
|
||||||
case EVENT_HARVEST:
|
case EVENT_HARVEST:
|
||||||
|
|||||||
Reference in New Issue
Block a user