AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
instance_ahnkahet::instance_ahnkahet_InstanceScript Struct Reference
Inheritance diagram for instance_ahnkahet::instance_ahnkahet_InstanceScript:
InstanceScript ZoneScript

Public Member Functions

 instance_ahnkahet_InstanceScript (Map *pMap)
 
void OnCreatureCreate (Creature *pCreature) override
 
void OnGameObjectCreate (GameObject *pGo) override
 
bool SetBossState (uint32 type, EncounterState state) override
 
void SetData (uint32 type, uint32 data) override
 
uint32 GetData (uint32 type) const override
 
ObjectGuid GetGuidData (uint32 type) const override
 
void ReadSaveDataMore (std::istringstream &data) override
 
void WriteSaveDataMore (std::ostringstream &data) override
 
- Public Member Functions inherited from InstanceScript
 InstanceScript (Map *map)
 
 ~InstanceScript () override
 
virtual void Initialize ()
 
virtual void Load (char const *data)
 
virtual void CreatureLooted (Creature *, LootType)
 
virtual std::string GetSaveData ()
 
void SaveToDB ()
 
virtual void Update (uint32)
 
virtual bool IsEncounterInProgress () const
 
void OnCreatureCreate (Creature *creature) override
 
void OnCreatureRemove (Creature *creature) override
 
void OnGameObjectCreate (GameObject *go) override
 
void OnGameObjectRemove (GameObject *go) override
 
ObjectGuid GetObjectGuid (uint32 type) const
 
ObjectGuid GetGuidData (uint32 type) const override
 
CreatureGetCreature (uint32 type)
 
GameObjectGetGameObject (uint32 type)
 
virtual void OnPlayerEnter (Player *)
 
virtual void OnPlayerAreaUpdate (Player *, uint32, uint32)
 
void HandleGameObject (ObjectGuid guid, bool open, GameObject *go=nullptr)
 
void DoUseDoorOrButton (ObjectGuid guid, uint32 withRestoreTime=0, bool useAlternativeState=false)
 
void DoRespawnGameObject (ObjectGuid guid, uint32 timeToDespawn=MINUTE)
 
void DoRespawnCreature (ObjectGuid guid, bool force=false)
 
void DoRespawnCreature (uint32 type, bool force=false)
 
void DoUpdateWorldState (uint32 worldstateId, uint32 worldstateValue)
 
void DoSendNotifyToInstance (char const *format,...)
 
void DoUpdateAchievementCriteria (AchievementCriteriaTypes type, uint32 miscValue1=0, uint32 miscValue2=0, Unit *unit=nullptr)
 
void DoStartTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry)
 
void DoStopTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry)
 
void DoRemoveAurasDueToSpellOnPlayers (uint32 spell)
 
void DoCastSpellOnPlayers (uint32 spell)
 
void DoCastSpellOnPlayer (Player *player, uint32 spell, bool includePets, bool includeControlled)
 
bool ServerAllowsTwoSideGroups ()
 
virtual bool SetBossState (uint32 id, EncounterState state)
 
EncounterState GetBossState (uint32 id) const
 
CreatureBoundary const * GetBossBoundary (uint32 id) const
 
BossInfo const * GetBossInfo (uint32 id) const
 
uint32 GetPersistentData (uint32 index) const
 
void StorePersistentData (uint32 index, uint32 data)
 
virtual bool CheckAchievementCriteriaMeet (uint32, Player const *, Unit const *=nullptr, uint32=0)
 
virtual bool CheckRequiredBosses (uint32, Player const *=nullptr) const
 
void SetCompletedEncountersMask (uint32 newMask, bool save)
 
uint32 GetCompletedEncounterMask () const
 
void SendEncounterUnit (uint32 type, Unit *unit=nullptr, uint8 param1=0, uint8 param2=0)
 
virtual void FillInitialWorldStates (WorldPacket &)
 
uint32 GetEncounterCount () const
 
void MarkAreaTriggerDone (uint32 id)
 
void ResetAreaTriggerDone (uint32 id)
 
bool IsAreaTriggerDone (uint32 id) const
 
