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

Public Member Functions

 instance_old_hillsbrad_InstanceMapScript (Map *map)
 
void Initialize () override
 
void OnPlayerEnter (Player *player) override
 
void CleanupInstance ()
 
void OnCreatureCreate (Creature *creature) override
 
void OnGameObjectCreate (GameObject *gameobject) override
 
void SetData (uint32 type, uint32 data) override
 
uint32 GetData (uint32 data) const override
 
ObjectGuid GetGuidData (uint32 data) const override
 
void Update (uint32 diff) override
 
void Reposition (Creature *thrall)
 
void EnsureGridLoaded ()
 
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 Attributes

uint32 _encounterProgress
 
uint32 _barrelCount
 
uint32 _attemptsCount
 
ObjectGuid _thrallGUID
 
ObjectGuid _tarethaGUID
 
GuidSet _initalFlamesSet
 
GuidSet _finalFlamesSet
 
GuidSet _prisonersSet
 
EventMap _events
 

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

instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::instance_old_hillsbrad_InstanceMapScript ( Map map)
inline
52: InstanceScript(map) { }
Definition: InstanceScript.h:140

Member Function Documentation

◆ CleanupInstance()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::CleanupInstance ( )
inline
79 {
81 return;
82
85
88 else
90 }
@ DATA_THRALL_REPOSITION
Definition: old_hillsbrad.h:32
@ EVENT_INITIAL_BARRELS_FLAME
Definition: old_hillsbrad.h:83
@ EVENT_SUMMON_LIEUTENANT
Definition: old_hillsbrad.h:85
@ ENCOUNTER_PROGRESS_BARRELS
Definition: old_hillsbrad.h:73
@ EVENT_FINAL_BARRELS_FLAME
Definition: old_hillsbrad.h:84
@ ENCOUNTER_PROGRESS_NONE
Definition: old_hillsbrad.h:72
void ScheduleEvent(uint32 eventId, uint32 time, uint32 group=0, uint32 phase=0)
Definition: EventMap.cpp:56
void SetData(uint32 type, uint32 data) override
Definition: instance_old_hillsbrad.cpp:136
uint32 _encounterProgress
Definition: instance_old_hillsbrad.cpp:311
EventMap _events
Definition: instance_old_hillsbrad.cpp:321

References _encounterProgress, _events, DATA_THRALL_REPOSITION, ENCOUNTER_PROGRESS_BARRELS, ENCOUNTER_PROGRESS_NONE, EVENT_FINAL_BARRELS_FLAME, EVENT_INITIAL_BARRELS_FLAME, EVENT_SUMMON_LIEUTENANT, EventMap::ScheduleEvent(), and SetData().

Referenced by OnPlayerEnter().

◆ EnsureGridLoaded()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::EnsureGridLoaded ( )
inline
294 {
295 for (uint8 i = 0; i < THRALL_POSITIONS_COUNT; ++i)
297 }
std::uint8_t uint8
Definition: Define.h:110
const Position thrallPositions[THRALL_POSITIONS_COUNT]
Definition: instance_old_hillsbrad.cpp:31
@ THRALL_POSITIONS_COUNT
Definition: old_hillsbrad.h:89
float GetPositionX() const
Definition: Position.h:117
float GetPositionY() const
Definition: Position.h:118
Map * instance
Definition: InstanceScript.h:146
void LoadGrid(float x, float y)
Definition: Map.cpp:494

References Position::GetPositionX(), Position::GetPositionY(), InstanceScript::instance, Map::LoadGrid(), THRALL_POSITIONS_COUNT, and thrallPositions.

Referenced by OnPlayerEnter(), and Update().

◆ GetData()

uint32 instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::GetData ( uint32  data) const
inlineoverridevirtual

Reimplemented from ZoneScript.

172 {
173 if (data == DATA_ESCORT_PROGRESS)
174 return _encounterProgress;
175 else if (data == DATA_ATTEMPTS_COUNT)
176 return _attemptsCount;
177 return 0;
178 }
@ DATA_ESCORT_PROGRESS
Definition: old_hillsbrad.h:29
@ DATA_ATTEMPTS_COUNT
Definition: old_hillsbrad.h:36
uint32 _attemptsCount
Definition: instance_old_hillsbrad.cpp:313

