AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
InstanceScript Class Reference

#include "InstanceScript.h"

Inheritance diagram for InstanceScript:
ZoneScript instance_ahnkahet::instance_ahnkahet_InstanceScript instance_arcatraz::instance_arcatraz_InstanceMapScript instance_auchenai_crypts::instance_auchenai_crypts_InstanceMapScript instance_azjol_nerub::instance_azjol_nerub_InstanceScript instance_black_temple::instance_black_temple_InstanceMapScript instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript instance_blackrock_spire::instance_blackrock_spireMapScript instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript instance_blood_furnace::instance_blood_furnace_InstanceMapScript instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript instance_deadmines::instance_deadmines_InstanceMapScript instance_dire_maul::instance_dire_maul_InstanceMapScript instance_drak_tharon_keep::instance_drak_tharon_keep_InstanceScript instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript instance_forge_of_souls::instance_forge_of_souls_InstanceScript instance_gnomeregan::instance_gnomeregan_InstanceMapScript instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript instance_gundrak::instance_gundrak_InstanceMapScript instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript instance_hellfire_ramparts::instance_hellfire_ramparts_InstanceMapScript instance_hyjal::instance_mount_hyjal_InstanceMapScript instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript instance_karazhan::instance_karazhan_InstanceMapScript instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript instance_mana_tombs::instance_mana_tombs_InstanceMapScript instance_maraudon::instance_maraudon_InstanceMapScript instance_mechanar::instance_mechanar_InstanceMapScript instance_molten_core::instance_molten_core_InstanceMapScript instance_naxxramas::instance_naxxramas_InstanceMapScript instance_nexus::instance_nexus_InstanceMapScript instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript instance_oculus::instance_oculus_InstanceMapScript instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript instance_pit_of_saron::instance_pit_of_saron_InstanceScript instance_ragefire_chasm::instance_ragefire_chasm_InstanceMapScript instance_razorfen_downs::instance_razorfen_downs_InstanceMapScript instance_razorfen_kraul::instance_razorfen_kraul_InstanceMapScript instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript instance_scarlet_monastery::instance_scarlet_monastery_InstanceMapScript instance_scholomance::instance_scholomance_InstanceMapScript instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript instance_sethekk_halls::instance_sethekk_halls_InstanceMapScript instance_shadow_labyrinth::instance_shadow_labyrinth_InstanceMapScript instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript instance_shattered_halls::instance_shattered_halls_InstanceMapScript instance_steam_vault::instance_steam_vault_InstanceMapScript instance_stratholme::instance_stratholme_InstanceMapScript instance_sunken_temple::instance_sunken_temple_InstanceMapScript instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript instance_the_black_morass::instance_the_black_morass_InstanceMapScript instance_the_botanica::instance_the_botanica_InstanceMapScript instance_the_eye::instance_the_eye_InstanceMapScript instance_the_slave_pens::instance_the_slave_pens_InstanceMapScript instance_the_stockade::instance_the_stockade_InstanceMapScript instance_the_underbog::instance_the_underbog_InstanceMapScript instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript instance_uldaman::instance_uldaman_InstanceMapScript instance_ulduar::instance_ulduar_InstanceMapScript instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript instance_violet_hold::instance_violet_hold_InstanceMapScript instance_wailing_caverns::instance_wailing_caverns_InstanceMapScript instance_zulaman::instance_zulaman_InstanceMapScript instance_zulfarrak::instance_zulfarrak_InstanceMapScript instance_zulgurub::instance_zulgurub_InstanceMapScript

Public Member Functions

 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)
 

Static Public Member Functions

static std::string GetBossStateName (uint8 state)
 

Public Attributes

Mapinstance
 

Protected Member Functions

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 &)
 

Static Private Member Functions

static void LoadObjectData (ObjectData const *creatureData, ObjectInfoMap &objectInfo)
 

Private Attributes

std::vector< char > headers
 
std::vector< BossInfobosses
 
std::vector< uint32persistentData
 
DoorInfoMap doors
 
MinionInfoMap minions
 
ObjectInfoMap _creatureInfo
 
ObjectInfoMap _gameObjectInfo
 
ObjectGuidMap _objectGuids
 
uint32 completedEncounters
 
std::unordered_set< uint32_activatedAreaTriggers
 

Detailed Description

Constructor & Destructor Documentation

◆ InstanceScript()

InstanceScript::InstanceScript ( Map map)
inlineexplicit
142: instance(map), completedEncounters(0) {}
uint32 completedEncounters
Definition: InstanceScript.h:306
Map * instance
Definition: InstanceScript.h:146

◆ ~InstanceScript()

InstanceScript::~InstanceScript ( )
inlineoverride
144{}

Member Function Documentation

◆ AddDoor()

void InstanceScript::AddDoor ( GameObject door,
bool  add 
)
protected
287{
288 DoorInfoMapBounds range = doors.equal_range(door->GetEntry());
289 if (range.first == range.second)
290 return;
291
292 for (; range.first != range.second; ++range.first)
293 {
294 DoorInfo const& data = range.first->second;
295
296 if (add)
297 {
298 data.bossInfo->door[data.type].insert(door);
299 }
300 else
301 data.bossInfo->door[data.type].erase(door);
302 }
303
304 if (add)
305 UpdateDoorState(door);
306}
std::pair< DoorInfoMap::const_iterator, DoorInfoMap::const_iterator > DoorInfoMapBounds
Definition: InstanceScript.h:133
uint32 GetEntry() const
Definition: Object.h:109
DoorSet door[MAX_DOOR_TYPES]
Definition: InstanceScript.h:113
Definition: InstanceScript.h:119
BossInfo * bossInfo
Definition: InstanceScript.h:122
DoorType type
Definition: InstanceScript.h:123
DoorInfoMap doors
Definition: InstanceScript.h:301
void UpdateDoorState(GameObject *door)
Definition: InstanceScript.cpp:222

References DoorInfo::bossInfo, BossInfo::door, doors, Object::GetEntry(), DoorInfo::type, and UpdateDoorState().

