mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 15:40:45 +01:00
Scripts/Zul'farrak: Added dungeon encounter ids
This commit is contained in:
@@ -21,7 +21,6 @@ Category: Tanaris, ZulFarrak
|
||||
*/
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "zulfarrak.h"
|
||||
|
||||
@@ -55,7 +54,7 @@ public:
|
||||
|
||||
struct boss_zum_rahAI : public BossAI
|
||||
{
|
||||
boss_zum_rahAI(Creature* creature) : BossAI(creature, DATA_ZUM_RAH)
|
||||
boss_zum_rahAI(Creature* creature) : BossAI(creature, BOSS_WITCH_DOCTOR_ZUM_RAH)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
@@ -69,22 +68,19 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
_Reset();
|
||||
me->SetFaction(FACTION_FRIENDLY); // areatrigger sets faction to enemy
|
||||
Initialize();
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
_JustEngagedWith(who);
|
||||
Talk(SAY_SANCT_INVADE);
|
||||
events.ScheduleEvent(EVENT_SHADOW_BOLT, 1s);
|
||||
events.ScheduleEvent(EVENT_SHADOWBOLT_VOLLEY, 10s);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
instance->SetData(DATA_ZUM_RAH, DONE);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
|
||||
@@ -32,6 +32,18 @@ enum Misc
|
||||
PATH_ADDS = 652424
|
||||
};
|
||||
|
||||
static constexpr DungeonEncounterData Encounters[] =
|
||||
{
|
||||
{ BOSS_HYDROMANCER_VELRATHA, { { 593 } } },
|
||||
{ BOSS_GAHZ_RILLA, { { 594 } } },
|
||||
{ BOSS_ANTU_SUL, { { 595 } } },
|
||||
{ BOSS_THEKA_THE_MARTYR, { { 596 } } },
|
||||
{ BOSS_WITCH_DOCTOR_ZUM_RAH, { { 597 } } },
|
||||
{ BOSS_NEKRUM_GUTCHEWER, { { 598 } } },
|
||||
{ BOSS_SHADOWPRIEST_SEZZ_ZIZ, { { 599 } } },
|
||||
{ BOSS_CHIEF_UKORZ_SANDSCALP, { { 600 } } },
|
||||
};
|
||||
|
||||
int const pyramidSpawnTotal = 54;
|
||||
/* list of wave spawns: 0 = wave ID, 1 = creature id, 2 = x, 3 = y
|
||||
no z coordinat b/c they're all the same */
|
||||
@@ -113,6 +125,8 @@ public:
|
||||
instance_zulfarrak_InstanceMapScript(InstanceMap* map) : InstanceScript(map)
|
||||
{
|
||||
SetHeaders(DataHeader);
|
||||
SetBossNumber(MAX_ENCOUNTER);
|
||||
LoadDungeonEncounterData(Encounters);
|
||||
GahzRillaEncounter = NOT_STARTED;
|
||||
PyramidPhase = 0;
|
||||
major_wave_Timer = 0;
|
||||
@@ -164,13 +178,28 @@ public:
|
||||
break;
|
||||
case NPC_GAHZRILLA:
|
||||
if (GahzRillaEncounter >= IN_PROGRESS)
|
||||
creature->DisappearAndDie();
|
||||
creature->DespawnOrUnsummon();
|
||||
else
|
||||
GahzRillaEncounter = IN_PROGRESS;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void OnUnitDeath(Unit* unit) override
|
||||
{
|
||||
switch (unit->GetEntry())
|
||||
{
|
||||
case ENTRY_VELRTHA: SetBossState(BOSS_HYDROMANCER_VELRATHA, DONE); break;
|
||||
case ENTRY_GAHZRILLA: SetBossState(BOSS_GAHZ_RILLA, DONE); break;
|
||||
case ENTRY_ANTUSUL: SetBossState(BOSS_ANTU_SUL, DONE); break;
|
||||
case ENTRY_THEKA: SetBossState(BOSS_THEKA_THE_MARTYR, DONE); break;
|
||||
case ENTRY_NEKRUM: SetBossState(BOSS_NEKRUM_GUTCHEWER, DONE); break;
|
||||
case ENTRY_SEZZZIZ: SetBossState(BOSS_SHADOWPRIEST_SEZZ_ZIZ, DONE); break;
|
||||
case ENTRY_SANDSCALP: SetBossState(BOSS_CHIEF_UKORZ_SANDSCALP, DONE); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* go) override
|
||||
{
|
||||
switch (go->GetEntry())
|
||||
|
||||
@@ -23,14 +23,35 @@
|
||||
#define ZFScriptName "instance_zulfarrak"
|
||||
#define DataHeader "ZF"
|
||||
|
||||
enum ZFBossIds
|
||||
{
|
||||
BOSS_HYDROMANCER_VELRATHA = 0,
|
||||
BOSS_GAHZ_RILLA = 1,
|
||||
BOSS_ANTU_SUL = 2,
|
||||
BOSS_THEKA_THE_MARTYR = 3,
|
||||
BOSS_WITCH_DOCTOR_ZUM_RAH = 4,
|
||||
BOSS_NEKRUM_GUTCHEWER = 5,
|
||||
BOSS_SHADOWPRIEST_SEZZ_ZIZ = 6,
|
||||
BOSS_CHIEF_UKORZ_SANDSCALP = 7,
|
||||
|
||||
MAX_ENCOUNTER
|
||||
};
|
||||
|
||||
enum ZFEntries
|
||||
{
|
||||
ENTRY_SANDSCALP = 7267,
|
||||
ENTRY_ZUM_RAH = 7271,
|
||||
ENTRY_THEKA = 7272,
|
||||
ENTRY_GAHZRILLA = 7273,
|
||||
ENTRY_SEZZZIZ = 7275,
|
||||
ENTRY_BLY = 7604,
|
||||
ENTRY_RAVEN = 7605,
|
||||
ENTRY_ORO = 7606,
|
||||
ENTRY_WEEGLI = 7607,
|
||||
ENTRY_MURTA = 7608,
|
||||
ENTRY_VELRTHA = 7795,
|
||||
ENTRY_NEKRUM = 7796,
|
||||
ENTRY_ANTUSUL = 8127,
|
||||
|
||||
GO_END_DOOR = 146084,
|
||||
|
||||
@@ -38,11 +59,6 @@ enum ZFEntries
|
||||
EVENT_GAHZRILLA
|
||||
};
|
||||
|
||||
enum ZFDataTypes
|
||||
{
|
||||
DATA_ZUM_RAH = 0
|
||||
};
|
||||
|
||||
enum ZFPyramidPhases
|
||||
{
|
||||
PYRAMID_NOT_STARTED, //default
|
||||
|
||||
Reference in New Issue
Block a user