References _attemptsCount, _encounterProgress, DATA_ATTEMPTS_COUNT, and DATA_ESCORT_PROGRESS.

Referenced by Reposition().

◆ GetGuidData()

ObjectGuid instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::GetGuidData ( uint32  data) const
inlineoverridevirtual

Reimplemented from InstanceScript.

181 {
182 if (data == DATA_THRALL_GUID)
183 return _thrallGUID;
184 else if (data == DATA_TARETHA_GUID)
185 return _tarethaGUID;
186
187 return ObjectGuid::Empty;
188 }
@ DATA_TARETHA_GUID
Definition: old_hillsbrad.h:35
@ DATA_THRALL_GUID
Definition: old_hillsbrad.h:34
static ObjectGuid const Empty
Definition: ObjectGuid.h:122
ObjectGuid _tarethaGUID
Definition: instance_old_hillsbrad.cpp:316
ObjectGuid _thrallGUID
Definition: instance_old_hillsbrad.cpp:315

References _tarethaGUID, _thrallGUID, DATA_TARETHA_GUID, DATA_THRALL_GUID, and ObjectGuid::Empty.

◆ Initialize()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Initialize ( )
inlineoverridevirtual

Reimplemented from InstanceScript.

55 {
58 _barrelCount = 0;
60
61 _initalFlamesSet.clear();
62 _finalFlamesSet.clear();
63 _prisonersSet.clear();
64 _events.Reset();
65 }
#define DataHeader
Definition: blackrock_depths.h:23
void Reset()
Definition: EventMap.cpp:21
void SetHeaders(std::string const &dataHeaders)
Definition: InstanceScript.cpp:137
GuidSet _initalFlamesSet
Definition: instance_old_hillsbrad.cpp:317
GuidSet _prisonersSet
Definition: instance_old_hillsbrad.cpp:319
GuidSet _finalFlamesSet
Definition: instance_old_hillsbrad.cpp:318
uint32 _barrelCount
Definition: instance_old_hillsbrad.cpp:312

References _attemptsCount, _barrelCount, _encounterProgress, _events, _finalFlamesSet, _initalFlamesSet, _prisonersSet, DataHeader, EventMap::Reset(), and InstanceScript::SetHeaders().

◆ OnCreatureCreate()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::OnCreatureCreate ( Creature creature)
inlineoverridevirtual

Reimplemented from InstanceScript.

93 {
94 switch (creature->GetEntry())
95 {
96 case NPC_THRALL:
97 _thrallGUID = creature->GetGUID();
99 creature->SetVisible(false);
100 else
101 Reposition(creature);
102 break;
103 case NPC_ORC_PRISONER:
104 _prisonersSet.insert(creature->GetGUID());
105 break;
106 case NPC_TARETHA:
108 creature->SetVisible(false);
109 _tarethaGUID = creature->GetGUID();
110 break;
111 }
112 }
@ NPC_THRALL
Definition: zone_undercity.cpp:447
@ ENCOUNTER_PROGRESS_FINISHED
Definition: old_hillsbrad.h:81
@ NPC_ORC_PRISONER
Definition: old_hillsbrad.h:48
@ NPC_TARETHA
Definition: old_hillsbrad.h:43
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 *thrall)
Definition: instance_old_hillsbrad.cpp:277

References _encounterProgress, _prisonersSet, _tarethaGUID, _thrallGUID, ENCOUNTER_PROGRESS_FINISHED, Object::GetEntry(), Object::GetGUID(), NPC_ORC_PRISONER, NPC_TARETHA, NPC_THRALL, Reposition(), and Unit::SetVisible().

◆ OnGameObjectCreate()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::OnGameObjectCreate ( GameObject gameobject)
inlineoverridevirtual

Reimplemented from InstanceScript.

