mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Scripts/Wailing Caverns: Added dungeon encounter ids
This commit is contained in:
@@ -25,11 +25,20 @@ EndScriptData */
|
||||
#include "ScriptMgr.h"
|
||||
#include "Creature.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Log.h"
|
||||
#include "Map.h"
|
||||
#include "wailing_caverns.h"
|
||||
|
||||
#define MAX_ENCOUNTER 9
|
||||
static constexpr DungeonEncounterData Encounters[] =
|
||||
{
|
||||
{ BOSS_LADY_ANACONDRA, {{ 585 } } },
|
||||
{ BOSS_LORD_COBRAHN, {{ 586 } } },
|
||||
{ BOSS_KRESH, {{ 587 } } },
|
||||
{ BOSS_LORD_PYTHAS, {{ 588 } } },
|
||||
{ BOSS_SKUM, {{ 589 } } },
|
||||
{ BOSS_LORD_SERPENTIS, {{ 590 } } },
|
||||
{ BOSS_VERDAN_THE_EVERLIVING, {{ 591 } } },
|
||||
{ BOSS_MUTANUS_THE_DEVOURER, {{ 592 } } },
|
||||
};
|
||||
|
||||
class instance_wailing_caverns : public InstanceMapScript
|
||||
{
|
||||
@@ -47,6 +56,7 @@ public:
|
||||
{
|
||||
SetHeaders(DataHeader);
|
||||
SetBossNumber(MAX_ENCOUNTER);
|
||||
LoadDungeonEncounterData(Encounters);
|
||||
|
||||
yelled = false;
|
||||
}
|
||||
@@ -60,20 +70,33 @@ public:
|
||||
NaralexGUID = creature->GetGUID();
|
||||
}
|
||||
|
||||
void OnUnitDeath(Unit* unit) override
|
||||
{
|
||||
switch (unit->GetEntry())
|
||||
{
|
||||
case NPC_KRESH: SetBossState(BOSS_KRESH, DONE); break;
|
||||
case NPC_SKUM: SetBossState(BOSS_SKUM, DONE); break;
|
||||
case NPC_VERDAN_THE_EVERLIVING: SetBossState(BOSS_VERDAN_THE_EVERLIVING, DONE); break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case TYPE_LORD_COBRAHN: SetBossState(0, EncounterState(data));break;
|
||||
case TYPE_LORD_PYTHAS: SetBossState(1, EncounterState(data));break;
|
||||
case TYPE_LADY_ANACONDRA: SetBossState(2, EncounterState(data));break;
|
||||
case TYPE_LORD_SERPENTIS: SetBossState(3, EncounterState(data));break;
|
||||
case TYPE_LORD_COBRAHN: SetBossState(BOSS_LORD_COBRAHN, EncounterState(data));break;
|
||||
case TYPE_LORD_PYTHAS: SetBossState(BOSS_LORD_PYTHAS, EncounterState(data));break;
|
||||
case TYPE_LADY_ANACONDRA: SetBossState(BOSS_LADY_ANACONDRA, EncounterState(data));break;
|
||||
case TYPE_LORD_SERPENTIS: SetBossState(BOSS_LORD_SERPENTIS, EncounterState(data));break;
|
||||
case TYPE_NARALEX_EVENT: SetBossState(4, EncounterState(data));break;
|
||||
case TYPE_NARALEX_PART1: SetBossState(5, EncounterState(data));break;
|
||||
case TYPE_NARALEX_PART2: SetBossState(6, EncounterState(data));break;
|
||||
case TYPE_NARALEX_PART3: SetBossState(7, EncounterState(data));break;
|
||||
case TYPE_MUTANUS_THE_DEVOURER: SetBossState(8, EncounterState(data));break;
|
||||
case TYPE_MUTANUS_THE_DEVOURER: SetBossState(BOSS_MUTANUS_THE_DEVOURER, EncounterState(data));break;
|
||||
case TYPE_NARALEX_YELLED: yelled = true; break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,16 +104,17 @@ public:
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case TYPE_LORD_COBRAHN: return GetBossState(0);
|
||||
case TYPE_LORD_PYTHAS: return GetBossState(1);
|
||||
case TYPE_LADY_ANACONDRA: return GetBossState(2);
|
||||
case TYPE_LORD_SERPENTIS: return GetBossState(3);
|
||||
case TYPE_LORD_COBRAHN: return GetBossState(BOSS_LORD_COBRAHN);
|
||||
case TYPE_LORD_PYTHAS: return GetBossState(BOSS_LORD_PYTHAS);
|
||||
case TYPE_LADY_ANACONDRA: return GetBossState(BOSS_LADY_ANACONDRA);
|
||||
case TYPE_LORD_SERPENTIS: return GetBossState(BOSS_LORD_SERPENTIS);
|
||||
case TYPE_NARALEX_EVENT: return GetBossState(4);
|
||||
case TYPE_NARALEX_PART1: return GetBossState(5);
|
||||
case TYPE_NARALEX_PART2: return GetBossState(6);
|
||||
case TYPE_NARALEX_PART3: return GetBossState(7);
|
||||
case TYPE_MUTANUS_THE_DEVOURER: return GetBossState(8);
|
||||
case TYPE_MUTANUS_THE_DEVOURER: return GetBossState(BOSS_MUTANUS_THE_DEVOURER);
|
||||
case TYPE_NARALEX_YELLED: return yelled;
|
||||
default: break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
#define WCScriptName "instance_wailing_caverns"
|
||||
#define DataHeader "WC"
|
||||
|
||||
enum WCBossIds
|
||||
{
|
||||
BOSS_LORD_COBRAHN = 0,
|
||||
BOSS_LORD_PYTHAS = 1,
|
||||
BOSS_LADY_ANACONDRA = 2,
|
||||
BOSS_LORD_SERPENTIS = 3,
|
||||
BOSS_MUTANUS_THE_DEVOURER = 8,
|
||||
BOSS_KRESH = 9,
|
||||
BOSS_SKUM = 10,
|
||||
BOSS_VERDAN_THE_EVERLIVING = 11,
|
||||
|
||||
MAX_ENCOUNTER
|
||||
};
|
||||
|
||||
enum WCDataTypes
|
||||
{
|
||||
TYPE_LORD_COBRAHN = 1,
|
||||
@@ -39,6 +53,13 @@ enum WCDataTypes
|
||||
DATA_NARALEX = 3679,
|
||||
};
|
||||
|
||||
enum WCCreatureIds
|
||||
{
|
||||
NPC_KRESH = 3653,
|
||||
NPC_SKUM = 3674,
|
||||
NPC_VERDAN_THE_EVERLIVING = 5775
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetWailingCavernsAI(T* obj)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user