virtual void DoAction (int32)
 
- Public Member Functions inherited from ZoneScript
 ZoneScript ()
 
virtual ~ZoneScript ()
 
virtual uint32 GetCreatureEntry (ObjectGuid::LowType, CreatureData const *data)
 
virtual uint32 GetGameObjectEntry (ObjectGuid::LowType, uint32 entry)
 
virtual void OnCreatureCreate (Creature *)
 
virtual void OnCreatureRemove (Creature *)
 
virtual void OnGameObjectCreate (GameObject *)
 
virtual void OnGameObjectRemove (GameObject *)
 
virtual void OnUnitDeath (Unit *)
 
virtual void OnCreatureEvade (Creature *)
 
virtual ObjectGuid GetGuidData (uint32) const
 
virtual void SetGuidData (uint32, ObjectGuid)
 
virtual uint64 GetData64 (uint32) const
 
virtual void SetData64 (uint32, uint64)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void ProcessEvent (WorldObject *, uint32)
 

Private Member Functions

bool IsAllSpheresActivated () const
 

Private Attributes

ObjectGuid elderNadox_GUID
 
ObjectGuid princeTaldaram_GUID
 
ObjectGuid jedogaShadowseeker_GUID
 
ObjectGuid heraldVolazj_GUID
 
ObjectGuid amanitar_GUID
 
ObjectGuid taldaramPlatform_GUID
 
ObjectGuid taldaramGate_GUID
 
std::array< uint32, 2 > teldaramSpheres
 
bool canSaveBossStates
 

Additional Inherited Members

- Static Public Member Functions inherited from InstanceScript
static std::string GetBossStateName (uint8 state)
 
- Public Attributes inherited from InstanceScript
Mapinstance
 
- Protected Member Functions inherited from InstanceScript
void SetHeaders (std::string const &dataHeaders)
 
void SetBossNumber (uint32 number)
 
void SetPersistentDataCount (uint32 number)
 
void LoadBossBoundaries (BossBoundaryData const &data)
 
void LoadDoorData (DoorData const *data)
 
void LoadMinionData (MinionData const *data)
 
void LoadObjectData (ObjectData const *creatureData, ObjectData const *gameObjectData)
 
void AddObject (Creature *obj, bool add)
 
void AddObject (GameObject *obj, bool add)
 
void AddObject (WorldObject *obj, uint32 type, bool add)
 
void AddDoor (GameObject *door, bool add)
 
void AddMinion (Creature *minion, bool add)
 
void UpdateDoorState (GameObject *door)
 
void UpdateMinionState (Creature *minion, EncounterState state)
 
bool ReadSaveDataHeaders (std::istringstream &data)
 
void ReadSaveDataBossStates (std::istringstream &data)
 
void ReadSavePersistentData (std::istringstream &data)
 
virtual void ReadSaveDataMore (std::istringstream &)
 
void WriteSaveDataHeaders (std::ostringstream &data)
 
void WriteSaveDataBossStates (std::ostringstream &data)
 
void WritePersistentData (std::ostringstream &data)
 
virtual void WriteSaveDataMore (std::ostringstream &)
 

Detailed Description

Constructor & Destructor Documentation

◆ instance_ahnkahet_InstanceScript()

instance_ahnkahet::instance_ahnkahet_InstanceScript::instance_ahnkahet_InstanceScript ( Map pMap)
inline
32 : InstanceScript(pMap), canSaveBossStates(false)
33 {
37 }
@ NOT_STARTED
Definition: InstanceScript.h:56
#define DataHeader
Definition: blackrock_depths.h:23
#define MAX_ENCOUNTER
Definition: violet_hold.h:21
Definition: InstanceScript.h:140
void SetBossNumber(uint32 number)
Definition: InstanceScript.h:265
void SetHeaders(std::string const &dataHeaders)
Definition: InstanceScript.cpp:137
bool canSaveBossStates
Definition: instance_ahnkahet.cpp:201
std::array< uint32, 2 > teldaramSpheres
Definition: instance_ahnkahet.cpp:200