115 {
116 switch (gameobject->GetEntry())
117 {
118 case GO_BARREL:
121 break;
122 case GO_PRISON_DOOR:
124 gameobject->SetGoState(GO_STATE_ACTIVE);
125 break;
126 case GO_ROARING_FLAME:
127 // Xinef: hack in DB to distinguish final / initial flames
128 if (gameobject->GetPhaseMask() & 0x2)
129 _finalFlamesSet.insert(gameobject->GetGUID());
130 else
131 _initalFlamesSet.insert(gameobject->GetGUID());
132 break;
133 }
134 }
@ GO_STATE_ACTIVE
Definition: GameObjectData.h:690
@ GO_ROARING_FLAME
Definition: hyjal.h:98
@ ENCOUNTER_PROGRESS_THRALL_ARMORED
Definition: old_hillsbrad.h:75
@ GO_PRISON_DOOR
Definition: old_hillsbrad.h:64
@ GO_BARREL
Definition: old_hillsbrad.h:62
@ GO_FLAG_NOT_SELECTABLE
Definition: SharedDefines.h:1579
void SetGoState(GOState state)
Definition: GameObject.cpp:2467
void SetGameObjectFlag(GameObjectFlags flags)
Definition: GameObject.h:220
uint32 GetPhaseMask() const
Definition: Object.h:434

References _encounterProgress, _finalFlamesSet, _initalFlamesSet, ENCOUNTER_PROGRESS_BARRELS, ENCOUNTER_PROGRESS_THRALL_ARMORED, Object::GetEntry(), Object::GetGUID(), WorldObject::GetPhaseMask(), GO_BARREL, GO_FLAG_NOT_SELECTABLE, GO_PRISON_DOOR, GO_ROARING_FLAME, GO_STATE_ACTIVE, GameObject::SetGameObjectFlag(), and GameObject::SetGoState().

◆ OnPlayerEnter()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::OnPlayerEnter ( Player player)
inlineoverridevirtual

Reimplemented from InstanceScript.

68 {
71
73
76 }
@ WORLD_STATE_BARRELS_PLANTED
Definition: old_hillsbrad.h:69
void SendUpdateWorldState(uint32 variable, uint32 value) const
Definition: PlayerUpdates.cpp:2194
uint32 GetPlayersCountExceptGMs() const
Definition: Map.cpp:2729
void CleanupInstance()
Definition: instance_old_hillsbrad.cpp:78
void EnsureGridLoaded()
Definition: instance_old_hillsbrad.cpp:293

References _barrelCount, _encounterProgress, CleanupInstance(), ENCOUNTER_PROGRESS_BARRELS, EnsureGridLoaded(), Map::GetPlayersCountExceptGMs(), InstanceScript::instance, Player::SendUpdateWorldState(), and WORLD_STATE_BARRELS_PLANTED.

◆ ReadSaveDataMore()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::ReadSaveDataMore ( std::istringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

300 {
301 data >> _encounterProgress;
302 data >> _attemptsCount;
303 }

References _attemptsCount, and _encounterProgress.

◆ Reposition()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Reposition ( Creature thrall)
inline
278 {
279 switch (uint32 data = GetData(DATA_ESCORT_PROGRESS))
280 {
288 thrall->SetFacingTo(thrallPositions[data - ENCOUNTER_PROGRESS_THRALL_ARMORED].GetOrientation());
289 break;
290 }
291 }
std::uint32_t uint32
Definition: Define.h:108
@ ENCOUNTER_PROGRESS_AMBUSHES_1
Definition: old_hillsbrad.h:76
@ ENCOUNTER_PROGRESS_TARETHA_MEET
Definition: old_hillsbrad.h:79
@ ENCOUNTER_PROGRESS_SKARLOC_KILLED
Definition: old_hillsbrad.h:77
@ ENCOUNTER_PROGRESS_TARREN_MILL
Definition: old_hillsbrad.h:78
void SetHomePosition(float x, float y, float z, float o)
Definition: Creature.h:328
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 data) const override
Definition: instance_old_hillsbrad.cpp:171

References DATA_ESCORT_PROGRESS, ENCOUNTER_PROGRESS_AMBUSHES_1, ENCOUNTER_PROGRESS_SKARLOC_KILLED, ENCOUNTER_PROGRESS_TARETHA_MEET, ENCOUNTER_PROGRESS_TARREN_MILL, ENCOUNTER_PROGRESS_THRALL_ARMORED, GetData(), Unit::SetFacingTo(), Creature::SetHomePosition(), thrallPositions, and Unit::UpdatePosition().

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

