|
| | instance_karazhan_InstanceMapScript (Map *map) |
| |
| void | OnCreatureCreate (Creature *creature) override |
| |
| void | OnUnitDeath (Unit *unit) override |
| |
| void | SetData (uint32 type, uint32 data) override |
| |
| bool | SetBossState (uint32 type, EncounterState state) override |
| |
| void | SetGuidData (uint32 type, ObjectGuid data) override |
| |
| void | OnGameObjectCreate (GameObject *go) override |
| |
| uint32 | GetData (uint32 type) const override |
| |
| void | DoAction (int32 actionId) override |
| |
| ObjectGuid | GetGuidData (uint32 data) const 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 | 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 () |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| | ZoneScript () |
| |
| virtual | ~ZoneScript () |
| |
| virtual uint32 | GetCreatureEntry (ObjectGuid::LowType, CreatureData const *data) |
| |
| virtual uint32 | GetGameObjectEntry (ObjectGuid::LowType, uint32 entry) |
| |
| virtual void | OnCreatureEvade (Creature *) |
| |
| virtual uint64 | GetData64 (uint32) const |
| |
| virtual void | SetData64 (uint32, uint64) |
| |
| virtual void | ProcessEvent (WorldObject *, uint32) |
| |
| instance_karazhan::instance_karazhan_InstanceMapScript::instance_karazhan_InstanceMapScript |
( |
Map * |
map | ) |
|
|
inline |
88 {
94
95
99
103 }
@ NOT_STARTED
Definition InstanceScript.h:58
uint32 urand(uint32 min, uint32 max)
Definition Random.cpp:44
@ TEAM_NEUTRAL
Definition SharedDefines.h:750
#define DataHeader
Definition blackrock_depths.h:23
uint32 const EncounterCount
Definition blackrock_spire.h:23
Definition InstanceScript.h:143
void SetBossNumber(uint32 number)
Definition InstanceScript.h:308
void LoadDoorData(DoorData const *data)
Definition InstanceScript.cpp:182
void LoadBossBoundaries(BossBoundaryData const &data)
Definition InstanceScript.cpp:152
void SetHeaders(std::string const &dataHeaders)
Definition InstanceScript.cpp:159
void LoadObjectData(ObjectData const *creatureData, ObjectData const *gameObjectData)
Definition InstanceScript.cpp:194
ObjectData const gameObjectData[]
Definition instance_karazhan.cpp:55
ObjectData const creatureData[]
Definition instance_karazhan.cpp:37
DoorData const doorData[]
Definition instance_karazhan.cpp:61
BossBoundaryData const boundaries
Definition instance_karazhan.cpp:69
@ CHESS_PHASE_NOT_STARTED
Definition karazhan.h:193
@ EVENT_OZ
Definition karazhan.h:83
@ EVENT_RAJ
Definition karazhan.h:85
uint32 OperaEvent
Definition instance_karazhan.cpp:485
uint32 OzDeathCount
Definition instance_karazhan.cpp:486
uint32 _chessTeam
Definition instance_karazhan.cpp:488
uint32 _chessEvent
Definition instance_karazhan.cpp:490
uint32 OptionalBossCount
Definition instance_karazhan.cpp:487
uint32 _chessGamePhase
Definition instance_karazhan.cpp:489
References _chessEvent, _chessGamePhase, _chessTeam, boundaries, CHESS_PHASE_NOT_STARTED, creatureData, DataHeader, doorData, EncounterCount, EVENT_OZ, EVENT_RAJ, gameObjectData, InstanceScript::LoadBossBoundaries(), InstanceScript::LoadDoorData(), InstanceScript::LoadObjectData(), NOT_STARTED, OperaEvent, OptionalBossCount, OzDeathCount, InstanceScript::SetBossNumber(), InstanceScript::SetHeaders(), TEAM_NEUTRAL, and urand().
| void instance_karazhan::instance_karazhan_InstanceMapScript::OnCreatureCreate |
( |
Creature * |
creature | ) |
|
|
inlineoverridevirtual |
Reimplemented from ZoneScript.
106 {
108 {
111 break;
114 break;
118 {
120 }
121 break;
136 break;
139 break;
142 break;
145 {
146 if (terestrian->AI())
147 {
148 terestrian->AI()->JustSummoned(creature);
150 }
151 }
152 break;
153 default:
154 break;
155 }
156
158 }
@ DONE
Definition InstanceScript.h:61
void SetInCombatWithZone()
Set in combat all units in the dungeon/raid. Affect only units with IsAIEnabled.
Definition Creature.cpp:2850
void Respawn(bool force=false)
Definition Creature.cpp:2017
void OnCreatureCreate(Creature *creature) override
Definition InstanceScript.cpp:71
EncounterState GetBossState(uint32 id) const
Definition InstanceScript.h:252
uint32 GetEntry() const
Definition Object.h:117
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:114
uint32 GetMaxHealth() const
Definition Unit.h:1109
bool IsAlive() const
Definition Unit.h:1794
void SetHealth(uint32 val)
Definition Unit.cpp:12341
@ NPC_ECHO_OF_MEDIVH
Definition karazhan.h:123
@ NPC_QUEEN_H
Definition karazhan.h:128
@ NPC_ROOK_A
Definition karazhan.h:133
@ NPC_KNIGHT_H
Definition karazhan.h:126
@ NPC_KING_A
Definition karazhan.h:135
@ NPC_PAWN_H
Definition karazhan.h:124
@ NPC_PAWN_A
Definition karazhan.h:125
@ NPC_FIENDISH_IMP
Definition karazhan.h:120
@ NPC_ROOK_H
Definition karazhan.h:132
@ NPC_NIGHTBANE
Definition karazhan.h:98
@ NPC_BARNES
Definition karazhan.h:112
@ NPC_KING_H
Definition karazhan.h:134
@ NPC_QUEEN_A
Definition karazhan.h:129
@ NPC_BISHOP_H
Definition karazhan.h:130
@ NPC_CHESS_EVENT_MEDIVH_CHEAT_FIRES
Definition karazhan.h:136
@ NPC_BISHOP_A
Definition karazhan.h:131
@ NPC_RELAY
Definition karazhan.h:111
@ NPC_KNIGHT_A
Definition karazhan.h:127
@ DATA_TERESTIAN
Definition karazhan.h:37
ObjectGuid m_uiRelayGUID
Definition instance_karazhan.cpp:501
GuidSet _chessPiecesGUID
Definition instance_karazhan.cpp:506
ObjectGuid _barnesGUID
Definition instance_karazhan.cpp:502
GuidSet _medivhCheatFiresGUID
Definition instance_karazhan.cpp:507
References _barnesGUID, _chessPiecesGUID, _echoOfMedivhGUID, _medivhCheatFiresGUID, DATA_OPERA_PERFORMANCE, DATA_TERESTIAN, DONE, InstanceScript::GetBossState(), InstanceScript::GetCreature(), Object::GetEntry(), Object::GetGUID(), Unit::GetMaxHealth(), Unit::IsAlive(), m_uiNightBaneGUID, m_uiRelayGUID, NPC_BARNES, NPC_BISHOP_A, NPC_BISHOP_H, NPC_CHESS_EVENT_MEDIVH_CHEAT_FIRES, NPC_ECHO_OF_MEDIVH, NPC_FIENDISH_IMP, NPC_KING_A, NPC_KING_H, NPC_KNIGHT_A, NPC_KNIGHT_H, NPC_NIGHTBANE, NPC_PAWN_A, NPC_PAWN_H, NPC_QUEEN_A, NPC_QUEEN_H, NPC_RELAY, NPC_ROOK_A, NPC_ROOK_H, InstanceScript::OnCreatureCreate(), Creature::Respawn(), Unit::SetHealth(), and Creature::SetInCombatWithZone().
| void instance_karazhan::instance_karazhan_InstanceMapScript::OnGameObjectCreate |
( |
GameObject * |
go | ) |
|
|
inlineoverridevirtual |
Reimplemented from ZoneScript.
343 {
345 {
348 break;
353 break;
358 break;
361 break;
366 else
368 break;
371 break;
375 else
377 break;
380 break;
384 break;
389 break;
394 break;
395 default:
396 break;
397 }
398
400 }
@ GO_STATE_ACTIVE
Definition GameObjectData.h:708
@ IN_PROGRESS
Definition InstanceScript.h:59
@ GO_FLAG_LOCKED
Definition SharedDefines.h:1608
void SetGoState(GOState state)
Definition GameObject.cpp:2497
void SetGameObjectFlag(GameObjectFlags flags)
Definition GameObject.h:218
void RemoveGameObjectFlag(GameObjectFlags flags)
Definition GameObject.h:219
void OnGameObjectCreate(GameObject *go) override
Definition InstanceScript.cpp:86
@ EVENT_HOOD
Definition karazhan.h:84
@ DATA_ARAN
Definition karazhan.h:36
@ GO_HOOD_BACKDROP
Definition karazhan.h:164
@ GO_HOOD_HOUSE
Definition karazhan.h:166
@ GO_STAGE_DOOR_RIGHT
Definition karazhan.h:150
@ GO_STAGE_CURTAIN
Definition karazhan.h:148
@ GO_RAJ_MOON
Definition karazhan.h:168
@ GO_OZ_HAY
Definition karazhan.h:163
@ GO_PRIVATE_LIBRARY_DOOR
Definition karazhan.h:151
@ GO_RAJ_BACKDROP
Definition karazhan.h:167
@ GO_MASSIVE_DOOR
Definition karazhan.h:152
@ GO_RAJ_BALCONY
Definition karazhan.h:169
@ GO_STAGE_DOOR_LEFT
Definition karazhan.h:149
@ GO_GAMESMAN_HALL_EXIT_DOOR
Definition karazhan.h:154
@ GO_HOOD_TREE
Definition karazhan.h:165
@ GO_SIDE_ENTRANCE_DOOR
Definition karazhan.h:158
@ GO_DUST_COVERED_CHEST
Definition karazhan.h:159
@ GO_OZ_BACKDROP
Definition karazhan.h:162
GuidVector _operaDecorations[EVENT_RAJ]
Definition instance_karazhan.cpp:505
ObjectGuid m_uiGamesmansExitDoor
Definition instance_karazhan.cpp:498
References _operaDecorations, DATA_ARAN, DATA_OPERA_PERFORMANCE, DONE, DustCoveredChest, EVENT_HOOD, EVENT_OZ, EVENT_RAJ, InstanceScript::GetBossState(), Object::GetEntry(), Object::GetGUID(), GO_DUST_COVERED_CHEST, GO_FLAG_LOCKED, GO_GAMESMAN_HALL_EXIT_DOOR, GO_HOOD_BACKDROP, GO_HOOD_HOUSE, GO_HOOD_TREE, GO_MASSIVE_DOOR, GO_OZ_BACKDROP, GO_OZ_HAY, GO_PRIVATE_LIBRARY_DOOR, GO_RAJ_BACKDROP, GO_RAJ_BALCONY, GO_RAJ_MOON, GO_SIDE_ENTRANCE_DOOR, GO_STAGE_CURTAIN, GO_STAGE_DOOR_LEFT, GO_STAGE_DOOR_RIGHT, GO_STATE_ACTIVE, IN_PROGRESS, m_uiCurtainGUID, m_uiGamesmansExitDoor, m_uiLibraryDoor, m_uiMassiveDoor, m_uiStageDoorLeftGUID, m_uiStageDoorRightGUID, InstanceScript::OnGameObjectCreate(), GameObject::RemoveGameObjectFlag(), GameObject::SetGameObjectFlag(), and GameObject::SetGoState().
| void instance_karazhan::instance_karazhan_InstanceMapScript::OnUnitDeath |
( |
Unit * |
unit | ) |
|
|
inlineoverridevirtual |
Reimplemented from ZoneScript.
161 {
163 if (!creature)
164 return;
165
167 {
177 {
180 {
182 {
185 break;
188 break;
191 break;
192 }
193 }
194 }
195 break;
201 break;
202 default:
203 break;
204 }
205 }
@ TO_BE_DECIDED
Definition InstanceScript.h:63
void PermBindAllPlayers()
Definition Map.cpp:2187
Map * instance
Definition InstanceScript.h:149
InstanceMap * ToInstanceMap()
Definition Map.h:381
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:2187
Creature * ToCreature()
Definition Object.h:206
const Position OptionalSpawn[]
Definition instance_karazhan.cpp:30
@ NPC_VAMPIRIC_SHADOWBAT
Definition karazhan.h:105
@ NPC_PHASE_HOUND
Definition karazhan.h:107
@ NPC_GREATER_SHADOWBAT
Definition karazhan.h:106
@ NPC_SHADOWBEAST
Definition karazhan.h:109
@ NPC_ROKAD_THE_RAVAGER
Definition karazhan.h:91
@ NPC_SHADOWBAT
Definition karazhan.h:104
@ NPC_HYAKISS_THE_LURKER
Definition karazhan.h:90
@ NPC_SHADIKITH_THE_GLIDER
Definition karazhan.h:92
@ NPC_DREADBEAST
Definition karazhan.h:108
@ NPC_COLDMIST_WIDOW
Definition karazhan.h:102
@ NPC_COLDMIST_STALKER
Definition karazhan.h:103
@ OPTIONAL_BOSS_REQUIRED_DEATH_COUNT
Definition karazhan.h:174
@ DATA_OPTIONAL_BOSS
Definition karazhan.h:33
bool SetBossState(uint32 type, EncounterState state) override
Definition instance_karazhan.cpp:307
References DATA_OPTIONAL_BOSS, DONE, InstanceScript::GetBossState(), Object::GetEntry(), InstanceScript::instance, NPC_COLDMIST_STALKER, NPC_COLDMIST_WIDOW, NPC_DREADBEAST, NPC_GREATER_SHADOWBAT, NPC_HYAKISS_THE_LURKER, NPC_PHASE_HOUND, NPC_ROKAD_THE_RAVAGER, NPC_SHADIKITH_THE_GLIDER, NPC_SHADOWBAT, NPC_SHADOWBEAST, NPC_VAMPIRIC_SHADOWBAT, OPTIONAL_BOSS_REQUIRED_DEATH_COUNT, OptionalBossCount, OptionalSpawn, InstanceMap::PermBindAllPlayers(), SetBossState(), Map::SummonCreature(), TO_BE_DECIDED, Object::ToCreature(), Map::ToInstanceMap(), and urand().
| void instance_karazhan::instance_karazhan_InstanceMapScript::SetData |
( |
uint32 |
type, |
|
|
uint32 |
data |
|
) |
| |
|
inlineoverridevirtual |
Reimplemented from ZoneScript.
208 {
209 switch (type)
210 {
216 break;
218 {
220 {
222 }
223
224 break;
225 }
227 {
229
230 switch (data)
231 {
234 {
237 {
239 {
241 {
243 {
245 }
246 }
248 {
250 {
252 }
253 }
254 else
255 {
257 }
258 }
259 }
260 break;
264 break;
265 }
266 default:
268 break;
269 }
270 break;
271 }
274 break;
277 {
279 {
280 piece->RemoveAllAuras();
282 piece->SetHealth(piece->GetMaxHealth());
285 piece->AI()->Reset();
286 }
287 }
288
290 {
292 {
293 fire->DespawnOrUnsummon();
294 }
295 }
296
298 break;
301 break;
302 default:
303 break;
304 }
305 }
constexpr auto DAY
Definition Common.h:49
@ SPECIAL
Definition InstanceScript.h:62
@ TEAM_ALLIANCE
Definition SharedDefines.h:748
@ TEAM_HORDE
Definition SharedDefines.h:749
@ UNIT_NPC_FLAG_GOSSIP
Definition UnitDefines.h:322
void DoCastSpellOnPlayers(uint32 spell)
Definition InstanceScript.cpp:705
void DoRemoveAurasDueToSpellOnPlayers(uint32 spell)
Definition InstanceScript.cpp:694
void DoRespawnGameObject(ObjectGuid guid, uint32 timeToDespawn=MINUTE)
Definition InstanceScript.cpp:584
Creature * GetCreature(ObjectGuid const &guid)
Definition Map.cpp:2349
Definition ObjectGuid.h:118
@ CHESS_FACTION_HORDE
Definition karazhan.h:204
@ CHESS_FACTION_ALLIANCE
Definition karazhan.h:205
@ SPELL_GAME_IN_SESSION
Definition karazhan.h:186
@ ACTION_CHESS_PIECE_RESET_ORIENTATION
Definition karazhan.h:176
@ DATA_SPAWN_OPERA_DECORATIONS
Definition karazhan.h:58
@ DATA_CHESS_REINIT_PIECES
Definition karazhan.h:63
References _chessEvent, _chessGamePhase, _chessPiecesGUID, _chessTeam, _medivhCheatFiresGUID, _operaDecorations, ACTION_CHESS_PIECE_RESET_ORIENTATION, CHESS_EVENT_TEAM, CHESS_FACTION_ALLIANCE, CHESS_FACTION_HORDE, DATA_CHESS_EVENT, DATA_CHESS_GAME_PHASE, DATA_CHESS_REINIT_PIECES, DATA_OPERA_OZ_DEATHCOUNT, DATA_SPAWN_OPERA_DECORATIONS, DAY, InstanceScript::DoCastSpellOnPlayers(), DONE, InstanceScript::DoRemoveAurasDueToSpellOnPlayers(), InstanceScript::DoRespawnGameObject(), Map::GetCreature(), InstanceScript::HandleGameObject(), IN_PROGRESS, InstanceScript::instance, JustRespawned, m_uiGamesmansExitDoor, OzDeathCount, InstanceMap::PermBindAllPlayers(), SPECIAL, SPELL_GAME_IN_SESSION, TEAM_ALLIANCE, TEAM_HORDE, Map::ToInstanceMap(), UNIT_FLAG_NOT_SELECTABLE, and UNIT_NPC_FLAG_GOSSIP.