References DataHeader, MAX_ENCOUNTER, NOT_STARTED, InstanceScript::SetBossNumber(), InstanceScript::SetHeaders(), and teldaramSpheres.

Member Function Documentation

◆ GetData()

uint32 instance_ahnkahet::instance_ahnkahet_InstanceScript::GetData ( uint32  type) const
inlineoverridevirtual

Reimplemented from ZoneScript.

145 {
146 switch (type)
147 {
149 return teldaramSpheres.at(0);
151 return teldaramSpheres.at(1);
152 }
153
154 return 0;
155 }
@ DATA_TELDRAM_SPHERE1
Definition: ahnkahet.h:36
@ DATA_TELDRAM_SPHERE2
Definition: ahnkahet.h:37

References DATA_TELDRAM_SPHERE1, DATA_TELDRAM_SPHERE2, and teldaramSpheres.

◆ GetGuidData()

ObjectGuid instance_ahnkahet::instance_ahnkahet_InstanceScript::GetGuidData ( uint32  type) const
inlineoverridevirtual

Reimplemented from InstanceScript.

158 {
159 switch (type)
160 {
161 case DATA_ELDER_NADOX:
162 return elderNadox_GUID;
164 return princeTaldaram_GUID;
168 return heraldVolazj_GUID;
169 case DATA_AMANITAR:
170 return amanitar_GUID;
171 }
172
173 return ObjectGuid::Empty;
174 }
@ DATA_HERALD_VOLAZJ
Definition: ahnkahet.h:30
@ DATA_JEDOGA_SHADOWSEEKER
Definition: ahnkahet.h:29
@ DATA_AMANITAR
Definition: ahnkahet.h:31
@ DATA_ELDER_NADOX
Definition: ahnkahet.h:27
@ DATA_PRINCE_TALDARAM
Definition: ahnkahet.h:28
static ObjectGuid const Empty
Definition: ObjectGuid.h:122
ObjectGuid elderNadox_GUID
Definition: instance_ahnkahet.cpp:191
ObjectGuid princeTaldaram_GUID
Definition: instance_ahnkahet.cpp:192
ObjectGuid heraldVolazj_GUID
Definition: instance_ahnkahet.cpp:194
ObjectGuid amanitar_GUID
Definition: instance_ahnkahet.cpp:195
ObjectGuid jedogaShadowseeker_GUID
Definition: instance_ahnkahet.cpp:193

References amanitar_GUID, DATA_AMANITAR, DATA_ELDER_NADOX, DATA_HERALD_VOLAZJ, DATA_JEDOGA_SHADOWSEEKER, DATA_PRINCE_TALDARAM, elderNadox_GUID, ObjectGuid::Empty, heraldVolazj_GUID, jedogaShadowseeker_GUID, and princeTaldaram_GUID.

◆ IsAllSpheresActivated()

bool instance_ahnkahet::instance_ahnkahet_InstanceScript::IsAllSpheresActivated ( ) const
inlineprivate
204 {
205 return teldaramSpheres.at(0) == DONE && teldaramSpheres.at(1) == DONE;
206 }
@ DONE
Definition: InstanceScript.h:59

References DONE, and teldaramSpheres.

Referenced by OnGameObjectCreate(), and SetData().

◆ OnCreatureCreate()

void instance_ahnkahet::instance_ahnkahet_InstanceScript::OnCreatureCreate ( Creature pCreature)
inlineoverridevirtual

Reimplemented from InstanceScript.

40 {
41 switch (pCreature->GetEntry())
42 {
43 case NPC_ELDER_NADOX:
44 elderNadox_GUID = pCreature->GetGUID();
45 break;
47 princeTaldaram_GUID = pCreature->GetGUID();
48 break;
50 jedogaShadowseeker_GUID = pCreature->GetGUID();
51 break;
53 heraldVolazj_GUID = pCreature->GetGUID();
54 break;
55 case NPC_AMANITAR:
56 amanitar_GUID = pCreature->GetGUID();
57 break;
58 }
59 }
@ NPC_AMANITAR
Definition: ahnkahet.h:46
@ NPC_JEDOGA_SHADOWSEEKER
Definition: ahnkahet.h:44
@ NPC_HERALD_JOLAZJ
Definition: ahnkahet.h:45
@ NPC_ELDER_NADOX
Definition: ahnkahet.h:42
@ NPC_PRINCE_TALDARAM
Definition: ahnkahet.h:43
uint32 GetEntry() const
Definition: Object.h:109
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:106

