aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2023-12-25 18:06:44 +0100
committerOvahlord <dreadkiller@gmx.de>2023-12-25 18:06:44 +0100
commit4a61675191c91c7d09def0e612f2e11a646845b0 (patch)
tree86c6933982cd4ccddaf026dd12dd1e87da719b54 /src
parent01b12160581c8006d9d0ae12183eb7cb176df707 (diff)
Scripts/Halls of Origination: modernized creature accessing via data type
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp32
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.cpp4
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h4
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp40
4 files changed, 30 insertions, 50 deletions
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
index 1d1d591aecc..5a27808e508 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
@@ -170,7 +170,7 @@ struct boss_anraphet : public BossAI
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
Talk(ANRAPHET_SAY_DEATH);
- if (Creature* brann = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BRANN_0_GUID)))
+ if (Creature* brann = instance->GetCreature(DATA_BRANN_BRONZEBEARD))
brann->AI()->DoAction(ACTION_ANRAPHET_DIED);
_JustDied();
@@ -289,7 +289,7 @@ struct npc_alpha_beam : public ScriptedAI
void IsSummonedBy(WorldObject* /*summoner*/) override
{
- if (Creature* anraphet = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_ANRAPHET_GUID)))
+ if (Creature* anraphet = _instance->GetCreature(BOSS_ANRAPHET))
anraphet->CastSpell(me, SPELL_ALPHA_BEAMS_BACK_CAST);
}
@@ -330,22 +330,22 @@ struct npc_brann_bronzebeard_anraphet : public CreatureAI
{
switch (action)
{
- case ACTION_ELEMENTAL_DIED:
- {
- uint32 dead = _instance->GetData(DATA_DEAD_ELEMENTALS);
- Talk(BRANN_1_ELEMENTAL_DEAD + dead - 1);
- if (dead == 4)
+ case ACTION_ELEMENTAL_DIED:
{
- _instance->DoCastSpellOnPlayers(SPELL_VAULT_OF_LIGHTS_CREDIT);
- if (Creature* anraphet = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_ANRAPHET_GUID)))
- anraphet->AI()->DoAction(ACTION_ANRAPHET_INTRO);
+ uint32 dead = _instance->GetData(DATA_DEAD_ELEMENTALS);
+ Talk(BRANN_1_ELEMENTAL_DEAD + dead - 1);
+ if (dead == 4)
+ {
+ _instance->DoCastSpellOnPlayers(SPELL_VAULT_OF_LIGHTS_CREDIT);
+ if (Creature* anraphet = _instance->GetCreature(BOSS_ANRAPHET))
+ anraphet->AI()->DoAction(ACTION_ANRAPHET_INTRO);
+ }
+ break;
}
- break;
- }
- case ACTION_ANRAPHET_DIED:
- me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
- events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, 1s);
- break;
+ case ACTION_ANRAPHET_DIED:
+ me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
+ events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, 1s);
+ break;
}
}
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.cpp
index 2d7fb010a88..af0022d1bf2 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.cpp
@@ -38,8 +38,8 @@ struct go_hoo_the_makers_lift_controller : public GameObjectAI
ClearGossipMenuFor(player);
player->PlayerTalkClass->SendCloseGossip();
- if (GameObject* elevator = _instance->GetGameObject(DATA_LIFT_OF_THE_MAKERS))
- elevator->SetGoState(GOState(GO_STATE_TRANSPORT_ACTIVE + gossipListId));
+ if (GameObject* elevator = _instance->GetGameObject(DATA_LIFT_OF_THE_MAKERS))
+ elevator->SetGoState(GOState(GO_STATE_TRANSPORT_ACTIVE + gossipListId));
return false;
}
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h b/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h
index ac16cfddd65..b15bc99bb5e 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h
@@ -44,16 +44,14 @@ enum HOOData
BOSS_AIR_WARDEN,
// Temple Guardian Anhuur
- DATA_ANHUUR_GUID,
DATA_ANHUUR_LEFT_BEACON,
DATA_ANHUUR_RIGHT_BEACON,
DATA_ANHUUR_BRIDGE,
DATA_ANHUUR_DOOR,
// Anraphet
- DATA_BRANN_0_GUID,
DATA_DEAD_ELEMENTALS,
- DATA_ANRAPHET_GUID,
+ DATA_BRANN_BRONZEBEARD,
// Events
DATA_LIFT_OF_THE_MAKERS
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
index 34a14defa54..744fdc11ea7 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
@@ -40,6 +40,15 @@ DoorData const doorData[] =
{ 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress }
};
+ObjectData const creatureData[] =
+{
+ { NPC_TEMPLE_GUARDIAN_ANHUUR, BOSS_TEMPLE_GUARDIAN_ANHUUR },
+ { NPC_ANRAPHET, BOSS_ANRAPHET },
+ { NPC_EARTHRAGER_PTAH, BOSS_EARTHRAGER_PTAH },
+ { NPC_BRANN_BRONZEBEARD_0, DATA_BRANN_BRONZEBEARD },
+ { 0, 0 } //END
+};
+
ObjectData const gameObjectData[] =
{
{ GO_LIFT_OF_THE_MAKERS, DATA_LIFT_OF_THE_MAKERS },
@@ -68,7 +77,7 @@ class instance_halls_of_origination : public InstanceMapScript
{
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
- LoadObjectData(nullptr, gameObjectData);
+ LoadObjectData(creatureData, gameObjectData);
LoadDoorData(doorData);
LoadDungeonEncounterData(encounters);
_deadElementals = 0;
@@ -137,24 +146,6 @@ class instance_halls_of_origination : public InstanceMapScript
}
}
- void OnCreatureCreate(Creature* creature) override
- {
- InstanceScript::OnCreatureCreate(creature);
-
- switch (creature->GetEntry())
- {
- case BOSS_TEMPLE_GUARDIAN_ANHUUR:
- TempleGuardianAnhuurGUID = creature->GetGUID();
- break;
- case NPC_BRANN_BRONZEBEARD_0:
- BrannBronzebeardGUID = creature->GetGUID();
- break;
- case BOSS_ANRAPHET:
- AnraphetGUID = creature->GetGUID();
- break;
- }
- }
-
uint32 GetData(uint32 data) const override
{
switch (data)
@@ -180,12 +171,6 @@ class instance_halls_of_origination : public InstanceMapScript
return AnhuurLeftBeaconGUID;
case DATA_ANHUUR_RIGHT_BEACON:
return AnhuurRightBeaconGUID;
- case DATA_ANHUUR_GUID:
- return TempleGuardianAnhuurGUID;
- case DATA_BRANN_0_GUID:
- return BrannBronzebeardGUID;
- case DATA_ANRAPHET_GUID:
- return AnraphetGUID;
}
return InstanceScript::GetGuidData(type);
@@ -221,7 +206,7 @@ class instance_halls_of_origination : public InstanceMapScript
SetBossState(data, IN_PROGRESS); // Needs to be set to IN_PROGRESS or else the gameobjects state won't be updated
SetBossState(data, DONE);
IncreaseDeadElementals(1);
- if (Creature* brann = instance->GetCreature(BrannBronzebeardGUID))
+ if (Creature* brann = GetCreature(DATA_BRANN_BRONZEBEARD))
brann->AI()->DoAction(ACTION_ELEMENTAL_DIED);
break;
}
@@ -234,13 +219,10 @@ class instance_halls_of_origination : public InstanceMapScript
}
protected:
- ObjectGuid TempleGuardianAnhuurGUID;
ObjectGuid AnhuursBridgeGUID;
ObjectGuid AnhuursDoorGUID;
ObjectGuid AnhuurRightBeaconGUID;
ObjectGuid AnhuurLeftBeaconGUID;
- ObjectGuid BrannBronzebeardGUID;
- ObjectGuid AnraphetGUID;
ObjectGuid AnraphetDoorGUID;
ObjectGuid SunMirrorGUID;
uint32 _deadElementals;