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

Public Member Functions

 instance_sunwell_plateau_InstanceMapScript (Map *map)
 
void Load (char const *data) override
 
void OnGameObjectCreate (GameObject *go) override
 
void OnPlayerEnter (Player *player) override
 
- Public Member Functions inherited from InstanceScript
 InstanceScript (Map *map)
 
 ~InstanceScript () override
 
virtual void Initialize ()
 
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
 
Creature * GetCreature (uint32 type)
 
GameObject * GetGameObject (uint32 type)
 
virtual void OnPlayerLeave (Player *)
 
virtual void OnPlayerAreaUpdate (Player *, uint32, uint32)
 
virtual void OnPlayerInWaterStateUpdate (Player *, bool)
 
void HandleGameObject (ObjectGuid guid, bool open, GameObject *go=nullptr)
 Open or close a GameObject by GUID.
 
void HandleGameObject (uint32 type, bool open)
 Open or close a GameObject registered via LoadObjectData.
 
void DoUseDoorOrButton (ObjectGuid guid, uint32 withRestoreTime=0, bool useAlternativeState=false)
 
void DoRespawnGameObject (ObjectGuid guid, uint32 timeToDespawn=MINUTE)
 
void DoRespawnGameObject (uint32 type)
 
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
 
void RegisterBossSpawn (ObjectGuid::LowType spawnId, uint32 bossId)
 
bool IsBossSpawnDone (ObjectGuid::LowType spawnId) 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
 
bool _SkipCheckRequiredBosses (Player const *player=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 (WorldPackets::WorldState::InitWorldStates &)
 
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)
 
void StoreGameObjectState (ObjectGuid::LowType spawnId, uint8 state)
 
uint8 GetStoredGameObjectState (ObjectGuid::LowType spawnId) const
 
void LoadInstanceSavedGameobjectStateData ()
 
bool IsBossDone (uint32 bossId) const
 
bool AllBossesDone () const
 
bool AllBossesDone (std::initializer_list< uint32 > bossIds) const
 
TeamId GetTeamIdInInstance () const
 
void SetTeamIdInInstance (TeamId teamId)
 
bool IsTwoFactionInstance () const
 
- 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 OnUnitDeath (Unit *)
 
virtual void OnCreatureEvade (Creature *)
 
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)
 

Additional Inherited Members

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

Detailed Description

Constructor & Destructor Documentation

◆ instance_sunwell_plateau_InstanceMapScript()

instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::instance_sunwell_plateau_InstanceMapScript ( Map *  map)
inline
85 : InstanceScript(map)
86 {
93 }
#define DataHeader
Definition blackrock_depths.h:23
Definition InstanceScript.h:143
void SetBossNumber(uint32 number)
Definition InstanceScript.h:311
void LoadSummonData(ObjectData const *data)
Definition InstanceScript.cpp:228
void SetPersistentDataCount(uint32 number)
Definition InstanceScript.h:312
void LoadDoorData(DoorData const *data)
Definition InstanceScript.cpp:192
void SetHeaders(std::string const &dataHeaders)
Definition InstanceScript.cpp:169
void LoadObjectData(ObjectData const *creatureData, ObjectData const *gameObjectData)
Definition InstanceScript.cpp:204
@ MAX_ENCOUNTERS
Definition deadmines.h:30
ObjectData const gameObjectData[]
Definition instance_sunwell_plateau.cpp:53
ObjectData const creatureData[]
Definition instance_sunwell_plateau.cpp:37
DoorData const doorData[]
Definition instance_sunwell_plateau.cpp:27
ObjectData const summonData[]
Definition instance_sunwell_plateau.cpp:64
@ PERSISTENT_DATA_COUNT
Definition sunwell_plateau.h:58

References creatureData, DataHeader, doorData, gameObjectData, InstanceScript::LoadDoorData(), InstanceScript::LoadObjectData(), InstanceScript::LoadSummonData(), MAX_ENCOUNTERS, PERSISTENT_DATA_COUNT, InstanceScript::SetBossNumber(), InstanceScript::SetHeaders(), InstanceScript::SetPersistentDataCount(), and summonData.

Member Function Documentation

◆ Load()

void instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::Load ( char const *  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

96 {
98
99 scheduler.Schedule(3s, [this](TaskContext /*context*/)
100 {
102 if (Creature* madrigosa = GetCreature(DATA_MADRIGOSA))
103 madrigosa->CastSpell((Unit*)nullptr, SPELL_SUMMON_FELBLAZE, true);
104
105 // Felmyst died but the instance unloaded before Kalecgos opened the fire barrier: replay his flight
108 kalec->GetMotionMaster()->MovePoint(POINT_KALECGOS_FELMYST, KalecgosFelmystLandPos,
109 FORCED_MOVEMENT_NONE, 0.f, false, true);
110 });
111 }
@ DONE
Definition InstanceScript.h:61
@ FORCED_MOVEMENT_NONE
Definition MotionMaster.h:86
Definition Creature.h:47
Creature * GetCreature(uint32 type)
Definition InstanceScript.cpp:126
uint32 GetPersistentData(uint32 index) const
Definition InstanceScript.h:260
virtual void Load(char const *data)
Definition InstanceScript.cpp:475
Map * instance
Definition InstanceScript.h:149
bool IsBossDone(uint32 bossId) const
Definition InstanceScript.h:300
TaskScheduler scheduler
Definition InstanceScript.h:308
TempSummon * SummonCreature(uint32 entry, Position const &pos, SummonPropertiesEntry const *properties=nullptr, uint32 duration=0, WorldObject *summoner=nullptr, uint32 spellId=0, uint32 vehId=0, bool visibleBySummonerOnly=false)
Definition Object.cpp:2253
Definition TaskScheduler.h:422
TaskScheduler & Schedule(std::chrono::duration< _Rep, _Period > const &time, task_handler_t const &task)
Definition TaskScheduler.h:233
Definition Unit.h:670
@ SPELL_SUMMON_FELBLAZE
Definition sunwell_plateau.h:114
@ POINT_KALECGOS_FELMYST
Definition sunwell_plateau.h:119
@ DATA_BRUTALLUS
Definition sunwell_plateau.h:30
@ DATA_FELMYST
Definition sunwell_plateau.h:31
Position const KalecgosFelmystSpawnPos
Definition sunwell_plateau.h:122
@ NPC_KALECGOS_FELMYST
Definition sunwell_plateau.h:72
@ PERSISTENT_DATA_FIRE_BARRIER
Definition sunwell_plateau.h:57
Position const KalecgosFelmystLandPos
Definition sunwell_plateau.h:123
@ DATA_MADRIGOSA
Definition sunwell_plateau.h:42

References DATA_BRUTALLUS, DATA_FELMYST, DATA_MADRIGOSA, DONE, FORCED_MOVEMENT_NONE, InstanceScript::GetCreature(), InstanceScript::GetPersistentData(), InstanceScript::instance, InstanceScript::IsBossDone(), KalecgosFelmystLandPos, KalecgosFelmystSpawnPos, InstanceScript::Load(), NPC_KALECGOS_FELMYST, PERSISTENT_DATA_FIRE_BARRIER, POINT_KALECGOS_FELMYST, TaskScheduler::Schedule(), InstanceScript::scheduler, SPELL_SUMMON_FELBLAZE, and Map::SummonCreature().

◆ OnGameObjectCreate()

void instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::OnGameObjectCreate ( GameObject *  go)
inlineoverridevirtual

Reimplemented from ZoneScript.

114 {
115 // Opened by Kalecgos after Felmyst dies (saved)
116 if (go->GetEntry() == GO_FIRE_BARRIER)
118
120 }
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
Open or close a GameObject by GUID.
Definition InstanceScript.cpp:136
void OnGameObjectCreate(GameObject *go) override
Definition InstanceScript.cpp:96
static ObjectGuid const Empty
Definition ObjectGuid.h:123
uint32 GetEntry() const
Definition Object.h:123
@ GO_FIRE_BARRIER
Definition sunwell_plateau.h:101

References DONE, ObjectGuid::Empty, Object::GetEntry(), InstanceScript::GetPersistentData(), GO_FIRE_BARRIER, InstanceScript::HandleGameObject(), InstanceScript::OnGameObjectCreate(), and PERSISTENT_DATA_FIRE_BARRIER.

◆ OnPlayerEnter()

void instance_sunwell_plateau::instance_sunwell_plateau_InstanceMapScript::OnPlayerEnter ( Player *  player)
inlineoverridevirtual

Reimplemented from InstanceScript.

123 {
125 gobj->SendUpdateToPlayer(player);
126 }
Definition GameObject.h:125
GameObject * GetGameObject(uint32 type)
Definition InstanceScript.cpp:131
@ DATA_ICEBARRIER
Definition sunwell_plateau.h:51

References DATA_ICEBARRIER, and InstanceScript::GetGameObject().


The documentation for this struct was generated from the following file: