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)
 
void DoForAllMinions (uint32 id, std::function< void(Creature *)> exec)
 
- 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
 
TaskScheduler scheduler
 
- 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=true)
 
void RemoveObject (Creature *obj)
 
void AddObject (GameObject *obj, bool add=true)
 
void RemoveObject (GameObject *obj)
 
void AddObject (WorldObject *obj, uint32 type, bool add=true)
 
void RemoveObject (WorldObject *obj, uint32 type)
 
void AddDoor (GameObject *door, bool add=true)
 
void RemoveDoor (GameObject *door)
 
void AddMinion (Creature *minion, bool add=true)
 
void RemoveMinion (Creature *minion)
 
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
53: InstanceScript(map) { }
Definition: InstanceScript.h:141

Member Function Documentation

◆ CleanupInstance()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::CleanupInstance ( )
inline
80 {
82 return;
83
86
89 else
91 }
@ DATA_THRALL_REPOSITION
Definition: old_hillsbrad.h:35
@ EVENT_INITIAL_BARRELS_FLAME
Definition: old_hillsbrad.h:86
@ EVENT_SUMMON_LIEUTENANT
Definition: old_hillsbrad.h:88
@ ENCOUNTER_PROGRESS_BARRELS
Definition: old_hillsbrad.h:76
@ EVENT_FINAL_BARRELS_FLAME
Definition: old_hillsbrad.h:87
@ ENCOUNTER_PROGRESS_NONE
Definition: old_hillsbrad.h:75
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:137
uint32 _encounterProgress
Definition: instance_old_hillsbrad.cpp:315
EventMap _events
Definition: instance_old_hillsbrad.cpp:325

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
298 {
299 for (uint8 i = 0; i < THRALL_POSITIONS_COUNT; ++i)
301 }
std::uint8_t uint8
Definition: Define.h:110
const Position thrallPositions[THRALL_POSITIONS_COUNT]
Definition: instance_old_hillsbrad.cpp:32
@ THRALL_POSITIONS_COUNT
Definition: old_hillsbrad.h:92
float GetPositionX() const
Definition: Position.h:117
float GetPositionY() const
Definition: Position.h:118
Map * instance
Definition: InstanceScript.h:147
void LoadGrid(float x, float y)
Definition: Map.cpp:492

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.

176 {
177 if (data == DATA_ESCORT_PROGRESS)
178 return _encounterProgress;
179 else if (data == DATA_ATTEMPTS_COUNT)
180 return _attemptsCount;
181 return 0;
182 }
@ DATA_ESCORT_PROGRESS
Definition: old_hillsbrad.h:29
@ DATA_ATTEMPTS_COUNT
Definition: old_hillsbrad.h:39
uint32 _attemptsCount
Definition: instance_old_hillsbrad.cpp:317

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.

185 {
186 if (data == DATA_THRALL_GUID)
187 return _thrallGUID;
188 else if (data == DATA_TARETHA_GUID)
189 return _tarethaGUID;
190
191 return ObjectGuid::Empty;
192 }
@ DATA_TARETHA_GUID
Definition: old_hillsbrad.h:38
@ DATA_THRALL_GUID
Definition: old_hillsbrad.h:37
static ObjectGuid const Empty
Definition: ObjectGuid.h:122
ObjectGuid _tarethaGUID
Definition: instance_old_hillsbrad.cpp:320
ObjectGuid _thrallGUID
Definition: instance_old_hillsbrad.cpp:319

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.

56 {
59 _barrelCount = 0;
61
62 _initalFlamesSet.clear();
63 _finalFlamesSet.clear();
64 _prisonersSet.clear();
65 _events.Reset();
66 }
#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:321
GuidSet _prisonersSet
Definition: instance_old_hillsbrad.cpp:323
GuidSet _finalFlamesSet
Definition: instance_old_hillsbrad.cpp:322
uint32 _barrelCount
Definition: instance_old_hillsbrad.cpp:316

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.

94 {
95 switch (creature->GetEntry())
96 {
97 case NPC_THRALL:
98 _thrallGUID = creature->GetGUID();
100 creature->SetVisible(false);
101 else
102 Reposition(creature);
103 break;
104 case NPC_ORC_PRISONER:
105 _prisonersSet.insert(creature->GetGUID());
106 break;
107 case NPC_TARETHA:
109 creature->SetVisible(false);
110 _tarethaGUID = creature->GetGUID();
111 break;
112 }
113 }
@ NPC_THRALL
Definition: zone_undercity.cpp:448
@ ENCOUNTER_PROGRESS_FINISHED
Definition: old_hillsbrad.h:84
@ NPC_ORC_PRISONER
Definition: old_hillsbrad.h:51
@ NPC_TARETHA
Definition: old_hillsbrad.h:46
uint32 GetEntry() const
Definition: Object.h:109
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:106
void SetVisible(bool x)
Definition: Unit.cpp:14220
void Reposition(Creature *thrall)
Definition: instance_old_hillsbrad.cpp:281

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.

116 {
117 switch (gameobject->GetEntry())
118 {
119 case GO_BARREL:
122 break;
123 case GO_PRISON_DOOR:
125 gameobject->SetGoState(GO_STATE_ACTIVE);
126 break;
127 case GO_ROARING_FLAME:
128 // Xinef: hack in DB to distinguish final / initial flames
129 if (gameobject->GetPhaseMask() & 0x2)
130 _finalFlamesSet.insert(gameobject->GetGUID());
131 else
132 _initalFlamesSet.insert(gameobject->GetGUID());
133 break;
134 }
135 }
@ GO_STATE_ACTIVE
Definition: GameObjectData.h:690
@ GO_ROARING_FLAME
Definition: hyjal.h:98
@ ENCOUNTER_PROGRESS_THRALL_ARMORED
Definition: old_hillsbrad.h:78
@ GO_PRISON_DOOR
Definition: old_hillsbrad.h:67
@ GO_BARREL
Definition: old_hillsbrad.h:65
@ GO_FLAG_NOT_SELECTABLE
Definition: SharedDefines.h:1607
void SetGoState(GOState state)
Definition: GameObject.cpp:2477
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.

69 {
72
74
77 }
@ WORLD_STATE_BARRELS_PLANTED
Definition: old_hillsbrad.h:72
void SendUpdateWorldState(uint32 variable, uint32 value) const
Definition: PlayerUpdates.cpp:2197
uint32 GetPlayersCountExceptGMs() const
Definition: Map.cpp:2740
void CleanupInstance()
Definition: instance_old_hillsbrad.cpp:79
void EnsureGridLoaded()
Definition: instance_old_hillsbrad.cpp:297

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.

304 {
305 data >> _encounterProgress;
306 data >> _attemptsCount;
307 }

References _attemptsCount, and _encounterProgress.

◆ Reposition()

void instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Reposition ( Creature thrall)
inline
282 {
283 switch (uint32 data = GetData(DATA_ESCORT_PROGRESS))
284 {
292 thrall->SetFacingTo(thrallPositions[data - ENCOUNTER_PROGRESS_THRALL_ARMORED].GetOrientation());
293 break;
294 }
295 }
std::uint32_t uint32
Definition: Define.h:108
@ ENCOUNTER_PROGRESS_AMBUSHES_1
Definition: old_hillsbrad.h:79
@ ENCOUNTER_PROGRESS_TARETHA_MEET
Definition: old_hillsbrad.h:82
@ ENCOUNTER_PROGRESS_SKARLOC_KILLED
Definition: old_hillsbrad.h:80
@ ENCOUNTER_PROGRESS_TARREN_MILL
Definition: old_hillsbrad.h:81
void SetHomePosition(float x, float y, float z, float o)
Definition: Creature.h:330
void SetFacingTo(float ori)
Definition: Unit.cpp:20884
virtual bool UpdatePosition(float x, float y, float z, float ang, bool teleport=false)
Definition: Unit.cpp:20296
uint32 GetData(uint32 data) const override
Definition: instance_old_hillsbrad.cpp:175

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.

