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

Public Member Functions

 instance_culling_of_stratholme_InstanceMapScript (Map *pMap)
 
bool IsEncounterInProgress () const override
 
void FillInitialWorldStates (WorldPacket &data) override
 
void OnPlayerEnter (Player *plr) override
 
void OnCreatureCreate (Creature *creature) override
 
void OnGameObjectCreate (GameObject *go) override
 
void SetData (uint32 type, uint32 data) override
 
uint32 GetData (uint32 type) const override
 
ObjectGuid GetGuidData (uint32 identifier) const override
 
void Update (uint32 diff) override
 
void UpdateEventState ()
 
void ChromieWhisper (uint8 textId)
 
void Reposition (Creature *arthas)
 
void EnsureGridLoaded ()
 
std::string GetSaveData () override
 
void Load (const char *in) 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 Attributes

ObjectGuid _arthasGUID
 
ObjectGuid _infiniteGUID
 
ObjectGuid _shkafGateGUID
 
ObjectGuid _exitGateGUID
 
uint32 _encounterState
 
uint32 _crateCount
 
uint32 _showCrateTimer
 
uint32 _guardianTimer
 
bool _respawnAndReposition
 
uint32 _loadTimer
 

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_culling_of_stratholme_InstanceMapScript()

instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::instance_culling_of_stratholme_InstanceMapScript ( Map pMap)
inline
38 : InstanceScript(pMap)
39 {
40 // Instance
42 _crateCount = 0;
47 _loadTimer = 0;
48 }
#define DataHeader
Definition: blackrock_depths.h:23
@ COS_PROGRESS_NOT_STARTED
Definition: culling_of_stratholme.h:125
Definition: InstanceScript.h:140
void SetHeaders(std::string const &dataHeaders)
Definition: InstanceScript.cpp:137
uint32 _encounterState
Definition: instance_culling_of_stratholme.cpp:413
uint32 _crateCount
Definition: instance_culling_of_stratholme.cpp:414
uint32 _loadTimer
Definition: instance_culling_of_stratholme.cpp:419
uint32 _guardianTimer
Definition: instance_culling_of_stratholme.cpp:416
uint32 _showCrateTimer
Definition: instance_culling_of_stratholme.cpp:415
bool _respawnAndReposition
Definition: instance_culling_of_stratholme.cpp:418

References _crateCount, _encounterState, _guardianTimer, _loadTimer, _respawnAndReposition, _showCrateTimer, COS_PROGRESS_NOT_STARTED, DataHeader, and InstanceScript::SetHeaders().

Member Function Documentation

◆ ChromieWhisper()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::ChromieWhisper ( uint8  textId)
inline
301 {
302 if (!instance->GetPlayers().IsEmpty())
303 if (Player* player = instance->GetPlayers().getFirst()->GetSource())
304 {
305 Position pos = player->GetPosition();
307 {
308 cr->SetVisible(false);
309 cr->DespawnOrUnsummon(1000);
310 sCreatureTextMgr->SendChat(cr, textId, player, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_MAP);
311 }
312 }
313 }
#define sCreatureTextMgr
Definition: CreatureTextMgr.h:119
@ TEXT_RANGE_MAP
Definition: CreatureTextMgr.h:33
@ NPC_CHROMIE_MIDDLE
Definition: culling_of_stratholme.h:61
@ CHAT_MSG_ADDON
Definition: SharedDefines.h:3123
@ LANG_ADDON
Definition: SharedDefines.h:725
bool IsEmpty() const
Definition: LinkedList.h:97
FROM * GetSource() const
Definition: Reference.h:97
Definition: Creature.h:46
Definition: Position.h:28
void GetPosition(float &x, float &y) const
Definition: Position.h:122
Definition: Player.h:1046
Map * instance
Definition: InstanceScript.h:146
PlayerList const & GetPlayers() const
Definition: Map.h:484
TempSummon * SummonCreature(uint32 entry, Position const &pos, SummonPropertiesEntry const *properties=nullptr, uint32 duration=0, WorldObject *summoner=nullptr, uint32 spellId=0, uint32 vehId=0, bool visibleBySummonerOnly=false)
Definition: Object.cpp:2129
MapReference * getFirst()
Definition: MapRefMgr.h:31