Referenced by instance_gundrak::instance_gundrak_InstanceMapScript::OnGameObjectCreate(), instance_nexus::instance_nexus_InstanceMapScript::OnGameObjectCreate(), instance_mechanar::instance_mechanar_InstanceMapScript::OnGameObjectCreate(), OnGameObjectCreate(), instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::OnGameObjectCreate(), instance_azjol_nerub::instance_azjol_nerub_InstanceScript::OnGameObjectCreate(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::OnGameObjectCreate(), instance_drak_tharon_keep::instance_drak_tharon_keep_InstanceScript::OnGameObjectCreate(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnGameObjectCreate(), instance_black_temple::instance_black_temple_InstanceMapScript::OnGameObjectCreate(), instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript::OnGameObjectCreate(), instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript::OnGameObjectCreate(), instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript::OnGameObjectCreate(), instance_arcatraz::instance_arcatraz_InstanceMapScript::OnGameObjectCreate(), instance_gundrak::instance_gundrak_InstanceMapScript::OnGameObjectRemove(), instance_nexus::instance_nexus_InstanceMapScript::OnGameObjectRemove(), instance_mechanar::instance_mechanar_InstanceMapScript::OnGameObjectRemove(), OnGameObjectRemove(), instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::OnGameObjectRemove(), instance_azjol_nerub::instance_azjol_nerub_InstanceScript::OnGameObjectRemove(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::OnGameObjectRemove(), instance_drak_tharon_keep::instance_drak_tharon_keep_InstanceScript::OnGameObjectRemove(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnGameObjectRemove(), instance_black_temple::instance_black_temple_InstanceMapScript::OnGameObjectRemove(), instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript::OnGameObjectRemove(), instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript::OnGameObjectRemove(), and instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript::OnGameObjectRemove().

◆ AddMinion()

◆ AddObject() [1/3]

void InstanceScript::AddObject ( Creature obj,
bool  add 
)
protected
253{
254 ObjectInfoMap::const_iterator j = _creatureInfo.find(obj->GetEntry());
255 if (j != _creatureInfo.end())
256 {
257 AddObject(obj, j->second, add);
258 }
259}
void AddObject(Creature *obj, bool add)
Definition: InstanceScript.cpp:252
ObjectInfoMap _creatureInfo
Definition: InstanceScript.h:303

References _creatureInfo, AddObject(), and Object::GetEntry().

Referenced by AddObject(), OnCreatureCreate(), OnCreatureRemove(), OnGameObjectCreate(), and OnGameObjectRemove().

◆ AddObject() [2/3]

void InstanceScript::AddObject ( GameObject obj,
bool  add 
)
protected
262{
263 ObjectInfoMap::const_iterator j = _gameObjectInfo.find(obj->GetEntry());
264 if (j != _gameObjectInfo.end())
265 {
266 AddObject(obj, j->second, add);
267 }
268}
ObjectInfoMap _gameObjectInfo
Definition: InstanceScript.h:304

References _gameObjectInfo, AddObject(), and Object::GetEntry().

◆ AddObject() [3/3]

void InstanceScript::AddObject ( WorldObject obj,
uint32  type,
bool  add 
)
protected
271{
272 if (add)
273 {
274 _objectGuids[type] = obj->GetGUID();
275 }
276 else
277 {
278 ObjectGuidMap::iterator i = _objectGuids.find(type);
279 if (i != _objectGuids.end() && i->second == obj->GetGUID())
280 {
281 _objectGuids.erase(i);
282 }
283 }
284}
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:106
ObjectGuidMap _objectGuids
Definition: InstanceScript.h:305

References _objectGuids, and Object::GetGUID().

◆ CheckAchievementCriteriaMeet()

bool InstanceScript::CheckAchievementCriteriaMeet ( uint32  criteria_id,
Player const *  ,
Unit const *  = nullptr,
uint32  = 0 
)
virtual

Reimplemented in instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript, instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript, instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript, instance_forge_of_souls::instance_forge_of_souls_InstanceScript, instance_pit_of_saron::instance_pit_of_saron_InstanceScript, instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript, instance_naxxramas::instance_naxxramas_InstanceMapScript, instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript, instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript, instance_ulduar::instance_ulduar_InstanceMapScript, instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript, instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript, instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript, instance_violet_hold::instance_violet_hold_InstanceMapScript, instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript, instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript, and instance_oculus::instance_oculus_InstanceMapScript.

672{
673 LOG_ERROR("scripts.ai", "Achievement system call InstanceScript::CheckAchievementCriteriaMeet but instance script for map {} not have implementation for achievement criteria {}",
674 instance->GetId(), criteria_id);
675 return false;
676}
#define LOG_ERROR(filterType__,...)
Definition: Log.h:159
uint32 GetId() const
Definition: Map.h:378

References Map::GetId(), instance, and LOG_ERROR.

Referenced by AchievementCriteriaData::Meets().

◆ CheckRequiredBosses()

◆ CreatureLooted()

virtual void InstanceScript::CreatureLooted ( Creature ,
LootType   
)
inlinevirtual

◆ DoAction()

◆ DoCastSpellOnPlayer()

void InstanceScript::DoCastSpellOnPlayer ( Player player,
uint32  spell,
bool  includePets,
bool  includeControlled 
)
643{
644 if (!player)
645 return;
646
647 player->CastSpell(player, spell, true);
648
649 if (!includePets)
650 return;
651
652 for (uint8 itr2 = 0; itr2 < MAX_SUMMON_SLOT; ++itr2)
653 {
654 ObjectGuid summonGUID = player->m_SummonSlot[itr2];
655 if (!summonGUID.IsEmpty())
656 if (Creature* summon = instance->GetCreature(summonGUID))
657 summon->CastSpell(player, spell, true);
658 }
659
660 if (!includeControlled)
661 return;
662
663 for (auto itr2 = player->m_Controlled.begin(); itr2 != player->m_Controlled.end(); ++itr2)
664 {
665 if (Unit* controlled = *itr2)
666 if (controlled->IsInWorld() && controlled->GetTypeId() == TYPEID_UNIT)
667 controlled->CastSpell(player, spell, true);
668 }
669}
std::uint8_t uint8
Definition: Define.h:110
@ TYPEID_UNIT
Definition: ObjectGuid.h:37
#define MAX_SUMMON_SLOT
Definition: Unit.h:1227
Definition: Creature.h:46
Definition: ObjectGuid.h:120
bool IsEmpty() const
Definition: ObjectGuid.h:163
Definition: Unit.h:1302
ControlSet m_Controlled
Definition: Unit.h:1879
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
ObjectGuid m_SummonSlot[MAX_SUMMON_SLOT]
Definition: Unit.h:2080
Creature * GetCreature(ObjectGuid const guid)
Definition: Map.cpp:3304

References Unit::CastSpell(), Map::GetCreature(), instance, ObjectGuid::IsEmpty(), Unit::m_Controlled, Unit::m_SummonSlot, MAX_SUMMON_SLOT, and TYPEID_UNIT.

Referenced by instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnPlayerEnter().

◆ DoCastSpellOnPlayers()

void InstanceScript::DoCastSpellOnPlayers ( uint32  spell)
633{
634 Map::PlayerList const& PlayerList = instance->GetPlayers();
635
636 if (!PlayerList.IsEmpty())
637 for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
638 if (Player* player = i->GetSource())
639 player->CastSpell(player, spell, true);
640}
bool IsEmpty() const
Definition: LinkedList.h:97
Definition: LinkedList.h:139
Definition: Player.h:1056
PlayerList const & GetPlayers() const
Definition: Map.h:484
Definition: MapRefMgr.h:26
iterator begin()
Definition: MapRefMgr.h:36
iterator end()
Definition: MapRefMgr.h:37

References MapRefMgr::begin(), MapRefMgr::end(), Map::GetPlayers(), instance, and LinkedListHead::IsEmpty().

Referenced by boss_the_lich_king::boss_the_lich_kingAI::JustEngagedWith(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::JustEngagedWith(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::JustEngagedWith(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustEngagedWith(), boss_festergut::boss_festergutAI::JustEngagedWith(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::JustEngagedWith(), boss_rotface::boss_rotfaceAI::JustEngagedWith(), boss_sindragosa::boss_sindragosaAI::JustEngagedWith(), instance_karazhan::instance_karazhan_InstanceMapScript::SetData(), instance_stratholme::instance_stratholme_InstanceMapScript::SetData(), instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript::SetData(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::SetData(), npc_warden_mellichar::npc_warden_mellicharAI::SummonedCreatureDies(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::Update(), and boss_icehowl::boss_icehowlAI::UpdateAI().

◆ DoForAllMinions()

void InstanceScript::DoForAllMinions ( uint32  id,
std::function< void(Creature *)>  exec 
)
369{
370 BossInfo* bossInfo = &bosses[id];
371 MinionSet listCopy = bossInfo->minion;
372
373 for (auto const& minion : listCopy)
374 {
375 if (minion)
376 {
377 exec(minion);
378 }
379 }
380}
std::set< Creature * > MinionSet
Definition: InstanceScript.h:40
Definition: InstanceScript.h:110
MinionSet minion
Definition: InstanceScript.h:114
std::vector< BossInfo > bosses
Definition: InstanceScript.h:299

References bosses, and BossInfo::minion.

Referenced by boss_hydromancer_thespia::JustDied(), boss_warlord_kalithresh::JustDied(), and boss_warlord_kalithresh::Reset().

◆ DoRemoveAurasDueToSpellOnPlayers()

void InstanceScript::DoRemoveAurasDueToSpellOnPlayers ( uint32  spell)
615{
616 Map::PlayerList const& PlayerList = instance->GetPlayers();
617 if (!PlayerList.IsEmpty())
618 {
619 for (Map::PlayerList::const_iterator itr = PlayerList.begin(); itr != PlayerList.end(); ++itr)
620 {
621 if (Player* player = itr->GetSource())
622 {
623 player->RemoveAurasDueToSpell(spell);
624 if (Pet* pet = player->GetPet())
625 pet->RemoveAurasDueToSpell(spell);
626 }
627 }
628 }
629}
Definition: Pet.h:40

References MapRefMgr::begin(), MapRefMgr::end(), Map::GetPlayers(), instance, and LinkedListHead::IsEmpty().

Referenced by boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::CleanAuras(), boss_sartharion_dragonAI::ClearInstance(), boss_sartharion_vesperon::boss_sartharion_vesperonAI::ClearInstance(), boss_kalecgos::boss_kalecgosAI::ClearPlayerAuras(), boss_hodir::boss_hodirAI::DamageTaken(), boss_twin_valkyrAI::DoAction(), instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript::DoAction(), boss_amanitar::EnterEvadeMode(), boss_sartharion_tenebron::boss_sartharion_tenebronAI::ExecuteEvent(), npc_echo_of_medivh::HandlePieceJustDied(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::HealReceived(), boss_vexallus::boss_vexallusAI::JustDied(), boss_amanitar::JustDied(), boss_twin_valkyrAI::JustDied(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustDied(), boss_rotface::boss_rotfaceAI::JustDied(), boss_sindragosa::boss_sindragosaAI::JustDied(), boss_toravon::boss_toravonAI::JustDied(), boss_moroes::JustDied(), boss_felmyst::boss_felmystAI::JustDied(), boss_buru::JustDied(), boss_thaddius::boss_thaddiusAI::JustDied(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustEngagedWith(), boss_professor_putricide::boss_professor_putricideAI::JustEngagedWith(), boss_professor_putricide::boss_professor_putricideAI::JustReachedHome(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnPlayerEnter(), instance_stratholme::instance_stratholme_InstanceMapScript::OnUnitDeath(), boss_vexallus::boss_vexallusAI::Reset(), boss_baroness_anastari::boss_baroness_anastariAI::Reset(), boss_felmyst::boss_felmystAI::Reset(), boss_sartharion::boss_sartharionAI::Reset(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::Reset(), boss_thaddius::boss_thaddiusAI::Reset(), boss_hodir::boss_hodirAI::Reset(), boss_yoggsaron_sara::boss_yoggsaron_saraAI::Reset(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::SetData(), instance_karazhan::instance_karazhan_InstanceMapScript::SetData(), npc_echo_of_medivh::sGossipSelect(), boss_sartharion_vesperon::boss_sartharion_vesperonAI::SummonedCreatureDies(), instance_stratholme::instance_stratholme_InstanceMapScript::Update(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::Update(), boss_icehowl::boss_icehowlAI::UpdateAI(), boss_professor_putricide::boss_professor_putricideAI::UpdateAI(), and boss_yoggsaron_sara::boss_yoggsaron_saraAI::UpdateAI().

◆ DoRespawnCreature() [1/2]

void InstanceScript::DoRespawnCreature ( ObjectGuid  guid,
bool  force = false 
)

◆ DoRespawnCreature() [2/2]

void InstanceScript::DoRespawnCreature ( uint32  type,
bool  force = false 
)
539{
540 if (Creature* creature = instance->GetCreature(GetObjectGuid(type)))
541 {
542 creature->Respawn(force);
543 }
544}
ObjectGuid GetObjectGuid(uint32 type) const
Definition: InstanceScript.cpp:82

References Map::GetCreature(), GetObjectGuid(), and instance.

◆ DoRespawnGameObject()

void InstanceScript::DoRespawnGameObject ( ObjectGuid  guid,
uint32  timeToDespawn = MINUTE 
)
505{
506 if (GameObject* go = instance->GetGameObject(uiGuid))
507 {
508 switch (go->GetGoType())
509 {
514 // not expect any of these should ever be handled
515 LOG_ERROR("scripts", "InstanceScript: DoRespawnGameObject can't respawn gameobject entry {}, because type is {}.", go->GetEntry(), go->GetGoType());
516 return;
517 default:
518 break;
519 }
520
521 if (go->isSpawned())
522 return;
523
524 go->SetRespawnTime(uiTimeToDespawn);
525 }
526 else
527 LOG_DEBUG("scripts", "InstanceScript: DoRespawnGameObject failed");
528}
#define LOG_DEBUG(filterType__,...)
Definition: Log.h:171
@ GAMEOBJECT_TYPE_BUTTON
Definition: SharedDefines.h:1533
@ GAMEOBJECT_TYPE_TRAP
Definition: SharedDefines.h:1538
@ GAMEOBJECT_TYPE_FISHINGNODE
Definition: SharedDefines.h:1549
@ GAMEOBJECT_TYPE_DOOR
Definition: SharedDefines.h:1532
Definition: GameObject.h:122
GameObject * GetGameObject(ObjectGuid const guid)
Definition: Map.cpp:3309

References GAMEOBJECT_TYPE_BUTTON, GAMEOBJECT_TYPE_DOOR, GAMEOBJECT_TYPE_FISHINGNODE, GAMEOBJECT_TYPE_TRAP, Map::GetGameObject(), instance, LOG_DEBUG, and LOG_ERROR.

Referenced by npc_echo_of_medivh::HandlePieceJustDied(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::SetData(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::SetData(), instance_karazhan::instance_karazhan_InstanceMapScript::SetData(), instance_hyjal::instance_mount_hyjal_InstanceMapScript::SetData(), and instance_oculus::instance_oculus_InstanceMapScript::SetData().

◆ DoSendNotifyToInstance()

void InstanceScript::DoSendNotifyToInstance ( char const *  format,
  ... 
)
564{
565 InstanceMap::PlayerList const& players = instance->GetPlayers();
566
567 if (!players.IsEmpty())
568 {
569 va_list ap;
570 va_start(ap, format);
571 char buff[1024];
572 vsnprintf(buff, 1024, format, ap);
573 va_end(ap);
574 for (Map::PlayerList::const_iterator i = players.begin(); i != players.end(); ++i)
575 if (Player* player = i->GetSource())
576 player->GetSession()->SendNotification("%s", buff);
577 }
578}

References MapRefMgr::begin(), MapRefMgr::end(), Map::GetPlayers(), instance, and LinkedListHead::IsEmpty().

◆ DoStartTimedAchievement()

◆ DoStopTimedAchievement()

◆ DoUpdateAchievementCriteria()

◆ DoUpdateWorldState()

void InstanceScript::DoUpdateWorldState ( uint32  worldstateId,
uint32  worldstateValue 
)
547{
548 Map::PlayerList const& lPlayers = instance->GetPlayers();
549
550 if (!lPlayers.IsEmpty())
551 {
552 for (Map::PlayerList::const_iterator itr = lPlayers.begin(); itr != lPlayers.end(); ++itr)
553 if (Player* player = itr->GetSource())
554 player->SendUpdateWorldState(uiStateId, uiStateData);
555 }
556 else
557 {
558 LOG_DEBUG("scripts.ai", "DoUpdateWorldState attempt send data but no players in map.");
559 }
560}

References MapRefMgr::begin(), MapRefMgr::end(), Map::GetPlayers(), instance, LinkedListHead::IsEmpty(), and LOG_DEBUG.

Referenced by instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::AddWave1(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::DoWipe1(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::HandleDropAttempt(), spell_halion_twilight_division::spell_halion_twilight_division_SpellScript::HandleDummy(), instance_violet_hold::instance_violet_hold_InstanceMapScript::InstanceCleanup(), instance_ulduar::instance_ulduar_InstanceMapScript::ReadSaveDataMore(), hyjalAI::Reset(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::ScheduleNextPortal(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::SetBossState(), instance_zulaman::instance_zulaman_InstanceMapScript::SetData(), instance_hyjal::instance_mount_hyjal_InstanceMapScript::SetData(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::SetData(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::SetData(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::SetData(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetData(), instance_oculus::instance_oculus_InstanceMapScript::SetData(), instance_ulduar::instance_ulduar_InstanceMapScript::SetData(), instance_violet_hold::instance_violet_hold_InstanceMapScript::SetData(), hyjalAI::StartEvent(), hyjalAI::SummonNextWave(), instance_zulaman::instance_zulaman_InstanceMapScript::Update(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::Update(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Update(), instance_ulduar::instance_ulduar_InstanceMapScript::Update(), instance_violet_hold::instance_violet_hold_InstanceMapScript::Update(), hyjalAI::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_halion_controller::npc_halion_controllerAI::UpdateCorporeality(), and instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::UpdateEventState().

◆ DoUseDoorOrButton()

void InstanceScript::DoUseDoorOrButton ( ObjectGuid  guid,
uint32  withRestoreTime = 0,
bool  useAlternativeState = false 
)
484{
485 if (!uiGuid)
486 return;
487
488 GameObject* go = instance->GetGameObject(uiGuid);
489
490 if (go)
491 {
493 {
494 if (go->getLootState() == GO_READY)
495 go->UseDoorOrButton(uiWithRestoreTime, bUseAlternativeState);
496 else if (go->getLootState() == GO_ACTIVATED)
497 go->ResetDoorOrButton();
498 }
499 else
500 LOG_ERROR("scripts.ai", "SD2: Script call DoUseDoorOrButton, but gameobject entry {} is type {}.", go->GetEntry(), go->GetGoType());
501 }
502}
@ GO_ACTIVATED
Definition: GameObject.h:114
@ GO_READY
Definition: GameObject.h:113
void UseDoorOrButton(uint32 time_to_restore=0, bool alternative=false, Unit *user=nullptr)
Definition: GameObject.cpp:1427
LootState getLootState() const
Definition: GameObject.h:226
GameobjectTypes GetGoType() const
Definition: GameObject.h:205
void ResetDoorOrButton()
Definition: GameObject.cpp:1417

References GAMEOBJECT_TYPE_BUTTON, GAMEOBJECT_TYPE_DOOR, Object::GetEntry(), Map::GetGameObject(), GameObject::GetGoType(), GameObject::getLootState(), GO_ACTIVATED, GO_READY, instance, LOG_ERROR, GameObject::ResetDoorOrButton(), and GameObject::UseDoorOrButton().

Referenced by instance_stratholme::instance_stratholme_InstanceMapScript::gate_delay(), instance_scarlet_monastery::instance_scarlet_monastery_InstanceMapScript::SetData(), instance_stratholme::instance_stratholme_InstanceMapScript::Update(), and npc_barnes::npc_barnesAI::WaypointReached().

◆ FillInitialWorldStates()

◆ GetBossBoundary()

CreatureBoundary const * InstanceScript::GetBossBoundary ( uint32  id) const
inline
232{ return id < bosses.size() ? &bosses[id].boundary : nullptr; }

References bosses.

Referenced by boss_illidari_council_memberAI::boss_illidari_council_memberAI(), and BossAI::BossAI().

◆ GetBossInfo()

BossInfo const * InstanceScript::GetBossInfo ( uint32  id) const
inline
233{ return &bosses[id]; }

References bosses.

Referenced by instance_nexus::instance_nexus_InstanceMapScript::SetBossState().

◆ GetBossState()

EncounterState InstanceScript::GetBossState ( uint32  id) const
inline
230{ return id < bosses.size() ? bosses[id].state : TO_BE_DECIDED; }
@ TO_BE_DECIDED
Definition: InstanceScript.h:61

References bosses, and TO_BE_DECIDED.

Referenced by boss_hakkar::boss_hakkarAI::ApplyHakkarPowerStacks(), npc_hive_zara_larva::AttackStart(), boss_felmyst::boss_felmystAI::boss_felmystAI(), boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothrates(), spell_serpentshrine_cavern_coilfang_water::spell_serpentshrine_cavern_coilfang_water_AuraScript::CalcPeriodic(), boss_majordomo::boss_majordomoAI::CanAIAttack(), npc_gunship_mage::npc_gunship_mageAI::CanAIAttack(), npc_gunship_rocketeer::npc_gunship_rocketeerAI::CanAIAttack(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::CanAIAttack(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::CanAIAttack(), npc_igb_ship_crew::npc_igb_ship_crewAI::CanAIAttack(), npc_gunship_boarding_addAI::CanAIAttack(), npc_gunship_gunner::npc_gunship_gunnerAI::CanAIAttack(), boss_keristrasza::boss_keristraszaAI::CanRemovePrison(), BossAI::CanRespawn(), instance_naxxramas::instance_naxxramas_InstanceMapScript::CheckAchievementCriteriaMeet(), spell_igb_rocket_pack_useable::spell_igb_rocket_pack_useable_AuraScript::CheckAreaTarget(), instance_molten_core::instance_molten_core_InstanceMapScript::CheckMajordomoExecutus(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::CheckRequiredBosses(), npc_core_rager::npc_core_ragerAI::DamageTaken(), npc_gunship::npc_gunshipAI::DamageTaken(), go_suppression_device::go_suppression_deviceAI::DoAction(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::DoAction(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::DoAction(), npc_crok_scourgebane::npc_crok_scourgebaneAI::DoAction(), instance_blackrock_spire::instance_blackrock_spireMapScript::Dragonspireroomcheck(), SendEncounterUnit::Execute(), boss_sartharion_tenebron::boss_sartharion_tenebronAI::ExecuteEvent(), instance_zulgurub::instance_zulgurub_InstanceMapScript::GetData(), go_chromaggus_lever::go_chromaggus_leverAI::GossipHello(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::HandleDropAttempt(), instance_commandscript::HandleInstanceGetBossStateCommand(), spell_serpentshrine_cavern_coilfang_water::spell_serpentshrine_cavern_coilfang_water_AuraScript::HandlePeriodic(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::HealReceived(), go_suppression_device::go_suppression_deviceAI::InitializeAI(), boss_majordomo::boss_majordomoAI::InitializeAI(), instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript::IsEncounterInProgress(), instance_naxxramas::instance_naxxramas_InstanceMapScript::IsEncounterInProgress(), npc_taldaram_flamesphere::IsSummonedBy(), npc_oculus_drake::npc_oculus_drakeAI::IsSummonedBy(), boss_sartharion_dragonAI::JustDied(), npc_gunship::npc_gunshipAI::JustDied(), boss_four_horsemen::boss_four_horsemenAI::JustDied(), boss_sartharion_dragonAI::JustEngagedWith(), boss_hakkar::boss_hakkarAI::JustEngagedWith(), npc_crystalline_frayer::npc_crystalline_frayerAI::JustEngagedWith(), boss_sartharion::boss_sartharionAI::JustEngagedWith(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::JustEngagedWith(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::JustEngagedWith(), boss_majordomo::boss_majordomoAI::JustReachedHome(), npc_tirion_fordring_tft::npc_tirion_fordringAI::JustReachedHome(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::JustReachedHome(), boss_sartharion_dragonAI::JustSummoned(), npc_gluttonous_abomination::npc_gluttonous_abominationAI::JustSummoned(), npc_medivh_bm::MoveInLineOfSight(), npc_hive_zara_larva::MoveInLineOfSight(), npc_akama_illidan::npc_akama_illidanAI::npc_akama_illidanAI(), npc_crok_scourgebane::npc_crok_scourgebaneAI::npc_crok_scourgebaneAI(), npc_madrigosa::npc_madrigosaAI::npc_madrigosaAI(), spell_blood_queen_vampiric_bite::spell_blood_queen_vampiric_bite_SpellScript::OnCast(), instance_blackrock_spire::instance_blackrock_spireMapScript::OnCreatureCreate(), instance_karazhan::instance_karazhan_InstanceMapScript::OnCreatureCreate(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::OnCreatureCreate(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnCreatureCreate(), instance_sethekk_halls::instance_sethekk_halls_InstanceMapScript::OnCreatureCreate(), instance_black_temple::instance_black_temple_InstanceMapScript::OnCreatureCreate(), instance_gundrak::instance_gundrak_InstanceMapScript::OnGameObjectCreate(), instance_nexus::instance_nexus_InstanceMapScript::OnGameObjectCreate(), instance_blackrock_spire::instance_blackrock_spireMapScript::OnGameObjectCreate(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::OnGameObjectCreate(), instance_molten_core::instance_molten_core_InstanceMapScript::OnGameObjectCreate(), instance_karazhan::instance_karazhan_InstanceMapScript::OnGameObjectCreate(), instance_zulgurub::instance_zulgurub_InstanceMapScript::OnGameObjectCreate(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnGameObjectCreate(), instance_steam_vault::instance_steam_vault_InstanceMapScript::OnGameObjectCreate(), instance_ahnkahet::instance_ahnkahet_InstanceScript::OnGameObjectCreate(), instance_naxxramas::instance_naxxramas_InstanceMapScript::OnGameObjectCreate(), npc_high_overlord_saurfang_icc::OnGossipHello(), npc_muradin_bronzebeard_icc::OnGossipHello(), npc_high_overlord_saurfang_icc::OnGossipSelect(), npc_muradin_bronzebeard_icc::OnGossipSelect(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::OnPlayerEnter(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::OnPlayerEnter(), instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::OnPlayerEnter(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnPlayerEnter(), at_icc_saurfang_portal::OnTrigger(), at_thaddius_entrance::OnTrigger(), at_blackrock_stadium::OnTrigger(), instance_karazhan::instance_karazhan_InstanceMapScript::OnUnitDeath(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnUnitDeath(), spell_dreamwalker_nightmare_cloud::spell_dreamwalker_nightmare_cloud_AuraScript::PeriodicTick(), instance_blackrock_spire::instance_blackrock_spireMapScript::ProcessEvent(), boss_gyth::boss_gythAI::Reset(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::Reset(), boss_rend_blackhand::boss_rend_blackhandAI::Reset(), npc_core_rager::npc_core_ragerAI::Reset(), boss_majordomo::boss_majordomoAI::Reset(), npc_medivh_bm::Reset(), npc_xerestrasza::npc_xerestraszaAI::Reset(), boss_general_zarithrian::boss_general_zarithrianAI::Reset(), npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI::Reset(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::Reset(), boss_professor_putricide::boss_professor_putricideAI::Reset(), npc_tirion_fordring_tft::npc_tirion_fordringAI::Reset(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::Reset(), npc_arthas_teleport_visual::npc_arthas_teleport_visualAI::Reset(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::Reset(), boss_four_horsemen::boss_four_horsemenAI::Reset(), boss_thaddius::boss_thaddiusAI::Reset(), npc_akama_illidan::npc_akama_illidanAI::Reset(), npc_akama_shade::npc_akamaAI::Reset(), boss_sartharion::boss_sartharionAI::RespawnDragons(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::SetBossState(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetBossState(), instance_blackrock_spire::instance_blackrock_spireMapScript::SetData(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetData(), instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript::SetData(), instance_gundrak::instance_gundrak_InstanceMapScript::SetData(), boss_victor_nefarius::boss_victor_nefariusAI::sGossipSelect(), npc_akama_illidan::npc_akama_illidanAI::sGossipSelect(), instance_molten_core::instance_molten_core_InstanceMapScript::SummonMajordomoExecutus(), instance_blackrock_spire::instance_blackrock_spireMapScript::Update(), instance_naxxramas::instance_naxxramas_InstanceMapScript::Update(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::UpdateAI(), boss_mandokir::boss_mandokirAI::UpdateAI(), npc_time_rift::UpdateAI(), npc_hive_zara_larva::UpdateAI(), boss_jedoga_shadowseeker::UpdateAI(), boss_halion::boss_halionAI::UpdateAI(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::UpdateAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::UpdateAI(), npc_gunship_boarding_leader::npc_gunship_boarding_leaderAI::UpdateAI(), npc_gunship_boarding_add::npc_gunship_boarding_add_realAI::UpdateAI(), npc_gunship_mage::npc_gunship_mageAI::UpdateAI(), npc_gunship_gunner::npc_gunship_gunnerAI::UpdateAI(), npc_bone_spike::npc_bone_spikeAI::UpdateAI(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::UpdateAI(), npc_the_lich_king_controller::npc_the_lich_king_controllerAI::UpdateAI(), npc_valithria_cloud::npc_valithria_cloudAI::UpdateAI(), and npc_gunship_rocketeer::npc_gunship_rocketeerAI::UpdateAI().

◆ GetBossStateName()

std::string InstanceScript::GetBossStateName ( uint8  state)
static
729{
730 // See enum EncounterState in InstanceScript.h
731 switch (state)
732 {
733 case NOT_STARTED:
734 return "NOT_STARTED";
735 case IN_PROGRESS:
736 return "IN_PROGRESS";
737 case FAIL:
738 return "FAIL";
739 case DONE:
740 return "DONE";
741 case SPECIAL:
742 return "SPECIAL";
743 case TO_BE_DECIDED:
744 return "TO_BE_DECIDED";
745 default:
746 return "INVALID";
747 }
748}
@ IN_PROGRESS
Definition: InstanceScript.h:57
@ FAIL
Definition: InstanceScript.h:58
@ DONE
Definition: InstanceScript.h:59
@ SPECIAL
Definition: InstanceScript.h:60
@ NOT_STARTED
Definition: InstanceScript.h:56

References DONE, FAIL, IN_PROGRESS, NOT_STARTED, SPECIAL, and TO_BE_DECIDED.

Referenced by instance_commandscript::HandleInstanceGetBossStateCommand(), instance_commandscript::HandleInstanceSetBossStateCommand(), and SmartScript::ProcessAction().

◆ GetCompletedEncounterMask()

uint32 InstanceScript::GetCompletedEncounterMask ( ) const
inline
248{ return completedEncounters; }

References completedEncounters.

Referenced by InstanceMap::AddPlayerToMap().

◆ GetCreature()

Creature * InstanceScript::GetCreature ( uint32  type)
100{
101 return instance->GetCreature(GetObjectGuid(type));
102}

References Map::GetCreature(), GetObjectGuid(), and instance.

Referenced by instance_blood_furnace::instance_blood_furnace_InstanceMapScript::ActivateCell(), instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::CallNextRajaxxLeader(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::CleanupInstance(), boss_attumen::DamageTaken(), boss_julianne::DamageTaken(), boss_romulo::DamageTaken(), boss_bug_trio::DamageTaken(), DespawnAll(), boss_julianne::DoAction(), boss_razorgore::boss_razorgoreAI::DoChangePhase(), npc_time_rift::DoSummonAtRift(), boss_bug_trio::EnterCombatWithTrio(), boss_attumen::EnterEvadeMode(), boss_bug_trio::EvadeAllBosses(), boss_twinemperorsAI::GetTwin(), go_ossirian_crystal::go_ossirian_crystalAI::GossipHello(), go_chromaggus_lever::go_chromaggus_leverAI::GossipHello(), boss_warbringer_omrogg::HandleHeadTalk(), npc_toxic_slime::InitializeAI(), boss_aeonus::IsSummonedBy(), npc_tito::JustDied(), boss_thekal::boss_thekalAI::JustDied(), npc_zealot_lorkhan::npc_zealot_lorkhanAI::JustDied(), npc_zealot_zath::npc_zealot_zathAI::JustDied(), boss_eye_of_cthun::JustDied(), boss_dalliah_the_doomsayer::JustDied(), npc_buru_egg::JustDied(), boss_kurinnaxx::JustDied(), npc_general_andorov::JustDied(), boss_cthun::JustDied(), boss_warchief_kargath_bladefist::JustDied(), npc_zealot_lorkhan::npc_zealot_lorkhanAI::JustEngagedWith(), boss_dalliah_the_doomsayer::JustEngagedWith(), npc_buru_egg::JustEngagedWith(), boss_warchief_kargath_bladefist::JustEngagedWith(), boss_romulo::JustReachedHome(), boss_aeonus::JustReachedHome(), npc_warchief_portal::JustSummoned(), boss_attumen::JustSummoned(), npc_hive_zara_larva::JustSummoned(), boss_eye_of_cthun::JustSummoned(), npc_buru_egg::JustSummoned(), boss_midnight::KilledUnit(), boss_bug_trio::MovementInform(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::OnCreatureCreate(), instance_zulgurub::instance_zulgurub_InstanceMapScript::OnCreatureCreate(), instance_azjol_nerub::instance_azjol_nerub_InstanceScript::OnCreatureCreate(), instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript::OnGameObjectCreate(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::OnGameObjectCreate(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnPlayerEnter(), instance_shadow_labyrinth::instance_shadow_labyrinth_InstanceMapScript::OnUnitDeath(), boss_thekal::boss_thekalAI::Reset(), boss_warchief_kargath_bladefist::Reset(), boss_dalliah_the_doomsayer::Reset(), boss_wrath_scryer_soccothrates::Reset(), instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::ResetRajaxxWaves(), boss_thekal::boss_thekalAI::ReviveZealot(), boss_dorothee::ScheduleActivation(), boss_julianne::ScheduleCombat(), boss_romulo::ScheduleCombat(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::ScheduleNextPortal(), boss_cthun::ScheduleTasks(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::SetBossState(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::SetData(), instance_arcatraz::instance_arcatraz_InstanceMapScript::SetData(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::Update(), npc_time_rift::UpdateAI(), and npc_general_andorov::UpdateEscortAI().

◆ GetEncounterCount()

uint32 InstanceScript::GetEncounterCount ( ) const
inline

◆ GetGameObject()

◆ GetGuidData()

ObjectGuid InstanceScript::GetGuidData ( uint32  type) const
overridevirtual

Reimplemented from ZoneScript.

Reimplemented in instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript, instance_karazhan::instance_karazhan_InstanceMapScript, instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript, instance_zulfarrak::instance_zulfarrak_InstanceMapScript, instance_ulduar::instance_ulduar_InstanceMapScript, instance_blood_furnace::instance_blood_furnace_InstanceMapScript, instance_shattered_halls::instance_shattered_halls_InstanceMapScript, instance_arcatraz::instance_arcatraz_InstanceMapScript, instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript, instance_naxxramas::instance_naxxramas_InstanceMapScript, instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript, instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript, instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript, instance_hyjal::instance_mount_hyjal_InstanceMapScript, instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript, instance_oculus::instance_oculus_InstanceMapScript, instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript, instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript, instance_violet_hold::instance_violet_hold_InstanceMapScript, instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript, instance_the_eye::instance_the_eye_InstanceMapScript, instance_blackrock_spire::instance_blackrock_spireMapScript, instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript, instance_molten_core::instance_molten_core_InstanceMapScript, instance_scarlet_monastery::instance_scarlet_monastery_InstanceMapScript, instance_scholomance::instance_scholomance_InstanceMapScript, instance_zulaman::instance_zulaman_InstanceMapScript, instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript, instance_ahnkahet::instance_ahnkahet_InstanceScript, instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript, instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript, instance_forge_of_souls::instance_forge_of_souls_InstanceScript, instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript, instance_pit_of_saron::instance_pit_of_saron_InstanceScript, instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript, instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript, instance_black_temple::instance_black_temple_InstanceMapScript, instance_the_slave_pens::instance_the_slave_pens_InstanceMapScript, instance_zulgurub::instance_zulgurub_InstanceMapScript, instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript, instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript, and instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript.

95{
96 return GetObjectGuid(type);
97}

References GetObjectGuid().

Referenced by boss_sjonnir::boss_sjonnirAI::ActivatePipe(), boss_freya_summons::boss_freya_summonsAI::boss_freya_summonsAI(), boss_twilight_halion::boss_twilight_halionAI::boss_twilight_halionAI(), boss_tyrannus::boss_tyrannusAI::boss_tyrannusAI(), boss_moira_bronzebeardAI::CastOnEmperorIfPossible(), spell_putricide_mutation_init::spell_putricide_mutation_init_SpellScript::CheckRequirementInternal(), boss_prince_valanar_icc::boss_prince_valanarAI::CheckRoom(), violet_hold_trashAI::ClearDoorSealAura(), boss_mimiron::boss_mimironAI::CloseDoorAndButton(), boss_kologarn_eyebeam::boss_kologarn_eyebeamAI::DamageDealt(), npc_mograine::npc_mograineAI::DamageTaken(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::DamageTaken(), boss_halion::boss_halionAI::DamageTaken(), boss_twilight_halion::boss_twilight_halionAI::DamageTaken(), boss_the_lich_king::boss_the_lich_kingAI::DamageTaken(), npc_ulduar_flash_freeze::npc_ulduar_flash_freezeAI::DamageTaken(), boss_thorim_start_npcs::boss_thorim_start_npcsAI::DamageTaken(), boss_yoggsaron_brain::boss_yoggsaron_brainAI::DamageTaken(), hyjalAI::DeSpawnVeins(), boss_hodir::boss_hodirAI::DoAction(), npc_hor_lich_king::npc_hor_lich_kingAI::DoAction(), boss_taldaram::DoAction(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::DoAction(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::DoAction(), boss_the_lich_king::boss_the_lich_kingAI::DoAction(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::DoAction(), npc_crok_scourgebane::npc_crok_scourgebaneAI::DoAction(), npc_argent_captainAI::DoAction(), brann_bronzebeard::brann_bronzebeardAI::DoAction(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::DoAction(), boss_kalecgos::boss_kalecgosAI::DoAction(), boss_black_knight::boss_black_knightAI::DoAction(), boss_tyrannus::boss_tyrannusAI::DoAction(), npc_molten_golem::npc_molten_golemAI::DoAction(), boss_thorim_sif::boss_thorim_sifAI::DoAction(), npc_xt002_heart::npc_xt002_heartAI::DoAction(), boss_yoggsaron_sara::boss_yoggsaron_saraAI::DoAction(), boss_yoggsaron_brain::boss_yoggsaron_brainAI::DoAction(), boss_illidari_council::boss_illidari_councilAI::DoAction(), npc_rocknot::npc_rocknotAI::DoGo(), boss_kiljaeden::boss_kiljaedenAI::EmpowerOrb(), boss_priestess_lackey_commonAI::EnterEvadeMode(), boss_sacrolash::boss_sacrolashAI::EnterEvadeMode(), boss_alythess::boss_alythessAI::EnterEvadeMode(), boss_halion::boss_halionAI::EnterEvadeMode(), boss_prince_keleseth_icc::boss_prince_kelesethAI::EnterEvadeMode(), boss_prince_taldaram_icc::boss_prince_taldaramAI::EnterEvadeMode(), boss_prince_valanar_icc::boss_prince_valanarAI::EnterEvadeMode(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::EnterEvadeMode(), boss_festergut::boss_festergutAI::EnterEvadeMode(), boss_rotface::boss_rotfaceAI::EnterEvadeMode(), boss_the_lich_king::boss_the_lich_kingAI::EnterEvadeMode(), npc_tirion_fordring_tft::npc_tirion_fordringAI::EnterEvadeMode(), npc_argent_captainAI::EnterEvadeMode(), boss_illidan_stormrage::boss_illidan_stormrageAI::EnterEvadeMode(), boss_sartharion_tenebron::boss_sartharion_tenebronAI::ExecuteEvent(), spell_the_lich_king_restore_soul::spell_the_lich_king_restore_soul_SpellScript::FilterTargets(), boss_erekem::boss_erekemAI::GetChainHealTargetGUID(), npc_chesspiece::GetEnemyPiece(), npc_ulduar_harpoonfirestate::npc_ulduar_harpoonfirestateAI::GetHarpoonGunIdForThisHFS(), npc_chesspiece::GetLowestHpFriendlyPiece(), boss_twin_valkyrAI::GetSister(), boss_thorim::boss_thorimAI::GetThorimObject(), go_troll_cage::go_troll_cageAI::GossipHello(), boss_netherspite::HandleDoors(), spell_halion_twilight_division::spell_halion_twilight_division_SpellScript::HandleDummy(), npc_grimstone::npc_grimstoneAI::HandleGameObject(), npc_echo_of_medivh::HandlePieceJustDied(), spell_putricide_unbound_plague::spell_putricide_unbound_plague_SpellScript::HandleScript(), spell_putricide_mutated_transformation::spell_putricide_mutated_transformation_SpellScript::HandleSummon(), boss_nightbane::HandleTerraceDoors(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::HealReceived(), go_troll_cage::go_troll_cageAI::initBlyCrewMember(), boss_malchezaar::Initialize(), boss_urok_doomhowl::boss_urok_doomhowlAI::InitializeAI(), boss_warchief_kargath_bladefist::InitializeAI(), IsEncounterComplete(), npc_direbrew_minion::IsSummonedBy(), npc_onyx_flamecaller::npc_onyx_flamecallerAI::IsSummonedBy(), npc_raging_spirit::npc_raging_spiritAI::IsSummonedBy(), npc_suppresser::npc_suppresserAI::IsSummonedBy(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::IsSummonedBy(), boss_emperor_dagran_thaurissan::boss_draganthaurissanAI::JustDied(), boss_rend_blackhand::boss_rend_blackhandAI::JustDied(), npc_chesspiece::JustDied(), boss_malchezaar::JustDied(), boss_shade_of_aran::JustDied(), npc_kilrek::JustDied(), boss_sacrolash::boss_sacrolashAI::JustDied(), boss_alythess::boss_alythessAI::JustDied(), boss_kiljaeden::boss_kiljaedenAI::JustDied(), npc_zulian_prowler::npc_zulian_prowlerAI::JustDied(), boss_rajaxx::JustDied(), boss_sartharion_dragonAI::JustDied(), npc_memory::npc_memoryAI::JustDied(), boss_jormungarAI::JustDied(), boss_prince_keleseth_icc::boss_prince_kelesethAI::JustDied(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustDied(), boss_prince_valanar_icc::boss_prince_valanarAI::JustDied(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustDied(), boss_festergut::boss_festergutAI::JustDied(), npc_gunship::npc_gunshipAI::JustDied(), boss_rotface::boss_rotfaceAI::JustDied(), npc_little_ooze::npc_little_oozeAI::JustDied(), npc_big_ooze::npc_big_oozeAI::JustDied(), npc_raging_spirit::npc_raging_spiritAI::JustDied(), npc_spirit_warden::npc_spirit_wardenAI::JustDied(), boss_sister_svalna::boss_sister_svalnaAI::JustDied(), boss_thaddius_summon::boss_thaddius_summonAI::JustDied(), boss_drakos::boss_drakosAI::JustDied(), boss_sjonnir::boss_sjonnirAI::JustDied(), brann_bronzebeard::brann_bronzebeardAI::JustDied(), boss_steelbreaker::boss_steelbreakerAI::JustDied(), boss_runemaster_molgeim::boss_runemaster_molgeimAI::JustDied(), boss_stormcaller_brundir::boss_stormcaller_brundirAI::JustDied(), npc_auriaya_feral_defender::npc_auriaya_feral_defenderAI::JustDied(), npc_ulduar_saronite_vapors::npc_ulduar_saronite_vaporsAI::JustDied(), npc_ulduar_saronite_animus::npc_ulduar_saronite_animusAI::JustDied(), npc_ulduar_hodir_priest::npc_ulduar_hodir_priestAI::JustDied(), npc_ulduar_hodir_druid::npc_ulduar_hodir_druidAI::JustDied(), npc_ulduar_hodir_shaman::npc_ulduar_hodir_shamanAI::JustDied(), npc_ulduar_hodir_mage::npc_ulduar_hodir_mageAI::JustDied(), boss_kologarn::boss_kologarnAI::JustDied(), boss_kologarn_arms::boss_kologarn_armsAI::JustDied(), boss_thorim_start_npcs::boss_thorim_start_npcsAI::JustDied(), boss_thorim_runic_colossus::boss_thorim_runic_colossusAI::JustDied(), boss_xt002::boss_xt002AI::JustDied(), npc_xt002_heart::npc_xt002_heartAI::JustDied(), boss_yoggsaron::boss_yoggsaronAI::JustDied(), boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::JustDied(), boss_dalronn_the_controller::boss_dalronn_the_controllerAI::JustDied(), npc_massive_jormungar::npc_massive_jormungarAI::JustDied(), npc_ferocious_rhino::npc_ferocious_rhinoAI::JustDied(), npc_ravenous_furbolg::npc_ravenous_furbolgAI::JustDied(), npc_frenzied_worgen::npc_frenzied_worgenAI::JustDied(), boss_skadi::boss_skadiAI::JustDied(), npc_ichor_globule::npc_ichor_globuleAI::JustDied(), violet_hold_trashAI::JustDied(), npc_akama_shade::npc_akamaAI::JustDied(), boss_illidari_council_memberAI::JustDied(), boss_kelidan_the_breaker::JustDied(), boss_the_maker::JustDied(), boss_brutallus::boss_brutallusAI::JustDied(), boss_epoch_hunter::JustDied(), boss_baltharus_the_warborn::boss_baltharus_the_warbornAI::JustDied(), boss_halion::boss_halionAI::JustDied(), boss_twilight_halion::boss_twilight_halionAI::JustDied(), boss_faerlina::boss_faerlinaAI::JustDied(), boss_four_horsemen::boss_four_horsemenAI::JustDied(), boss_gothik::boss_gothikAI::JustDied(), boss_kelthuzad::boss_kelthuzadAI::JustDied(), boss_noth::boss_nothAI::JustDied(), boss_thaddius::boss_thaddiusAI::JustDied(), boss_flame_leviathan_defense_turret::boss_flame_leviathan_defense_turretAI::JustDied(), boss_freya_elder_stonebark::boss_freya_elder_stonebarkAI::JustDied(), boss_freya_elder_brightleaf::boss_freya_elder_brightleafAI::JustDied(), boss_freya_elder_ironbranch::boss_freya_elder_ironbranchAI::JustDied(), boss_shade_of_akama::boss_shade_of_akamaAI::JustDied(), boss_warchief_kargath_bladefist::JustDied(), boss_malchezaar::JustEngagedWith(), boss_shade_of_aran::JustEngagedWith(), npc_healing_ward::JustEngagedWith(), npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI::JustEngagedWith(), npc_risen_archmage::npc_risen_archmageAI::JustEngagedWith(), boss_sister_svalna::boss_sister_svalnaAI::JustEngagedWith(), boss_sjonnir::boss_sjonnirAI::JustEngagedWith(), npc_auriaya_sanctum_sentry::npc_auriaya_sanctum_sentryAI::JustEngagedWith(), boss_freya::boss_freyaAI::JustEngagedWith(), boss_kologarn::boss_kologarnAI::JustEngagedWith(), boss_xt002::boss_xt002AI::JustEngagedWith(), boss_illidari_council_memberAI::JustEngagedWith(), boss_the_maker::JustEngagedWith(), boss_sartharion::boss_sartharionAI::JustEngagedWith(), boss_thaddius_summon::boss_thaddius_summonAI::JustEngagedWith(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::JustEngagedWith(), boss_priestess_lackey_commonAI::JustEngagedWith(), boss_sacrolash::boss_sacrolashAI::JustEngagedWith(), boss_alythess::boss_alythessAI::JustEngagedWith(), boss_prince_keleseth_icc::boss_prince_kelesethAI::JustEngagedWith(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustEngagedWith(), boss_prince_valanar_icc::boss_prince_valanarAI::JustEngagedWith(), boss_festergut::boss_festergutAI::JustEngagedWith(), boss_rotface::boss_rotfaceAI::JustEngagedWith(), boss_anubrekhan::boss_anubrekhanAI::JustEngagedWith(), boss_faerlina::boss_faerlinaAI::JustEngagedWith(), boss_four_horsemen::boss_four_horsemenAI::JustEngagedWith(), boss_gothik::boss_gothikAI::JustEngagedWith(), boss_heigan::boss_heiganAI::JustEngagedWith(), boss_kelthuzad::boss_kelthuzadAI::JustEngagedWith(), boss_loatheb::boss_loathebAI::JustEngagedWith(), boss_maexxna::boss_maexxnaAI::JustEngagedWith(), boss_noth::boss_nothAI::JustEngagedWith(), boss_steelbreaker::boss_steelbreakerAI::JustEngagedWith(), boss_runemaster_molgeim::boss_runemaster_molgeimAI::JustEngagedWith(), boss_stormcaller_brundir::boss_stormcaller_brundirAI::JustEngagedWith(), boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::JustEngagedWith(), boss_dalronn_the_controller::boss_dalronn_the_controllerAI::JustEngagedWith(), boss_erekem::boss_erekemAI::JustEngagedWith(), npc_erekem_guard::npc_erekem_guardAI::JustEngagedWith(), boss_arlokk::boss_arlokkAI::JustReachedHome(), boss_yoggsaron_cloud::boss_yoggsaron_cloudAI::JustSummoned(), boss_captain_skarloc::JustSummoned(), boss_sartharion_dragonAI::JustSummoned(), npc_creature_generator_akama::npc_creature_generator_akamaAI::JustSummoned(), boss_priestess_lackey_commonAI::KilledUnit(), boss_mandokir::boss_mandokirAI::KilledUnit(), npc_chesspiece::MovementInform(), npc_hive_zara_larva::MovementInform(), npc_twilight_volunteer::MovementInform(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::MovementInform(), boss_professor_putricide::boss_professor_putricideAI::MovementInform(), npc_tirion_fordring_tft::npc_tirion_fordringAI::MovementInform(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::MovementInform(), npc_gunship_boarding_addAI::MovementInform(), npc_sergeant_bly::npc_sergeant_blyAI::MovementInform(), npc_hor_lich_king::npc_hor_lich_kingAI::MovementInform(), npc_xt002_scrapbot::npc_xt002_scrapbotAI::MovementInform(), npc_big_ooze::npc_big_oozeAI::npc_big_oozeAI(), npc_lesser_doomguard::npc_lesser_doomguardAI::npc_lesser_doomguardAI(), npc_little_ooze::npc_little_oozeAI::npc_little_oozeAI(), npc_pos_leader_second::npc_pos_leader_secondAI::npc_pos_leader_secondAI(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::npc_pos_martin_or_gorkun_secondAI(), npc_towering_infernal::npc_towering_infernalAI::npc_towering_infernalAI(), npc_ulduar_saronite_animus::npc_ulduar_saronite_animusAI::npc_ulduar_saronite_animusAI(), spell_blood_queen_vampiric_bite::spell_blood_queen_vampiric_bite_SpellScript::OnCast(), achievement_yogg_saron_darkness::OnCheck(), achievement_yogg_saron_he_waits_dreaming::OnCheck(), go_palehoof_sphere::OnGossipHello(), npc_ulduar_expedition_commander::OnGossipHello(), go_prince_taldaram_sphere::OnGossipHello(), go_harpoon_canon::OnGossipHello(), go_ulduar_working_harpoon::OnGossipHello(), npc_ulduar_expedition_commander::OnGossipSelect(), at_thaddius_entrance::OnTrigger(), at_tyrannus_event_starter::OnTrigger(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::OpenDoors(), IgbTeleportOnVictoryCheck::operator()(), boss_kaelthas::boss_kaelthasAI::PrepareAdvisors(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::ReorderInstance(), boss_rend_blackhand::boss_rend_blackhandAI::Reset(), boss_shade_of_aran::Reset(), npc_image_of_medivh::npc_image_of_medivhAI::Reset(), npc_zulian_prowler::npc_zulian_prowlerAI::Reset(), boss_mandokir::boss_mandokirAI::Reset(), npc_ancient_wisp::npc_ancient_wispAI::Reset(), boss_tyrannus::boss_tyrannusAI::Reset(), boss_the_lich_king::boss_the_lich_kingAI::Reset(), boss_anubrekhan::boss_anubrekhanAI::Reset(), boss_faerlina::boss_faerlinaAI::Reset(), boss_four_horsemen::boss_four_horsemenAI::Reset(), boss_gothik::boss_gothikAI::Reset(), boss_heigan::boss_heiganAI::Reset(), boss_kelthuzad::boss_kelthuzadAI::Reset(), boss_loatheb::boss_loathebAI::Reset(), boss_maexxna::boss_maexxnaAI::Reset(), boss_noth::boss_nothAI::Reset(), boss_thaddius::boss_thaddiusAI::Reset(), boss_sjonnir::boss_sjonnirAI::Reset(), boss_kologarn::boss_kologarnAI::Reset(), boss_xt002::boss_xt002AI::Reset(), npc_xt002_scrapbot::npc_xt002_scrapbotAI::Reset(), npc_xt002_boombot::npc_xt002_boombotAI::Reset(), boss_yoggsaron_sara::boss_yoggsaron_saraAI::Reset(), boss_palehoof::boss_palehoofAI::Reset(), boss_the_maker::Reset(), npc_warden_mellichar::npc_warden_mellicharAI::Reset(), brann_bronzebeard::brann_bronzebeardAI::ResetEvent(), boss_mimiron::boss_mimironAI::ResetGameObjects(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::ResetOrbs(), RespawnAssemblyOfIron(), boss_sartharion::boss_sartharionAI::RespawnDragons(), boss_gathios_the_shatterer::boss_gathios_the_shattererAI::SelectCouncilMember(), boss_svala::boss_svalaAI::SetData(), npc_ulduar_harpoonfirestate::npc_ulduar_harpoonfirestateAI::SetData(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::SetData(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::SetGate(), npc_crok_scourgebane::npc_crok_scourgebaneAI::SetGUID(), boss_kaelthas::boss_kaelthasAI::SetRoomState(), npc_tirion_fordring_tft::npc_tirion_fordringAI::sGossipSelect(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::SpellHit(), boss_razorscale::boss_razorscaleAI::SpellHit(), npc_chesspiece::SpellHitTarget(), boss_yoggsaron_voice::boss_yoggsaron_voiceAI::SpellHitTarget(), boss_sartharion_shadron::boss_sartharion_shadronAI::SummonedCreatureDies(), npc_sergeant_bly::npc_sergeant_blyAI::switchFactionIfAlive(), brann_bronzebeard::brann_bronzebeardAI::SwitchHeadVisaul(), npc_rocknot::npc_rocknotAI::UpdateAI(), boss_rend_blackhand::boss_rend_blackhandAI::UpdateAI(), npc_core_rager::npc_core_ragerAI::UpdateAI(), boss_majordomo::boss_majordomoAI::UpdateAI(), npc_chesspiece::UpdateAI(), npc_mograine::npc_mograineAI::UpdateAI(), boss_high_inquisitor_whitemane::boss_high_inquisitor_whitemaneAI::UpdateAI(), npc_madrigosa::npc_madrigosaAI::UpdateAI(), boss_kalecgos::boss_kalecgosAI::UpdateAI(), boss_sathrovarr::boss_sathrovarrAI::UpdateAI(), boss_kiljaeden::boss_kiljaedenAI::UpdateAI(), npc_harrison_jones::npc_harrison_jonesAI::UpdateAI(), npc_giant_infernal::npc_giant_infernalAI::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateAI(), npc_sergeant_bly::npc_sergeant_blyAI::UpdateAI(), npc_twilight_volunteer::UpdateAI(), boss_sartharion::boss_sartharionAI::UpdateAI(), boss_general_zarithrian::boss_general_zarithrianAI::UpdateAI(), boss_halion::boss_halionAI::UpdateAI(), boss_twilight_halion::boss_twilight_halionAI::UpdateAI(), npc_halion_controller::npc_halion_controllerAI::UpdateAI(), npc_snobold_vassal::npc_snobold_vassalAI::UpdateAI(), boss_jormungarAI::UpdateAI(), npc_fos_corrupted_soul_fragment::npc_fos_corrupted_soul_fragmentAI::UpdateAI(), npc_hor_leader::npc_hor_leaderAI::UpdateAI(), npc_hor_lich_king::npc_hor_lich_kingAI::UpdateAI(), npc_hor_leader_second::npc_hor_leader_secondAI::UpdateAI(), boss_krick::boss_krickAI::UpdateAI(), boss_tyrannus::boss_tyrannusAI::UpdateAI(), npc_pos_leader::npc_pos_leaderAI::UpdateAI(), npc_pos_after_first_boss::npc_pos_after_first_bossAI::UpdateAI(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::UpdateAI(), npc_pos_leader_second::npc_pos_leader_secondAI::UpdateAI(), boss_prince_valanar_icc::boss_prince_valanarAI::UpdateAI(), npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI::UpdateAI(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::UpdateAI(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::UpdateAI(), boss_festergut::boss_festergutAI::UpdateAI(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::UpdateAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::UpdateAI(), npc_cult_fanatic::npc_cult_fanaticAI::UpdateAI(), npc_cult_adherent::npc_cult_adherentAI::UpdateAI(), boss_rotface::boss_rotfaceAI::UpdateAI(), npc_tirion_fordring_tft::npc_tirion_fordringAI::UpdateAI(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::UpdateAI(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::UpdateAI(), npc_terenas_menethil::npc_terenas_menethilAI::UpdateAI(), npc_valithria_cloud::npc_valithria_cloudAI::UpdateAI(), npc_crok_scourgebane::npc_crok_scourgebaneAI::UpdateAI(), boss_gothik::boss_gothikAI::UpdateAI(), boss_kelthuzad::boss_kelthuzadAI::UpdateAI(), boss_thaddius_summon::boss_thaddius_summonAI::UpdateAI(), npc_power_spark::npc_power_sparkAI::UpdateAI(), boss_sjonnir::boss_sjonnirAI::UpdateAI(), boss_algalon_the_observer::boss_algalon_the_observerAI::UpdateAI(), npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI::UpdateAI(), boss_hodir::boss_hodirAI::UpdateAI(), npc_ulduar_hodir_priest::npc_ulduar_hodir_priestAI::UpdateAI(), npc_ulduar_hodir_druid::npc_ulduar_hodir_druidAI::UpdateAI(), npc_ulduar_hodir_shaman::npc_ulduar_hodir_shamanAI::UpdateAI(), npc_ulduar_hodir_mage::npc_ulduar_hodir_mageAI::UpdateAI(), boss_kologarn_eyebeam::boss_kologarn_eyebeamAI::UpdateAI(), boss_mimiron::boss_mimironAI::UpdateAI(), boss_razorscale::boss_razorscaleAI::UpdateAI(), npc_ulduar_expedition_engineer::npc_ulduar_expedition_engineerAI::UpdateAI(), boss_yoggsaron_sara::boss_yoggsaron_saraAI::UpdateAI(), boss_palehoof::boss_palehoofAI::UpdateAI(), boss_svala::boss_svalaAI::UpdateAI(), boss_erekem::boss_erekemAI::UpdateAI(), boss_illidan_stormrage::boss_illidan_stormrageAI::UpdateAI(), boss_shade_of_akama::boss_shade_of_akamaAI::UpdateAI(), npc_akama_shade::npc_akamaAI::UpdateAI(), boss_veras_darkshadow::boss_veras_darkshadowAI::UpdateAI(), npc_warden_mellichar::npc_warden_mellicharAI::UpdateAI(), npc_ichor_globule::npc_ichor_globuleAI::UpdateAI(), npc_suppresser::npc_suppresserAI::UpdateAI(), npc_xt002_scrapbot::npc_xt002_scrapbotAI::UpdateAI(), npc_xt002_boombot::npc_xt002_boombotAI::UpdateAI(), npc_halion_controller::npc_halion_controllerAI::UpdateCorporeality(), brann_bronzebeard::brann_bronzebeardAI::UpdateEscortAI(), npc_akama_illidan::npc_akama_illidanAI::UpdateEscortAI(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::UpdateRunes(), npc_arthas::npc_arthasAI::WaypointReached(), npc_barnes::npc_barnesAI::WaypointReached(), boss_anetheron::boss_anetheronAI::WaypointReached(), boss_azgalor::boss_azgalorAI::WaypointReached(), boss_kazrogal::boss_kazrogalAI::WaypointReached(), boss_rage_winterchill::boss_rage_winterchillAI::WaypointReached(), npc_giant_infernal::npc_giant_infernalAI::WaypointReached(), npc_abomination::npc_abominationAI::WaypointReached(), npc_ghoul::npc_ghoulAI::WaypointReached(), npc_necromancer::npc_necromancerAI::WaypointReached(), npc_banshee::npc_bansheeAI::WaypointReached(), npc_crypt_fiend::npc_crypt_fiendAI::WaypointReached(), npc_fel_stalker::npc_fel_stalkerAI::WaypointReached(), npc_frost_wyrm::npc_frost_wyrmAI::WaypointReached(), npc_gargoyle::npc_gargoyleAI::WaypointReached(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::WaypointReached(), npc_taretha::npc_tarethaAI::WaypointReached(), npc_crok_scourgebane::npc_crok_scourgebaneAI::WaypointReached(), and npc_crok_scourgebane::npc_crok_scourgebaneAI::WaypointStart().

◆ GetObjectGuid()

ObjectGuid InstanceScript::GetObjectGuid ( uint32  type) const
83{
84 ObjectGuidMap::const_iterator i = _objectGuids.find(type);
85
86 if (i != _objectGuids.end())
87 {
88 return i->second;
89 }
90
91 return ObjectGuid::Empty;
92}
static ObjectGuid const Empty
Definition: ObjectGuid.h:122

References _objectGuids, and ObjectGuid::Empty.

Referenced by DoRespawnCreature(), GetCreature(), GetGameObject(), and GetGuidData().

◆ GetPersistentData()

◆ GetSaveData()

std::string InstanceScript::GetSaveData ( )
virtual

Reimplemented in instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript, instance_deadmines::instance_deadmines_InstanceMapScript, instance_zulaman::instance_zulaman_InstanceMapScript, instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript, and instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript.

444{
446
447 std::ostringstream saveStream;
448
449 WriteSaveDataHeaders(saveStream);
450 WriteSaveDataBossStates(saveStream);
451 WritePersistentData(saveStream);
452 WriteSaveDataMore(saveStream);
453
455
456 return saveStream.str();
457}
#define OUT_SAVE_INST_DATA_COMPLETE
Definition: InstanceScript.h:28
#define OUT_SAVE_INST_DATA
Definition: InstanceScript.h:27
void WriteSaveDataBossStates(std::ostringstream &data)
Definition: InstanceScript.cpp:467
void WritePersistentData(std::ostringstream &data)
Definition: InstanceScript.cpp:475
void WriteSaveDataHeaders(std::ostringstream &data)
Definition: InstanceScript.cpp:459
virtual void WriteSaveDataMore(std::ostringstream &)
Definition: InstanceScript.h:293

References OUT_SAVE_INST_DATA, OUT_SAVE_INST_DATA_COMPLETE, WritePersistentData(), WriteSaveDataBossStates(), WriteSaveDataHeaders(), and WriteSaveDataMore().

Referenced by SaveToDB().

◆ HandleGameObject()

void InstanceScript::HandleGameObject ( ObjectGuid  guid,
bool  open,
GameObject go = nullptr 
)
110{
111 if (!go)
112 go = instance->GetGameObject(GUID);
113 if (go)
115 else
116 {
117 LOG_DEBUG("scripts.ai", "InstanceScript: HandleGameObject failed");
118 }
119}
@ GO_STATE_READY
Definition: GameObjectData.h:691
@ GO_STATE_ACTIVE
Definition: GameObjectData.h:690
void SetGoState(GOState state)
Definition: GameObject.cpp:2467

References Map::GetGameObject(), GO_STATE_ACTIVE, GO_STATE_READY, instance, LOG_DEBUG, and GameObject::SetGoState().

Referenced by instance_blood_furnace::instance_blood_furnace_InstanceMapScript::ActivateCell(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::AddWave1(), instance_zulaman::instance_zulaman_InstanceMapScript::CheckInstanceStatus(), boss_taldaram::DoAction(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::DoAction(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::DoAction(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::DoWipe1(), instance_blackrock_spire::instance_blackrock_spireMapScript::Dragonspireroomcheck(), go_chromaggus_lever::go_chromaggus_leverAI::GossipHello(), npc_grimstone::npc_grimstoneAI::HandleGameObject(), boss_nightbane::HandleTerraceDoors(), boss_malchezaar::Initialize(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::InstanceCleanup(), instance_violet_hold::instance_violet_hold_InstanceMapScript::InstanceCleanup(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::InstanceCleanup(), boss_malchezaar::JustDied(), boss_skadi::boss_skadiAI::JustDied(), boss_kelidan_the_breaker::JustDied(), boss_the_maker::JustDied(), boss_malchezaar::JustEngagedWith(), boss_the_maker::JustEngagedWith(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::MovementInform(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::OnCreatureCreate(), instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript::OnGameObjectCreate(), instance_uldaman::instance_uldaman_InstanceMapScript::OnGameObjectCreate(), instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript::OnGameObjectCreate(), instance_maraudon::instance_maraudon_InstanceMapScript::OnGameObjectCreate(), instance_zulfarrak::instance_zulfarrak_InstanceMapScript::OnGameObjectCreate(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::OnGameObjectCreate(), instance_blackrock_spire::instance_blackrock_spireMapScript::OnGameObjectCreate(), instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript::OnGameObjectCreate(), instance_hyjal::instance_mount_hyjal_InstanceMapScript::OnGameObjectCreate(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::OnGameObjectCreate(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::OnGameObjectCreate(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::OnGameObjectCreate(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnGameObjectCreate(), instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript::OnGameObjectCreate(), instance_violet_hold::instance_violet_hold_InstanceMapScript::OnGameObjectCreate(), instance_steam_vault::instance_steam_vault_InstanceMapScript::OnGameObjectCreate(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::OnGameObjectCreate(), instance_ahnkahet::instance_ahnkahet_InstanceScript::OnGameObjectCreate(), instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript::OnGameObjectCreate(), instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript::OnUnitDeath(), boss_the_maker::Reset(), npc_warden_mellichar::npc_warden_mellicharAI::Reset(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::ResetPrisons(), instance_karazhan::instance_karazhan_InstanceMapScript::SetBossState(), instance_ahnkahet::instance_ahnkahet_InstanceScript::SetBossState(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::SetBossState(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetBossState(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::SetBossState(), instance_arcatraz::instance_arcatraz_InstanceMapScript::SetBossState(), instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript::SetData(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::SetData(), instance_scholomance::instance_scholomance_InstanceMapScript::SetData(), instance_uldaman::instance_uldaman_InstanceMapScript::SetData(), instance_zulaman::instance_zulaman_InstanceMapScript::SetData(), instance_hyjal::instance_mount_hyjal_InstanceMapScript::SetData(), instance_ahnkahet::instance_ahnkahet_InstanceScript::SetData(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::SetData(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::SetData(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetData(), instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript::SetData(), instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript::SetData(), instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript::SetData(), instance_violet_hold::instance_violet_hold_InstanceMapScript::SetData(), instance_arcatraz::instance_arcatraz_InstanceMapScript::SetData(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::SetData(), instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript::SetData(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::SetGate(), instance_violet_hold::instance_violet_hold_InstanceMapScript::StartBossEncounter(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::TombOfSevenReset(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::Update(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::Update(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::Update(), instance_violet_hold::instance_violet_hold_InstanceMapScript::Update(), boss_halion::boss_halionAI::UpdateAI(), npc_hor_leader::npc_hor_leaderAI::UpdateAI(), and npc_warden_mellichar::npc_warden_mellicharAI::UpdateAI().

◆ Initialize()

virtual void InstanceScript::Initialize ( )
inlinevirtual

Reimplemented in instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript, instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript, instance_deadmines::instance_deadmines_InstanceMapScript, instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript, instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript, instance_stratholme::instance_stratholme_InstanceMapScript, instance_sunken_temple::instance_sunken_temple_InstanceMapScript, instance_uldaman::instance_uldaman_InstanceMapScript, instance_zulaman::instance_zulaman_InstanceMapScript, instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript, instance_hyjal::instance_mount_hyjal_InstanceMapScript, instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript, instance_dire_maul::instance_dire_maul_InstanceMapScript, instance_maraudon::instance_maraudon_InstanceMapScript, instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript, instance_razorfen_downs::instance_razorfen_downs_InstanceMapScript, instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript, instance_wailing_caverns::instance_wailing_caverns_InstanceMapScript, instance_zulfarrak::instance_zulfarrak_InstanceMapScript, instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript, instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript, instance_forge_of_souls::instance_forge_of_souls_InstanceScript, instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript, instance_pit_of_saron::instance_pit_of_saron_InstanceScript, instance_gundrak::instance_gundrak_InstanceMapScript, instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript, instance_nexus::instance_nexus_InstanceMapScript, instance_oculus::instance_oculus_InstanceMapScript, instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript, instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript, instance_ulduar::instance_ulduar_InstanceMapScript, instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript, instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript, instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript, instance_violet_hold::instance_violet_hold_InstanceMapScript, instance_shadow_labyrinth::instance_shadow_labyrinth_InstanceMapScript, instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript, instance_the_underbog::instance_the_underbog_InstanceMapScript, instance_blood_furnace::instance_blood_furnace_InstanceMapScript, instance_hellfire_ramparts::instance_hellfire_ramparts_InstanceMapScript, instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript, and instance_shattered_halls::instance_shattered_halls_InstanceMapScript.

149{}

Referenced by InstanceMap::CreateInstanceScript().

◆ IsAreaTriggerDone()

bool InstanceScript::IsAreaTriggerDone ( uint32  id) const
inline
259{ return _activatedAreaTriggers.find(id) != _activatedAreaTriggers.end(); }
std::unordered_set< uint32 > _activatedAreaTriggers
Definition: InstanceScript.h:307

References _activatedAreaTriggers.

◆ IsEncounterInProgress()

bool InstanceScript::IsEncounterInProgress ( ) const
virtual

Reimplemented in instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript, instance_zulaman::instance_zulaman_InstanceMapScript, instance_hyjal::instance_mount_hyjal_InstanceMapScript, instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript, instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript, instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript, instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript, instance_forge_of_souls::instance_forge_of_souls_InstanceScript, instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript, instance_pit_of_saron::instance_pit_of_saron_InstanceScript, instance_naxxramas::instance_naxxramas_InstanceMapScript, instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript, instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript, instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript, instance_ulduar::instance_ulduar_InstanceMapScript, instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript, instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript, instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript, and instance_violet_hold::instance_violet_hold_InstanceMapScript.

122{
123 for (std::vector<BossInfo>::const_iterator itr = bosses.begin(); itr != bosses.end(); ++itr)
124 if (itr->state == IN_PROGRESS)
125 return true;
126
127 return false;
128}

References bosses, and IN_PROGRESS.

Referenced by InstanceMap::CannotEnter(), Spell::EffectSanctuary(), spell_teron_gorefiend_shadow_of_death::spell_teron_gorefiend_shadow_of_death_AuraScript::HandleEffectRemove(), AuraEffect::HandleFeignDeath(), WorldSession::HandleSetRaidDifficultyOpcode(), npc_oculus_drake::npc_oculus_drakeAI::UpdateAI(), and npc_halion_controller::npc_halion_controllerAI::UpdateCorporeality().

◆ Load()

void InstanceScript::Load ( char const *  data)
virtual

Reimplemented in instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript, instance_deadmines::instance_deadmines_InstanceMapScript, instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript, instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript, and instance_zulaman::instance_zulaman_InstanceMapScript.

383{
384 if (!data)
385 {
387 return;
388 }
389
390 OUT_LOAD_INST_DATA(data);
391
392 std::istringstream loadStream(data);
393
394 if (ReadSaveDataHeaders(loadStream))
395 {
396 ReadSaveDataBossStates(loadStream);
397 ReadSavePersistentData(loadStream);
398 ReadSaveDataMore(loadStream);
399 }
400 else
402
404}
#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
virtual void ReadSaveDataMore(std::istringstream &)
Definition: InstanceScript.h:289
void ReadSavePersistentData(std::istringstream &data)
Definition: InstanceScript.cpp:435
bool ReadSaveDataHeaders(std::istringstream &data)
Definition: InstanceScript.cpp:406
void ReadSaveDataBossStates(std::istringstream &data)
Definition: InstanceScript.cpp:420

References OUT_LOAD_INST_DATA, OUT_LOAD_INST_DATA_COMPLETE, OUT_LOAD_INST_DATA_FAIL, ReadSaveDataBossStates(), ReadSaveDataHeaders(), ReadSaveDataMore(), and ReadSavePersistentData().

Referenced by InstanceMap::CreateInstanceScript().

◆ LoadBossBoundaries()

◆ LoadDoorData()

void InstanceScript::LoadDoorData ( DoorData const *  data)
protected
161{
162 while (data->entry)
163 {
164 if (data->bossId < bosses.size())
165 doors.insert(std::make_pair(data->entry, DoorInfo(&bosses[data->bossId], data->type)));
166
167 ++data;
168 }
169 LOG_DEBUG("scripts.ai", "InstanceScript::LoadDoorData: {} doors loaded.", uint64(doors.size()));
170}
std::uint64_t uint64
Definition: Define.h:107

References bosses, DoorData::bossId, doors, DoorData::entry, LOG_DEBUG, and DoorData::type.

Referenced by instance_gundrak::instance_gundrak_InstanceMapScript::Initialize(), instance_nexus::instance_nexus_InstanceMapScript::Initialize(), instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript::Initialize(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::Initialize(), instance_arcatraz::instance_arcatraz_InstanceMapScript::instance_arcatraz_InstanceMapScript(), instance_azjol_nerub::instance_azjol_nerub_InstanceScript::instance_azjol_nerub_InstanceScript(), instance_black_temple::instance_black_temple_InstanceMapScript::instance_black_temple_InstanceMapScript(), instance_blackrock_spire::instance_blackrock_spireMapScript::instance_blackrock_spireMapScript(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::instance_blackwing_lair_InstanceMapScript(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::instance_blood_furnace_InstanceMapScript(), instance_drak_tharon_keep::instance_drak_tharon_keep_InstanceScript::instance_drak_tharon_keep_InstanceScript(), instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript::instance_gruuls_lair_InstanceMapScript(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::instance_icecrown_citadel_InstanceMapScript(), instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript::instance_magtheridons_lair_InstanceMapScript(), instance_mechanar::instance_mechanar_InstanceMapScript::instance_mechanar_InstanceMapScript(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::instance_ruby_sanctum_InstanceMapScript(), instance_sethekk_halls::instance_sethekk_halls_InstanceMapScript::instance_sethekk_halls_InstanceMapScript(), instance_shadow_labyrinth::instance_shadow_labyrinth_InstanceMapScript::instance_shadow_labyrinth_InstanceMapScript(), instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::instance_sunwell_plateau_InstanceMapScript(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::instance_temple_of_ahnqiraj_InstanceMapScript(), and instance_zulgurub::instance_zulgurub_InstanceMapScript::instance_zulgurub_InstanceMapScript().

◆ LoadMinionData()

◆ LoadObjectData() [1/2]

void InstanceScript::LoadObjectData ( ObjectData const *  creatureData,
ObjectData const *  gameObjectData 
)
protected
173{
174 if (creatureData)
175 {
177 }
178
179 if (gameObjectData)
180 {
182 }
183
184 LOG_DEBUG("scripts", "InstanceScript::LoadObjectData: {} objects loaded.", _creatureInfo.size() + _gameObjectInfo.size());
185}
ObjectData const creatureData[]
Definition: instance_blackwing_lair.cpp:44
ObjectData const gameObjectData[]
Definition: instance_sethekk_halls.cpp:28
void LoadObjectData(ObjectData const *creatureData, ObjectData const *gameObjectData)
Definition: InstanceScript.cpp:172

References _creatureInfo, _gameObjectInfo, creatureData, gameObjectData, LoadObjectData(), and LOG_DEBUG.

Referenced by instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript::Initialize(), instance_the_underbog::instance_the_underbog_InstanceMapScript::Initialize(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::Initialize(), instance_arcatraz::instance_arcatraz_InstanceMapScript::instance_arcatraz_InstanceMapScript(), instance_azjol_nerub::instance_azjol_nerub_InstanceScript::instance_azjol_nerub_InstanceScript(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::instance_blackwing_lair_InstanceMapScript(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::instance_blood_furnace_InstanceMapScript(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::instance_icecrown_citadel_InstanceMapScript(), instance_karazhan::instance_karazhan_InstanceMapScript::instance_karazhan_InstanceMapScript(), instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::instance_ruins_of_ahnqiraj_InstanceMapScript(), instance_sethekk_halls::instance_sethekk_halls_InstanceMapScript::instance_sethekk_halls_InstanceMapScript(), instance_shadow_labyrinth::instance_shadow_labyrinth_InstanceMapScript::instance_shadow_labyrinth_InstanceMapScript(), instance_steam_vault::instance_steam_vault_InstanceMapScript::instance_steam_vault_InstanceMapScript(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::instance_temple_of_ahnqiraj_InstanceMapScript(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::instance_the_black_morass_InstanceMapScript(), instance_the_slave_pens::instance_the_slave_pens_InstanceMapScript::instance_the_slave_pens_InstanceMapScript(), instance_zulgurub::instance_zulgurub_InstanceMapScript::instance_zulgurub_InstanceMapScript(), and LoadObjectData().

◆ LoadObjectData() [2/2]

void InstanceScript::LoadObjectData ( ObjectData const *  creatureData,
ObjectInfoMap objectInfo 
)
staticprivate
188{
189 while (data->entry)
190 {
191 objectInfo[data->entry] = data->type;
192 ++data;
193 }
194}

References ObjectData::entry, and ObjectData::type.

◆ MarkAreaTriggerDone()

void InstanceScript::MarkAreaTriggerDone ( uint32  id)
inline
257{ _activatedAreaTriggers.insert(id); }

References _activatedAreaTriggers.

◆ OnCreatureCreate()

void InstanceScript::OnCreatureCreate ( Creature creature)
overridevirtual

Reimplemented from ZoneScript.

Reimplemented in instance_scholomance::instance_scholomance_InstanceMapScript, instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript, instance_blackrock_spire::instance_blackrock_spireMapScript, instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript, instance_molten_core::instance_molten_core_InstanceMapScript, instance_gnomeregan::instance_gnomeregan_InstanceMapScript, instance_karazhan::instance_karazhan_InstanceMapScript, instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript, instance_scarlet_monastery::instance_scarlet_monastery_InstanceMapScript, instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript, instance_stratholme::instance_stratholme_InstanceMapScript, instance_sunken_temple::instance_sunken_temple_InstanceMapScript, instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript, instance_uldaman::instance_uldaman_InstanceMapScript, instance_zulaman::instance_zulaman_InstanceMapScript, instance_zulgurub::instance_zulgurub_InstanceMapScript, instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript, instance_hyjal::instance_mount_hyjal_InstanceMapScript, instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript, instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript, instance_the_black_morass::instance_the_black_morass_InstanceMapScript, instance_dire_maul::instance_dire_maul_InstanceMapScript, instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript, instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript, instance_wailing_caverns::instance_wailing_caverns_InstanceMapScript, instance_zulfarrak::instance_zulfarrak_InstanceMapScript, instance_azjol_nerub::instance_azjol_nerub_InstanceScript, instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript, instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript, instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript, instance_forge_of_souls::instance_forge_of_souls_InstanceScript, instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript, instance_pit_of_saron::instance_pit_of_saron_InstanceScript, instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript, instance_naxxramas::instance_naxxramas_InstanceMapScript, instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript, instance_nexus::instance_nexus_InstanceMapScript, instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript, instance_ulduar::instance_ulduar_InstanceMapScript, instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript, instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript, instance_violet_hold::instance_violet_hold_InstanceMapScript, instance_sethekk_halls::instance_sethekk_halls_InstanceMapScript, instance_shadow_labyrinth::instance_shadow_labyrinth_InstanceMapScript, instance_black_temple::instance_black_temple_InstanceMapScript, instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript, instance_the_slave_pens::instance_the_slave_pens_InstanceMapScript, instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript, instance_blood_furnace::instance_blood_furnace_InstanceMapScript, instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript, instance_shattered_halls::instance_shattered_halls_InstanceMapScript, instance_the_eye::instance_the_eye_InstanceMapScript, instance_mechanar::instance_mechanar_InstanceMapScript, instance_ahnkahet::instance_ahnkahet_InstanceScript, instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript, instance_oculus::instance_oculus_InstanceMapScript, instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript, and instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript.

59{
60 AddObject(creature, true);
61 AddMinion(creature, true);
62}
void AddMinion(Creature *minion, bool add)
Definition: InstanceScript.cpp:308

References AddMinion(), and AddObject().

Referenced by instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::OnCreatureCreate(), instance_karazhan::instance_karazhan_InstanceMapScript::OnCreatureCreate(), instance_zulgurub::instance_zulgurub_InstanceMapScript::OnCreatureCreate(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::OnCreatureCreate(), instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::OnCreatureCreate(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::OnCreatureCreate(), instance_azjol_nerub::instance_azjol_nerub_InstanceScript::OnCreatureCreate(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnCreatureCreate(), instance_shadow_labyrinth::instance_shadow_labyrinth_InstanceMapScript::OnCreatureCreate(), instance_the_slave_pens::instance_the_slave_pens_InstanceMapScript::OnCreatureCreate(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::OnCreatureCreate(), and instance_shattered_halls::instance_shattered_halls_InstanceMapScript::OnCreatureCreate().

◆ OnCreatureRemove()

◆ OnGameObjectCreate()

void InstanceScript::OnGameObjectCreate ( GameObject go)
overridevirtual

Reimplemented from ZoneScript.

Reimplemented in instance_deadmines::instance_deadmines_InstanceMapScript, instance_gnomeregan::instance_gnomeregan_InstanceMapScript, instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript, instance_sunken_temple::instance_sunken_temple_InstanceMapScript, instance_uldaman::instance_uldaman_InstanceMapScript, instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript, instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript, instance_dire_maul::instance_dire_maul_InstanceMapScript, instance_maraudon::instance_maraudon_InstanceMapScript, instance_razorfen_downs::instance_razorfen_downs_InstanceMapScript, instance_zulfarrak::instance_zulfarrak_InstanceMapScript, instance_gundrak::instance_gundrak_InstanceMapScript, instance_nexus::instance_nexus_InstanceMapScript, instance_ulduar::instance_ulduar_InstanceMapScript, instance_mechanar::instance_mechanar_InstanceMapScript, instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript, instance_blackrock_spire::instance_blackrock_spireMapScript, instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript, instance_molten_core::instance_molten_core_InstanceMapScript, instance_karazhan::instance_karazhan_InstanceMapScript, instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript, instance_scarlet_monastery::instance_scarlet_monastery_InstanceMapScript, instance_scholomance::instance_scholomance_InstanceMapScript, instance_stratholme::instance_stratholme_InstanceMapScript, instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript, instance_zulaman::instance_zulaman_InstanceMapScript, instance_zulgurub::instance_zulgurub_InstanceMapScript, instance_hyjal::instance_mount_hyjal_InstanceMapScript, instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript, instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript, instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript, instance_azjol_nerub::instance_azjol_nerub_InstanceScript, instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript, instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript, instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript, instance_drak_tharon_keep::instance_drak_tharon_keep_InstanceScript, instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript, instance_pit_of_saron::instance_pit_of_saron_InstanceScript, instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript, instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript, instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript, instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript, instance_violet_hold::instance_violet_hold_InstanceMapScript, instance_black_temple::instance_black_temple_InstanceMapScript, instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript, instance_steam_vault::instance_steam_vault_InstanceMapScript, instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript, instance_blood_furnace::instance_blood_furnace_InstanceMapScript, instance_hellfire_ramparts::instance_hellfire_ramparts_InstanceMapScript, instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript, instance_arcatraz::instance_arcatraz_InstanceMapScript, instance_the_eye::instance_the_eye_InstanceMapScript, instance_ahnkahet::instance_ahnkahet_InstanceScript, instance_naxxramas::instance_naxxramas_InstanceMapScript, instance_oculus::instance_oculus_InstanceMapScript, instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript, and instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript.

71{
72 AddObject(go, true);
73 AddDoor(go, true);
74}
void AddDoor(GameObject *door, bool add)
Definition: InstanceScript.cpp:286

References AddDoor(), and AddObject().

Referenced by instance_blackrock_spire::instance_blackrock_spireMapScript::OnGameObjectCreate(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::OnGameObjectCreate(), instance_karazhan::instance_karazhan_InstanceMapScript::OnGameObjectCreate(), instance_zulgurub::instance_zulgurub_InstanceMapScript::OnGameObjectCreate(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::OnGameObjectCreate(), instance_steam_vault::instance_steam_vault_InstanceMapScript::OnGameObjectCreate(), and instance_blood_furnace::instance_blood_furnace_InstanceMapScript::OnGameObjectCreate().

◆ OnGameObjectRemove()

◆ OnPlayerAreaUpdate()

virtual void InstanceScript::OnPlayerAreaUpdate ( Player ,
uint32  ,
uint32   
)
inlinevirtual

◆ OnPlayerEnter()

virtual void InstanceScript::OnPlayerEnter ( Player )
inlinevirtual

Reimplemented in instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript, instance_molten_core::instance_molten_core_InstanceMapScript, instance_zulaman::instance_zulaman_InstanceMapScript, instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript, instance_forge_of_souls::instance_forge_of_souls_InstanceScript, instance_pit_of_saron::instance_pit_of_saron_InstanceScript, instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript, instance_scarlet_monastery::instance_scarlet_monastery_InstanceMapScript, instance_stratholme::instance_stratholme_InstanceMapScript, instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript, instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript, instance_the_black_morass::instance_the_black_morass_InstanceMapScript, instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript, instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript, instance_oculus::instance_oculus_InstanceMapScript, instance_ulduar::instance_ulduar_InstanceMapScript, instance_shattered_halls::instance_shattered_halls_InstanceMapScript, instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript, instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript, instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript, instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript, instance_violet_hold::instance_violet_hold_InstanceMapScript, and instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript.

183{}

Referenced by InstanceMap::AddPlayerToMap().

◆ ReadSaveDataBossStates()

void InstanceScript::ReadSaveDataBossStates ( std::istringstream &  data)
protected
421{
422 uint32 bossId = 0;
423 for (std::vector<BossInfo>::iterator i = bosses.begin(); i != bosses.end(); ++i, ++bossId)
424 {
425 uint32 buff;
426 data >> buff;
427 if (buff == IN_PROGRESS || buff == FAIL || buff == SPECIAL)
428 buff = NOT_STARTED;
429
430 if (buff < TO_BE_DECIDED)
431 SetBossState(bossId, EncounterState(buff));
432 }
433}
std::uint32_t uint32
Definition: Define.h:108
EncounterState
Definition: InstanceScript.h:55
virtual bool SetBossState(uint32 id, EncounterState state)
Definition: InstanceScript.cpp:320

References bosses, FAIL, IN_PROGRESS, NOT_STARTED, SetBossState(), SPECIAL, and TO_BE_DECIDED.

Referenced by Load().

◆ ReadSaveDataHeaders()

bool InstanceScript::ReadSaveDataHeaders ( std::istringstream &  data)
protected
407{
408 for (char header : headers)
409 {
410 char buff;
411 data >> buff;
412
413 if (header != buff)
414 return false;
415 }
416
417 return true;
418}
std::vector< char > headers
Definition: InstanceScript.h:298

References headers.

Referenced by Load().

◆ ReadSaveDataMore()

virtual void InstanceScript::ReadSaveDataMore ( std::istringstream &  )
inlineprotectedvirtual

Reimplemented in instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript, instance_gnomeregan::instance_gnomeregan_InstanceMapScript, instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript, instance_scholomance::instance_scholomance_InstanceMapScript, instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript, instance_stratholme::instance_stratholme_InstanceMapScript, instance_sunken_temple::instance_sunken_temple_InstanceMapScript, instance_uldaman::instance_uldaman_InstanceMapScript, instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript, instance_hyjal::instance_mount_hyjal_InstanceMapScript, instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript, instance_dire_maul::instance_dire_maul_InstanceMapScript, instance_maraudon::instance_maraudon_InstanceMapScript, instance_razorfen_downs::instance_razorfen_downs_InstanceMapScript, instance_wailing_caverns::instance_wailing_caverns_InstanceMapScript, instance_zulfarrak::instance_zulfarrak_InstanceMapScript, instance_ahnkahet::instance_ahnkahet_InstanceScript, instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript, instance_forge_of_souls::instance_forge_of_souls_InstanceScript, instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript, instance_pit_of_saron::instance_pit_of_saron_InstanceScript, instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript, instance_naxxramas::instance_naxxramas_InstanceMapScript, instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript, instance_oculus::instance_oculus_InstanceMapScript, instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript, instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript, instance_ulduar::instance_ulduar_InstanceMapScript, instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript, instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript, instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript, instance_violet_hold::instance_violet_hold_InstanceMapScript, and instance_shattered_halls::instance_shattered_halls_InstanceMapScript.

289{ }

Referenced by Load().

◆ ReadSavePersistentData()

void InstanceScript::ReadSavePersistentData ( std::istringstream &  data)
protected
436{
437 for (uint32 i = 0; i < persistentData.size(); ++i)
438 {
439 data >> persistentData[i];
440 }
441}

References persistentData.

Referenced by Load().

◆ ResetAreaTriggerDone()

void InstanceScript::ResetAreaTriggerDone ( uint32  id)
inline

◆ SaveToDB()

void InstanceScript::SaveToDB ( )
42{
43 std::string data = GetSaveData();
44 //if (data.empty()) // pussywizard: encounterMask can be updated and theres no reason to not save
45 // return;
46
47 // pussywizard:
48 InstanceSave* save = sInstanceSaveMgr->GetInstanceSave(instance->GetInstanceId());
49 if (save)
50 save->SetInstanceData(data);
51
53 stmt->SetData(0, data);
54 stmt->SetData(1, instance->GetInstanceId());
55 CharacterDatabase.Execute(stmt);
56}
DatabaseWorkerPool< CharacterDatabaseConnection > CharacterDatabase
Accessor to the character database.
Definition: DatabaseEnv.cpp:21
@ CHAR_UPD_INSTANCE_SAVE_DATA
Definition: CharacterDatabase.h:212
#define sInstanceSaveMgr
Definition: InstanceSaveMgr.h:202
Definition: PreparedStatement.h:158
Acore::Types::is_default< T > SetData(const uint8 index, T value)
Definition: PreparedStatement.h:78
Definition: InstanceSaveMgr.h:56
void SetInstanceData(std::string str)
Definition: InstanceSaveMgr.h:70
virtual std::string GetSaveData()
Definition: InstanceScript.cpp:443
uint32 GetInstanceId() const
Definition: Map.h:418

References CHAR_UPD_INSTANCE_SAVE_DATA, CharacterDatabase, Map::GetInstanceId(), GetSaveData(), instance, PreparedStatementBase::SetData(), InstanceSave::SetInstanceData(), and sInstanceSaveMgr.

Referenced by BossAI::_JustDied(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::DoCheckDedicatedInsanity(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::HandleDropAttempt(), instance_commandscript::HandleInstanceSaveDataCommand(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::InstanceCleanup(), boss_victor_nefarius::boss_victor_nefariusAI::JustDied(), boss_mandokir::boss_mandokirAI::JustDied(), boss_viscidus::JustDied(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::OnUnitDeath(), instance_stratholme::instance_stratholme_InstanceMapScript::OnUnitDeath(), instance_zulfarrak::instance_zulfarrak_InstanceMapScript::OnUnitDeath(), instance_ulduar::instance_ulduar_InstanceMapScript::OnUnitDeath(), instance_naxxramas::instance_naxxramas_InstanceMapScript::SetBossState(), SetBossState(), instance_ahnkahet::instance_ahnkahet_InstanceScript::SetBossState(), instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript::SetBossState(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetBossState(), instance_naxxramas::instance_naxxramas_InstanceMapScript::SetData(), instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript::SetData(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::SetData(), instance_deadmines::instance_deadmines_InstanceMapScript::SetData(), instance_gnomeregan::instance_gnomeregan_InstanceMapScript::SetData(), instance_scholomance::instance_scholomance_InstanceMapScript::SetData(), instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript::SetData(), instance_stratholme::instance_stratholme_InstanceMapScript::SetData(), instance_sunken_temple::instance_sunken_temple_InstanceMapScript::SetData(), instance_uldaman::instance_uldaman_InstanceMapScript::SetData(), instance_zulaman::instance_zulaman_InstanceMapScript::SetData(), instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript::SetData(), instance_hyjal::instance_mount_hyjal_InstanceMapScript::SetData(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::SetData(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::SetData(), instance_dire_maul::instance_dire_maul_InstanceMapScript::SetData(), instance_maraudon::instance_maraudon_InstanceMapScript::SetData(), instance_razorfen_downs::instance_razorfen_downs_InstanceMapScript::SetData(), instance_wailing_caverns::instance_wailing_caverns_InstanceMapScript::SetData(), instance_zulfarrak::instance_zulfarrak_InstanceMapScript::SetData(), instance_ahnkahet::instance_ahnkahet_InstanceScript::SetData(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::SetData(), instance_forge_of_souls::instance_forge_of_souls_InstanceScript::SetData(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::SetData(), instance_pit_of_saron::instance_pit_of_saron_InstanceScript::SetData(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetData(), instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript::SetData(), instance_oculus::instance_oculus_InstanceMapScript::SetData(), instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript::SetData(), instance_ulduar::instance_ulduar_InstanceMapScript::SetData(), instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript::SetData(), instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript::SetData(), instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript::SetData(), instance_violet_hold::instance_violet_hold_InstanceMapScript::SetData(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::SetData(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::SetData(), instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript::SetData(), instance_stratholme::instance_stratholme_InstanceMapScript::Update(), instance_zulaman::instance_zulaman_InstanceMapScript::Update(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::Update(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Update(), instance_ulduar::instance_ulduar_InstanceMapScript::Update(), and instance_violet_hold::instance_violet_hold_InstanceMapScript::Update().

◆ SendEncounterUnit()

void InstanceScript::SendEncounterUnit ( uint32  type,
Unit unit = nullptr,
uint8  param1 = 0,
uint8  param2 = 0 
)
698{
699 // size of this packet is at most 15 (usually less)
701 data << uint32(type);
702
703 switch (type)
704 {
708 data << unit->GetPackGUID();
709 data << uint8(param1);
710 break;
714 data << uint8(param1);
715 break;
717 data << uint8(param1);
718 data << uint8(param2);
719 break;
721 default:
722 break;
723 }
724
725 instance->SendToPlayers(&data);
726}
@ ENCOUNTER_FRAME_ENABLE_OBJECTIVE
Definition: InstanceScript.h:48
@ ENCOUNTER_FRAME_DISENGAGE
Definition: InstanceScript.h:45
@ ENCOUNTER_FRAME_UPDATE_PRIORITY
Definition: InstanceScript.h:46
@ ENCOUNTER_FRAME_DISABLE_OBJECTIVE
Definition: InstanceScript.h:50
@ ENCOUNTER_FRAME_UPDATE_OBJECTIVE
Definition: InstanceScript.h:49
@ ENCOUNTER_FRAME_REFRESH_FRAMES
Definition: InstanceScript.h:51
@ ENCOUNTER_FRAME_ADD_TIMER
Definition: InstanceScript.h:47
@ ENCOUNTER_FRAME_ENGAGE
Definition: InstanceScript.h:44
@ SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT
Definition: Opcodes.h:562
PackedGuid const & GetPackGUID() const
Definition: Object.h:108
void SendToPlayers(WorldPacket const *data) const
Definition: Map.cpp:2749
Definition: WorldPacket.h:27

References ENCOUNTER_FRAME_ADD_TIMER, ENCOUNTER_FRAME_DISABLE_OBJECTIVE, ENCOUNTER_FRAME_DISENGAGE, ENCOUNTER_FRAME_ENABLE_OBJECTIVE, ENCOUNTER_FRAME_ENGAGE, ENCOUNTER_FRAME_REFRESH_FRAMES, ENCOUNTER_FRAME_UPDATE_OBJECTIVE, ENCOUNTER_FRAME_UPDATE_PRIORITY, Object::GetPackGUID(), instance, Map::SendToPlayers(), and SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT.

Referenced by boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::DamageTaken(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::DoAction(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::DoAction(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::DoAction(), boss_halion::boss_halionAI::EnterEvadeMode(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::HealReceived(), boss_prince_keleseth_icc::boss_prince_kelesethAI::JustDied(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustDied(), boss_prince_valanar_icc::boss_prince_valanarAI::JustDied(), npc_gunship::npc_gunshipAI::JustDied(), boss_halion::boss_halionAI::JustDied(), boss_twilight_halion::boss_twilight_halionAI::JustDied(), boss_halion::boss_halionAI::JustEngagedWith(), boss_prince_keleseth_icc::boss_prince_kelesethAI::JustEngagedWith(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustEngagedWith(), boss_prince_valanar_icc::boss_prince_valanarAI::JustEngagedWith(), boss_prince_keleseth_icc::boss_prince_kelesethAI::JustReachedHome(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustReachedHome(), boss_prince_valanar_icc::boss_prince_valanarAI::JustReachedHome(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::Reset(), and boss_twilight_halion::boss_twilight_halionAI::UpdateAI().

◆ ServerAllowsTwoSideGroups()

bool InstanceScript::ServerAllowsTwoSideGroups ( )
inline
227{ return sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP); }
@ CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP
Definition: IWorld.h:80
#define sWorld
Definition: World.h:447

References CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP, and sWorld.

◆ SetBossNumber()

void InstanceScript::SetBossNumber ( uint32  number)
inlineprotected
268{ bosses.resize(number); }

References bosses.

Referenced by instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript::Initialize(), instance_gundrak::instance_gundrak_InstanceMapScript::Initialize(), instance_nexus::instance_nexus_InstanceMapScript::Initialize(), instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript::Initialize(), instance_the_underbog::instance_the_underbog_InstanceMapScript::Initialize(), instance_hellfire_ramparts::instance_hellfire_ramparts_InstanceMapScript::Initialize(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::Initialize(), instance_ahnkahet::instance_ahnkahet_InstanceScript::instance_ahnkahet_InstanceScript(), instance_arcatraz::instance_arcatraz_InstanceMapScript::instance_arcatraz_InstanceMapScript(), instance_auchenai_crypts::instance_auchenai_crypts_InstanceMapScript::instance_auchenai_crypts_InstanceMapScript(), instance_azjol_nerub::instance_azjol_nerub_InstanceScript::instance_azjol_nerub_InstanceScript(), instance_black_temple::instance_black_temple_InstanceMapScript::instance_black_temple_InstanceMapScript(), instance_blackrock_spire::instance_blackrock_spireMapScript::instance_blackrock_spireMapScript(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::instance_blackwing_lair_InstanceMapScript(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::instance_blood_furnace_InstanceMapScript(), instance_drak_tharon_keep::instance_drak_tharon_keep_InstanceScript::instance_drak_tharon_keep_InstanceScript(), instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript::instance_gruuls_lair_InstanceMapScript(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::instance_icecrown_citadel_InstanceMapScript(), instance_karazhan::instance_karazhan_InstanceMapScript::instance_karazhan_InstanceMapScript(), instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript::instance_magtheridons_lair_InstanceMapScript(), instance_mana_tombs::instance_mana_tombs_InstanceMapScript::instance_mana_tombs_InstanceMapScript(), instance_mechanar::instance_mechanar_InstanceMapScript::instance_mechanar_InstanceMapScript(), instance_molten_core::instance_molten_core_InstanceMapScript::instance_molten_core_InstanceMapScript(), instance_naxxramas::instance_naxxramas_InstanceMapScript::instance_naxxramas_InstanceMapScript(), instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript::instance_obsidian_sanctum_InstanceMapScript(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::instance_ruby_sanctum_InstanceMapScript(), instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::instance_ruins_of_ahnqiraj_InstanceMapScript(), instance_sethekk_halls::instance_sethekk_halls_InstanceMapScript::instance_sethekk_halls_InstanceMapScript(), instance_shadow_labyrinth::instance_shadow_labyrinth_InstanceMapScript::instance_shadow_labyrinth_InstanceMapScript(), instance_steam_vault::instance_steam_vault_InstanceMapScript::instance_steam_vault_InstanceMapScript(), instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::instance_sunwell_plateau_InstanceMapScript(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::instance_temple_of_ahnqiraj_InstanceMapScript(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::instance_the_black_morass_InstanceMapScript(), instance_the_botanica::instance_the_botanica_InstanceMapScript::instance_the_botanica_InstanceMapScript(), instance_the_eye::instance_the_eye_InstanceMapScript::instance_the_eye_InstanceMapScript(), and instance_zulgurub::instance_zulgurub_InstanceMapScript::instance_zulgurub_InstanceMapScript().

◆ SetBossState()

bool InstanceScript::SetBossState ( uint32  id,
EncounterState  state 
)
virtual

Reimplemented in instance_molten_core::instance_molten_core_InstanceMapScript, instance_naxxramas::instance_naxxramas_InstanceMapScript, instance_steam_vault::instance_steam_vault_InstanceMapScript, instance_nexus::instance_nexus_InstanceMapScript, instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript, instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript, instance_blackrock_spire::instance_blackrock_spireMapScript, instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript, instance_karazhan::instance_karazhan_InstanceMapScript, instance_zulgurub::instance_zulgurub_InstanceMapScript, instance_the_black_morass::instance_the_black_morass_InstanceMapScript, instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript, instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript, instance_ahnkahet::instance_ahnkahet_InstanceScript, instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript, instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript, instance_gundrak::instance_gundrak_InstanceMapScript, instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript, instance_black_temple::instance_black_temple_InstanceMapScript, instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript, instance_blood_furnace::instance_blood_furnace_InstanceMapScript, instance_hellfire_ramparts::instance_hellfire_ramparts_InstanceMapScript, and instance_arcatraz::instance_arcatraz_InstanceMapScript.

321{
322 if (id < bosses.size())
323 {
324 BossInfo* bossInfo = &bosses[id];
325 sScriptMgr->OnBeforeSetBossState(id, state, bossInfo->state, instance);
326 if (bossInfo->state == TO_BE_DECIDED) // loading
327 {
328 bossInfo->state = state;
329 return false;
330 }
331 else
332 {
333 if (bossInfo->state == state)
334 return false;
335
336 if (state == DONE)
337 for (MinionSet::iterator i = bossInfo->minion.begin(); i != bossInfo->minion.end(); ++i)
338 if ((*i)->isWorldBoss() && (*i)->IsAlive())
339 return false;
340
341 bossInfo->state = state;
342 SaveToDB();
343 }
344
345 for (uint32 type = 0; type < MAX_DOOR_TYPES; ++type)
346 for (DoorSet::iterator i = bossInfo->door[type].begin(); i != bossInfo->door[type].end(); ++i)
347 UpdateDoorState(*i);
348
349 for (MinionSet::iterator i = bossInfo->minion.begin(); i != bossInfo->minion.end(); ++i)
350 UpdateMinionState(*i, state);
351
352 return true;
353 }
354 return false;
355}
@ MAX_DOOR_TYPES
Definition: InstanceScript.h:69
#define sScriptMgr
Definition: ScriptMgr.h:2762
EncounterState state
Definition: InstanceScript.h:112
void UpdateMinionState(Creature *minion, EncounterState state)
Definition: InstanceScript.cpp:196
void SaveToDB()
Definition: InstanceScript.cpp:41

References bosses, DONE, BossInfo::door, instance, MAX_DOOR_TYPES, BossInfo::minion, SaveToDB(), sScriptMgr, BossInfo::state, TO_BE_DECIDED, UpdateDoorState(), and UpdateMinionState().

Referenced by BossAI::_JustDied(), BossAI::_JustEngagedWith(), BossAI::_Reset(), npc_warden_mellichar::npc_warden_mellicharAI::DamageTaken(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::DoAction(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::DoAction(), boss_broggok::DoAction(), boss_hadronox::boss_hadronoxAI::DoAction(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::DoAction(), boss_dorothee::EnterEvadeMode(), boss_roar::EnterEvadeMode(), boss_strawman::EnterEvadeMode(), boss_tinhead::EnterEvadeMode(), boss_crone::EnterEvadeMode(), boss_bigbadwolf::EnterEvadeMode(), boss_julianne::EnterEvadeMode(), boss_romulo::EnterEvadeMode(), boss_gyth::boss_gythAI::EnterEvadeMode(), boss_rend_blackhand::boss_rend_blackhandAI::EnterEvadeMode(), boss_sindragosa::boss_sindragosaAI::EnterEvadeMode(), boss_the_lich_king::boss_the_lich_kingAI::EnterEvadeMode(), boss_ouro::EnterEvadeMode(), npc_dirt_mound::EnterEvadeMode(), instance_commandscript::HandleInstanceSetBossStateCommand(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::HealReceived(), boss_gyth::boss_gythAI::JustDied(), boss_overlord_wyrmthalak::boss_overlordwyrmthalakAI::JustDied(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::JustDied(), boss_rend_blackhand::boss_rend_blackhandAI::JustDied(), boss_victor_nefarius::boss_victor_nefariusAI::JustDied(), boss_crone::JustDied(), boss_bigbadwolf::JustDied(), boss_julianne::JustDied(), boss_romulo::JustDied(), boss_sacrolash::boss_sacrolashAI::JustDied(), boss_alythess::boss_alythessAI::JustDied(), boss_kiljaeden::boss_kiljaedenAI::JustDied(), boss_mandokir::boss_mandokirAI::JustDied(), npc_ohgan::npc_ohganAI::JustDied(), npc_vilebranch_speaker::JustDied(), boss_viscidus::JustDied(), boss_sartharion_dragonAI::JustDied(), boss_prince_valanar_icc::boss_prince_valanarAI::JustDied(), npc_gunship::npc_gunshipAI::JustDied(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::JustDied(), boss_novos::boss_novosAI::JustDied(), boss_sartharion_dragonAI::JustEngagedWith(), boss_lord_marrowgar::JustEngagedWith(), boss_olm_the_summoner::JustEngagedWith(), boss_kiggler_the_crazed::JustEngagedWith(), boss_blindeye_the_seer::JustEngagedWith(), boss_krosh_firehand::JustEngagedWith(), boss_the_lich_king::boss_the_lich_kingAI::JustEngagedWith(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::JustEngagedWith(), boss_trollgore::boss_trollgoreAI::JustEngagedWith(), boss_prince_valanar_icc::boss_prince_valanarAI::JustEngagedWith(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::JustEngagedWith(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustEngagedWith(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::JustEngagedWith(), boss_professor_putricide::boss_professor_putricideAI::JustEngagedWith(), boss_sindragosa::boss_sindragosaAI::JustEngagedWith(), boss_prince_valanar_icc::boss_prince_valanarAI::JustReachedHome(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustReachedHome(), boss_festergut::boss_festergutAI::JustReachedHome(), boss_lord_marrowgar::JustReachedHome(), boss_professor_putricide::boss_professor_putricideAI::JustReachedHome(), boss_rotface::boss_rotfaceAI::JustReachedHome(), boss_mandokir::boss_mandokirAI::MovementInform(), boss_professor_putricide::boss_professor_putricideAI::MovementInform(), SmartScript::ProcessAction(), ReadSaveDataBossStates(), boss_gyth::boss_gythAI::Reset(), boss_rend_blackhand::boss_rend_blackhandAI::Reset(), boss_majordomo::boss_majordomoAI::Reset(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::Reset(), boss_mandokir::boss_mandokirAI::Reset(), boss_ouro::Reset(), boss_novos::boss_novosAI::Reset(), boss_prince_valanar_icc::boss_prince_valanarAI::Reset(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::Reset(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::Reset(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::Reset(), boss_olm_the_summoner::Reset(), boss_kiggler_the_crazed::Reset(), boss_blindeye_the_seer::Reset(), boss_krosh_firehand::Reset(), boss_grand_warlock_nethekurse::Reset(), npc_warden_mellichar::npc_warden_mellicharAI::Reset(), instance_molten_core::instance_molten_core_InstanceMapScript::SetBossState(), instance_naxxramas::instance_naxxramas_InstanceMapScript::SetBossState(), instance_steam_vault::instance_steam_vault_InstanceMapScript::SetBossState(), instance_nexus::instance_nexus_InstanceMapScript::SetBossState(), instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript::SetBossState(), instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript::SetBossState(), instance_blackrock_spire::instance_blackrock_spireMapScript::SetBossState(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::SetBossState(), instance_karazhan::instance_karazhan_InstanceMapScript::SetBossState(), instance_zulgurub::instance_zulgurub_InstanceMapScript::SetBossState(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::SetBossState(), instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript::SetBossState(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::SetBossState(), instance_ahnkahet::instance_ahnkahet_InstanceScript::SetBossState(), instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript::SetBossState(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::SetBossState(), instance_gundrak::instance_gundrak_InstanceMapScript::SetBossState(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetBossState(), instance_black_temple::instance_black_temple_InstanceMapScript::SetBossState(), instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript::SetBossState(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::SetBossState(), instance_hellfire_ramparts::instance_hellfire_ramparts_InstanceMapScript::SetBossState(), instance_arcatraz::instance_arcatraz_InstanceMapScript::SetBossState(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::SetData(), npc_barnes::npc_barnesAI::StartEvent(), boss_rend_blackhand::boss_rend_blackhandAI::SummonedCreatureDespawn(), boss_majordomo::boss_majordomoAI::SummonedCreatureDies(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::SummonedCreatureDies(), npc_warden_mellichar::npc_warden_mellicharAI::SummonedCreatureDies(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::UpdateAI(), boss_rend_blackhand::boss_rend_blackhandAI::UpdateAI(), boss_kalec::boss_kalecAI::UpdateAI(), npc_halion_controller::npc_halion_controllerAI::UpdateAI(), and npc_akama_illidan::npc_akama_illidanAI::UpdateEscortAI().

◆ SetCompletedEncountersMask()

void InstanceScript::SetCompletedEncountersMask ( uint32  newMask,
bool  save 
)
679{
680 if (completedEncounters == newMask)
681 return;
682 completedEncounters = newMask;
683 // pussywizard:
684 if (save)
685 {
686 InstanceSave* iSave = sInstanceSaveMgr->GetInstanceSave(instance->GetInstanceId());
687 if (iSave)
689
692 stmt->SetData(1, instance->GetInstanceId());
693 CharacterDatabase.Execute(stmt);
694 }
695}
@ CHAR_UPD_INSTANCE_SAVE_ENCOUNTERMASK
Definition: CharacterDatabase.h:213
void SetCompletedEncounterMask(uint32 mask)
Definition: InstanceSaveMgr.h:72

References CHAR_UPD_INSTANCE_SAVE_ENCOUNTERMASK, CharacterDatabase, completedEncounters, Map::GetInstanceId(), instance, InstanceSave::SetCompletedEncounterMask(), PreparedStatementBase::SetData(), and sInstanceSaveMgr.

Referenced by InstanceMap::CreateInstanceScript().

◆ SetHeaders()

void InstanceScript::SetHeaders ( std::string const &  dataHeaders)
protected
138{
139 for (char header : dataHeaders)
140 {
141 if (isalpha(header))
142 {
143 headers.push_back(header);
144 }
145 }
146}

References headers.

Referenced by instance_uldaman::instance_uldaman_InstanceMapScript::Initialize(), instance_zulaman::instance_zulaman_InstanceMapScript::Initialize(), instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript::Initialize(), instance_hyjal::instance_mount_hyjal_InstanceMapScript::Initialize(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Initialize(), instance_dire_maul::instance_dire_maul_InstanceMapScript::Initialize(), instance_maraudon::instance_maraudon_InstanceMapScript::Initialize(), instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript::Initialize(), instance_razorfen_downs::instance_razorfen_downs_InstanceMapScript::Initialize(), instance_zulfarrak::instance_zulfarrak_InstanceMapScript::Initialize(), instance_nexus::instance_nexus_InstanceMapScript::Initialize(), instance_oculus::instance_oculus_InstanceMapScript::Initialize(), instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript::Initialize(), instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript::Initialize(), instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript::Initialize(), instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript::Initialize(), instance_violet_hold::instance_violet_hold_InstanceMapScript::Initialize(), instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript::Initialize(), instance_hellfire_ramparts::instance_hellfire_ramparts_InstanceMapScript::Initialize(), instance_ahnkahet::instance_ahnkahet_InstanceScript::instance_ahnkahet_InstanceScript(), instance_arcatraz::instance_arcatraz_InstanceMapScript::instance_arcatraz_InstanceMapScript(), instance_auchenai_crypts::instance_auchenai_crypts_InstanceMapScript::instance_auchenai_crypts_InstanceMapScript(), instance_azjol_nerub::instance_azjol_nerub_InstanceScript::instance_azjol_nerub_InstanceScript(), instance_black_temple::instance_black_temple_InstanceMapScript::instance_black_temple_InstanceMapScript(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::instance_blackrock_depths_InstanceMapScript(), instance_blackrock_spire::instance_blackrock_spireMapScript::instance_blackrock_spireMapScript(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::instance_blackwing_lair_InstanceMapScript(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::instance_blood_furnace_InstanceMapScript(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::instance_culling_of_stratholme_InstanceMapScript(), instance_deadmines::instance_deadmines_InstanceMapScript::instance_deadmines_InstanceMapScript(), instance_drak_tharon_keep::instance_drak_tharon_keep_InstanceScript::instance_drak_tharon_keep_InstanceScript(), instance_forge_of_souls::instance_forge_of_souls_InstanceScript::instance_forge_of_souls_InstanceScript(), instance_gnomeregan::instance_gnomeregan_InstanceMapScript::instance_gnomeregan_InstanceMapScript(), instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript::instance_gruuls_lair_InstanceMapScript(), instance_gundrak::instance_gundrak_InstanceMapScript::instance_gundrak_InstanceMapScript(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::instance_halls_of_reflection_InstanceMapScript(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::instance_icecrown_citadel_InstanceMapScript(), instance_karazhan::instance_karazhan_InstanceMapScript::instance_karazhan_InstanceMapScript(), instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript::instance_magisters_terrace_InstanceMapScript(), instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript::instance_magtheridons_lair_InstanceMapScript(), instance_mana_tombs::instance_mana_tombs_InstanceMapScript::instance_mana_tombs_InstanceMapScript(), instance_mechanar::instance_mechanar_InstanceMapScript::instance_mechanar_InstanceMapScript(), instance_molten_core::instance_molten_core_InstanceMapScript::instance_molten_core_InstanceMapScript(), instance_naxxramas::instance_naxxramas_InstanceMapScript::instance_naxxramas_InstanceMapScript(), instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript::instance_obsidian_sanctum_InstanceMapScript(), instance_pit_of_saron::instance_pit_of_saron_InstanceScript::instance_pit_of_saron_InstanceScript(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::instance_ruby_sanctum_InstanceMapScript(), instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::instance_ruins_of_ahnqiraj_InstanceMapScript(), instance_scarlet_monastery::instance_scarlet_monastery_InstanceMapScript::instance_scarlet_monastery_InstanceMapScript(), instance_sethekk_halls::instance_sethekk_halls_InstanceMapScript::instance_sethekk_halls_InstanceMapScript(), instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript::instance_shadowfang_keep_InstanceMapScript(), instance_steam_vault::instance_steam_vault_InstanceMapScript::instance_steam_vault_InstanceMapScript(), instance_stratholme::instance_stratholme_InstanceMapScript::instance_stratholme_InstanceMapScript(), instance_sunken_temple::instance_sunken_temple_InstanceMapScript::instance_sunken_temple_InstanceMapScript(), instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::instance_sunwell_plateau_InstanceMapScript(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::instance_temple_of_ahnqiraj_InstanceMapScript(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::instance_the_black_morass_InstanceMapScript(), instance_the_botanica::instance_the_botanica_InstanceMapScript::instance_the_botanica_InstanceMapScript(), instance_the_eye::instance_the_eye_InstanceMapScript::instance_the_eye_InstanceMapScript(), instance_the_slave_pens::instance_the_slave_pens_InstanceMapScript::instance_the_slave_pens_InstanceMapScript(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::instance_trial_of_the_champion_InstanceMapScript(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::instance_trial_of_the_crusader_InstanceMapScript(), instance_ulduar::instance_ulduar_InstanceMapScript::instance_ulduar_InstanceMapScript(), and instance_zulgurub::instance_zulgurub_InstanceMapScript::instance_zulgurub_InstanceMapScript().

◆ SetPersistentDataCount()

◆ StorePersistentData()

void InstanceScript::StorePersistentData ( uint32  index,
uint32  data 
)
358{
359 if (index > persistentData.size())
360 {
361 LOG_ERROR("scripts", "InstanceScript::StorePersistentData() index larger than storage size. Index: {} Size: {} Data: {}.", index, persistentData.size(), data);
362 return;
363 }
364
365 persistentData[index] = data;
366}

References LOG_ERROR, and persistentData.

Referenced by at_icc_spire_frostwyrm::_OnTrigger(), boss_pathaleon_the_calculator::DoAction(), and instance_shadow_labyrinth::instance_shadow_labyrinth_InstanceMapScript::OnUnitDeath().

◆ Update()

virtual void InstanceScript::Update ( uint32  )
inlinevirtual

Reimplemented in instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript, instance_blackrock_spire::instance_blackrock_spireMapScript, instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript, instance_stratholme::instance_stratholme_InstanceMapScript, instance_sunken_temple::instance_sunken_temple_InstanceMapScript, instance_zulaman::instance_zulaman_InstanceMapScript, instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript, instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript, instance_the_black_morass::instance_the_black_morass_InstanceMapScript, instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript, instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript, instance_zulfarrak::instance_zulfarrak_InstanceMapScript, instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript, instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript, instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript, instance_gundrak::instance_gundrak_InstanceMapScript, instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript, instance_naxxramas::instance_naxxramas_InstanceMapScript, instance_ulduar::instance_ulduar_InstanceMapScript, instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript, instance_violet_hold::instance_violet_hold_InstanceMapScript, and instance_shattered_halls::instance_shattered_halls_InstanceMapScript.

162{}

Referenced by InstanceMap::Update().

◆ UpdateDoorState()

void InstanceScript::UpdateDoorState ( GameObject door)
protected
223{
224 DoorInfoMapBounds range = doors.equal_range(door->GetEntry());
225 if (range.first == range.second)
226 return;
227
228 // xinef: doors can be assigned to few bosses, if any of them demands doors closed - they should be closed (added & operator for assigment)
229 bool open = true;
230 for (; range.first != range.second && open; ++range.first)
231 {
232 DoorInfo const& info = range.first->second;
233 switch (info.type)
234 {
235 case DOOR_TYPE_ROOM:
236 open &= (info.bossInfo->state != IN_PROGRESS);
237 break;
239 open &= (info.bossInfo->state == DONE);
240 break;
242 open &= (info.bossInfo->state == IN_PROGRESS);
243 break;
244 default:
245 break;
246 }
247 }
248
250}
@ DOOR_TYPE_SPAWN_HOLE
Definition: InstanceScript.h:68
@ DOOR_TYPE_ROOM
Definition: InstanceScript.h:66
@ DOOR_TYPE_PASSAGE
Definition: InstanceScript.h:67

References DoorInfo::bossInfo, DONE, DOOR_TYPE_PASSAGE, DOOR_TYPE_ROOM, DOOR_TYPE_SPAWN_HOLE, doors, Object::GetEntry(), GO_STATE_ACTIVE, GO_STATE_READY, IN_PROGRESS, GameObject::SetGoState(), BossInfo::state, and DoorInfo::type.

Referenced by AddDoor(), and SetBossState().

◆ UpdateMinionState()

void InstanceScript::UpdateMinionState ( Creature minion,
EncounterState  state 
)
protected
197{
198 switch (state)
199 {
200 case NOT_STARTED:
201 if (!minion->IsAlive())
202 minion->Respawn();
203 else if (minion->IsInCombat())
204 minion->AI()->EnterEvadeMode();
205 break;
206 case IN_PROGRESS:
207 if (!minion->IsAlive())
208 minion->Respawn();
209 else
210 {
211 if (minion->GetReactState() == REACT_AGGRESSIVE)
212 {
213 minion->AI()->DoZoneInCombat(nullptr, 100.0f);
214 }
215 }
216 break;
217 default:
218 break;
219 }
220}
@ REACT_AGGRESSIVE
Definition: Unit.h:1037
void DoZoneInCombat(Creature *creature=nullptr, float maxRangeToNearestTarget=250.0f)
Definition: CreatureAI.cpp:95
virtual void EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
Definition: CreatureAI.cpp:197
void Respawn(bool force=false)
Definition: Creature.cpp:2005
ReactStates GetReactState() const
Definition: Creature.h:90
CreatureAI * AI() const
Definition: Creature.h:135
bool IsAlive() const
Definition: Unit.h:1820
bool IsInCombat() const
Definition: Unit.h:1700

References Creature::AI(), CreatureAI::DoZoneInCombat(), CreatureAI::EnterEvadeMode(), Creature::GetReactState(), IN_PROGRESS, Unit::IsAlive(), Unit::IsInCombat(), NOT_STARTED, REACT_AGGRESSIVE, and Creature::Respawn().

Referenced by SetBossState().

◆ WritePersistentData()

void InstanceScript::WritePersistentData ( std::ostringstream &  data)
protected
476{
477 for (auto const& entry : persistentData)
478 {
479 data << entry << ' ';
480 }
481}

References persistentData.

Referenced by GetSaveData().

◆ WriteSaveDataBossStates()

void InstanceScript::WriteSaveDataBossStates ( std::ostringstream &  data)
protected
468{
469 for (BossInfo const& bossInfo : bosses)
470 {
471 data << uint32(bossInfo.state) << ' ';
472 }
473}

References bosses.

Referenced by GetSaveData().

◆ WriteSaveDataHeaders()

void InstanceScript::WriteSaveDataHeaders ( std::ostringstream &  data)
protected
460{
461 for (char header : headers)
462 {
463 data << header << ' ';
464 }
465}

References headers.

Referenced by GetSaveData().

◆ WriteSaveDataMore()

virtual void InstanceScript::WriteSaveDataMore ( std::ostringstream &  )
inlineprotectedvirtual

Reimplemented in instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript, instance_gnomeregan::instance_gnomeregan_InstanceMapScript, instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript, instance_scholomance::instance_scholomance_InstanceMapScript, instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript, instance_stratholme::instance_stratholme_InstanceMapScript, instance_sunken_temple::instance_sunken_temple_InstanceMapScript, instance_uldaman::instance_uldaman_InstanceMapScript, instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript, instance_hyjal::instance_mount_hyjal_InstanceMapScript, instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript, instance_dire_maul::instance_dire_maul_InstanceMapScript, instance_maraudon::instance_maraudon_InstanceMapScript, instance_razorfen_downs::instance_razorfen_downs_InstanceMapScript, instance_wailing_caverns::instance_wailing_caverns_InstanceMapScript, instance_zulfarrak::instance_zulfarrak_InstanceMapScript, instance_ahnkahet::instance_ahnkahet_InstanceScript, instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript, instance_forge_of_souls::instance_forge_of_souls_InstanceScript, instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript, instance_pit_of_saron::instance_pit_of_saron_InstanceScript, instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript, instance_naxxramas::instance_naxxramas_InstanceMapScript, instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript, instance_oculus::instance_oculus_InstanceMapScript, instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript, instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript, instance_ulduar::instance_ulduar_InstanceMapScript, instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript, instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript, instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript, instance_violet_hold::instance_violet_hold_InstanceMapScript, and instance_shattered_halls::instance_shattered_halls_InstanceMapScript.

293{ }

Referenced by GetSaveData().

Member Data Documentation

◆ _activatedAreaTriggers

std::unordered_set<uint32> InstanceScript::_activatedAreaTriggers
private

◆ _creatureInfo

ObjectInfoMap InstanceScript::_creatureInfo
private

Referenced by AddObject(), and LoadObjectData().

◆ _gameObjectInfo

ObjectInfoMap InstanceScript::_gameObjectInfo
private

Referenced by AddObject(), and LoadObjectData().

◆ _objectGuids

ObjectGuidMap InstanceScript::_objectGuids
private

Referenced by AddObject(), and GetObjectGuid().

◆ bosses

◆ completedEncounters

uint32 InstanceScript::completedEncounters
private

◆ doors

DoorInfoMap InstanceScript::doors
private

◆ headers

std::vector<char> InstanceScript::headers
private

◆ instance

Map* InstanceScript::instance

Referenced by instance_blood_furnace::instance_blood_furnace_InstanceMapScript::ActivatePrisoners(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::AddWave1(), boss_tyrannus::boss_tyrannusAI::boss_tyrannusAI(), instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::CallNextRajaxxLeader(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::CheckAchievementCriteriaMeet(), instance_forge_of_souls::instance_forge_of_souls_InstanceScript::CheckAchievementCriteriaMeet(), instance_naxxramas::instance_naxxramas_InstanceMapScript::CheckAchievementCriteriaMeet(), instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript::CheckAchievementCriteriaMeet(), CheckAchievementCriteriaMeet(), instance_molten_core::instance_molten_core_InstanceMapScript::CheckMajordomoExecutus(), boss_prince_valanar_icc::boss_prince_valanarAI::CheckRoom(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::CheckTombReset(), instance_stratholme::instance_stratholme_InstanceMapScript::CheckZiggurats(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::ChromieWhisper(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::CleanupInstance(), violet_hold_trashAI::ClearDoorSealAura(), hyjalAI::DeSpawnVeins(), boss_hodir::boss_hodirAI::DoAction(), npc_hor_lich_king::npc_hor_lich_kingAI::DoAction(), npc_vh_void_sentry::npc_vh_void_sentryAI::DoAction(), instance_molten_core::instance_molten_core_InstanceMapScript::DoAction(), instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript::DoAction(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::DoAction(), boss_black_knight::boss_black_knightAI::DoAction(), boss_tyrannus::boss_tyrannusAI::DoAction(), DoCastSpellOnPlayer(), DoCastSpellOnPlayers(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::DoCheckDedicatedInsanity(), npc_rocknot::npc_rocknotAI::DoGo(), instance_violet_hold::instance_violet_hold_InstanceMapScript::DoNeedCleanup(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::DoNeedCleanup(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::DoNeedCleanup(), DoRemoveAurasDueToSpellOnPlayers(), DoRespawnCreature(), DoRespawnGameObject(), DoSendNotifyToInstance(), DoStartTimedAchievement(), DoStopTimedAchievement(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::DoSummonGrandChampion(), DoUpdateAchievementCriteria(), DoUpdateWorldState(), DoUseDoorOrButton(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::DoWipe1(), instance_blackrock_spire::instance_blackrock_spireMapScript::Dragonspireroomcheck(), instance_blackrock_spire::instance_blackrock_spireMapScript::Dragonspireroomstore(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::EnsureGridLoaded(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::EnsureGridLoaded(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::FillInitialWorldStates(), instance_stratholme::instance_stratholme_InstanceMapScript::gate_critter_delay(), boss_erekem::boss_erekemAI::GetChainHealTargetGUID(), GetCreature(), instance_pit_of_saron::instance_pit_of_saron_InstanceScript::GetCreatureEntry(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::GetCreatureEntry(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::GetData(), GetGameObject(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::GetGameObjectEntry(), instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::GetPlayerInMap(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::HandleDropAttempt(), HandleGameObject(), instance_forge_of_souls::instance_forge_of_souls_InstanceScript::HandleOutro(), boss_urok_doomhowl::boss_urok_doomhowlAI::InitializeAI(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::InstanceCleanup(), instance_violet_hold::instance_violet_hold_InstanceMapScript::InstanceCleanup(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::InstanceCleanup(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::IsEncounterInProgress(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::IsEncounterInProgress(), instance_ulduar::instance_ulduar_InstanceMapScript::IsEncounterInProgress(), instance_zulfarrak::instance_zulfarrak_InstanceMapScript::IsWaveAllDead(), boss_shade_of_aran::JustDied(), boss_rajaxx::JustDied(), boss_jormungarAI::JustDied(), npc_gunship::npc_gunshipAI::JustDied(), boss_varos::boss_varosAI::JustDied(), npc_ulduar_hodir_priest::npc_ulduar_hodir_priestAI::JustDied(), npc_ulduar_hodir_druid::npc_ulduar_hodir_druidAI::JustDied(), npc_ulduar_hodir_shaman::npc_ulduar_hodir_shamanAI::JustDied(), npc_ulduar_hodir_mage::npc_ulduar_hodir_mageAI::JustDied(), boss_kologarn::boss_kologarnAI::JustDied(), boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::JustDied(), boss_dalronn_the_controller::boss_dalronn_the_controllerAI::JustDied(), npc_ichor_globule::npc_ichor_globuleAI::JustDied(), npc_vh_void_sentry::npc_vh_void_sentryAI::JustDied(), boss_shade_of_aran::JustEngagedWith(), boss_anubarak_trial::boss_anubarak_trialAI::JustEngagedWith(), npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI::JustEngagedWith(), boss_kologarn::boss_kologarnAI::JustEngagedWith(), boss_prince_keleseth_icc::boss_prince_kelesethAI::JustEngagedWith(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustEngagedWith(), boss_prince_valanar_icc::boss_prince_valanarAI::JustEngagedWith(), boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::JustEngagedWith(), boss_dalronn_the_controller::boss_dalronn_the_controllerAI::JustEngagedWith(), boss_erekem::boss_erekemAI::JustEngagedWith(), npc_erekem_guard::npc_erekem_guardAI::JustEngagedWith(), boss_professor_putricide::boss_professor_putricideAI::MovementInform(), npc_gunship_boarding_addAI::MovementInform(), npc_hor_lich_king::npc_hor_lich_kingAI::MovementInform(), instance_zulfarrak::instance_zulfarrak_InstanceMapScript::MoveNPCIfAlive(), npc_frost_tomb::npc_frost_tombAI::npc_frost_tombAI(), npc_pos_leader_second::npc_pos_leader_secondAI::npc_pos_leader_secondAI(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::npc_pos_martin_or_gorkun_secondAI(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::OnCreatureCreate(), instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript::OnCreatureCreate(), instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript::OnCreatureCreate(), instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::OnCreatureCreate(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::OnCreatureCreate(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::OnCreatureCreate(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::OnCreatureCreate(), instance_forge_of_souls::instance_forge_of_souls_InstanceScript::OnCreatureCreate(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::OnCreatureCreate(), instance_pit_of_saron::instance_pit_of_saron_InstanceScript::OnCreatureCreate(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnCreatureCreate(), instance_nexus::instance_nexus_InstanceMapScript::OnCreatureCreate(), instance_ulduar::instance_ulduar_InstanceMapScript::OnCreatureCreate(), instance_black_temple::instance_black_temple_InstanceMapScript::OnCreatureCreate(), instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript::OnCreatureCreate(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::OnCreatureCreate(), instance_sunken_temple::instance_sunken_temple_InstanceMapScript::OnGameObjectCreate(), instance_ulduar::instance_ulduar_InstanceMapScript::OnGameObjectCreate(), instance_molten_core::instance_molten_core_InstanceMapScript::OnGameObjectCreate(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnGameObjectCreate(), instance_naxxramas::instance_naxxramas_InstanceMapScript::OnGameObjectRemove(), instance_zulaman::instance_zulaman_InstanceMapScript::OnPlayerEnter(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::OnPlayerEnter(), instance_forge_of_souls::instance_forge_of_souls_InstanceScript::OnPlayerEnter(), instance_pit_of_saron::instance_pit_of_saron_InstanceScript::OnPlayerEnter(), instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript::OnPlayerEnter(), instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::OnPlayerEnter(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::OnPlayerEnter(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::OnPlayerEnter(), instance_ulduar::instance_ulduar_InstanceMapScript::OnPlayerEnter(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::OnPlayerEnter(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::OnPlayerEnter(), instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript::OnPlayerEnter(), instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript::OnPlayerEnter(), at_tyrannus_event_starter::OnTrigger(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::OnUnitDeath(), instance_karazhan::instance_karazhan_InstanceMapScript::OnUnitDeath(), instance_sunken_temple::instance_sunken_temple_InstanceMapScript::OnUnitDeath(), instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::OnUnitDeath(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::OnUnitDeath(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnUnitDeath(), instance_ulduar::instance_ulduar_InstanceMapScript::OnUnitDeath(), instance_blackrock_spire::instance_blackrock_spireMapScript::ProcessEvent(), instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript::ProcessEvent(), instance_stratholme::instance_stratholme_InstanceMapScript::ProcessSlaughterEvent(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::RandomizeCompositionsAndShow(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::ReadSaveDataMore(), instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript::ReadSaveDataMore(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::RemoveBackPack(), instance_zulgurub::instance_zulgurub_InstanceMapScript::RemoveHakkarPowerStack(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::ReplaceMoiraIfSaved(), boss_shade_of_aran::Reset(), boss_tyrannus::boss_tyrannusAI::Reset(), boss_kologarn::boss_kologarnAI::Reset(), boss_palehoof::boss_palehoofAI::Reset(), instance_blood_furnace::instance_blood_furnace_InstanceMapScript::ResetPrisoners(), SaveToDB(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::ScheduleNextPortal(), instance_zulfarrak::instance_zulfarrak_InstanceMapScript::SendAddsUpStairs(), SendEncounterUnit(), instance_molten_core::instance_molten_core_InstanceMapScript::SetBossState(), instance_naxxramas::instance_naxxramas_InstanceMapScript::SetBossState(), SetBossState(), instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript::SetBossState(), instance_blackrock_spire::instance_blackrock_spireMapScript::SetBossState(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::SetBossState(), instance_karazhan::instance_karazhan_InstanceMapScript::SetBossState(), instance_the_black_morass::instance_the_black_morass_InstanceMapScript::SetBossState(), instance_ruby_sanctum::instance_ruby_sanctum_InstanceMapScript::SetBossState(), instance_gundrak::instance_gundrak_InstanceMapScript::SetBossState(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetBossState(), instance_black_temple::instance_black_temple_InstanceMapScript::SetBossState(), instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript::SetBossState(), instance_hellfire_ramparts::instance_hellfire_ramparts_InstanceMapScript::SetBossState(), instance_ulduar::instance_ulduar_InstanceMapScript::setChestsLootable(), SetCompletedEncountersMask(), instance_magisters_terrace::instance_magisters_terrace_InstanceMapScript::SetData(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::SetData(), instance_blackrock_spire::instance_blackrock_spireMapScript::SetData(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::SetData(), instance_karazhan::instance_karazhan_InstanceMapScript::SetData(), instance_scholomance::instance_scholomance_InstanceMapScript::SetData(), instance_shadowfang_keep::instance_shadowfang_keep_InstanceMapScript::SetData(), instance_stratholme::instance_stratholme_InstanceMapScript::SetData(), instance_sunken_temple::instance_sunken_temple_InstanceMapScript::SetData(), instance_hyjal::instance_mount_hyjal_InstanceMapScript::SetData(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::SetData(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::SetData(), instance_dire_maul::instance_dire_maul_InstanceMapScript::SetData(), instance_wailing_caverns::instance_wailing_caverns_InstanceMapScript::SetData(), instance_ahnkahet::instance_ahnkahet_InstanceScript::SetData(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::SetData(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::SetData(), instance_pit_of_saron::instance_pit_of_saron_InstanceScript::SetData(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetData(), instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript::SetData(), instance_oculus::instance_oculus_InstanceMapScript::SetData(), instance_halls_of_stone::instance_halls_of_stone_InstanceMapScript::SetData(), instance_ulduar::instance_ulduar_InstanceMapScript::SetData(), instance_utgarde_keep::instance_utgarde_keep_InstanceMapScript::SetData(), instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript::SetData(), instance_violet_hold::instance_violet_hold_InstanceMapScript::SetData(), instance_magtheridons_lair::instance_magtheridons_lair_InstanceMapScript::SetData(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::SetData(), instance_gundrak::instance_gundrak_InstanceMapScript::SetData(), instance_serpent_shrine::instance_serpentshrine_cavern_InstanceMapScript::SetData(), instance_gruuls_lair::instance_gruuls_lair_InstanceMapScript::SetData(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::SetData(), instance_halls_of_lightning::instance_halls_of_lightning_InstanceMapScript::SetData(), instance_ulduar::instance_ulduar_InstanceMapScript::ShowKeeperGossip(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::SpawnAnubArak(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SpawnGunship(), instance_ulduar::instance_ulduar_InstanceMapScript::SpawnLeviathanEncounterVehicles(), instance_zulfarrak::instance_zulfarrak_InstanceMapScript::SpawnPyramidWave(), instance_violet_hold::instance_violet_hold_InstanceMapScript::StartBossEncounter(), instance_zulaman::instance_zulaman_InstanceMapScript::SummonHostage(), instance_molten_core::instance_molten_core_InstanceMapScript::SummonMajordomoExecutus(), instance_blackrock_spire::instance_blackrock_spireMapScript::SummonSolakarWave(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::TombOfSevenEvent(), instance_blackrock_depths::instance_blackrock_depths_InstanceMapScript::TombOfSevenReset(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::Update(), instance_stratholme::instance_stratholme_InstanceMapScript::Update(), instance_sunken_temple::instance_sunken_temple_InstanceMapScript::Update(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::Update(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Update(), instance_zulfarrak::instance_zulfarrak_InstanceMapScript::Update(), instance_trial_of_the_champion::instance_trial_of_the_champion_InstanceMapScript::Update(), instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::Update(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::Update(), instance_gundrak::instance_gundrak_InstanceMapScript::Update(), instance_naxxramas::instance_naxxramas_InstanceMapScript::Update(), instance_ulduar::instance_ulduar_InstanceMapScript::Update(), instance_vault_of_archavon::instance_vault_of_archavon_InstanceMapScript::Update(), instance_violet_hold::instance_violet_hold_InstanceMapScript::Update(), instance_shattered_halls::instance_shattered_halls_InstanceMapScript::Update(), npc_arthas::npc_arthasAI::UpdateAI(), boss_black_knight::boss_black_knightAI::UpdateAI(), npc_fos_corrupted_soul_fragment::npc_fos_corrupted_soul_fragmentAI::UpdateAI(), npc_hor_leader::npc_hor_leaderAI::UpdateAI(), npc_hor_lich_king::npc_hor_lich_kingAI::UpdateAI(), npc_hor_leader_second::npc_hor_leader_secondAI::UpdateAI(), boss_krick::boss_krickAI::UpdateAI(), boss_tyrannus::boss_tyrannusAI::UpdateAI(), npc_pos_leader::npc_pos_leaderAI::UpdateAI(), npc_pos_after_first_boss::npc_pos_after_first_bossAI::UpdateAI(), npc_pos_tyrannus_events::npc_pos_tyrannus_eventsAI::UpdateAI(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::UpdateAI(), npc_pos_leader_second::npc_pos_leader_secondAI::UpdateAI(), boss_prince_valanar_icc::boss_prince_valanarAI::UpdateAI(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::UpdateAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::UpdateAI(), boss_anubrekhan::boss_anubrekhanAI::UpdateAI(), boss_faerlina::boss_faerlinaAI::UpdateAI(), npc_power_spark::npc_power_sparkAI::UpdateAI(), boss_hodir::boss_hodirAI::UpdateAI(), boss_erekem::boss_erekemAI::UpdateAI(), boss_xevozz::boss_xevozzAI::UpdateAI(), npc_vh_teleportation_portal::npc_vh_teleportation_portalAI::UpdateAI(), npc_ichor_globule::npc_ichor_globuleAI::UpdateAI(), instance_culling_of_stratholme::instance_culling_of_stratholme_InstanceMapScript::UpdateEventState(), npc_arthas::npc_arthasAI::WaypointReached(), and instance_trial_of_the_crusader::instance_trial_of_the_crusader_InstanceMapScript::WriteSaveDataMore().

◆ minions

MinionInfoMap InstanceScript::minions
private

Referenced by AddMinion(), and LoadMinionData().

◆ persistentData

std::vector<uint32> InstanceScript::persistentData
private