138 {
139 switch (type)
140 {
142 if (data > 1)
143 _events.ScheduleEvent(EVENT_THRALL_REPOSITION, data == 2 ? 0 : 10000);
144 else if (Creature* thrall = instance->GetCreature(_thrallGUID))
145 Reposition(thrall);
146 return;
148 if (_encounterProgress < data)
149 {
150 _encounterProgress = data;
151 SaveToDB();
152 }
153 break;
155 {
157 return;
158
160 if (_barrelCount == 5)
161 {
165 }
166 break;
167 }
170 thrall->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
171 break;
172 }
173 }
@ UNIT_NPC_FLAG_GOSSIP
Definition: Unit.h:516
@ DATA_THRALL_ADD_FLAG
Definition: old_hillsbrad.h:36
@ DATA_BOMBS_PLACED
Definition: old_hillsbrad.h:34
@ EVENT_THRALL_REPOSITION
Definition: old_hillsbrad.h:89
Definition: Creature.h:46
void SaveToDB()
Definition: InstanceScript.cpp:40
void DoUpdateWorldState(uint32 worldstateId, uint32 worldstateValue)
Definition: InstanceScript.cpp:576
Creature * GetCreature(ObjectGuid const guid)
Definition: Map.cpp:3307

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.

195 {
196 _events.Update(diff);
197 switch (_events.ExecuteEvent())
198 {
200 {
201 instance->LoadGrid(instancePositions[0].GetPositionX(), instancePositions[0].GetPositionY());
202 instance->LoadGrid(instancePositions[1].GetPositionX(), instancePositions[1].GetPositionY());
203
204 for (ObjectGuid const& guid : _prisonersSet)
205 if (Creature* orc = instance->GetCreature(guid))
206 {
207 uint8 index = orc->GetDistance(instancePositions[0]) < 80.0f ? 0 : 1;
208 Position pos(instancePositions[index]);
209 orc->MovePosition(pos, frand(1.0f, 3.0f) + 15.0f * (float)rand_norm(), (float)rand_norm() * static_cast<float>(2 * M_PI));
210 orc->GetMotionMaster()->MovePoint(1, pos);
211 orc->SetStandState(UNIT_STAND_STATE_STAND);
212 }
213
214 for (ObjectGuid const& guid : _initalFlamesSet)
215 if (GameObject* gobject = instance->GetGameObject(guid))
216 {
217 gobject->SetRespawnTime(0);
218 gobject->UpdateObjectVisibility(true);
219 }
220 break;
221 }
223 {
224 instance->LoadGrid(instancePositions[0].GetPositionX(), instancePositions[0].GetPositionY());
225 instance->LoadGrid(instancePositions[1].GetPositionX(), instancePositions[1].GetPositionY());
226
228 {
229 Map::PlayerList const& players = instance->GetPlayers();
230 if (!players.IsEmpty())
231 for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
232 if (Player* player = itr->GetSource())
233 player->KilledMonsterCredit(NPC_LODGE_QUEST_TRIGGER);
234 }
235
236 for (ObjectGuid const& guid : _finalFlamesSet)
237 if (GameObject* gobject = instance->GetGameObject(guid))
238 {
239 gobject->SetRespawnTime(0);
240 gobject->UpdateObjectVisibility(true);
241 }
242
243 for (ObjectGuid const& guid : _prisonersSet)
244 if (Creature* orc = instance->GetCreature(guid))
245 if (roll_chance_i(25))
246 orc->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
247
250 break;
251 }
253 {
254 instance->LoadGrid(instancePositions[2].GetPositionX(), instancePositions[2].GetPositionY());
256 break;
257 }
259 {
261 {
262 if (!thrall->IsAlive())
263 {
266 thrall->SetVisible(false);
267 Reposition(thrall);
268 thrall->setDeathState(DeathState::Dead);
269 thrall->Respawn();
270 thrall->SetVisible(true);
271 SaveToDB();
272 }
273 else
274 thrall->AI()->Reset();
275 }
276 break;
277 }
278 }
279 }
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
@ UNIT_STAND_STATE_STAND
Definition: Unit.h:53
static Position const instancePositions[INSTANCE_POSITIONS_COUNT]
Definition: instance_old_hillsbrad.cpp:25
@ NPC_LIEUTENANT_DRAKE
Definition: old_hillsbrad.h:48
@ NPC_LODGE_QUEST_TRIGGER
Definition: old_hillsbrad.h:50
@ EMOTE_ONESHOT_CHEER
Definition: SharedDefines.h:1898
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:1056
GameObject * GetGameObject(ObjectGuid const guid)
Definition: Map.cpp:3312
PlayerList const & GetPlayers() const
Definition: Map.h:485
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:2154
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, 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.

310 {
311 data << _encounterProgress << ' ' << _attemptsCount;
312 }

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