Reimplemented from ZoneScript.
267 {
268 switch (type)
269 {
273
276 gem->Respawn();
277
278
280 {
282 {
284 {
285 if (creature->IsAlive())
286 {
287 float x, y, z;
288 jaina->GetNearPoint(creature, x, y, z, 10.f, 0, jaina->GetAngle(creature));
289 creature->SetWalk(true);
290 creature->GetMotionMaster()->MovePoint(1, x, y, z);
291 }
292 }
293 }
294 }
295
296
298 {
301 creature->DespawnOrUnsummon();
302
303
305 {
307 {
309 flame->Respawn();
310 }
311 });
312 });
313
314
316
318 break;
323 {
325 gem->Respawn();
326 }
327
329 {
331 {
333 {
334 if (creature->IsAlive())
335 {
336 float x, y, z;
337 jaina->GetNearPoint(creature, x, y, z, 10.f, 0, jaina->GetAngle(creature));
338 creature->SetWalk(true);
339 creature->GetMotionMaster()->MovePoint(1, x, y, z);
340 }
341 }
342 }
343 }
344
346 {
349 creature->DespawnOrUnsummon();
350
352 {
355 flame->Respawn();
356 });
357 });
358
360
362 break;
366 {
371 creature->Respawn();
374 }
376 {
380 creature->Respawn();
383 }
385 {
389 creature->Respawn();
392 }
394 {
398 creature->Respawn();
401 }
403 {
406 }
407
409 {
412 {
414 {
415
416
417
420 else
422 }
423 });
424 }
425
426 break;
428 {
429 uint8 doubleInfernalCount = 2;
430
432 {
434 {
435 if (doubleInfernalCount > 0)
436 {
438 doubleInfernalCount--;
439 }
440 else
442 }
443 }
444 }
445 break;
448 archimonde->DespawnOrUnsummon(0s, 300s);
449 [[fallthrough]];
453 {
456 creature->DespawnOrUnsummon(0s, 300s);
457 }
458
460 {
463 creature->DespawnOrUnsummon(0s, 300s);
464 }
465
468 creature->DespawnOrUnsummon(0s, 300s);
469
472 creature->DespawnOrUnsummon();
473
474
477 creature->DespawnOrUnsummon();
478
481
483 break;
487
498 break;
499 }
500
502 {
504 }
505 }
std::uint8_t uint8
Definition Define.h:109
@ NOT_STARTED
Definition InstanceScript.h:58
Definition GameObject.h:120
virtual bool SetBossState(uint32 id, EncounterState state)
Definition InstanceScript.cpp:385
virtual bool IsEncounterInProgress() const
Definition InstanceScript.cpp:137
void SaveToDB()
Definition InstanceScript.cpp:41
GameObject * GetGameObject(uint32 type)
Definition InstanceScript.cpp:120
GameObject * GetGameObject(ObjectGuid const guid)
Definition Map.cpp:2503
Creature * GetCreature(ObjectGuid const guid)
Definition Map.cpp:2498
uint32 GetPlayersCountExceptGMs() const
Definition Map.cpp:1927
Definition ObjectGuid.h:118
@ START_WAVE_WINTERCHILL
Definition hyjal.h:132
@ MAX_WAVES_RETREAT
Definition hyjal.h:130
@ START_WAVE_ALLIANCE_RETREAT
Definition hyjal.h:136
@ START_WAVE_NIGHT_ELF
Definition hyjal.h:138
@ START_WAVE_ANETHERON
Definition hyjal.h:133
@ START_WAVE_AZGALOR
Definition hyjal.h:135
@ START_WAVE_KAZROGAL
Definition hyjal.h:134
@ START_WAVE_HORDE_RETREAT
Definition hyjal.h:137
@ MAX_WAVES_STANDARD
Definition hyjal.h:129
@ MAX_WAVES_NIGHT_ELF
Definition hyjal.h:131
@ DATA_RESET_HORDE
Definition hyjal.h:47
@ DATA_RESET_NIGHT_ELF
Definition hyjal.h:48
@ DATA_RESET_ALLIANCE
Definition hyjal.h:46
@ DATA_WINTERCHILL
Definition hyjal.h:31
@ DATA_ANETHERON
Definition hyjal.h:32
@ DATA_ALLIANCE_RETREAT
Definition hyjal.h:37
@ DATA_HORDE_RETREAT
Definition hyjal.h:38
Milliseconds hyjalRetreatTimers[2][MAX_WAVES_RETREAT]
Definition instance_hyjal.cpp:62
Milliseconds hyjalWaveTimers[4][MAX_WAVES_STANDARD]
Definition instance_hyjal.cpp:54
Milliseconds hyjalNightElfWaveTimers[1][MAX_WAVES_NIGHT_ELF]
Definition instance_hyjal.cpp:68
void ScheduleWaves(Milliseconds, uint8 startWaves, uint8 maxWaves, Milliseconds timerptr[])
Definition instance_hyjal.cpp:520
References _ancientGemAlliance, _ancientGemHorde, _baseAlliance, _baseHorde, _baseNightElf, _bossWave, _currentWave, _encounterNPCs, _infernalTargets, _initialWaves, _retreat, _roaringFlameAlliance, _roaringFlameHorde, _summonedNPCs, _trash, TaskScheduler::CancelGroup(), CONTEXT_GROUP_WAVES, DATA_ALLIANCE_RETREAT, DATA_ANETHERON, DATA_ARCHIMONDE, DATA_AZGALOR, DATA_HORDE_RETREAT, DATA_JAINA, DATA_KAZROGAL, DATA_RESET_ALLIANCE, DATA_RESET_HORDE, DATA_RESET_NIGHT_ELF, DATA_RESET_WAVES, DATA_SPAWN_INFERNALS, DATA_SPAWN_WAVES, DATA_WINTERCHILL, DONE, InstanceScript::DoUpdateWorldState(), InstanceScript::GetBossState(), Map::GetCreature(), InstanceScript::GetCreature(), Map::GetGameObject(), Map::GetPlayersCountExceptGMs(), hyjalNightElfWaveTimers, hyjalRetreatTimers, hyjalWaveTimers, InstanceScript::instance, InstanceScript::IsEncounterInProgress(), MAX_WAVES_NIGHT_ELF, MAX_WAVES_RETREAT, MAX_WAVES_STANDARD, NOT_STARTED, TaskContext::Repeat(), InstanceScript::SaveToDB(), TaskScheduler::Schedule(), InstanceScript::scheduler, ScheduleWaves(), InstanceScript::SetBossState(), SetData(), START_WAVE_ALLIANCE_RETREAT, START_WAVE_ANETHERON, START_WAVE_AZGALOR, START_WAVE_HORDE_RETREAT, START_WAVE_KAZROGAL, START_WAVE_NIGHT_ELF, START_WAVE_WINTERCHILL, TO_BE_DECIDED, WORLD_STATE_HYJAL_ENEMY, WORLD_STATE_HYJAL_ENEMY_COUNT, and WORLD_STATE_HYJAL_WAVES.
Referenced by OnUnitDeath(), ResetWaves(), ScheduleWaves(), and SetData().