References CHAT_MSG_ADDON, MapRefMgr::getFirst(), Map::GetPlayers(), Position::GetPosition(), Reference< TO, FROM >::GetSource(), InstanceScript::instance, LinkedListHead::IsEmpty(), LANG_ADDON, NPC_CHROMIE_MIDDLE, sCreatureTextMgr, Map::SummonCreature(), and TEXT_RANGE_MAP.

Referenced by Update(), and UpdateEventState().

◆ EnsureGridLoaded()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::EnsureGridLoaded ( )
inline
355 {
362 }
const Position LeaderIntroPos6
Definition: culling_of_stratholme.h:158
const Position LeaderIntroPos5
Definition: culling_of_stratholme.h:157
const Position LeaderIntroPos2
Definition: culling_of_stratholme.h:153
const Position LeaderIntroPos3
Definition: culling_of_stratholme.h:155
const Position LeaderIntroPos4
Definition: culling_of_stratholme.h:156
const Position LeaderIntroPos1
Definition: culling_of_stratholme.h:152
float GetPositionX() const
Definition: Position.h:117
float GetPositionY() const
Definition: Position.h:118
void LoadGrid(float x, float y)
Definition: Map.cpp:494

References Position::GetPositionX(), Position::GetPositionY(), InstanceScript::instance, LeaderIntroPos1, LeaderIntroPos2, LeaderIntroPos3, LeaderIntroPos4, LeaderIntroPos5, LeaderIntroPos6, and Map::LoadGrid().

Referenced by OnPlayerEnter(), and Update().

◆ FillInitialWorldStates()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::FillInitialWorldStates ( WorldPacket data)
inlineoverridevirtual

Reimplemented from InstanceScript.

56 {
59 data << uint32(WORLDSTATE_WAVE_COUNT) << uint32(0);
62 }
std::uint32_t uint32
Definition: Define.h:108
@ WORLDSTATE_SHOW_CRATES
Definition: culling_of_stratholme.h:78
@ WORLDSTATE_WAVE_COUNT
Definition: culling_of_stratholme.h:80
@ WORLDSTATE_CRATES_REVEALED
Definition: culling_of_stratholme.h:79
@ WORLDSTATE_TIME_GUARDIAN
Definition: culling_of_stratholme.h:81
@ WORLDSTATE_TIME_GUARDIAN_SHOW
Definition: culling_of_stratholme.h:82

References _crateCount, WORLDSTATE_CRATES_REVEALED, WORLDSTATE_SHOW_CRATES, WORLDSTATE_TIME_GUARDIAN, WORLDSTATE_TIME_GUARDIAN_SHOW, and WORLDSTATE_WAVE_COUNT.

◆ GetData()

uint32 instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::GetData ( uint32  type) const
inlineoverridevirtual

Reimplemented from ZoneScript.

182 {
183 switch (type)
184 {
186 return _encounterState;
188 return _guardianTimer;
189 }
190 return 0;
191 }
@ DATA_GUARDIANTIME_EVENT
Definition: culling_of_stratholme.h:29
@ DATA_ARTHAS_EVENT
Definition: culling_of_stratholme.h:28

References _encounterState, _guardianTimer, DATA_ARTHAS_EVENT, and DATA_GUARDIANTIME_EVENT.

Referenced by Reposition(), and SetData().

◆ GetGuidData()

ObjectGuid instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::GetGuidData ( uint32  identifier) const
inlineoverridevirtual

Reimplemented from InstanceScript.

194 {
195 switch (identifier)
196 {
197 case DATA_SHKAF_GATE:
198 return _shkafGateGUID;
199 case DATA_ARTHAS:
200 return _arthasGUID;
201 case DATA_EXIT_GATE:
202 return _exitGateGUID;
203 }
204
205 return ObjectGuid::Empty;
206 }
@ DATA_SHKAF_GATE
Definition: culling_of_stratholme.h:43
@ DATA_EXIT_GATE
Definition: culling_of_stratholme.h:44
@ DATA_ARTHAS
Definition: culling_of_stratholme.h:41
static ObjectGuid const Empty
Definition: ObjectGuid.h:122
ObjectGuid _arthasGUID
Definition: instance_culling_of_stratholme.cpp:407
ObjectGuid _shkafGateGUID
Definition: instance_culling_of_stratholme.cpp:411
ObjectGuid _exitGateGUID
Definition: instance_culling_of_stratholme.cpp:412