References amanitar_GUID, elderNadox_GUID, Object::GetEntry(), Object::GetGUID(), heraldVolazj_GUID, jedogaShadowseeker_GUID, NPC_AMANITAR, NPC_ELDER_NADOX, NPC_HERALD_JOLAZJ, NPC_JEDOGA_SHADOWSEEKER, NPC_PRINCE_TALDARAM, and princeTaldaram_GUID.

◆ OnGameObjectCreate()

void instance_ahnkahet::instance_ahnkahet_InstanceScript::OnGameObjectCreate ( GameObject pGo)
inlineoverridevirtual

Reimplemented from InstanceScript.

62 {
63 switch (pGo->GetEntry())
64 {
66 {
69 {
71 }
72
73 break;
74 }
77 {
79 {
82 }
83 else
84 {
86 }
87
88 break;
89 }
91 {
92 taldaramGate_GUID = pGo->GetGUID(); // Web gate past Prince Taldaram
94 {
96 }
97
98 break;
99 }
100 }
101 }
@ GO_STATE_ACTIVE
Definition: GameObjectData.h:690
@ GO_TELDARAM_SPHERE1
Definition: ahnkahet.h:59
@ GO_TELDARAM_DOOR
Definition: ahnkahet.h:58
@ GO_TELDARAM_SPHERE2
Definition: ahnkahet.h:60
@ GO_TELDARAM_PLATFORM
Definition: ahnkahet.h:61
@ GO_FLAG_NOT_SELECTABLE
Definition: SharedDefines.h:1579
void SetGoState(GOState state)
Definition: GameObject.cpp:2467
void SetGameObjectFlag(GameObjectFlags flags)
Definition: GameObject.h:220
void RemoveGameObjectFlag(GameObjectFlags flags)
Definition: GameObject.h:221
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
Definition: InstanceScript.cpp:109
EncounterState GetBossState(uint32 id) const
Definition: InstanceScript.h:230
bool IsAllSpheresActivated() const
Definition: instance_ahnkahet.cpp:203
ObjectGuid taldaramPlatform_GUID
Definition: instance_ahnkahet.cpp:198
ObjectGuid taldaramGate_GUID
Definition: instance_ahnkahet.cpp:199

References DATA_PRINCE_TALDARAM, DONE, ObjectGuid::Empty, InstanceScript::GetBossState(), Object::GetEntry(), Object::GetGUID(), GO_FLAG_NOT_SELECTABLE, GO_STATE_ACTIVE, GO_TELDARAM_DOOR, GO_TELDARAM_PLATFORM, GO_TELDARAM_SPHERE1, GO_TELDARAM_SPHERE2, InstanceScript::HandleGameObject(), IsAllSpheresActivated(), GameObject::RemoveGameObjectFlag(), GameObject::SetGameObjectFlag(), GameObject::SetGoState(), taldaramGate_GUID, taldaramPlatform_GUID, and teldaramSpheres.

◆ ReadSaveDataMore()

