diff options
Diffstat (limited to 'src/server/scripts')
15 files changed, 224 insertions, 213 deletions
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp index c74ed9f03f5..b851558391f 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp @@ -105,7 +105,7 @@ public:              BossAI::JustEngagedWith(who);              Talk(SAY_AGGRO);              events.SetPhase(PHASE_NORMAL); -            events.ScheduleEvent(EVENT_ARC_LIGHTNING, 15000); +            events.ScheduleEvent(EVENT_ARC_LIGHTNING, 15s);              events.ScheduleEvent(EVENT_LIGHTNING_NOVA, 20s);              events.ScheduleEvent(EVENT_RESUME_PULSING_SHOCKWAVE, 1s);              instance->DoStartCriteriaTimer(CriteriaStartEvent::SendEvent, ACHIEV_TIMELY_DEATH_START_EVENT); @@ -156,7 +156,7 @@ public:                          Talk(EMOTE_NOVA);                          DoCastAOE(SPELL_LIGHTNING_NOVA);                          me->RemoveAurasDueToSpell(SPELL_PULSING_SHOCKWAVE); -                        events.ScheduleEvent(EVENT_RESUME_PULSING_SHOCKWAVE, DUNGEON_MODE(5000, 4000)); // Pause Pulsing Shockwave aura +                        events.ScheduleEvent(EVENT_RESUME_PULSING_SHOCKWAVE, DUNGEON_MODE(5s, 4s)); // Pause Pulsing Shockwave aura                          events.ScheduleEvent(EVENT_LIGHTNING_NOVA, 20s, 21s);                          break;                      case EVENT_RESUME_PULSING_SHOCKWAVE: diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp index f8c5a28bdb5..d70c3715e09 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp @@ -117,16 +117,16 @@ public:              DespawnGolem();              m_lGolemGUIDList.clear();              events.SetPhase(PHASE_INTRO); -            events.ScheduleEvent(EVENT_FORGE_CAST, 2 * IN_MILLISECONDS, 0, PHASE_INTRO); +            events.ScheduleEvent(EVENT_FORGE_CAST, 2s, 0, PHASE_INTRO);          }          void JustEngagedWith(Unit* who) override          {              Talk(SAY_AGGRO);              events.SetPhase(PHASE_NORMAL); -            events.ScheduleEvent(EVENT_PAUSE,            3.5 * IN_MILLISECONDS, 0, PHASE_NORMAL); -            events.ScheduleEvent(EVENT_SHATTERING_STOMP,   0 * IN_MILLISECONDS, 0, PHASE_NORMAL); -            events.ScheduleEvent(EVENT_SHATTER,            5 * IN_MILLISECONDS, 0, PHASE_NORMAL); +            events.ScheduleEvent(EVENT_PAUSE, 3500ms, 0, PHASE_NORMAL); +            events.ScheduleEvent(EVENT_SHATTERING_STOMP, 0s, 0, PHASE_NORMAL); +            events.ScheduleEvent(EVENT_SHATTER, 5s, 0, PHASE_NORMAL);              BossAI::JustEngagedWith(who);          } @@ -249,7 +249,7 @@ public:                              m_bHasTemper = false;                              m_bIsStriking = false; -                            events.ScheduleEvent(EVENT_PAUSE, 3.5 * IN_MILLISECONDS, 0, PHASE_NORMAL); +                            events.ScheduleEvent(EVENT_PAUSE, 3500ms, 0, PHASE_NORMAL);                          }                          break;                      case EVENT_SHATTERING_STOMP: @@ -263,19 +263,19 @@ public:                              Talk(EMOTE_SHATTER);                              m_bCanShatterGolem = true;                          } -                        events.ScheduleEvent(EVENT_SHATTERING_STOMP, 30 * IN_MILLISECONDS, 0, PHASE_NORMAL); +                        events.ScheduleEvent(EVENT_SHATTERING_STOMP, 30s, 0, PHASE_NORMAL);                          break;                      case EVENT_SHATTER:                          if (m_bCanShatterGolem)                          {                              ShatterGolem(); -                            events.ScheduleEvent(EVENT_SHATTER, 3 * IN_MILLISECONDS, 0, PHASE_NORMAL); +                            events.ScheduleEvent(EVENT_SHATTER, 3s, 0, PHASE_NORMAL);                              m_bCanShatterGolem = false;                          }                          break;                      case EVENT_FORGE_CAST:                          DoCast(me, SPELL_FORGE_VISUAL); -                        events.ScheduleEvent(EVENT_FORGE_CAST, 15 * IN_MILLISECONDS, 0, PHASE_INTRO); +                        events.ScheduleEvent(EVENT_FORGE_CAST, 15s, 0, PHASE_INTRO);                          break;                      default:                          break; @@ -398,8 +398,8 @@ public:          void Initialize()          {              m_bIsFrozen = false; -            events.ScheduleEvent(EVENT_BLAST,      20 * IN_MILLISECONDS); -            events.ScheduleEvent(EVENT_IMMOLATION,  5 * IN_MILLISECONDS); +            events.ScheduleEvent(EVENT_BLAST, 20s); +            events.ScheduleEvent(EVENT_IMMOLATION, 5s);          }          bool m_bIsFrozen; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp index 879f508a16d..91f13259b5b 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp @@ -337,7 +337,7 @@ struct boss_algalon_the_observer : public BossAI                  events.Reset();                  events.SetPhase(PHASE_ROLE_PLAY);                  if (me->IsInCombat()) -                    events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 1); +                    events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 1ms);                  events.ScheduleEvent(EVENT_DESPAWN_ALGALON_1, 5s);                  events.ScheduleEvent(EVENT_DESPAWN_ALGALON_2, 17s);                  events.ScheduleEvent(EVENT_DESPAWN_ALGALON_3, 26s); @@ -361,7 +361,7 @@ struct boss_algalon_the_observer : public BossAI      void JustEngagedWith(Unit* who) override      { -        uint32 introDelay = 0; +        Milliseconds introDelay = 0ms;          me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);          me->SetImmuneToNPC(true);          events.Reset(); @@ -372,7 +372,7 @@ struct boss_algalon_the_observer : public BossAI              Talk(SAY_ALGALON_AGGRO);              me->PlayDirectMusic(ENGAGE_MUSIC_ID);              BossAI::JustEngagedWith(who); -            introDelay = 8000; +            introDelay = 8s;          }          else          { @@ -382,19 +382,19 @@ struct boss_algalon_the_observer : public BossAI              me->setActive(true);              me->SetFarVisible(true);              DoZoneInCombat(); -            introDelay = 26500; +            introDelay = 26500ms;              summons.DespawnEntry(NPC_AZEROTH);              instance->SetData(EVENT_DESPAWN_ALGALON, 0);              events.ScheduleEvent(EVENT_START_COMBAT, 16s);          }          events.ScheduleEvent(EVENT_INTRO_TIMER_DONE, introDelay); -        events.ScheduleEvent(EVENT_QUANTUM_STRIKE, 3500 + introDelay); -        events.ScheduleEvent(EVENT_PHASE_PUNCH, 15500 + introDelay); -        events.ScheduleEvent(EVENT_SUMMON_COLLAPSING_STAR, 18000 + introDelay); -        events.ScheduleEvent(EVENT_BIG_BANG, 90000 + introDelay); -        events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 360000 + introDelay); -        events.ScheduleEvent(EVENT_COSMIC_SMASH, 25000 + introDelay); +        events.ScheduleEvent(EVENT_QUANTUM_STRIKE, 3500ms + introDelay); +        events.ScheduleEvent(EVENT_PHASE_PUNCH, 15500ms + introDelay); +        events.ScheduleEvent(EVENT_SUMMON_COLLAPSING_STAR, 18s + introDelay); +        events.ScheduleEvent(EVENT_BIG_BANG, 90s + introDelay); +        events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 360s + introDelay); +        events.ScheduleEvent(EVENT_COSMIC_SMASH, 25s + introDelay);          std::list<Creature*> stalkers;          me->GetCreatureListWithEntryInGrid(stalkers, NPC_ALGALON_STALKER, 200.0f); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp index 495eaef18bd..29dab9c83e3 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp @@ -184,9 +184,9 @@ class boss_steelbreaker : public CreatureScript                          me->SetFullHealth();                          me->AddAura(SPELL_SUPERCHARGE, me);                          events.SetPhase(++phase); -                        events.RescheduleEvent(EVENT_FUSION_PUNCH, 15000); +                        events.RescheduleEvent(EVENT_FUSION_PUNCH, 15s);                          if (phase >= 2) -                            events.RescheduleEvent(EVENT_STATIC_DISRUPTION, 30000); +                            events.RescheduleEvent(EVENT_STATIC_DISRUPTION, 30s);                          if (phase >= 3)                              events.RescheduleEvent(EVENT_OVERWHELMING_POWER, 2s, 5s);                          break; @@ -262,7 +262,7 @@ class boss_steelbreaker : public CreatureScript                          case EVENT_OVERWHELMING_POWER:                              Talk(SAY_STEELBREAKER_POWER);                              DoCastVictim(SPELL_OVERWHELMING_POWER); -                            events.ScheduleEvent(EVENT_OVERWHELMING_POWER, RAID_MODE(60000, 35000)); +                            events.ScheduleEvent(EVENT_OVERWHELMING_POWER, RAID_MODE(60s, 35s));                              break;                      } @@ -333,12 +333,12 @@ class boss_runemaster_molgeim : public CreatureScript                          me->SetFullHealth();                          me->AddAura(SPELL_SUPERCHARGE, me);                          events.SetPhase(++phase); -                        events.RescheduleEvent(EVENT_SHIELD_OF_RUNES, 27000); -                        events.RescheduleEvent(EVENT_RUNE_OF_POWER, 25000); +                        events.RescheduleEvent(EVENT_SHIELD_OF_RUNES, 27s); +                        events.RescheduleEvent(EVENT_RUNE_OF_POWER, 25s);                          if (phase >= 2) -                            events.RescheduleEvent(EVENT_RUNE_OF_DEATH, 30000); +                            events.RescheduleEvent(EVENT_RUNE_OF_DEATH, 30s);                          if (phase >= 3) -                            events.RescheduleEvent(EVENT_RUNE_OF_SUMMONING, urand(20000, 30000)); +                            events.RescheduleEvent(EVENT_RUNE_OF_SUMMONING, 20s, 30s);                          break;                      }                  } @@ -493,7 +493,7 @@ class boss_stormcaller_brundir : public CreatureScript                  events.ScheduleEvent(EVENT_MOVE_POSITION, 1s);                  events.ScheduleEvent(EVENT_BERSERK, 15min);                  events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 4s); -                events.ScheduleEvent(EVENT_OVERLOAD, urand(60000, 120000)); +                events.ScheduleEvent(EVENT_OVERLOAD, 60s, 120s);                  if (Creature* trigger = me->FindNearestCreature(NPC_WORLD_TRIGGER, 100.0f))                      m_TriggerGUID = trigger->GetGUID(); @@ -509,13 +509,13 @@ class boss_stormcaller_brundir : public CreatureScript                          me->AddAura(SPELL_SUPERCHARGE, me);                          events.SetPhase(++phase);                          events.RescheduleEvent(EVENT_CHAIN_LIGHTNING, 7s, 12s); -                        events.RescheduleEvent(EVENT_OVERLOAD, urand(40000, 50000)); +                        events.RescheduleEvent(EVENT_OVERLOAD, 40s, 50s);                          if (phase >= 2) -                            events.RescheduleEvent(EVENT_LIGHTNING_WHIRL, urand(15000, 250000)); +                            events.RescheduleEvent(EVENT_LIGHTNING_WHIRL, 15s, 250s);                          if (phase >= 3)                          {                              DoCast(me, SPELL_STORMSHIELD); -                            events.RescheduleEvent(EVENT_LIGHTNING_TENDRILS, urand(50000, 60000)); +                            events.RescheduleEvent(EVENT_LIGHTNING_TENDRILS, 50s, 60s);                              me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_STUN, true); // Apply immumity to stuns                          }                          break; @@ -582,7 +582,7 @@ class boss_stormcaller_brundir : public CreatureScript                              Talk(EMOTE_BRUNDIR_OVERLOAD);                              Talk(SAY_BRUNDIR_SPECIAL);                              DoCast(SPELL_OVERLOAD); -                            events.ScheduleEvent(EVENT_OVERLOAD, urand(60000, 120000)); +                            events.ScheduleEvent(EVENT_OVERLOAD, 60s, 120s);                              break;                          case EVENT_LIGHTNING_WHIRL:                              DoCast(SPELL_LIGHTNING_WHIRL); @@ -594,9 +594,9 @@ class boss_stormcaller_brundir : public CreatureScript                              DoCast(me, SPELL_LIGHTNING_TENDRILS_VISUAL);                              me->AttackStop();                              me->SetHover(true); -                            events.DelayEvents(35000); +                            events.DelayEvents(35s);                              events.ScheduleEvent(EVENT_FLIGHT, 2500ms); -                            events.ScheduleEvent(EVENT_ENDFLIGHT, 32500); +                            events.ScheduleEvent(EVENT_ENDFLIGHT, 32500ms);                              events.ScheduleEvent(EVENT_LIGHTNING_TENDRILS, 90s);                              break;                          case EVENT_FLIGHT: @@ -643,7 +643,7 @@ class boss_stormcaller_brundir : public CreatureScript                                          me->GetMotionMaster()->MovePoint(0, pos);                                  }                              } -                            events.ScheduleEvent(EVENT_MOVE_POSITION, urand(7500, 10000)); +                            events.ScheduleEvent(EVENT_MOVE_POSITION, 7500ms, 10s);                              break;                          default:                              break; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index cf101b413f4..de096206fd6 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -278,8 +278,8 @@ class boss_flame_leviathan : public CreatureScript              {                  BossAI::JustEngagedWith(who);                  me->SetReactState(REACT_PASSIVE); -                events.ScheduleEvent(EVENT_PURSUE, 1); -                events.ScheduleEvent(EVENT_MISSILE, urand(1500, 4*IN_MILLISECONDS)); +                events.ScheduleEvent(EVENT_PURSUE, 1ms); +                events.ScheduleEvent(EVENT_MISSILE, 1500ms, 4s);                  events.ScheduleEvent(EVENT_VENT, 20s);                  events.ScheduleEvent(EVENT_SHUTDOWN, 150s);                  events.ScheduleEvent(EVENT_SPEED, 15s); @@ -429,7 +429,7 @@ class boss_flame_leviathan : public CreatureScript                              if (Shutout)                                  Shutout = false;                              events.ScheduleEvent(EVENT_REPAIR, 4s); -                            events.DelayEvents(20 * IN_MILLISECONDS, 0); +                            events.DelayEvents(20s, 0);                              break;                          case EVENT_REPAIR:                              Talk(EMOTE_REPAIR); @@ -586,7 +586,7 @@ class boss_flame_leviathan : public CreatureScript                          if (!target)                          { -                            events.RescheduleEvent(EVENT_PURSUE, 0); +                            events.RescheduleEvent(EVENT_PURSUE, 0s);                              return;                          } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp index 07c9e61329d..57d9b60f26e 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp @@ -206,12 +206,13 @@ enum FreyaEvents  enum Misc  { -    WAVE_TIME                                   = 60000, // Normal wave is one minute      TIME_DIFFERENCE                             = 10000, // If difference between waveTime and WAVE_TIME is bigger then TIME_DIFFERENCE, schedule EVENT_WAVE in 10 seconds      DATA_GETTING_BACK_TO_NATURE                 = 1,      DATA_KNOCK_ON_WOOD                          = 2  }; +constexpr Seconds FREYA_WAVE_TIME = 60s; // Normal wave is one minute +  class npc_iron_roots : public CreatureScript  {      public: @@ -385,7 +386,7 @@ class boss_freya : public CreatureScript                  me->CastSpell(me, SPELL_ATTUNED_TO_NATURE, args);                  events.ScheduleEvent(EVENT_WAVE, 10s); -                events.ScheduleEvent(EVENT_EONAR_GIFT, 25000); +                events.ScheduleEvent(EVENT_EONAR_GIFT, 25s);                  events.ScheduleEvent(EVENT_ENRAGE, 10min);                  events.ScheduleEvent(EVENT_SUNBEAM, 5s, 15s);              } @@ -438,7 +439,7 @@ class boss_freya : public CreatureScript                          case EVENT_WAVE:                              SpawnWave();                              if (waveCount <= 6) // If set to 6 The Bombs appear during the Final Add wave -                                events.ScheduleEvent(EVENT_WAVE, WAVE_TIME); +                                events.ScheduleEvent(EVENT_WAVE, FREYA_WAVE_TIME);                              else                                  events.ScheduleEvent(EVENT_NATURE_BOMB, 10s, 20s);                              break; @@ -815,7 +816,7 @@ class boss_elder_stonebark : public CreatureScript                      me->RemoveAurasDueToSpell(SPELL_DRAINED_OF_POWER);                  events.ScheduleEvent(EVENT_TREMOR, 10s, 12s);                  events.ScheduleEvent(EVENT_FISTS, 25s, 35s); -                events.ScheduleEvent(EVENT_BARK, urand(37500, 40000)); +                events.ScheduleEvent(EVENT_BARK, 37500ms, 40s);              }              void KilledUnit(Unit* who) override @@ -924,7 +925,7 @@ class boss_elder_ironbranch : public CreatureScript                      me->RemoveAurasDueToSpell(SPELL_DRAINED_OF_POWER);                  events.ScheduleEvent(EVENT_IMPALE, 18s, 22s);                  events.ScheduleEvent(EVENT_IRON_ROOTS, 12s, 17s); -                events.ScheduleEvent(EVENT_THORN_SWARM, urand(7500, 12500)); +                events.ScheduleEvent(EVENT_THORN_SWARM, 7500ms, 12500ms);              }              void KilledUnit(Unit* who) override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp index abf5b877fd4..cd6c8fda3cb 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp @@ -173,7 +173,7 @@ class boss_general_vezax : public CreatureScript                          }                          case EVENT_SEARING_FLAMES:                              DoCastAOE(SPELL_SEARING_FLAMES); -                            events.ScheduleEvent(EVENT_SEARING_FLAMES, urand(14000, 17500)); +                            events.ScheduleEvent(EVENT_SEARING_FLAMES, 14s, 17500ms);                              break;                          case EVENT_MARK_OF_THE_FACELESS:                          { diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp index 3b99f5b9c0f..2988cae2cba 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp @@ -450,7 +450,7 @@ class boss_hodir : public CreatureScript                          case EVENT_ICICLE:                              if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))                                  DoCast(target, SPELL_ICICLE); -                            events.ScheduleEvent(EVENT_ICICLE, RAID_MODE(5500, 3500)); +                            events.ScheduleEvent(EVENT_ICICLE, RAID_MODE(5500ms, 3500ms));                              break;                          case EVENT_FLASH_FREEZE:                              Talk(SAY_FLASH_FREEZE); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp index 1c5fff7a292..7eaf844238d 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp @@ -147,11 +147,11 @@ class boss_ignis : public CreatureScript                  BossAI::JustEngagedWith(who);                  Talk(SAY_AGGRO);                  events.ScheduleEvent(EVENT_JET, 30s); -                events.ScheduleEvent(EVENT_SCORCH, 25000); -                events.ScheduleEvent(EVENT_SLAG_POT, 35000); -                events.ScheduleEvent(EVENT_CONSTRUCT, 15000); +                events.ScheduleEvent(EVENT_SCORCH, 25s); +                events.ScheduleEvent(EVENT_SLAG_POT, 35s); +                events.ScheduleEvent(EVENT_CONSTRUCT, 15s);                  events.ScheduleEvent(EVENT_END_POT, 40s); -                events.ScheduleEvent(EVENT_BERSERK, 480000); +                events.ScheduleEvent(EVENT_BERSERK, 480s);                  Initialize();                  instance->DoStartCriteriaTimer(CriteriaStartEvent::SendEvent, ACHIEVEMENT_IGNIS_START_EVENT);              } @@ -230,10 +230,10 @@ class boss_ignis : public CreatureScript                                  Talk(SAY_SLAG_POT);                                  _slagPotGUID = target->GetGUID();                                  DoCast(target, SPELL_GRAB); -                                events.DelayEvents(3000); +                                events.DelayEvents(3s);                                  events.ScheduleEvent(EVENT_GRAB_POT, 500ms);                              } -                            events.ScheduleEvent(EVENT_SLAG_POT, RAID_MODE(30000, 15000)); +                            events.ScheduleEvent(EVENT_SLAG_POT, RAID_MODE(30s, 15s));                              break;                          case EVENT_GRAB_POT:                              if (Unit* slagPotTarget = ObjectAccessor::GetUnit(*me, _slagPotGUID)) @@ -266,14 +266,14 @@ class boss_ignis : public CreatureScript                              if (Unit* target = me->GetVictim())                                  me->SummonCreature(NPC_GROUND_SCORCH, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 45000);                              DoCast(SPELL_SCORCH); -                            events.ScheduleEvent(EVENT_SCORCH, 25000); +                            events.ScheduleEvent(EVENT_SCORCH, 25s);                              break;                          case EVENT_CONSTRUCT:                              Talk(SAY_SUMMON);                              DoSummon(NPC_IRON_CONSTRUCT, ConstructSpawnPosition[urand(0, CONSTRUCT_SPAWN_POINTS - 1)], 30000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT);                              DoCast(SPELL_STRENGHT);                              DoCast(me, SPELL_ACTIVATE_CONSTRUCT); -                            events.ScheduleEvent(EVENT_CONSTRUCT, RAID_MODE(40000, 30000)); +                            events.ScheduleEvent(EVENT_CONSTRUCT, RAID_MODE(40s, 30s));                              break;                          case EVENT_BERSERK:                              DoCast(me, SPELL_BERSERK, true); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp index 37155bcd1a9..eb6bf3855c6 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp @@ -125,7 +125,7 @@ class boss_kologarn : public CreatureScript                  events.ScheduleEvent(EVENT_MELEE_CHECK, 6s);                  events.ScheduleEvent(EVENT_SMASH, 5s);                  events.ScheduleEvent(EVENT_SWEEP, 19s); -                events.ScheduleEvent(EVENT_STONE_GRIP, 25000); +                events.ScheduleEvent(EVENT_STONE_GRIP, 25s);                  events.ScheduleEvent(EVENT_FOCUSED_EYEBEAM, 21s);                  events.ScheduleEvent(EVENT_ENRAGE, 10min); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 9b161801d50..002a75f32ad 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -399,10 +399,10 @@ class boss_mimiron : public CreatureScript                  switch (action)                  {                      case DO_ACTIVATE_VX001: -                        events.ScheduleEvent(EVENT_VX001_ACTIVATION_1, 1000); +                        events.ScheduleEvent(EVENT_VX001_ACTIVATION_1, 1s);                          break;                      case DO_ACTIVATE_AERIAL: -                        events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_1, 5000); +                        events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_1, 5s);                          break;                      case DO_ACTIVATE_V0L7R0N_1:                          Talk(SAY_AERIAL_DEATH); @@ -410,7 +410,7 @@ class boss_mimiron : public CreatureScript                              mkii->GetMotionMaster()->MovePoint(WP_MKII_P4_POS_1, VehicleRelocation[WP_MKII_P4_POS_1]);                          break;                      case DO_ACTIVATE_V0L7R0N_2: -                        events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_1, 1000); +                        events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_1, 1s);                          break;                      case DO_ACTIVATE_HARD_MODE:                          _fireFighter = true; @@ -436,7 +436,7 @@ class boss_mimiron : public CreatureScript                  if (_fireFighter)                      events.ScheduleEvent(EVENT_SUMMON_FLAMES, 3s); -                events.ScheduleEvent(EVENT_INTRO_1, 1500); +                events.ScheduleEvent(EVENT_INTRO_1, 1500ms);              }              void JustDied(Unit* /*killer*/) override @@ -450,7 +450,7 @@ class boss_mimiron : public CreatureScript                  me->ExitVehicle();                  // ExitVehicle() offset position is not implemented, so we make up for that with MoveJump()...                  me->GetMotionMaster()->MoveJump(me->GetPositionX() + (10.f * std::cos(me->GetOrientation())), me->GetPositionY() + (10.f * std::sin(me->GetOrientation())), me->GetPositionZ(), me->GetOrientation(), 10.f, 5.f); -                events.ScheduleEvent(EVENT_OUTTRO_1, 7000); +                events.ScheduleEvent(EVENT_OUTTRO_1, 7s);              }              void Reset() override @@ -503,11 +503,11 @@ class boss_mimiron : public CreatureScript                                  worldtrigger->CastSpell(nullptr, SPELL_SCRIPT_EFFECT_SUMMON_FLAMES_INITIAL, CastSpellExtraArgs(TRIGGERED_FULL_MASK)                                      .SetOriginalCaster(me->GetGUID())                                      .AddSpellMod(SPELLVALUE_MAX_TARGETS, 3)); -                            events.RescheduleEvent(EVENT_SUMMON_FLAMES, 28000); +                            events.RescheduleEvent(EVENT_SUMMON_FLAMES, 28s);                              break;                          case EVENT_INTRO_1:                              Talk(_fireFighter ? SAY_HARDMODE_ON : SAY_MKII_ACTIVATE); -                            events.ScheduleEvent(EVENT_INTRO_2, 5000); +                            events.ScheduleEvent(EVENT_INTRO_2, 5s);                              break;                          case EVENT_INTRO_2:                              if (Unit* mkii = me->GetVehicleBase()) @@ -516,7 +516,7 @@ class boss_mimiron : public CreatureScript                                  mkii->RemoveAurasDueToSpell(SPELL_FREEZE_ANIM);                                  mkii->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE));                              } -                            events.ScheduleEvent(EVENT_INTRO_3, 2000); +                            events.ScheduleEvent(EVENT_INTRO_3, 2s);                              break;                          case EVENT_INTRO_3:                              if (Creature* mkii = me->GetVehicleCreatureBase()) @@ -525,44 +525,44 @@ class boss_mimiron : public CreatureScript                          case EVENT_VX001_ACTIVATION_1:                              if (Unit* mkii = me->GetVehicleBase())                                  mkii->SetFacingTo(3.686f); // fix magic number -                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_2, 1000); +                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_2, 1s);                              break;                          case EVENT_VX001_ACTIVATION_2:                              if (Unit* mkii = me->GetVehicleBase())                                  DoCast(mkii, SPELL_SEAT_6); -                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_3, 1000); +                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_3, 1s);                              break;                          case EVENT_VX001_ACTIVATION_3:                              Talk(SAY_MKII_DEATH); -                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_4, 5000); +                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_4, 5s);                              break;                          case EVENT_VX001_ACTIVATION_4:                              if (GameObject* elevator = instance->GetGameObject(DATA_MIMIRON_ELEVATOR))                                  elevator->SetGoState(GO_STATE_READY);                              if (Creature* worldtrigger = instance->GetCreature(DATA_MIMIRON_WORLD_TRIGGER))                                  worldtrigger->CastSpell(worldtrigger, SPELL_ELEVATOR_KNOCKBACK); -                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_5, 6000); +                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_5, 6s);                              break;                          case EVENT_VX001_ACTIVATION_5:                              if (GameObject* elevator = instance->GetGameObject(DATA_MIMIRON_ELEVATOR))                                  elevator->SetGoState(GO_STATE_DESTROYED);                              if (Creature* vx001 = me->SummonCreature(NPC_VX_001, VX001SummonPos, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 120000))                                  vx001->CastSpell(vx001, SPELL_FREEZE_ANIM); -                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_6, 19000); +                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_6, 19s);                              break;                          case EVENT_VX001_ACTIVATION_6:                              if (Unit* vx001 = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_VX_001)))                                  DoCast(vx001, SPELL_SEAT_1); -                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_7, 3500); +                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_7, 3500ms);                              break;                          case EVENT_VX001_ACTIVATION_7:                              Talk(SAY_VX001_ACTIVATE); -                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_8, 4000); +                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_8, 4s);                              break;                          case EVENT_VX001_ACTIVATION_8:                              if (Unit* vx001 = me->GetVehicleBase())                                  DoCast(vx001, SPELL_SEAT_2); -                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_9, 3000); +                            events.ScheduleEvent(EVENT_VX001_ACTIVATION_9, 3s);                              break;                          case EVENT_VX001_ACTIVATION_9:                              if (Creature* vx001 = me->GetVehicleCreatureBase()) @@ -571,24 +571,24 @@ class boss_mimiron : public CreatureScript                          case EVENT_AERIAL_ACTIVATION_1:                              if (Unit* mkii = me->GetVehicleBase())                                  DoCast(mkii, SPELL_SEAT_5); -                            events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_2, 2500); +                            events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_2, 2500ms);                              break;                          case EVENT_AERIAL_ACTIVATION_2:                              Talk(SAY_VX001_DEATH); -                            events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_3, 5000); +                            events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_3, 5s);                              break;                          case EVENT_AERIAL_ACTIVATION_3:                              me->SummonCreature(NPC_AERIAL_COMMAND_UNIT, ACUSummonPos, TEMPSUMMON_MANUAL_DESPAWN); -                            events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_4, 5000); +                            events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_4, 5s);                              break;                          case EVENT_AERIAL_ACTIVATION_4:                              if (Unit* aerial = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT)))                                  me->CastSpell(aerial, SPELL_SEAT_1); -                            events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_5, 2000); +                            events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_5, 2s);                              break;                          case EVENT_AERIAL_ACTIVATION_5:                              Talk(SAY_AERIAL_ACTIVATE); -                            events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_6, 8000); +                            events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_6, 8s);                              break;                          case EVENT_AERIAL_ACTIVATION_6:                              if (Creature* acu = me->GetVehicleCreatureBase()) @@ -597,7 +597,7 @@ class boss_mimiron : public CreatureScript                          case EVENT_VOL7RON_ACTIVATION_1:                              if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_LEVIATHAN_MK_II)))                                  mkii->SetFacingTo(float(M_PI)); -                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_2, 1000); +                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_2, 1s);                              break;                          case EVENT_VOL7RON_ACTIVATION_2:                              if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_LEVIATHAN_MK_II))) @@ -608,12 +608,12 @@ class boss_mimiron : public CreatureScript                                      vx001->CastSpell(mkii, SPELL_MOUNT_MKII);                                  }                              } -                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_3, 4500); +                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_3, 4500ms);                              break;                          case EVENT_VOL7RON_ACTIVATION_3:                              if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_LEVIATHAN_MK_II)))                                  mkii->GetMotionMaster()->MovePoint(WP_MKII_P4_POS_4, VehicleRelocation[WP_MKII_P4_POS_4]); -                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_4, 5000); +                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_4, 5s);                              break;                          case EVENT_VOL7RON_ACTIVATION_4:                              if (Creature* vx001 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VX_001))) @@ -625,16 +625,16 @@ class boss_mimiron : public CreatureScript                                      aerial->CastSpell(aerial, SPELL_HALF_HEAL);                                  }                              } -                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_5, 4000); +                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_5, 4s);                              break;                          case EVENT_VOL7RON_ACTIVATION_5:                              Talk(SAY_V07TRON_ACTIVATE); -                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_6, 3000); +                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_6, 3s);                              break;                          case EVENT_VOL7RON_ACTIVATION_6:                              if (Creature* vx001 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VX_001)))                                  DoCast(vx001, SPELL_SEAT_2); -                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_7, 5000); +                            events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_7, 5s);                              break;                          case EVENT_VOL7RON_ACTIVATION_7:                              for (uint8 data = DATA_LEVIATHAN_MK_II; data <= DATA_AERIAL_COMMAND_UNIT; ++data) @@ -645,7 +645,7 @@ class boss_mimiron : public CreatureScript                              me->RemoveAurasDueToSpell(SPELL_SLEEP_VISUAL_1);                              DoCast(me, SPELL_SLEEP_VISUAL_2);                              me->SetFaction(FACTION_FRIENDLY); -                            events.ScheduleEvent(EVENT_OUTTRO_2, 3000); +                            events.ScheduleEvent(EVENT_OUTTRO_2, 3s);                              break;                          case EVENT_OUTTRO_2:                              Talk(SAY_V07TRON_DEATH); @@ -657,7 +657,7 @@ class boss_mimiron : public CreatureScript                              }                              else                                  me->SummonGameObject(RAID_MODE(GO_CACHE_OF_INNOVATION, GO_CACHE_OF_INNOVATION_HERO), 2744.040f, 2569.352f, 364.3135f, 3.124123f, QuaternionData(0.f, 0.f, 0.9999619f, 0.008734641f), 604800); -                            events.ScheduleEvent(EVENT_OUTTRO_3, 11000); +                            events.ScheduleEvent(EVENT_OUTTRO_3, 11s);                              break;                          case EVENT_OUTTRO_3:                              DoCast(me, SPELL_TELEPORT_VISUAL); @@ -758,8 +758,8 @@ class boss_leviathan_mk_ii : public CreatureScript                          me->SetReactState(REACT_AGGRESSIVE);                          events.SetPhase(PHASE_VOL7RON); -                        events.ScheduleEvent(EVENT_PROXIMITY_MINE, 15000); -                        events.ScheduleEvent(EVENT_SHOCK_BLAST, 45000); +                        events.ScheduleEvent(EVENT_PROXIMITY_MINE, 15s); +                        events.ScheduleEvent(EVENT_SHOCK_BLAST, 45s);                          break;                      default:                          break; @@ -810,17 +810,17 @@ class boss_leviathan_mk_ii : public CreatureScript                              mimiron->AI()->DoAction(DO_ACTIVATE_VX001);                          break;                      case WP_MKII_P4_POS_1: -                        events.ScheduleEvent(EVENT_MOVE_POINT_2, 1); +                        events.ScheduleEvent(EVENT_MOVE_POINT_2, 1ms);                          break;                      case WP_MKII_P4_POS_2: -                        events.ScheduleEvent(EVENT_MOVE_POINT_3, 1); +                        events.ScheduleEvent(EVENT_MOVE_POINT_3, 1ms);                          break;                      case WP_MKII_P4_POS_3:                          if (Creature* mimiron = instance->GetCreature(BOSS_MIMIRON))                              mimiron->AI()->DoAction(DO_ACTIVATE_V0L7R0N_2);                          break;                      case WP_MKII_P4_POS_4: -                        events.ScheduleEvent(EVENT_MOVE_POINT_5, 1); +                        events.ScheduleEvent(EVENT_MOVE_POINT_5, 1ms);                          break;                      default:                          break; @@ -873,29 +873,29 @@ class boss_leviathan_mk_ii : public CreatureScript                      {                          case EVENT_PROXIMITY_MINE:                              DoCastAOE(SPELL_PROXIMITY_MINES); -                            events.RescheduleEvent(EVENT_PROXIMITY_MINE, 35000); +                            events.RescheduleEvent(EVENT_PROXIMITY_MINE, 35s);                              break;                          case EVENT_PLASMA_BLAST:                              DoCastVictim(SPELL_SCRIPT_EFFECT_PLASMA_BLAST); -                            events.RescheduleEvent(EVENT_PLASMA_BLAST, urand(30000, 45000), 0, PHASE_LEVIATHAN_MK_II); +                            events.RescheduleEvent(EVENT_PLASMA_BLAST, 30s, 45s, 0, PHASE_LEVIATHAN_MK_II);                              if (events.GetTimeUntilEvent(EVENT_NAPALM_SHELL) < 9000) -                                events.RescheduleEvent(EVENT_NAPALM_SHELL, 9000, 0, PHASE_LEVIATHAN_MK_II); // The actual spell is cast by the turret, we should not let it interrupt itself. +                                events.RescheduleEvent(EVENT_NAPALM_SHELL, 9s, 0, PHASE_LEVIATHAN_MK_II); // The actual spell is cast by the turret, we should not let it interrupt itself.                              break;                          case EVENT_SHOCK_BLAST:                              DoCastAOE(SPELL_SHOCK_BLAST); -                            events.RescheduleEvent(EVENT_SHOCK_BLAST, urand(34000, 36000)); +                            events.RescheduleEvent(EVENT_SHOCK_BLAST, 34s, 36s);                              break;                          case EVENT_FLAME_SUPPRESSANT_MK:                              DoCastAOE(SPELL_FLAME_SUPPRESSANT_MK); -                            events.RescheduleEvent(EVENT_FLAME_SUPPRESSANT_MK, 60000, 0, PHASE_LEVIATHAN_MK_II); +                            events.RescheduleEvent(EVENT_FLAME_SUPPRESSANT_MK, 60s, 0, PHASE_LEVIATHAN_MK_II);                              break;                          case EVENT_NAPALM_SHELL:                              DoCastAOE(SPELL_FORCE_CAST_NAPALM_SHELL); -                            events.RescheduleEvent(EVENT_NAPALM_SHELL, urand(6000, 15000), 0, PHASE_LEVIATHAN_MK_II); +                            events.RescheduleEvent(EVENT_NAPALM_SHELL, 6s, 15s, 0, PHASE_LEVIATHAN_MK_II);                              if (events.GetTimeUntilEvent(EVENT_PLASMA_BLAST) < 2000) -                                events.RescheduleEvent(EVENT_PLASMA_BLAST, 2000, 0, PHASE_LEVIATHAN_MK_II);  // The actual spell is cast by the turret, we should not let it interrupt itself. +                                events.RescheduleEvent(EVENT_PLASMA_BLAST, 2s, 0, PHASE_LEVIATHAN_MK_II);  // The actual spell is cast by the turret, we should not let it interrupt itself.                              break;                          case EVENT_MOVE_POINT_2:                              me->GetMotionMaster()->MovePoint(WP_MKII_P4_POS_2, VehicleRelocation[WP_MKII_P4_POS_2]); @@ -999,7 +999,7 @@ class boss_vx_001 : public CreatureScript                          events.SetPhase(PHASE_VX_001);                          events.ScheduleEvent(EVENT_ROCKET_STRIKE, 20s);                          events.ScheduleEvent(EVENT_SPINNING_UP, 30s, 35s); -                        events.ScheduleEvent(EVENT_RAPID_BURST, 500, 0, PHASE_VX_001); +                        events.ScheduleEvent(EVENT_RAPID_BURST, 500ms, 0, PHASE_VX_001);                          break;                      case DO_ASSEMBLED_COMBAT:                          me->SetStandState(UNIT_STAND_STATE_STAND); @@ -1008,7 +1008,7 @@ class boss_vx_001 : public CreatureScript                          events.SetPhase(PHASE_VOL7RON);                          events.ScheduleEvent(EVENT_ROCKET_STRIKE, 20s);                          events.ScheduleEvent(EVENT_SPINNING_UP, 30s, 35s); -                        events.ScheduleEvent(EVENT_HAND_PULSE, 500, 0, PHASE_VOL7RON); +                        events.ScheduleEvent(EVENT_HAND_PULSE, 500ms, 0, PHASE_VOL7RON);                          if (_fireFighter)                              events.ScheduleEvent(EVENT_FROST_BOMB, 1s);                          break; @@ -1065,12 +1065,12 @@ class boss_vx_001 : public CreatureScript                          case EVENT_RAPID_BURST:                              if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 120, true))                                  DoCast(target, SPELL_SUMMON_BURST_TARGET); -                            events.RescheduleEvent(EVENT_RAPID_BURST, 3000, 0, PHASE_VX_001); +                            events.RescheduleEvent(EVENT_RAPID_BURST, 3s, 0, PHASE_VX_001);                              break;                          case EVENT_ROCKET_STRIKE:                              DoCastAOE(events.IsInPhase(PHASE_VX_001) ? SPELL_ROCKET_STRIKE_SINGLE : SPELL_ROCKET_STRIKE_BOTH);                              events.ScheduleEvent(EVENT_RELOAD, 10s); -                            events.RescheduleEvent(EVENT_ROCKET_STRIKE, urand(20000, 25000)); +                            events.RescheduleEvent(EVENT_ROCKET_STRIKE, 20s, 25s);                              break;                          case EVENT_RELOAD:                              for (int8 seat = ROCKET_SEAT_LEFT; seat <= ROCKET_SEAT_RIGHT; ++seat) @@ -1080,20 +1080,20 @@ class boss_vx_001 : public CreatureScript                          case EVENT_HAND_PULSE:                              if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 120, true))                                  DoCast(target, RAND(SPELL_HAND_PULSE_LEFT, SPELL_HAND_PULSE_RIGHT)); -                            events.RescheduleEvent(EVENT_HAND_PULSE, urand(1500, 3000), 0, PHASE_VOL7RON); +                            events.RescheduleEvent(EVENT_HAND_PULSE, 1500ms, 3s, 0, PHASE_VOL7RON);                              break;                          case EVENT_FROST_BOMB:                              DoCastAOE(SPELL_SCRIPT_EFFECT_FROST_BOMB); -                            events.RescheduleEvent(EVENT_FROST_BOMB, 45000); +                            events.RescheduleEvent(EVENT_FROST_BOMB, 45s);                              break;                          case EVENT_SPINNING_UP:                              DoCastAOE(SPELL_SPINNING_UP); -                            events.DelayEvents(14000); -                            events.RescheduleEvent(EVENT_SPINNING_UP, urand(55000, 65000)); +                            events.DelayEvents(14s); +                            events.RescheduleEvent(EVENT_SPINNING_UP, 55s, 65s);                              break;                          case EVENT_FLAME_SUPPRESSANT_VX:                              DoCastAOE(SPELL_FLAME_SUPPRESSANT_VX); -                            events.RescheduleEvent(EVENT_FLAME_SUPPRESSANT_VX, urand(10000, 12000), 0, PHASE_VX_001); +                            events.RescheduleEvent(EVENT_FLAME_SUPPRESSANT_VX, 10s, 12s, 0, PHASE_VX_001);                              break;                          default:                              break; @@ -1188,7 +1188,7 @@ class boss_aerial_command_unit : public CreatureScript                          me->SetReactState(REACT_PASSIVE);                          me->AttackStop();                          me->GetMotionMaster()->MoveFall(); -                        events.DelayEvents(23000); +                        events.DelayEvents(23s);                          break;                      case DO_ENABLE_AERIAL:                          me->SetReactState(REACT_AGGRESSIVE); @@ -1252,19 +1252,19 @@ class boss_aerial_command_unit : public CreatureScript                      {                          case EVENT_SUMMON_FIRE_BOTS:                              DoCastAOE(SPELL_SUMMON_FIRE_BOT_TRIGGER, CastSpellExtraArgs(TRIGGERED_FULL_MASK).AddSpellMod(SPELLVALUE_MAX_TARGETS, 3)); -                            events.RescheduleEvent(EVENT_SUMMON_FIRE_BOTS, 45000, 0, PHASE_AERIAL_COMMAND_UNIT); +                            events.RescheduleEvent(EVENT_SUMMON_FIRE_BOTS, 45s, 0, PHASE_AERIAL_COMMAND_UNIT);                              break;                          case EVENT_SUMMON_JUNK_BOT:                              DoCastAOE(SPELL_SUMMON_JUNK_BOT_TRIGGER, CastSpellExtraArgs(TRIGGERED_FULL_MASK).AddSpellMod(SPELLVALUE_MAX_TARGETS, 1)); -                            events.RescheduleEvent(EVENT_SUMMON_JUNK_BOT, urand(11000, 12000), 0, PHASE_AERIAL_COMMAND_UNIT); +                            events.RescheduleEvent(EVENT_SUMMON_JUNK_BOT, 11s, 12s, 0, PHASE_AERIAL_COMMAND_UNIT);                              break;                          case EVENT_SUMMON_ASSAULT_BOT:                              DoCastAOE(SPELL_SUMMON_ASSAULT_BOT_TRIGGER, CastSpellExtraArgs(TRIGGERED_FULL_MASK).AddSpellMod(SPELLVALUE_MAX_TARGETS, 1)); -                            events.RescheduleEvent(EVENT_SUMMON_ASSAULT_BOT, 30000, 0, PHASE_AERIAL_COMMAND_UNIT); +                            events.RescheduleEvent(EVENT_SUMMON_ASSAULT_BOT, 30s, 0, PHASE_AERIAL_COMMAND_UNIT);                              break;                          case EVENT_SUMMON_BOMB_BOT:                              DoCast(me, SPELL_SUMMON_BOMB_BOT); -                            events.RescheduleEvent(EVENT_SUMMON_BOMB_BOT, urand(15000, 20000), 0, PHASE_AERIAL_COMMAND_UNIT); +                            events.RescheduleEvent(EVENT_SUMMON_BOMB_BOT, 15s, 20s, 0, PHASE_AERIAL_COMMAND_UNIT);                              break;                          default:                              break; @@ -1324,7 +1324,7 @@ class npc_mimiron_assault_bot : public CreatureScript                      {                          case EVENT_MAGNETIC_FIELD:                              DoCastVictim(SPELL_MAGNETIC_FIELD); -                            events.RescheduleEvent(EVENT_MAGNETIC_FIELD, 30000); +                            events.RescheduleEvent(EVENT_MAGNETIC_FIELD, 30s);                              break;                          default:                              break; @@ -1432,7 +1432,7 @@ class npc_mimiron_computer : public CreatureScript                  {                      case DO_ACTIVATE_COMPUTER:                          Talk(SAY_SELF_DESTRUCT_INITIATED); -                        events.ScheduleEvent(EVENT_SELF_DESTRUCT_10, 3000); +                        events.ScheduleEvent(EVENT_SELF_DESTRUCT_10, 3s);                          break;                      case DO_DEACTIVATE_COMPUTER:                          Talk(SAY_SELF_DESTRUCT_TERMINATED); @@ -1457,43 +1457,43 @@ class npc_mimiron_computer : public CreatureScript                              Talk(SAY_SELF_DESTRUCT_10);                              if (Creature* mimiron = instance->GetCreature(BOSS_MIMIRON))                                  mimiron->AI()->DoAction(DO_ACTIVATE_HARD_MODE); -                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_9, 60000); +                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_9, 60s);                              break;                          case EVENT_SELF_DESTRUCT_9:                              Talk(SAY_SELF_DESTRUCT_9); -                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_8, 60000); +                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_8, 60s);                              break;                          case EVENT_SELF_DESTRUCT_8:                              Talk(SAY_SELF_DESTRUCT_8); -                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_7, 60000); +                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_7, 60s);                              break;                          case EVENT_SELF_DESTRUCT_7:                              Talk(SAY_SELF_DESTRUCT_7); -                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_6, 60000); +                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_6, 60s);                              break;                          case EVENT_SELF_DESTRUCT_6:                              Talk(SAY_SELF_DESTRUCT_6); -                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_5, 60000); +                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_5, 60s);                              break;                          case EVENT_SELF_DESTRUCT_5:                              Talk(SAY_SELF_DESTRUCT_5); -                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_4, 60000); +                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_4, 60s);                              break;                          case EVENT_SELF_DESTRUCT_4:                              Talk(SAY_SELF_DESTRUCT_4); -                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_3, 60000); +                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_3, 60s);                              break;                          case EVENT_SELF_DESTRUCT_3:                              Talk(SAY_SELF_DESTRUCT_3); -                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_2, 60000); +                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_2, 60s);                              break;                          case EVENT_SELF_DESTRUCT_2:                              Talk(SAY_SELF_DESTRUCT_2); -                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_1, 60000); +                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_1, 60s);                              break;                          case EVENT_SELF_DESTRUCT_1:                              Talk(SAY_SELF_DESTRUCT_1); -                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_FINALIZED, 1min); +                            events.ScheduleEvent(EVENT_SELF_DESTRUCT_FINALIZED, 60s);                              break;                          case EVENT_SELF_DESTRUCT_FINALIZED:                              Talk(SAY_SELF_DESTRUCT_FINALIZED); @@ -1641,7 +1641,7 @@ class npc_mimiron_proximity_mine : public CreatureScript                      {                          case EVENT_PROXIMITY_MINE_ARM:                              DoCast(me, SPELL_PROXIMITY_MINE_PERIODIC_TRIGGER); -                            events.ScheduleEvent(EVENT_PROXIMITY_MINE_DETONATION, 33500); +                            events.ScheduleEvent(EVENT_PROXIMITY_MINE_DETONATION, 33500ms);                              break;                          case EVENT_PROXIMITY_MINE_DETONATION:                              if (me->HasAura(SPELL_PROXIMITY_MINE_PERIODIC_TRIGGER)) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index 0c79b89d336..5c0e26a0978 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -513,7 +513,7 @@ class boss_thorim : public CreatureScript                      {                          pillar->CastSpell(pillar, SPELL_LIGHTNING_ORB_CHARGED, true);                          pillar->CastSpell(nullptr, SPELL_LIGHTNING_PILLAR_2); -                        events.ScheduleEvent(EVENT_LIGHTNING_CHARGE, 8000, 0, PHASE_2); +                        events.ScheduleEvent(EVENT_LIGHTNING_CHARGE, 8s, 0, PHASE_2);                      }                  }              } @@ -576,9 +576,9 @@ class boss_thorim : public CreatureScript                  _JustDied();                  Talk(SAY_DEATH); -                events.ScheduleEvent(EVENT_OUTRO_1, 4000); -                events.ScheduleEvent(EVENT_OUTRO_2, _hardMode ? 8000 : 11000); -                events.ScheduleEvent(EVENT_OUTRO_3, _hardMode ? 19000 : 21000); +                events.ScheduleEvent(EVENT_OUTRO_1, 4s); +                events.ScheduleEvent(EVENT_OUTRO_2, _hardMode ? 8s : 11s); +                events.ScheduleEvent(EVENT_OUTRO_3, _hardMode ? 19s : 21s);                  me->m_Events.AddEvent(new UlduarKeeperDespawnEvent(me), me->m_Events.CalculateTime(35000));              } @@ -599,14 +599,14 @@ class boss_thorim : public CreatureScript                  events.SetPhase(PHASE_1); -                events.ScheduleEvent(EVENT_SAY_AGGRO_2, 9000, 0, PHASE_1); -                events.ScheduleEvent(EVENT_SAY_SIF_START, 16500, 0, PHASE_1); -                events.ScheduleEvent(EVENT_START_SIF_CHANNEL, 22500, 0, PHASE_1); +                events.ScheduleEvent(EVENT_SAY_AGGRO_2, 9s, 0, PHASE_1); +                events.ScheduleEvent(EVENT_SAY_SIF_START, 16500ms, 0, PHASE_1); +                events.ScheduleEvent(EVENT_START_SIF_CHANNEL, 22500ms, 0, PHASE_1); -                events.ScheduleEvent(EVENT_STORMHAMMER, 40000, 0, PHASE_1); -                events.ScheduleEvent(EVENT_CHARGE_ORB, 30000, 0, PHASE_1); -                events.ScheduleEvent(EVENT_SUMMON_ADDS, 15000, 0, PHASE_1); -                events.ScheduleEvent(EVENT_BERSERK, 369000); +                events.ScheduleEvent(EVENT_STORMHAMMER, 40s, 0, PHASE_1); +                events.ScheduleEvent(EVENT_CHARGE_ORB, 30s, 0, PHASE_1); +                events.ScheduleEvent(EVENT_SUMMON_ADDS, 15s, 0, PHASE_1); +                events.ScheduleEvent(EVENT_BERSERK, 369s);                  DoCast(me, SPELL_SHEATH_OF_LIGHTNING); @@ -688,15 +688,15 @@ class boss_thorim : public CreatureScript                              break;                          case EVENT_STORMHAMMER:                              DoCast(SPELL_STORMHAMMER); -                            events.Repeat(15000, 20000); +                            events.Repeat(15s, 20s);                              break;                          case EVENT_CHARGE_ORB:                              DoCastAOE(SPELL_CHARGE_ORB); -                            events.Repeat(15000, 20000); +                            events.Repeat(15s, 20s);                              break;                          case EVENT_SUMMON_ADDS:                              SummonWave(); -                            events.Repeat(_orbSummoned ? 3000 : 10000); +                            events.Repeat(_orbSummoned ? 3s : 10s);                              break;                          case EVENT_JUMPDOWN:                              if (_hardMode) @@ -707,18 +707,18 @@ class boss_thorim : public CreatureScript                              me->SetDisableGravity(false);                              me->SetControlled(false, UNIT_STATE_ROOT);                              me->GetMotionMaster()->MoveJump(2134.8f, -263.056f, 419.983f, me->GetOrientation(), 30.0f, 20.0f); -                            events.ScheduleEvent(EVENT_START_PERIODIC_CHARGE, 2000, 0, PHASE_2); -                            events.ScheduleEvent(EVENT_UNBALANCING_STRIKE, 15000, 0, PHASE_2); -                            events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 20000, 0, PHASE_2); +                            events.ScheduleEvent(EVENT_START_PERIODIC_CHARGE, 2s, 0, PHASE_2); +                            events.ScheduleEvent(EVENT_UNBALANCING_STRIKE, 15s, 0, PHASE_2); +                            events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 20s, 0, PHASE_2);                              break;                          case EVENT_UNBALANCING_STRIKE:                              DoCastVictim(SPELL_UNBALANCING_STRIKE); -                            events.Repeat(15000, 20000); +                            events.Repeat(15s, 20s);                              break;                          case EVENT_CHAIN_LIGHTNING:                              if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))                                  DoCast(target, SPELL_CHAIN_LIGHTNING); -                            events.Repeat(7000, 15000); +                            events.Repeat(7s, 15s);                              break;                          case EVENT_START_PERIODIC_CHARGE:                              if (Creature* controller = instance->GetCreature(DATA_THORIM_CONTROLLER)) @@ -810,7 +810,7 @@ class boss_thorim : public CreatureScript                          if (!_orbSummoned)                          {                              _orbSummoned = true; -                            events.RescheduleEvent(EVENT_BERSERK, 1000); +                            events.RescheduleEvent(EVENT_BERSERK, 1s);                          }                          return;                      case ACTION_INCREASE_PREADDS_COUNT: @@ -906,8 +906,8 @@ class boss_thorim : public CreatureScript                      Talk(SAY_JUMPDOWN);                      events.SetPhase(PHASE_2);                      events.ScheduleEvent(EVENT_JUMPDOWN, 8s); -                    events.ScheduleEvent(EVENT_ACTIVATE_LIGHTNING_FIELD, 15000); -                    events.RescheduleEvent(EVENT_BERSERK, 300000, 0, PHASE_2); +                    events.ScheduleEvent(EVENT_ACTIVATE_LIGHTNING_FIELD, 15s); +                    events.RescheduleEvent(EVENT_BERSERK, 300s, 0, PHASE_2);                      if (Creature* sif = instance->GetCreature(DATA_SIF))                          sif->InterruptNonMeleeSpells(false); @@ -1130,7 +1130,12 @@ class npc_thorim_pre_phase : public CreatureScript                  if (_info->PrimaryAbility)                      _events.ScheduleEvent(EVENT_PRIMARY_ABILITY, 3s, 6s);                  if (_info->SecondaryAbility) -                    _events.ScheduleEvent(EVENT_SECONDARY_ABILITY, _info->SecondaryAbility == SPELL_SHOOT ? 2000 : urand(12000, 15000)); +                { +                    if (_info->SecondaryAbility == SPELL_SHOOT) +                        _events.ScheduleEvent(EVENT_SECONDARY_ABILITY, 2s); +                    else +                        _events.ScheduleEvent(EVENT_SECONDARY_ABILITY, 12s, 15s); +                }                  if (_info->ThirdAbility)                      _events.ScheduleEvent(EVENT_THIRD_ABILITY, 6s, 8s);                  if (_info->Type == MERCENARY_SOLDIER) @@ -1161,13 +1166,18 @@ class npc_thorim_pre_phase : public CreatureScript                  {                      case EVENT_PRIMARY_ABILITY:                          if (UseAbility(_info->PrimaryAbility)) -                            _events.ScheduleEvent(eventId, urand(15000, 20000)); +                            _events.ScheduleEvent(eventId, 15s, 20s);                          else                              _events.ScheduleEvent(eventId, 1s);                          break;                      case EVENT_SECONDARY_ABILITY:                          if (UseAbility(_info->SecondaryAbility)) -                            _events.ScheduleEvent(eventId, _info->SecondaryAbility == SPELL_SHOOT ? 2000 : urand(4000, 8000)); +                        { +                            if (_info->SecondaryAbility == SPELL_SHOOT) +                                _events.ScheduleEvent(eventId, 2s); +                            else +                                _events.ScheduleEvent(eventId, 4s, 8s); +                        }                          else                              _events.ScheduleEvent(eventId, 1s);                          break; @@ -1267,21 +1277,21 @@ class npc_thorim_arena_phase : public CreatureScript                  {                      case EVENT_PRIMARY_ABILITY:                          if (UseAbility(_info->PrimaryAbility)) -                            _events.Repeat(3000, 6000); +                            _events.Repeat(3s, 6s);                          else -                            _events.Repeat(1000); +                            _events.Repeat(1s);                          break;                      case EVENT_SECONDARY_ABILITY:                          if (UseAbility(_info->SecondaryAbility)) -                            _events.Repeat(12000, 16000); +                            _events.Repeat(12s, 16s);                          else -                            _events.Repeat(1000); +                            _events.Repeat(1s);                          break;                      case EVENT_THIRD_ABILITY:                          if (UseAbility(_info->ThirdAbility)) -                            _events.Repeat(6000, 8000); +                            _events.Repeat(6s, 8s);                          else -                            _events.Repeat(1000); +                            _events.Repeat(1s);                          break;                      case EVENT_ABILITY_CHARGE:                      { @@ -1434,23 +1444,23 @@ class npc_runic_colossus : public CreatureScript                          case EVENT_RUNIC_BARRIER:                              Talk(EMOTE_RUNIC_BARRIER);                              DoCastAOE(SPELL_RUNIC_BARRIER); -                            _events.Repeat(35000, 45000); +                            _events.Repeat(35s, 45s);                              break;                          case EVENT_SMASH:                              DoCastAOE(SPELL_SMASH); -                            _events.Repeat(15000, 18000); +                            _events.Repeat(15s, 18s);                              break;                          case EVENT_RUNIC_CHARGE:                          {                              Unit* referer = me;                              if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, [referer](Unit* unit){ return unit->GetTypeId() == TYPEID_PLAYER && unit->IsInRange(referer, 8.0f, 40.0f); }))                                  DoCast(target, SPELL_RUNIC_CHARGE); -                            _events.Repeat(20000); +                            _events.Repeat(20s);                              break;                          }                          case EVENT_RUNIC_SMASH:                              DoCast(me, RAND(SPELL_RUNIC_SMASH_LEFT, SPELL_RUNIC_SMASH_RIGHT)); -                            _events.Repeat(6000); +                            _events.Repeat(6s);                              break;                          default:                              break; @@ -1502,9 +1512,9 @@ class npc_ancient_rune_giant : public CreatureScript              {                  DoZoneInCombat();                  _events.Reset(); -                _events.ScheduleEvent(EVENT_RUNIC_FORTIFICATION, 1); +                _events.ScheduleEvent(EVENT_RUNIC_FORTIFICATION, 1ms);                  _events.ScheduleEvent(EVENT_STOMP, 10s, 12s); -                _events.ScheduleEvent(EVENT_RUNE_DETONATION, 25000); +                _events.ScheduleEvent(EVENT_RUNE_DETONATION, 25s);              }              void JustDied(Unit* /*killer*/) override @@ -1533,12 +1543,12 @@ class npc_ancient_rune_giant : public CreatureScript                              break;                          case EVENT_STOMP:                              DoCastAOE(SPELL_STOMP); -                            _events.Repeat(10000, 12000); +                            _events.Repeat(10s, 12s);                              break;                          case EVENT_RUNE_DETONATION:                              if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))                                  DoCast(target, SPELL_RUNE_DETONATION); -                            _events.Repeat(10000, 12000); +                            _events.Repeat(10s, 12s);                              break;                          default:                              break; @@ -1595,7 +1605,7 @@ class npc_sif : public CreatureScript                      Talk(SAY_SIF_EVENT);                      _events.Reset();                      _events.ScheduleEvent(EVENT_FROSTBOLT, 2s); -                    _events.ScheduleEvent(EVENT_FROSTBOLT_VOLLEY, 15000); +                    _events.ScheduleEvent(EVENT_FROSTBOLT_VOLLEY, 15s);                      _events.ScheduleEvent(EVENT_BLINK, 20s, 25s);                      _events.ScheduleEvent(EVENT_BLIZZARD, 30s);                  } @@ -1618,8 +1628,8 @@ class npc_sif : public CreatureScript                          case EVENT_BLINK:                              if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))                                  DoCast(target, SPELL_BLINK); -                            _events.ScheduleEvent(EVENT_FROST_NOVA, 0); -                            _events.Repeat(20000, 25000); +                            _events.ScheduleEvent(EVENT_FROST_NOVA, 0s); +                            _events.Repeat(20s, 25s);                              return;                          case EVENT_FROST_NOVA:                              DoCastAOE(SPELL_FROSTNOVA); @@ -1627,15 +1637,15 @@ class npc_sif : public CreatureScript                          case EVENT_FROSTBOLT:                              if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))                                  DoCast(target, SPELL_FROSTBOLT); -                            _events.Repeat(2000); +                            _events.Repeat(2s);                              return;                          case EVENT_FROSTBOLT_VOLLEY:                              DoCastAOE(SPELL_FROSTBOLT_VOLLEY); -                            _events.Repeat(15000, 20000); +                            _events.Repeat(15s, 20s);                              return;                          case EVENT_BLIZZARD:                              DoCastAOE(SPELL_BLIZZARD); -                            _events.Repeat(35000, 45000); +                            _events.Repeat(35s, 45s);                              return;                          default:                              break; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index 082270a5ded..36833c7999d 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -197,7 +197,7 @@ struct boss_xt002 : public BossAI      void DoAction(int32 action) override      {          if (action == ACTION_ENTER_HARD_MODE) -            events.ScheduleEvent(EVENT_ENTER_HARD_MODE, 1); +            events.ScheduleEvent(EVENT_ENTER_HARD_MODE, 1ms);      }      void KilledUnit(Unit* who) override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp index 238b6fbf2ac..22653174661 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp @@ -454,7 +454,7 @@ class boss_voice_of_yogg_saron : public CreatureScript              void Initialize()              {                  _guardiansCount = 0; -                _guardianTimer = 20000; +                _guardianTimer = 20s;                  _illusionShattered = false;              } @@ -521,7 +521,7 @@ class boss_voice_of_yogg_saron : public CreatureScript                  DoCastAOE(SPELL_SUMMON_GUARDIAN_2, { SPELLVALUE_MAX_TARGETS, 1 });                  DoCast(me, SPELL_SANITY_PERIODIC); -                events.ScheduleEvent(EVENT_LOCK_DOOR, 15000); +                events.ScheduleEvent(EVENT_LOCK_DOOR, 15s);                  events.ScheduleEvent(EVENT_SUMMON_GUARDIAN_OF_YOGG_SARON, _guardianTimer, 0, PHASE_ONE);                  events.ScheduleEvent(EVENT_EXTINGUISH_ALL_LIFE, 15min);    // 15 minutes              } @@ -546,7 +546,7 @@ class boss_voice_of_yogg_saron : public CreatureScript                  events.Update(diff);                  // don't summon tentacles when illusion is shattered, delay them                  if (_illusionShattered) -                    events.DelayEvents(diff, EVENT_GROUP_SUMMON_TENTACLES); +                    events.DelayEvents(Milliseconds(diff), EVENT_GROUP_SUMMON_TENTACLES);                  while (uint32 eventId = events.ExecuteEvent())                  { @@ -568,20 +568,20 @@ class boss_voice_of_yogg_saron : public CreatureScript                              DoCastAOE(SPELL_SUMMON_GUARDIAN_2, { SPELLVALUE_MAX_TARGETS, 1 });                              ++_guardiansCount;                              if (_guardiansCount <= 6 && _guardiansCount % 3 == 0) -                                _guardianTimer -= 5000; +                                _guardianTimer -= 5s;                              events.ScheduleEvent(EVENT_SUMMON_GUARDIAN_OF_YOGG_SARON, _guardianTimer, 0, PHASE_ONE);                              break;                          case EVENT_SUMMON_CORRUPTOR_TENTACLE:                              DoCastAOE(SPELL_CORRUPTOR_TENTACLE_SUMMON); -                            events.ScheduleEvent(EVENT_SUMMON_CORRUPTOR_TENTACLE, 30000, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO); +                            events.ScheduleEvent(EVENT_SUMMON_CORRUPTOR_TENTACLE, 30s, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO);                              break;                          case EVENT_SUMMON_CONSTRICTOR_TENTACLE:                              DoCastAOE(SPELL_CONSTRICTOR_TENTACLE, { SPELLVALUE_MAX_TARGETS, 1 }); -                            events.ScheduleEvent(EVENT_SUMMON_CONSTRICTOR_TENTACLE, 25000, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO); +                            events.ScheduleEvent(EVENT_SUMMON_CONSTRICTOR_TENTACLE, 25s, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO);                              break;                          case EVENT_SUMMON_CRUSHER_TENTACLE:                              DoCastAOE(SPELL_CRUSHER_TENTACLE_SUMMON); -                            events.ScheduleEvent(EVENT_SUMMON_CRUSHER_TENTACLE, 60000, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO); +                            events.ScheduleEvent(EVENT_SUMMON_CRUSHER_TENTACLE, 60s, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO);                              break;                          case EVENT_ILLUSION:                          { @@ -675,7 +675,7 @@ class boss_voice_of_yogg_saron : public CreatureScript          private:              uint8 _guardiansCount; -            uint32 _guardianTimer; +            Milliseconds _guardianTimer;              bool _illusionShattered;          }; @@ -728,10 +728,10 @@ class boss_sara : public CreatureScript                          Talk(SAY_SARA_TRANSFORM_1);                          _events.SetPhase(PHASE_TRANSFORM); -                        _events.ScheduleEvent(EVENT_TRANSFORM_1, 4700, 0, PHASE_TRANSFORM); -                        _events.ScheduleEvent(EVENT_TRANSFORM_2, 9500, 0, PHASE_TRANSFORM); -                        _events.ScheduleEvent(EVENT_TRANSFORM_3, 14300, 0, PHASE_TRANSFORM); -                        _events.ScheduleEvent(EVENT_TRANSFORM_4, 14500, 0, PHASE_TRANSFORM); +                        _events.ScheduleEvent(EVENT_TRANSFORM_1, 4700ms, 0, PHASE_TRANSFORM); +                        _events.ScheduleEvent(EVENT_TRANSFORM_2, 9500ms, 0, PHASE_TRANSFORM); +                        _events.ScheduleEvent(EVENT_TRANSFORM_3, 14300ms, 0, PHASE_TRANSFORM); +                        _events.ScheduleEvent(EVENT_TRANSFORM_4, 14500ms, 0, PHASE_TRANSFORM);                      }                  }              } @@ -767,8 +767,8 @@ class boss_sara : public CreatureScript              {                  Talk(SAY_SARA_AGGRO);                  _events.ScheduleEvent(EVENT_SARAS_FERVOR, 5s, 0, PHASE_ONE); -                _events.ScheduleEvent(EVENT_SARAS_BLESSING, urand(10000, 30000), 0, PHASE_ONE); -                _events.ScheduleEvent(EVENT_SARAS_ANGER, urand(15000, 25000), 0, PHASE_ONE); +                _events.ScheduleEvent(EVENT_SARAS_BLESSING, 10s, 30s, 0, PHASE_ONE); +                _events.ScheduleEvent(EVENT_SARAS_ANGER, 15s, 25s, 0, PHASE_ONE);              }              void JustEnteredCombat(Unit* who) override @@ -811,11 +811,11 @@ class boss_sara : public CreatureScript                              break;                          case EVENT_SARAS_ANGER:                              DoCastAOE(SPELL_SARAS_ANGER_TARGET_SELECTOR, { SPELLVALUE_MAX_TARGETS, 1 }); -                            _events.ScheduleEvent(EVENT_SARAS_ANGER, urand(6000, 8000), 0, PHASE_ONE); +                            _events.ScheduleEvent(EVENT_SARAS_ANGER, 6s, 8s, 0, PHASE_ONE);                              break;                          case EVENT_SARAS_BLESSING:                              DoCastAOE(SPELL_SARAS_BLESSING_TARGET_SELECTOR, { SPELLVALUE_MAX_TARGETS, 1 }); -                            _events.ScheduleEvent(EVENT_SARAS_BLESSING, urand(6000, 30000), 0, PHASE_ONE); +                            _events.ScheduleEvent(EVENT_SARAS_BLESSING, 6s, 30s, 0, PHASE_ONE);                              break;                          case EVENT_TRANSFORM_1:                              Talk(SAY_SARA_TRANSFORM_2); @@ -840,7 +840,7 @@ class boss_sara : public CreatureScript                              _events.SetPhase(PHASE_TWO);                              _events.ScheduleEvent(EVENT_DEATH_RAY, 20s, 0, PHASE_TWO);    // almost never cast at scheduled time, why?                              _events.ScheduleEvent(EVENT_MALADY_OF_THE_MIND, 18s, 0, PHASE_TWO); -                            _events.ScheduleEvent(EVENT_PSYCHOSIS, 1, 0, PHASE_TWO); +                            _events.ScheduleEvent(EVENT_PSYCHOSIS, 1ms, 0, PHASE_TWO);                              _events.ScheduleEvent(EVENT_BRAIN_LINK, 23s, 0, PHASE_TWO);                              break;                          case EVENT_DEATH_RAY: @@ -849,7 +849,7 @@ class boss_sara : public CreatureScript                              break;                          case EVENT_MALADY_OF_THE_MIND:                              DoCastAOE(SPELL_MALADY_OF_THE_MIND, { SPELLVALUE_MAX_TARGETS, 1 }); -                            _events.ScheduleEvent(EVENT_MALADY_OF_THE_MIND, urand(18000, 25000), 0, PHASE_TWO); +                            _events.ScheduleEvent(EVENT_MALADY_OF_THE_MIND, 18s, 25s, 0, PHASE_TWO);                              break;                          case EVENT_PSYCHOSIS:                              DoCastAOE(SPELL_PSYCHOSIS, { SPELLVALUE_MAX_TARGETS, 1 }); @@ -857,7 +857,7 @@ class boss_sara : public CreatureScript                              break;                          case EVENT_BRAIN_LINK:                              DoCastAOE(SPELL_BRAIN_LINK, { SPELLVALUE_MAX_TARGETS, 2 }); -                            _events.ScheduleEvent(EVENT_BRAIN_LINK, urand(23000, 26000), 0, PHASE_TWO); +                            _events.ScheduleEvent(EVENT_BRAIN_LINK, 23s, 26s, 0, PHASE_TWO);                              break;                          default:                              break; @@ -1006,7 +1006,7 @@ class boss_yogg_saron : public CreatureScript                              DoCastAOE(SPELL_DEAFENING_ROAR);                              Talk(SAY_YOGG_SARON_DEAFENING_ROAR);                              Talk(EMOTE_YOGG_SARON_DEAFENING_ROAR); -                            _events.ScheduleEvent(EVENT_DEAFENING_ROAR, urand(20000, 25000), 0, PHASE_THREE);    // timer guessed +                            _events.ScheduleEvent(EVENT_DEAFENING_ROAR, 20s, 25s, 0, PHASE_THREE);    // timer guessed                              break;                          default:                              break; @@ -1023,7 +1023,7 @@ class boss_yogg_saron : public CreatureScript                          _events.ScheduleEvent(EVENT_SHADOW_BEACON, 45s, 0, PHASE_THREE);                          _events.ScheduleEvent(EVENT_LUNATIC_GAZE, 12s, 0, PHASE_THREE);                          if (me->GetMap()->Is25ManRaid() && _instance->GetData(DATA_KEEPERS_COUNT) < 4) -                            _events.ScheduleEvent(EVENT_DEAFENING_ROAR, urand(20000, 25000), 0, PHASE_THREE);    // timer guessed +                            _events.ScheduleEvent(EVENT_DEAFENING_ROAR, 20s, 25s, 0, PHASE_THREE);    // timer guessed                          Talk(SAY_YOGG_SARON_PHASE_3);                          DoCast(me, SPELL_PHASE_3_TRANSFORM);                          me->RemoveAurasDueToSpell(SPELL_SHADOWY_BARRIER_YOGG); @@ -1260,7 +1260,7 @@ class npc_corruptor_tentacle : public CreatureScript              {                  DoCast(me, SPELL_TENTACLE_VOID_ZONE);                  DoCastAOE(SPELL_ERUPT); -                _events.ScheduleEvent(EVENT_CAST_RANDOM_SPELL, 1); +                _events.ScheduleEvent(EVENT_CAST_RANDOM_SPELL, 1ms);              }              void UpdateAI(uint32 diff) override @@ -1662,7 +1662,7 @@ class npc_yogg_saron_keeper : public CreatureScript                      {                          case EVENT_DESTABILIZATION_MATRIX:                              DoCastAOE(SPELL_DESTABILIZATION_MATRIX, { SPELLVALUE_MAX_TARGETS, 1 }); -                            _events.ScheduleEvent(EVENT_DESTABILIZATION_MATRIX, urand(15000, 25000), 0, PHASE_TWO); +                            _events.ScheduleEvent(EVENT_DESTABILIZATION_MATRIX, 15s, 25s, 0, PHASE_TWO);                              break;                          case EVENT_HODIRS_PROTECTIVE_GAZE:                              DoCast(SPELL_HODIRS_PROTECTIVE_GAZE); @@ -1678,7 +1678,7 @@ class npc_yogg_saron_keeper : public CreatureScript                      // setting the phases is only for Thorim and Mimiron                      case ACTION_PHASE_TWO:                          _events.SetPhase(PHASE_TWO); -                        _events.ScheduleEvent(EVENT_DESTABILIZATION_MATRIX, urand(5000, 15000), 0, PHASE_TWO); +                        _events.ScheduleEvent(EVENT_DESTABILIZATION_MATRIX, 5s, 15s, 0, PHASE_TWO);                          break;                      case ACTION_PHASE_THREE:                          _events.SetPhase(PHASE_THREE); @@ -1732,24 +1732,24 @@ class npc_yogg_saron_illusions : public CreatureScript                          if (Creature* neltharion = me->FindNearestCreature(NPC_NELTHARION, 50.0f))                              neltharion->AI()->Talk(SAY_CHAMBER_ROLEPLAY_1); -                        _events.ScheduleEvent(EVENT_CHAMBER_ROLEPLAY_1, 16000); -                        _events.ScheduleEvent(EVENT_CHAMBER_ROLEPLAY_2, 22000); -                        _events.ScheduleEvent(EVENT_CHAMBER_ROLEPLAY_3, 28000); -                        _events.ScheduleEvent(EVENT_CHAMBER_ROLEPLAY_4, 36000); +                        _events.ScheduleEvent(EVENT_CHAMBER_ROLEPLAY_1, 16s); +                        _events.ScheduleEvent(EVENT_CHAMBER_ROLEPLAY_2, 22s); +                        _events.ScheduleEvent(EVENT_CHAMBER_ROLEPLAY_3, 28s); +                        _events.ScheduleEvent(EVENT_CHAMBER_ROLEPLAY_4, 36s);                          break;                      case ICECROWN_ILLUSION:                          // same here -                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_1, 1000); -                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_2, 7500); -                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_3, 19500); -                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_4, 25500); -                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_5, 33000); -                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_6, 41300); +                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_1, 1s); +                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_2, 7500ms); +                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_3, 19500ms); +                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_4, 25500ms); +                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_5, 33s); +                        _events.ScheduleEvent(EVENT_ICECROWN_ROLEPLAY_6, 41300ms);                          break;                      case STORMWIND_ILLUSION: -                        _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_4, 33800); // "A thousand deaths..." -                        _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_5, 38850); -                        _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_7, 58750); +                        _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_4, 33800ms); // "A thousand deaths..." +                        _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_5, 38850ms); +                        _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_7, 58750ms);                          // TODO: use "or one murder." sound and split the text in DB                          break;                  } @@ -1850,10 +1850,10 @@ class npc_garona : public CreatureScript                  me->SetWalk(true);                  me->GetMotionMaster()->MovePoint(0, IllusionsMiscPos[0]); -                _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_1, 9250); -                _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_2, 16700); -                _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_3, 24150); -                _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_6, 52700); +                _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_1, 9250ms); +                _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_2, 16700ms); +                _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_3, 24150ms); +                _events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_6, 52700ms);              }              void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index b2e2bfc3e2d..9eb8900d6c3 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -776,7 +776,7 @@ class instance_ulduar : public InstanceMapScript                          DoUpdateWorldState(WORLD_STATE_ALGALON_TIMER_ENABLED, 1);                          DoUpdateWorldState(WORLD_STATE_ALGALON_DESPAWN_TIMER, 60);                          _algalonTimer = 60; -                        _events.ScheduleEvent(EVENT_DESPAWN_ALGALON, 3600000); +                        _events.ScheduleEvent(EVENT_DESPAWN_ALGALON, 1h);                          _events.ScheduleEvent(EVENT_UPDATE_ALGALON_TIMER, 1min);                          break;                      case DATA_ALGALON_SUMMON_STATE:  | 