References _arthasGUID, _exitGateGUID, _shkafGateGUID, DATA_ARTHAS, DATA_EXIT_GATE, DATA_SHKAF_GATE, and ObjectGuid::Empty.

◆ GetSaveData()

std::string instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::GetSaveData ( )
inlineoverridevirtual

Reimplemented from InstanceScript.

365 {
367
368 std::ostringstream saveStream;
369 saveStream << "C S " << _encounterState << ' ' << _guardianTimer;
370
372 return saveStream.str();
373 }
#define OUT_SAVE_INST_DATA_COMPLETE
Definition: InstanceScript.h:28
#define OUT_SAVE_INST_DATA
Definition: InstanceScript.h:27

References _encounterState, _guardianTimer, OUT_SAVE_INST_DATA, and OUT_SAVE_INST_DATA_COMPLETE.

◆ IsEncounterInProgress()

bool instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::IsEncounterInProgress ( ) const
inlineoverridevirtual

Reimplemented from InstanceScript.

51 {
52 return false;
53 }

◆ Load()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::Load ( const char *  in)
inlineoverridevirtual

Reimplemented from InstanceScript.

376 {
377 if (!in)
378 {
380 return;
381 }
382
384
385 char dataHead1, dataHead2;
386 uint32 data0, data1;
387
388 std::istringstream loadStream(in);
389 loadStream >> dataHead1 >> dataHead2 >> data0 >> data1;
390
391 if (dataHead1 == 'C' && dataHead2 == 'S')
392 {
393 _encounterState = data0;
394 _guardianTimer = data1;
395
396 //UpdateEventState();
397 _loadTimer++;
398 }
399 else
401
403 }
#define OUT_LOAD_INST_DATA_FAIL
Definition: InstanceScript.h:31
#define OUT_LOAD_INST_DATA_COMPLETE
Definition: InstanceScript.h:30
#define OUT_LOAD_INST_DATA(a)
Definition: InstanceScript.h:29

References _encounterState, _guardianTimer, _loadTimer, OUT_LOAD_INST_DATA, OUT_LOAD_INST_DATA_COMPLETE, and OUT_LOAD_INST_DATA_FAIL.

◆ OnCreatureCreate()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::OnCreatureCreate ( Creature creature)
inlineoverridevirtual

Reimplemented from InstanceScript.

76 {
77 switch (creature->GetEntry())
78 {
79 case NPC_ARTHAS:
80 _arthasGUID = creature->GetGUID();
82 creature->SetVisible(false);
83 else
84 Reposition(creature);
85 break;
86 case NPC_INFINITE:
87 _infiniteGUID = creature->GetGUID();
88 break;
89 }
90 }
@ NPC_ARTHAS
Definition: culling_of_stratholme.h:54
@ NPC_INFINITE
Definition: culling_of_stratholme.h:53
@ COS_PROGRESS_FINISHED
Definition: culling_of_stratholme.h:136
uint32 GetEntry() const
Definition: Object.h:109
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:106
void SetVisible(bool x)
Definition: Unit.cpp:14129
void Reposition(Creature *arthas)
Definition: instance_culling_of_stratholme.cpp:315
ObjectGuid _infiniteGUID
Definition: instance_culling_of_stratholme.cpp:408

References _arthasGUID, _encounterState, _infiniteGUID, COS_PROGRESS_FINISHED, Object::GetEntry(), Object::GetGUID(), NPC_ARTHAS, NPC_INFINITE, Reposition(), and Unit::SetVisible().

◆ OnGameObjectCreate()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::OnGameObjectCreate ( GameObject go)
inlineoverridevirtual

Reimplemented from InstanceScript.

93 {
94 switch (go->GetEntry())
95 {
96 case GO_SHKAF_GATE:
97 _shkafGateGUID = go->GetGUID();
100 break;
101 case GO_EXIT_GATE:
102 _exitGateGUID = go->GetGUID();
105 break;
106 }
107 }
@ GO_STATE_ACTIVE
Definition: GameObjectData.h:690
@ GO_EXIT_GATE
Definition: stratholme.h:74
@ GO_SHKAF_GATE
Definition: culling_of_stratholme.h:68
@ COS_PROGRESS_KILLED_EPOCH
Definition: culling_of_stratholme.h:133
void SetGoState(GOState state)
Definition: GameObject.cpp:2467

