|
| instance_the_black_morass_InstanceMapScript (Map *map) |
|
void | CleanupInstance () |
|
bool | SetBossState (uint32 type, EncounterState state) override |
|
void | OnPlayerEnter (Player *player) override |
|
void | ScheduleNextPortal (Milliseconds time, Position lastPosition) |
|
void | OnCreatureCreate (Creature *creature) override |
|
void | OnCreatureRemove (Creature *creature) override |
|
void | SetData (uint32 type, uint32 data) override |
|
uint32 | GetData (uint32 type) const override |
|
void | Update (uint32 diff) override |
|
| 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 |
|
Creature * | GetCreature (uint32 type) |
|
GameObject * | GetGameObject (uint32 type) |
|
virtual void | OnPlayerEnter (Player *) |
|
virtual void | OnPlayerAreaUpdate (Player *, uint32, uint32) |
|
virtual void | OnPlayerInWaterStateUpdate (Player *, bool) |
|
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) |
|
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 |
|
| 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) |
|
void instance_the_black_morass::instance_the_black_morass_InstanceMapScript::OnCreatureCreate |
( |
Creature * |
creature | ) |
|
|
inlineoverridevirtual |
Reimplemented from InstanceScript.
236 {
238 {
261 break;
262 }
263
265 }
@ NPC_TIME_RIFT
Definition: culling_of_stratholme.h:59
@ NPC_DP_EMITTER_STALKER
Definition: the_black_morass.h:90
@ NPC_AEONUS
Definition: the_black_morass.h:77
@ NPC_INFINITE_ASSASSIN_2
Definition: the_black_morass.h:85
@ NPC_INFINITE_EXECUTIONER_2
Definition: the_black_morass.h:87
@ NPC_INFINITE_EXECUTIONER
Definition: the_black_morass.h:82
@ NPC_INFINITE_WHELP
Definition: the_black_morass.h:80
@ NPC_INFINITE_VANQUISHER
Definition: the_black_morass.h:83
@ NPC_INFINITE_TIMEREAVER
Definition: the_black_morass.h:76
@ NPC_RIFT_KEEPER_WARLOCK
Definition: the_black_morass.h:68
@ NPC_INFINITE_CHRONO_LORD
Definition: the_black_morass.h:74
@ NPC_INFINITE_VANQUISHER_2
Definition: the_black_morass.h:88
@ NPC_INFINITE_ASSASSIN
Definition: the_black_morass.h:79
@ NPC_RIFT_LORD_2
Definition: the_black_morass.h:71
@ NPC_RIFT_LORD
Definition: the_black_morass.h:70
@ NPC_TEMPORUS
Definition: the_black_morass.h:75
@ NPC_INFINITE_CHRONOMANCER
Definition: the_black_morass.h:81
@ NPC_INFINITE_CHRONOMANCER_2
Definition: the_black_morass.h:86
@ NPC_RIFT_KEEPER_MAGE
Definition: the_black_morass.h:69
@ NPC_CHRONO_LORD_DEJA
Definition: the_black_morass.h:73
uint32 GetEntry() const
Definition: Object.h:115
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:112
void OnCreatureCreate(Creature *creature) override
Definition: InstanceScript.cpp:58
References Object::GetEntry(), Object::GetGUID(), NPC_AEONUS, NPC_CHRONO_LORD_DEJA, NPC_DP_BEAM_STALKER, NPC_DP_EMITTER_STALKER, NPC_INFINITE_ASSASSIN, NPC_INFINITE_ASSASSIN_2, NPC_INFINITE_CHRONO_LORD, NPC_INFINITE_CHRONOMANCER, NPC_INFINITE_CHRONOMANCER_2, NPC_INFINITE_EXECUTIONER, NPC_INFINITE_EXECUTIONER_2, NPC_INFINITE_TIMEREAVER, NPC_INFINITE_VANQUISHER, NPC_INFINITE_VANQUISHER_2, NPC_INFINITE_WHELP, NPC_RIFT_KEEPER_MAGE, NPC_RIFT_KEEPER_WARLOCK, NPC_RIFT_LORD, NPC_RIFT_LORD_2, NPC_TEMPORUS, NPC_TIME_RIFT, and InstanceScript::OnCreatureCreate().
void instance_the_black_morass::instance_the_black_morass_InstanceMapScript::ScheduleNextPortal |
( |
Milliseconds |
time, |
|
|
Position |
lastPosition |
|
) |
| |
|
inline |
190 {
191
193
195 {
197 {
198
200 {
201 return;
202 }
203
206 {
207 if (_availableRiftPositions.size() > 1)
208 {
209 spawnPos = Acore::Containers::SelectRandomContainerElementIf(_availableRiftPositions, [&](Position pos) -> bool
210 {
211 return pos != lastPosition;
212 });
213 }
214 else
215 {
216 spawnPos = Acore::Containers::SelectRandomContainerElement(_availableRiftPositions);
217 }
218
220
222
224
225
227 }
228
229 }
230
232 });
233 }
@ CONTEXT_GROUP_RIFTS
Definition: the_black_morass.h:102
TaskScheduler & Schedule(std::chrono::duration< _Rep, _Period > const &time, task_handler_t const &task)
Definition: TaskScheduler.h:232
TaskScheduler & CancelGroup(group_t const group)
Definition: TaskScheduler.cpp:53
Definition: TaskScheduler.h:421
TaskContext & Repeat(std::chrono::duration< _Rep, _Period > const &duration)
Definition: TaskScheduler.h:493
TaskContext & SetGroup(TaskScheduler::group_t const group)
Sets the event in the given group.
Definition: TaskScheduler.cpp:234
void DoUpdateWorldState(uint32 worldstateId, uint32 worldstateValue)
Definition: InstanceScript.cpp:603
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:2174
References _availableRiftPositions, _currentRift, _eventStatus, _noBossSpawnDelay, _scheduler, TaskScheduler::CancelGroup(), CONTEXT_GROUP_RIFTS, DATA_MEDIVH, InstanceScript::DoUpdateWorldState(), EVENT_PREPARE, InstanceScript::GetCreature(), InstanceScript::instance, NPC_TIME_RIFT, TaskContext::Repeat(), TaskScheduler::Schedule(), TaskContext::SetGroup(), Map::SummonCreature(), and WORLD_STATE_BM_RIFT.
Referenced by SetBossState().
bool instance_the_black_morass::instance_the_black_morass_InstanceMapScript::SetBossState |
( |
uint32 |
type, |
|
|
EncounterState |
state |
|
) |
| |
|
inlineoverridevirtual |
Reimplemented from InstanceScript.
96 {
98 {
99 return false;
100 }
101
103 {
104 switch (type)
105 {
107 {
109 {
111 }
112
114 {
116 {
117 player->AreaExploredOrEventHappens(QUEST_OPENING_PORTAL);
118 }
119
121 {
122 player->AreaExploredOrEventHappens(QUEST_MASTER_TOUCH);
123 }
124 });
125
127 {
129 {
130 switch (creature->GetEntry())
131 {
146 creature->DespawnOrUnsummon(1);
147 break;
148 default:
149 break;
150 }
151 }
152 }
153
154 break;
155 }
158 {
160
162 {
165 });
166
167 break;
168 }
169 default:
170 break;
171 }
172 }
173
174 return true;
175 }
@ ACTION_OUTRO
Definition: the_black_morass.h:100
@ QUEST_MASTER_TOUCH
Definition: the_black_morass.h:59
@ QUEST_OPENING_PORTAL
Definition: the_black_morass.h:58
@ DATA_TEMPORUS
Definition: the_black_morass.h:32
@ DATA_CHRONO_LORD_DEJA
Definition: the_black_morass.h:31
@ QUEST_STATUS_INCOMPLETE
Definition: QuestDef.h:103
Definition: Player.h:1081
QuestStatus GetQuestStatus(uint32 quest_id) const
Definition: PlayerQuest.cpp:1429
virtual bool SetBossState(uint32 id, EncounterState state)
Definition: InstanceScript.cpp:373
void DoForAllPlayers(std::function< void(Player *)> exec)
Definition: Map.cpp:3827
References _encounterNPCs, _noBossSpawnDelay, _scheduler, ACTION_OUTRO, DATA_AEONUS, DATA_CHRONO_LORD_DEJA, DATA_MEDIVH, DATA_TEMPORUS, Map::DoForAllPlayers(), DONE, Map::GetCreature(), InstanceScript::GetCreature(), Player::GetQuestStatus(), InstanceScript::instance, NPC_INFINITE_ASSASSIN, NPC_INFINITE_ASSASSIN_2, NPC_INFINITE_CHRONOMANCER, NPC_INFINITE_CHRONOMANCER_2, NPC_INFINITE_EXECUTIONER, NPC_INFINITE_EXECUTIONER_2, NPC_INFINITE_VANQUISHER, NPC_INFINITE_VANQUISHER_2, NPC_INFINITE_WHELP, NPC_RIFT_KEEPER_MAGE, NPC_RIFT_KEEPER_WARLOCK, NPC_RIFT_LORD, NPC_RIFT_LORD_2, NPC_TIME_RIFT, QUEST_MASTER_TOUCH, QUEST_OPENING_PORTAL, QUEST_STATUS_INCOMPLETE, TaskScheduler::Schedule(), ScheduleNextPortal(), and InstanceScript::SetBossState().