void instance_ahnkahet::instance_ahnkahet_InstanceScript::ReadSaveDataMore ( std::istringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

177 {
178 data >> teldaramSpheres[0];
179 data >> teldaramSpheres[1];
180
181 canSaveBossStates = true;
182 }

References canSaveBossStates, and teldaramSpheres.

◆ SetBossState()

bool instance_ahnkahet::instance_ahnkahet_InstanceScript::SetBossState ( uint32  type,
EncounterState  state 
)
inlineoverridevirtual

Reimplemented from InstanceScript.

104 {
105 if (!InstanceScript::SetBossState(type, state))
106 {
107 return false;
108 }
109
110 if (type == DATA_PRINCE_TALDARAM && state == DONE)
111 {
113 }
114
116 {
117 SaveToDB();
118 }
119
120 return true;
121 }
virtual bool SetBossState(uint32 id, EncounterState state)
Definition: InstanceScript.cpp:317
void SaveToDB()
Definition: InstanceScript.cpp:41

References canSaveBossStates, DATA_PRINCE_TALDARAM, DONE, InstanceScript::HandleGameObject(), InstanceScript::SaveToDB(), InstanceScript::SetBossState(), and taldaramGate_GUID.

◆ SetData()

void instance_ahnkahet::instance_ahnkahet_InstanceScript::SetData ( uint32  type,
uint32  data 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

124 {
125 if (type == DATA_TELDRAM_SPHERE1 || type == DATA_TELDRAM_SPHERE2)
126 {
127
128 teldaramSpheres[type == DATA_TELDRAM_SPHERE1 ? 0 : 1] = data;
129 SaveToDB();
130
132 {
134
136 if (teldaram && teldaram->IsAlive())
137 {
138 teldaram->AI()->DoAction(ACTION_REMOVE_PRISON);
139 }
140 }
141 }
142 }
@ ACTION_REMOVE_PRISON
Definition: ahnkahet.h:66
virtual void DoAction(int32)
Definition: UnitAI.h:201
Definition: Creature.h:46
CreatureAI * AI() const
Definition: Creature.h:135
bool IsAlive() const
Definition: Unit.h:1808
Map * instance
Definition: InstanceScript.h:146
Creature * GetCreature(ObjectGuid const guid)
Definition: Map.cpp:3293

References ACTION_REMOVE_PRISON, Creature::AI(), DATA_TELDRAM_SPHERE1, DATA_TELDRAM_SPHERE2, UnitAI::DoAction(), Map::GetCreature(), InstanceScript::HandleGameObject(), InstanceScript::instance, Unit::IsAlive(), IsAllSpheresActivated(), princeTaldaram_GUID, InstanceScript::SaveToDB(), taldaramPlatform_GUID, and teldaramSpheres.

◆ WriteSaveDataMore()

void instance_ahnkahet::instance_ahnkahet_InstanceScript::WriteSaveDataMore ( std::ostringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

185 {
186 data << teldaramSpheres[0] << ' '
187 << teldaramSpheres[1];
188 }

References teldaramSpheres.

Member Data Documentation

◆ amanitar_GUID

ObjectGuid instance_ahnkahet::instance_ahnkahet_InstanceScript::amanitar_GUID
private

Referenced by GetGuidData(), and OnCreatureCreate().

◆ canSaveBossStates

bool instance_ahnkahet::instance_ahnkahet_InstanceScript::canSaveBossStates
private

Referenced by ReadSaveDataMore(), and SetBossState().

◆ elderNadox_GUID

ObjectGuid instance_ahnkahet::instance_ahnkahet_InstanceScript::elderNadox_GUID
private

Referenced by GetGuidData(), and OnCreatureCreate().

◆ heraldVolazj_GUID

ObjectGuid instance_ahnkahet::instance_ahnkahet_InstanceScript::heraldVolazj_GUID
private

Referenced by GetGuidData(), and OnCreatureCreate().

◆ jedogaShadowseeker_GUID

ObjectGuid instance_ahnkahet::instance_ahnkahet_InstanceScript::jedogaShadowseeker_GUID
private

Referenced by GetGuidData(), and OnCreatureCreate().

◆ princeTaldaram_GUID

ObjectGuid instance_ahnkahet::instance_ahnkahet_InstanceScript::princeTaldaram_GUID
private

◆ taldaramGate_GUID

ObjectGuid instance_ahnkahet::instance_ahnkahet_InstanceScript::taldaramGate_GUID
private

Referenced by OnGameObjectCreate(), and SetBossState().

◆ taldaramPlatform_GUID

ObjectGuid instance_ahnkahet::instance_ahnkahet_InstanceScript::taldaramPlatform_GUID
private

Referenced by OnGameObjectCreate(), and SetData().

◆ teldaramSpheres

std::array<uint32, 2> instance_ahnkahet::instance_ahnkahet_InstanceScript::teldaramSpheres
private