References _encounterState, _exitGateGUID, _shkafGateGUID, COS_PROGRESS_FINISHED, COS_PROGRESS_KILLED_EPOCH, Object::GetEntry(), Object::GetGUID(), GO_EXIT_GATE, GO_SHKAF_GATE, GO_STATE_ACTIVE, and GameObject::SetGoState().

◆ OnPlayerEnter()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::OnPlayerEnter ( Player plr)
inlineoverridevirtual

Reimplemented from InstanceScript.

65 {
68
70
71 if (plr->getRace() != RACE_HUMAN && plr->getRace() != RACE_DWARF && plr->getRace() != RACE_GNOME)
72 plr->CastSpell(plr, ((plr->getGender() == GENDER_MALE) ? SPELL_HUMAN_MALE : SPELL_HUMAN_FEMALE), true);
73 }
@ SPELL_HUMAN_MALE
Definition: culling_of_stratholme.h:91
@ SPELL_HUMAN_FEMALE
Definition: culling_of_stratholme.h:90
@ DATA_ARTHAS_REPOSITION
Definition: culling_of_stratholme.h:36
@ GENDER_MALE
Definition: SharedDefines.h:60
@ RACE_DWARF
Definition: SharedDefines.h:72
@ RACE_GNOME
Definition: SharedDefines.h:76
@ RACE_HUMAN
Definition: SharedDefines.h:70
uint8 getGender() const
Definition: Unit.h:1428
uint8 getRace(bool original=false) const
Definition: Unit.cpp:21185
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition: Unit.cpp:1169
uint32 GetPlayersCountExceptGMs() const
Definition: Map.cpp:2729
void SetData(uint32 type, uint32 data) override
Definition: instance_culling_of_stratholme.cpp:109
void EnsureGridLoaded()
Definition: instance_culling_of_stratholme.cpp:354

References Unit::CastSpell(), DATA_ARTHAS_REPOSITION, EnsureGridLoaded(), GENDER_MALE, Unit::getGender(), Map::GetPlayersCountExceptGMs(), Unit::getRace(), InstanceScript::instance, RACE_DWARF, RACE_GNOME, RACE_HUMAN, SetData(), SPELL_HUMAN_FEMALE, and SPELL_HUMAN_MALE.

◆ Reposition()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::Reposition ( Creature arthas)
inline
316 {
317 switch (GetData(DATA_ARTHAS_EVENT))
318 {
320 arthas->UpdatePosition(LeaderIntroPos2, true);
323 break;
330 break;
332 arthas->UpdatePosition(LeaderIntroPos3, true);
335 break;
337 arthas->UpdatePosition(LeaderIntroPos4, true);
340 break;
342 arthas->UpdatePosition(LeaderIntroPos5, true);
345 break;
347 arthas->UpdatePosition(LeaderIntroPos6, true);
350 break;
351 }
352 }
@ COS_PROGRESS_REACHED_TOWN_HALL
Definition: culling_of_stratholme.h:132
@ COS_PROGRESS_LAST_CITY
Definition: culling_of_stratholme.h:134
@ COS_PROGRESS_KILLED_MEATHOOK
Definition: culling_of_stratholme.h:130
@ COS_PROGRESS_FINISHED_CITY_INTRO
Definition: culling_of_stratholme.h:129
@ COS_PROGRESS_FINISHED_INTRO
Definition: culling_of_stratholme.h:128
@ COS_PROGRESS_KILLED_SALRAMM
Definition: culling_of_stratholme.h:131
@ COS_PROGRESS_BEFORE_MALGANIS
Definition: culling_of_stratholme.h:135
const Position LeaderIntroPos2special
Definition: culling_of_stratholme.h:154
void SetHomePosition(float x, float y, float z, float o)
Definition: Creature.h:328
float GetOrientation() const
Definition: Position.h:120
void SetFacingTo(float ori)
Definition: Unit.cpp:20782
virtual bool UpdatePosition(float x, float y, float z, float ang, bool teleport=false)
Definition: Unit.cpp:20194
uint32 GetData(uint32 type) const override
Definition: instance_culling_of_stratholme.cpp:181