◆ SetData()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::SetData ( uint32  type,
uint32  data 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

137 {
138 switch (type)
139 {
141 if (data > 1)
142 _events.ScheduleEvent(EVENT_THRALL_REPOSITION, data == 2 ? 0 : 10000);
143 else if (Creature* thrall = instance->GetCreature(_thrallGUID))
144 Reposition(thrall);
145 return;
147 _encounterProgress = data;
148 SaveToDB();
149 break;
151 {
153 return;
154
156 if (_barrelCount == 5)
157 {
161 }
162 break;
163 }
166 thrall->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
167 break;
168 }
169 }
@ UNIT_NPC_FLAG_GOSSIP
Definition: Unit.h:516
@ DATA_THRALL_ADD_FLAG
Definition: old_hillsbrad.h:33
@ DATA_BOMBS_PLACED
Definition: old_hillsbrad.h:31
@ EVENT_THRALL_REPOSITION
Definition: old_hillsbrad.h:86
Definition: Creature.h:46
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

References _barrelCount, _encounterProgress, _events, _thrallGUID, DATA_BOMBS_PLACED, DATA_ESCORT_PROGRESS, DATA_THRALL_ADD_FLAG, DATA_THRALL_REPOSITION, InstanceScript::DoUpdateWorldState(), ENCOUNTER_PROGRESS_NONE, EVENT_FINAL_BARRELS_FLAME, EVENT_INITIAL_BARRELS_FLAME, EVENT_SUMMON_LIEUTENANT, EVENT_THRALL_REPOSITION, Map::GetCreature(), InstanceScript::instance, Reposition(), InstanceScript::SaveToDB(), EventMap::ScheduleEvent(), UNIT_NPC_FLAG_GOSSIP, and WORLD_STATE_BARRELS_PLANTED.

Referenced by CleanupInstance(), and Update().

◆ Update()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Update ( uint32  diff)
inlineoverridevirtual

Reimplemented from InstanceScript.

191 {
192 _events.Update(diff);
193 switch (_events.ExecuteEvent())
194 {
196 {
197 instance->LoadGrid(instancePositions[0].GetPositionX(), instancePositions[0].GetPositionY());
198 instance->LoadGrid(instancePositions[1].GetPositionX(), instancePositions[1].GetPositionY());
199
200 for (ObjectGuid const& guid : _prisonersSet)
201 if (Creature* orc = instance->GetCreature(guid))
202 {
203 uint8 index = orc->GetDistance(instancePositions[0]) < 80.0f ? 0 : 1;
204 Position pos(instancePositions[index]);
205 orc->MovePosition(pos, frand(1.0f, 3.0f) + 15.0f * (float)rand_norm(), (float)rand_norm() * static_cast<float>(2 * M_PI));
206 orc->GetMotionMaster()->MovePoint(1, pos);
207 orc->SetStandState(UNIT_STAND_STATE_STAND);
208 }
209
210 for (ObjectGuid const& guid : _initalFlamesSet)
211 if (GameObject* gobject = instance->GetGameObject(guid))
212 {
213 gobject->SetRespawnTime(0);
214 gobject->UpdateObjectVisibility(true);
215 }
216 break;
217 }
219 {
220 instance->LoadGrid(instancePositions[0].GetPositionX(), instancePositions[0].GetPositionY());
221 instance->LoadGrid(instancePositions[1].GetPositionX(), instancePositions[1].GetPositionY());
222
224 {
225 Map::PlayerList const& players = instance->GetPlayers();
226 if (!players.IsEmpty())
227 for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
228 if (Player* player = itr->GetSource())
229 player->KilledMonsterCredit(NPC_LODGE_QUEST_TRIGGER);
230 }
231
232 for (ObjectGuid const& guid : _finalFlamesSet)
233 if (GameObject* gobject = instance->GetGameObject(guid))
234 {
235 gobject->SetRespawnTime(0);
236 gobject->UpdateObjectVisibility(true);
237 }
238
239 for (ObjectGuid const& guid : _prisonersSet)
240 if (Creature* orc = instance->GetCreature(guid))
241 if (roll_chance_i(25))
242 orc->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
243
246 break;
247 }
249 {
250 instance->LoadGrid(instancePositions[2].GetPositionX(), instancePositions[2].GetPositionY());
252 break;
253 }
255 {
257 {
258 if (!thrall->IsAlive())
259 {
262 thrall->SetVisible(false);
263 Reposition(thrall);
264 thrall->setDeathState(DEAD);
265 thrall->Respawn();
266 thrall->SetVisible(true);
267 SaveToDB();
268 }
269 else
270 thrall->AI()->Reset();
271 }
272 break;
273 }
274 }
275 }
float frand(float min, float max)
Definition: Random.cpp:57
double rand_norm()
Definition: Random.cpp:77
bool roll_chance_i(int chance)
Definition: Random.h:59
@ DEAD
Definition: Unit.h:319
@ UNIT_STAND_STATE_STAND
Definition: Unit.h:53
static Position const instancePositions[INSTANCE_POSITIONS_COUNT]
Definition: instance_old_hillsbrad.cpp:24
@ NPC_LIEUTENANT_DRAKE
Definition: old_hillsbrad.h:45
@ NPC_LODGE_QUEST_TRIGGER
Definition: old_hillsbrad.h:47
@ EMOTE_ONESHOT_CHEER
Definition: SharedDefines.h:1870
bool IsEmpty() const
Definition: LinkedList.h:97
Definition: LinkedList.h:139
uint32 ExecuteEvent()
Definition: EventMap.cpp:114
void Update(uint32 time)
Definition: EventMap.h:54
Definition: GameObject.h:122
Definition: ObjectGuid.h:120
Definition: Position.h:28
Definition: Player.h:1046
GameObject * GetGameObject(ObjectGuid const guid)
Definition: Map.cpp:3298
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
Definition: MapRefMgr.h:26
iterator begin()
Definition: MapRefMgr.h:36
iterator end()
Definition: MapRefMgr.h:37

References _attemptsCount, _encounterProgress, _events, _finalFlamesSet, _initalFlamesSet, _prisonersSet, _thrallGUID, MapRefMgr::begin(), DATA_ESCORT_PROGRESS, DEAD, InstanceScript::DoUpdateWorldState(), EMOTE_ONESHOT_CHEER, ENCOUNTER_PROGRESS_BARRELS, ENCOUNTER_PROGRESS_NONE, MapRefMgr::end(), EnsureGridLoaded(), EVENT_FINAL_BARRELS_FLAME, EVENT_INITIAL_BARRELS_FLAME, EVENT_SUMMON_LIEUTENANT, EVENT_THRALL_REPOSITION, EventMap::ExecuteEvent(), frand(), Map::GetCreature(), Map::GetGameObject(), Map::GetPlayers(), InstanceScript::instance, instancePositions, LinkedListHead::IsEmpty(), Map::LoadGrid(), NPC_LIEUTENANT_DRAKE, NPC_LODGE_QUEST_TRIGGER, rand_norm(), Reposition(), roll_chance_i(), InstanceScript::SaveToDB(), SetData(), Map::SummonCreature(), UNIT_STAND_STATE_STAND, EventMap::Update(), and WORLD_STATE_BARRELS_PLANTED.

◆ WriteSaveDataMore()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::WriteSaveDataMore ( std::ostringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

306 {
307 data << _encounterProgress << ' ' << _attemptsCount;
308 }

References _attemptsCount, and _encounterProgress.

Member Data Documentation

◆ _attemptsCount

uint32 instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::_attemptsCount
private

◆ _barrelCount

uint32 instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::_barrelCount
private

Referenced by Initialize(), OnPlayerEnter(), and SetData().

◆ _encounterProgress

uint32 instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::_encounterProgress
private

◆ _events

EventMap instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::_events
private

◆ _finalFlamesSet

GuidSet instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::_finalFlamesSet
private

◆ _initalFlamesSet

GuidSet instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::_initalFlamesSet
private

◆ _prisonersSet

GuidSet instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::_prisonersSet
private

◆ _tarethaGUID

ObjectGuid instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::_tarethaGUID
private

Referenced by GetGuidData(), and OnCreatureCreate().

◆ _thrallGUID

ObjectGuid instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::_thrallGUID
private