fix(Scripts/TheEye): Re-factor Kael'thas (#18272)

* restructuring base files and instance files

* small fix

* some fixes

* fix

* some fixes

* up until kael phase

* weapon despawn fix

* final for now

* some minor details

* fix weapon despawn

* fix by clearing validator

still has debug statements to check how far we get

* finalise with stop casting

* codestyle

* remove redundant delay
This commit is contained in:
Dan
2024-02-08 03:42:20 +01:00
committed by GitHub
parent e2f1648941
commit b8118fa06b
3 changed files with 620 additions and 538 deletions
File diff suppressed because it is too large Load Diff
@@ -20,6 +20,21 @@
#include "SpellScriptLoader.h" #include "SpellScriptLoader.h"
#include "the_eye.h" #include "the_eye.h"
ObjectData const creatureData[] =
{
{ NPC_KAELTHAS, DATA_KAELTHAS },
{ NPC_THALADRED, DATA_THALADRED },
{ NPC_LORD_SANGUINAR, DATA_LORD_SANGUINAR },
{ NPC_CAPERNIAN, DATA_CAPERNIAN },
{ NPC_TELONICUS, DATA_TELONICUS },
{ 0, 0 }
};
ObjectData const gameObjectData[] =
{
{ 0, 0 }
};
class instance_the_eye : public InstanceMapScript class instance_the_eye : public InstanceMapScript
{ {
public: public:
@@ -30,6 +45,7 @@ public:
instance_the_eye_InstanceMapScript(Map* map) : InstanceScript(map) instance_the_eye_InstanceMapScript(Map* map) : InstanceScript(map)
{ {
SetHeaders(DataHeader); SetHeaders(DataHeader);
LoadObjectData(creatureData, gameObjectData);
SetBossNumber(MAX_ENCOUNTER); SetBossNumber(MAX_ENCOUNTER);
} }
@@ -66,6 +82,7 @@ public:
LordSanguinarGUID = creature->GetGUID(); LordSanguinarGUID = creature->GetGUID();
break; break;
} }
InstanceScript::OnCreatureCreate(creature);
} }
void OnGameObjectCreate(GameObject* gobject) override void OnGameObjectCreate(GameObject* gobject) override
@@ -98,14 +115,6 @@ public:
return AlarGUID; return AlarGUID;
case NPC_KAELTHAS: case NPC_KAELTHAS:
return KaelthasGUID; return KaelthasGUID;
case DATA_KAEL_ADVISOR1:
return ThaladredTheDarkenerGUID;
case DATA_KAEL_ADVISOR2:
return LordSanguinarGUID;
case DATA_KAEL_ADVISOR3:
return GrandAstromancerCapernianGUID;
case DATA_KAEL_ADVISOR4:
return MasterEngineerTelonicusGUID;
} }
return ObjectGuid::Empty; return ObjectGuid::Empty;
@@ -36,10 +36,10 @@ enum EyeData
DATA_KAELTHAS = 3, DATA_KAELTHAS = 3,
MAX_ENCOUNTER = 4, MAX_ENCOUNTER = 4,
DATA_KAEL_ADVISOR1 = 10, DATA_THALADRED = 10,
DATA_KAEL_ADVISOR2 = 11, DATA_LORD_SANGUINAR = 11,
DATA_KAEL_ADVISOR3 = 12, DATA_CAPERNIAN = 12,
DATA_KAEL_ADVISOR4 = 13 DATA_TELONICUS = 13
}; };
enum EyeNPCs enum EyeNPCs