References COS_PROGRESS_BEFORE_MALGANIS, COS_PROGRESS_FINISHED_CITY_INTRO, COS_PROGRESS_FINISHED_INTRO, COS_PROGRESS_KILLED_EPOCH, COS_PROGRESS_KILLED_MEATHOOK, COS_PROGRESS_KILLED_SALRAMM, COS_PROGRESS_LAST_CITY, COS_PROGRESS_REACHED_TOWN_HALL, DATA_ARTHAS_EVENT, GetData(), Position::GetOrientation(), LeaderIntroPos2, LeaderIntroPos2special, LeaderIntroPos3, LeaderIntroPos4, LeaderIntroPos5, LeaderIntroPos6, Unit::SetFacingTo(), Creature::SetHomePosition(), and Unit::UpdatePosition().

Referenced by OnCreatureCreate(), and SetData().

◆ SetData()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::SetData ( uint32  type,
uint32  data 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

110 {
111 switch (type)
112 {
113 case DATA_SHOW_CRATES:
115 return;
117 if (!instance->IsHeroic() || !_guardianTimer)
118 return;
121 if (data == 0)
122 {
123 _guardianTimer = 0;
124 SaveToDB();
125 }
126 else if (!_infiniteGUID)
128 return;
129 case DATA_START_WAVES:
131 if (instance->IsHeroic())
132 {
135 if (!_infiniteGUID)
137 }
138 return;
139 case DATA_CRATE_COUNT:
140 _crateCount++;
141 if (_crateCount == 5)
142 {
143 Map::PlayerList const& PlayerList = instance->GetPlayers();
144 if (!PlayerList.IsEmpty())
145 for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
146 i->GetSource()->KilledMonsterCredit(NPC_GRAIN_CREATE_TRIGGER);
147
151 }
152
154 return;
156 // Start Event
157 _encounterState = data;
158 if (data == COS_PROGRESS_START_INTRO)
159 {
161 arthas->AI()->DoAction(ACTION_START_EVENT);
162 }
163 else if (data == COS_PROGRESS_KILLED_SALRAMM)
164 {
166 arthas->AI()->DoAction(ACTION_KILLED_SALRAMM);
167 }
168 break;
170 if (data == 2)
172 else if (Creature* arthas = instance->GetCreature(_arthasGUID))
173 Reposition(arthas);
174 return;
175 }
176
177 if (type == DATA_ARTHAS_EVENT)
178 SaveToDB();
179 }
constexpr auto IN_MILLISECONDS
Definition: Common.h:62
constexpr auto MINUTE
Definition: Common.h:56
@ ACTION_START_EVENT
Definition: chapter5.cpp:192
@ ACTION_KILLED_SALRAMM
Definition: culling_of_stratholme.h:143
@ NPC_GRAIN_CREATE_TRIGGER
Definition: culling_of_stratholme.h:62
@ COS_PROGRESS_CRATES_FOUND
Definition: culling_of_stratholme.h:126
@ COS_PROGRESS_START_INTRO
Definition: culling_of_stratholme.h:127
@ EVENT_SRC_CORRUPTOR
Definition: culling_of_stratholme.h:119
const Position EventPos[]
Definition: culling_of_stratholme.h:160
@ DATA_SHOW_INFINITE_TIMER
Definition: culling_of_stratholme.h:35
@ DATA_START_WAVES
Definition: culling_of_stratholme.h:34
@ DATA_CRATE_COUNT
Definition: culling_of_stratholme.h:33
@ DATA_SHOW_CRATES
Definition: culling_of_stratholme.h:32
Definition: LinkedList.h:139
void SaveToDB()
Definition: InstanceScript.cpp:41
void DoUpdateWorldState(uint32 worldstateId, uint32 worldstateValue)
Definition: InstanceScript.cpp:519
Creature * GetCreature(ObjectGuid const guid)
Definition: Map.cpp:3293
bool IsHeroic() const
Definition: Map.h:451
Definition: MapRefMgr.h:26
iterator begin()
Definition: MapRefMgr.h:36
iterator end()
Definition: MapRefMgr.h:37

References _arthasGUID, _crateCount, _encounterState, _guardianTimer, _infiniteGUID, _respawnAndReposition, _showCrateTimer, ACTION_KILLED_SALRAMM, ACTION_START_EVENT, MapRefMgr::begin(), COS_PROGRESS_CRATES_FOUND, COS_PROGRESS_KILLED_SALRAMM, COS_PROGRESS_START_INTRO, DATA_ARTHAS_EVENT, DATA_ARTHAS_REPOSITION, DATA_CRATE_COUNT, DATA_SHOW_CRATES, DATA_SHOW_INFINITE_TIMER, DATA_START_WAVES, InstanceScript::DoUpdateWorldState(), MapRefMgr::end(), EVENT_SRC_CORRUPTOR, EventPos, Map::GetCreature(), GetData(), Map::GetPlayers(), IN_MILLISECONDS, InstanceScript::instance, LinkedListHead::IsEmpty(), Map::IsHeroic(), MINUTE, NPC_GRAIN_CREATE_TRIGGER, NPC_INFINITE, Reposition(), InstanceScript::SaveToDB(), SetData(), Map::SummonCreature(), WORLDSTATE_CRATES_REVEALED, WORLDSTATE_SHOW_CRATES, WORLDSTATE_TIME_GUARDIAN, WORLDSTATE_TIME_GUARDIAN_SHOW, and WORLDSTATE_WAVE_COUNT.

Referenced by OnPlayerEnter(), and SetData().

◆ Update()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::Update ( uint32  diff)
inlineoverridevirtual

Reimplemented from InstanceScript.

209 {
210 if (_loadTimer)
211 {
212 _loadTimer += diff;
213 if (_loadTimer > 3000)
214 {
216 _loadTimer = 0;
217 }
218 }
219 // Used when arthas dies
221 {
223 {
224 if (!arthas->IsAlive())
225 {
227 arthas->setDeathState(DEAD);
228 arthas->Respawn();
229 }
230 else
231 {
232 arthas->AI()->Reset();
233 _respawnAndReposition = false;
234 }
235 }
236 }
237
238 // Used after 5-th crates is revealed
239 if (_showCrateTimer)
240 {
241 _showCrateTimer += diff;
242 if (_showCrateTimer >= 20000)
243 {
245 _showCrateTimer = 0; // just to be sure
246 }
247 }
248
249 // Used to display how much time players have
250 if (_guardianTimer)
251 {
253 _guardianTimer -= diff;
255
256 if (divAfter == 0)
257 {
258 _guardianTimer = 0;
260
261 // Inform infinite we run out of time
264 cr->AI()->DoAction(ACTION_RUN_OUT_OF_TIME);
265 }
266 else if (div > divAfter)
267 {
268 if (divAfter == 5)
270 else if (divAfter == 1)
272
274 SaveToDB();
275 }
276 }
277 }
@ DEAD
Definition: Unit.h:319
@ ACTION_RUN_OUT_OF_TIME
Definition: culling_of_stratholme.h:147
void ChromieWhisper(uint8 textId)
Definition: instance_culling_of_stratholme.cpp:300
void UpdateEventState()
Definition: instance_culling_of_stratholme.cpp:279

References _arthasGUID, _guardianTimer, _infiniteGUID, _loadTimer, _respawnAndReposition, _showCrateTimer, ACTION_RUN_OUT_OF_TIME, ChromieWhisper(), DEAD, InstanceScript::DoUpdateWorldState(), EnsureGridLoaded(), Map::GetCreature(), IN_MILLISECONDS, InstanceScript::instance, Map::IsHeroic(), MINUTE, InstanceScript::SaveToDB(), UpdateEventState(), WORLDSTATE_TIME_GUARDIAN, and WORLDSTATE_TIME_GUARDIAN_SHOW.

◆ UpdateEventState()

void instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::UpdateEventState ( )
inline

Member Data Documentation

◆ _arthasGUID

ObjectGuid instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::_arthasGUID
private

◆ _crateCount

uint32 instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::_crateCount
private

◆ _encounterState

uint32 instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::_encounterState
private

◆ _exitGateGUID

ObjectGuid instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::_exitGateGUID
private

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ _guardianTimer

uint32 instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::_guardianTimer
private

◆ _infiniteGUID

ObjectGuid instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::_infiniteGUID
private

Referenced by OnCreatureCreate(), SetData(), and Update().

◆ _loadTimer

uint32 instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::_loadTimer
private

◆ _respawnAndReposition

bool instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::_respawnAndReposition
private

◆ _shkafGateGUID

ObjectGuid instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::_shkafGateGUID
private

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ _showCrateTimer

uint32 instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::_showCrateTimer
private