Reimplemented from ZoneScript.
268 {
269 switch (type)
270 {
274
277 gem->Respawn();
278
279
281 {
283 {
285 {
286 if (creature->IsAlive())
287 {
288 float x, y, z;
289 jaina->GetNearPoint(creature, x, y, z, 10.f, 0, jaina->GetAngle(creature));
290 creature->SetWalk(true);
291 creature->GetMotionMaster()->MovePoint(1, x, y, z);
292 }
293 }
294 }
295 }
296
297
299 {
302 creature->DespawnOrUnsummon();
303
304
306 {
308 {
310 flame->Respawn();
311 }
312 });
313 });
314
315
317
319 break;
324 {
326 gem->Respawn();
327 }
328
330 {
332 {
334 {
335 if (creature->IsAlive())
336 {
337 float x, y, z;
338 jaina->GetNearPoint(creature, x, y, z, 10.f, 0, jaina->GetAngle(creature));
339 creature->SetWalk(true);
340 creature->GetMotionMaster()->MovePoint(1, x, y, z);
341 }
342 }
343 }
344 }
345
347 {
350 creature->DespawnOrUnsummon();
351
353 {
356 flame->Respawn();
357 });
358 });
359
361
363 break;
367 {
372 creature->Respawn();
375 }
377 {
381 creature->Respawn();
384 }
386 {
390 creature->Respawn();
393 }
395 {
399 creature->Respawn();
402 }
404 {
407 }
408
410 {
413 {
415 {
416
417
418
421 else
423 }
424 });
425 }
426
427 break;
429 {
430 uint8 doubleInfernalCount = 2;
431
433 {
435 {
436 if (doubleInfernalCount > 0)
437 {
439 doubleInfernalCount--;
440 }
441 else
443 }
444 }
445 }
446 break;
449 archimonde->DespawnOrUnsummon(0s, 300s);
450 [[fallthrough]];
454 {
457 creature->DespawnOrUnsummon(0s, 300s);
458 }
459
461 {
464 creature->DespawnOrUnsummon(0s, 300s);
465 }
466
469 creature->DespawnOrUnsummon(0s, 300s);
470
473 creature->DespawnOrUnsummon();
474
475
478 creature->DespawnOrUnsummon();
479
482
484 break;
488
499 break;
500 }
501
503 {
505 }
506 }
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:63
Milliseconds hyjalWaveTimers[4][MAX_WAVES_STANDARD]
Definition instance_hyjal.cpp:55
Milliseconds hyjalNightElfWaveTimers[1][MAX_WAVES_NIGHT_ELF]
Definition instance_hyjal.cpp:69
void ScheduleWaves(Milliseconds, uint8 startWaves, uint8 maxWaves, Milliseconds timerptr[])
Definition instance_hyjal.cpp:521
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().