|
| | instance_blackwing_lair (Map *map) |
| |
| void | Initialize () override |
| |
| void | OnCreatureCreate (Creature *creature) override |
| |
| void | OnGameObjectCreate (GameObject *go) override |
| |
| void | OnGameObjectRemove (GameObject *go) override |
| |
| uint32 | GetData (uint32 data) const override |
| |
| bool | CheckRequiredBosses (uint32 bossId, Player const *) const override |
| |
| bool | SetBossState (uint32 type, EncounterState state) override |
| |
| void | SetData (uint32 type, uint32 data) override |
| |
| ObjectGuid | GetGuidData (uint32 type) const override |
| |
| void | OnUnitDeath (Unit *unit) override |
| |
| void | Update (uint32 diff) override |
| |
| void | ReadSaveDataMore (std::istringstream &data) override |
| |
| void | WriteSaveDataMore (std::ostringstream &data) override |
| |
| | InstanceScript (Map *map) |
| |
| | ~InstanceScript () override |
| |
| virtual void | Load (char const *data) |
| |
| virtual void | CreatureLooted (Creature *, LootType) |
| |
| virtual std::string | GetSaveData () |
| |
| void | SaveToDB () |
| |
| 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) |
| |
| 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 |
| |
| | ZoneScript () |
| |
| virtual | ~ZoneScript () |
| |
| virtual uint32 | GetCreatureEntry (ObjectGuid::LowType, CreatureData const *data) |
| |
| virtual uint32 | GetGameObjectEntry (ObjectGuid::LowType, uint32 entry) |
| |
| virtual void | OnCreatureEvade (Creature *) |
| |
| virtual void | SetGuidData (uint32, ObjectGuid) |
| |
| virtual uint64 | GetData64 (uint32) const |
| |
| virtual void | SetData64 (uint32, uint64) |
| |
| virtual void | ProcessEvent (WorldObject *, uint32) |
| |
| void instance_blackwing_lair::OnCreatureCreate |
( |
Creature * |
creature | ) |
|
|
inlineoverridevirtual |
Reimplemented from ZoneScript.
96 {
97
99 return;
100
102
104 {
107 break;
112 razorAI->JustSummoned(creature);
113 break;
119 razorAI->JustSummoned(creature);
120 break;
123 break;
126 break;
135 nefariusAI->JustSummoned(creature);
136 break;
137 default:
138 break;
139 }
140 }
@ DATA_LORD_VICTOR_NEFARIUS
Definition blackwing_lair.h:41
@ NPC_RED_DRAKONID
Definition blackwing_lair.h:79
@ NPC_VICTOR_NEFARIUS
Definition blackwing_lair.h:67
@ NPC_BLACKWING_DRAGON
Definition blackwing_lair.h:56
@ NPC_CHROMATIC_DRAKONID
Definition blackwing_lair.h:82
@ NPC_BLUE_DRAKONID
Definition blackwing_lair.h:78
@ NPC_BLACKWING_GUARDSMAN
Definition blackwing_lair.h:53
@ NPC_BLACKWING_MAGE
Definition blackwing_lair.h:60
@ NPC_GREEN_DRAKONID
Definition blackwing_lair.h:80
@ NPC_BRONZE_DRAKONID
Definition blackwing_lair.h:77
@ NPC_BLACK_DRAKONID
Definition blackwing_lair.h:81
@ NPC_RAZORGORE
Definition blackwing_lair.h:55
@ NPC_BLACKWING_LEGIONAIRE
Definition blackwing_lair.h:58
@ NPC_NEFARIAN
Definition blackwing_lair.h:68
Definition CreatureAI.h:69
void OnCreatureCreate(Creature *creature) override
Definition InstanceScript.cpp:70
Creature * GetCreature(uint32 type)
Definition InstanceScript.cpp:115
Map * instance
Definition InstanceScript.h:149
Creature * GetCreature(ObjectGuid const &guid)
Definition Map.cpp:2336
uint32 GetEntry() const
Definition Object.h:117
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:114
TempSummon * ToTempSummon()
Definition Unit.h:731
GuidList guardList
Definition instance_blackwing_lair.cpp:415
ObjectGuid nefarianGUID
Definition instance_blackwing_lair.cpp:408
References addsCount, DATA_LORD_VICTOR_NEFARIUS, Map::GetCreature(), InstanceScript::GetCreature(), Object::GetEntry(), Object::GetGUID(), guardList, InstanceScript::instance, nefarianGUID, NPC_BLACK_DRAKONID, NPC_BLACKWING_DRAGON, NPC_BLACKWING_GUARDSMAN, NPC_BLACKWING_LEGIONAIRE, NPC_BLACKWING_MAGE, NPC_BLUE_DRAKONID, NPC_BRONZE_DRAKONID, NPC_CHROMATIC_DRAKONID, NPC_GREEN_DRAKONID, NPC_NEFARIAN, NPC_RAZORGORE, NPC_RED_DRAKONID, NPC_VICTOR_NEFARIUS, InstanceScript::OnCreatureCreate(), razorgoreGUID, and Unit::ToTempSummon().
| void instance_blackwing_lair::SetData |
( |
uint32 |
type, |
|
|
uint32 |
data |
|
) |
| |
|
inlineoverridevirtual |
Reimplemented from ZoneScript.
237 {
239 {
240 switch (data)
241 {
244 break;
247 break;
253 break;
259
262
264
267
268 break;
273 {
275 {
277 razor->RemoveAurasDueToSpell(19832);
279 }
282 }
283 break;
284 }
285 }
286
289
292 }
@ IN_PROGRESS
Definition InstanceScript.h:59
@ SPECIAL
Definition InstanceScript.h:62
@ EVENT_RAZOR_PHASE_TWO
Definition blackwing_lair.h:104
@ DATA_GRETHOK
Definition blackwing_lair.h:42
void CancelEvent(EventId eventId)
Definition EventMap.cpp:160
void DoRemoveAurasDueToSpellOnPlayers(uint32 spell)
Definition InstanceScript.cpp:688
void DoRespawnCreature(ObjectGuid guid, bool force=false)
Definition InstanceScript.cpp:610
void DoRespawnGameObject(ObjectGuid guid, uint32 timeToDespawn=MINUTE)
Definition InstanceScript.cpp:578
void SetData(uint32 type, uint32 data) override
Definition instance_blackwing_lair.cpp:236
References _events, addsCount, EventMap::CancelEvent(), DATA_EGG_EVENT, DATA_GRETHOK, DATA_NEFARIAN_LEFT_TUNNEL, DATA_NEFARIAN_RIGHT_TUNNEL, DONE, InstanceScript::DoRemoveAurasDueToSpellOnPlayers(), InstanceScript::DoRespawnCreature(), InstanceScript::DoRespawnGameObject(), EggCount, EggEvent, EggList, EVENT_RAZOR_PHASE_TWO, EVENT_RAZOR_SPAWN, FAIL, Map::GetCreature(), guardList, IN_PROGRESS, InstanceScript::instance, NefarianLeftTunnel, NefarianRightTunnel, NOT_STARTED, razorgoreGUID, EventMap::ScheduleEvent(), SetData(), and SPECIAL.
Referenced by SetData().
| void instance_blackwing_lair::Update |
( |
uint32 |
diff | ) |
|
|
inlineoverridevirtual |
Reimplemented from InstanceScript.
328 {
330 return;
331
333
335 {
336 switch (eventId)
337 {
340 {
341 bool spawnMoreAdds = true;
343 {
347
348
349 if (dragonkinsCount >= 12)
350 {
351
352 if (orcsCount >= 40)
353 {
354 spawnMoreAdds = false;
355 break;
356 }
357
359 {
360 continue;
361 }
362 }
363
365 {
366 continue;
367 }
368
370 summon->AI()->DoZoneInCombat();
371 }
372
373 if (spawnMoreAdds)
375 }
376 break;
381 break;
384 {
385 nefarius->SetPhaseMask(1, true);
386 nefarius->setActive(true);
387 nefarius->Respawn();
388 nefarius->GetMotionMaster()->MoveTargetedHome();
389 }
390 break;
391 }
392 }
393 }
std::uint8_t uint8
Definition Define.h:109
std::uint32_t uint32
Definition Define.h:107
uint32 urand(uint32 min, uint32 max)
Definition Random.cpp:44
@ ACTION_PHASE_TWO
Definition blackwing_lair.h:111
void Update(uint32 time)
Definition EventMap.h:67
bool Empty() const
Definition EventMap.h:95
EventId ExecuteEvent()
Definition EventMap.cpp:86
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:2188
Position const SummonPosition[8]
Definition instance_blackwing_lair.cpp:61
uint32 const Entry[3]
Definition instance_blackwing_lair.cpp:73
References _events, ACTION_PHASE_TWO, addsCount, EventMap::CancelEvent(), DATA_LORD_VICTOR_NEFARIUS, EggEvent, EventMap::Empty(), Entry, EVENT_RAZOR_PHASE_TWO, EVENT_RAZOR_SPAWN, EVENT_RESPAWN_NEFARIUS, EventMap::ExecuteEvent(), Map::GetCreature(), InstanceScript::GetCreature(), IN_PROGRESS, InstanceScript::instance, NPC_BLACKWING_DRAGON, razorgoreGUID, EventMap::ScheduleEvent(), Map::SummonCreature(), SummonPosition, EventMap::Update(), and urand().