refactor(Core/EventMap): Refactor EventMap and related scripts (#23121)

Co-authored-by: Kelno <3866946+kelno@users.noreply.github.com>
Co-authored-by: Peter Keresztes Schmidt <carbenium@outlook.com>
This commit is contained in:
天鹭
2025-10-13 09:19:24 +08:00
committed by GitHub
parent 8e1426c06a
commit 9c49349e1e
168 changed files with 1468 additions and 1593 deletions

View File

@@ -105,9 +105,9 @@ struct emerald_dragonAI : public WorldBossAI
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_AGGRESSIVE);
DoCast(me, SPELL_MARK_OF_NATURE_AURA, true);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 4000);
events.ScheduleEvent(EVENT_NOXIOUS_BREATH, urand(7500, 15000));
events.ScheduleEvent(EVENT_SEEPING_FOG, urand(12500, 20000));
events.ScheduleEvent(EVENT_TAIL_SWEEP, 4s);
events.ScheduleEvent(EVENT_NOXIOUS_BREATH, 7500ms, 15s);
events.ScheduleEvent(EVENT_SEEPING_FOG, 12500ms, 20s);
events.ScheduleEvent(EVENT_SUMMON_PLAYER, 1s);
}
@@ -128,17 +128,17 @@ struct emerald_dragonAI : public WorldBossAI
// Despawntime is 2 minutes, so reschedule it for new cast after 2 minutes + a minor "random time" (30 seconds at max)
DoCast(me, SPELL_SEEPING_FOG_LEFT, true);
DoCast(me, SPELL_SEEPING_FOG_RIGHT, true);
events.ScheduleEvent(EVENT_SEEPING_FOG, urand(120000, 150000));
events.ScheduleEvent(EVENT_SEEPING_FOG, 120s, 150s);
break;
case EVENT_NOXIOUS_BREATH:
// Noxious Breath is cast on random intervals, no less than 7.5 seconds between
DoCast(me, SPELL_NOXIOUS_BREATH);
events.ScheduleEvent(EVENT_NOXIOUS_BREATH, urand(7500, 15000));
events.ScheduleEvent(EVENT_NOXIOUS_BREATH, 7500ms, 15s);
break;
case EVENT_TAIL_SWEEP:
// Tail Sweep is cast every two seconds, no matter what goes on in front of the dragon
DoCast(me, SPELL_TAIL_SWEEP);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 2000);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 2s);
break;
case EVENT_SUMMON_PLAYER:
if (Unit* target = me->GetVictim())
@@ -304,7 +304,7 @@ public:
{
_stage = 1;
emerald_dragonAI::Reset();
events.ScheduleEvent(EVENT_LIGHTNING_WAVE, 12000);
events.ScheduleEvent(EVENT_LIGHTNING_WAVE, 12s);
}
void JustEngagedWith(Unit* who) override
@@ -344,7 +344,7 @@ public:
{
case EVENT_LIGHTNING_WAVE:
DoCastVictim(SPELL_LIGHTNING_WAVE);
events.ScheduleEvent(EVENT_LIGHTNING_WAVE, urand(10000, 20000));
events.ScheduleEvent(EVENT_LIGHTNING_WAVE, 10s, 20s);
break;
default:
emerald_dragonAI::ExecuteEvent(eventId);
@@ -524,7 +524,7 @@ public:
{
_stage = 1;
emerald_dragonAI::Reset();
events.ScheduleEvent(EVENT_VOLATILE_INFECTION, 12000);
events.ScheduleEvent(EVENT_VOLATILE_INFECTION, 12s);
}
void KilledUnit(Unit* who) override
@@ -559,7 +559,7 @@ public:
{
case EVENT_VOLATILE_INFECTION:
DoCastVictim(SPELL_VOLATILE_INFECTION);
events.ScheduleEvent(EVENT_VOLATILE_INFECTION, 120000);
events.ScheduleEvent(EVENT_VOLATILE_INFECTION, 120s);
break;
default:
emerald_dragonAI::ExecuteEvent(eventId);
@@ -624,8 +624,8 @@ public:
_banishedTimer = 0;
emerald_dragonAI::Reset();
events.ScheduleEvent(EVENT_ARCANE_BLAST, 12000);
events.ScheduleEvent(EVENT_BELLOWING_ROAR, 30000);
events.ScheduleEvent(EVENT_ARCANE_BLAST, 12s);
events.ScheduleEvent(EVENT_BELLOWING_ROAR, 30s);
}
void JustEngagedWith(Unit* who) override
@@ -671,11 +671,11 @@ public:
{
case EVENT_ARCANE_BLAST:
DoCast(SPELL_ARCANE_BLAST);
events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(7000, 12000));
events.ScheduleEvent(EVENT_ARCANE_BLAST, 7s, 12s);
break;
case EVENT_BELLOWING_ROAR:
DoCast(SPELL_BELLOWING_ROAR);
events.ScheduleEvent(EVENT_BELLOWING_ROAR, urand(20000, 30000));
events.ScheduleEvent(EVENT_BELLOWING_ROAR, 20s, 30s);
break;
default:
emerald_dragonAI::ExecuteEvent(eventId);

View File

@@ -412,7 +412,7 @@ public:
void Initialize()
{
_events.ScheduleEvent(EVENT_CHECK, 1000);
_events.ScheduleEvent(EVENT_CHECK, 1s);
}
void UpdateAI(uint32 const diff) override
@@ -432,7 +432,7 @@ public:
}
else
{
_events.ScheduleEvent(EVENT_CHECK, 1000);
_events.ScheduleEvent(EVENT_CHECK, 1s);
}
break;
}
@@ -474,7 +474,7 @@ public:
{
go_l70_etc_musicAI(GameObject* go) : GameObjectAI(go)
{
_events.ScheduleEvent(EVENT_ETC_START_MUSIC, 1600);
_events.ScheduleEvent(EVENT_ETC_START_MUSIC, 1600ms);
}
void UpdateAI(uint32 diff) override
@@ -489,7 +489,7 @@ public:
me->PlayDirectMusic(MUSIC_L70_ETC_MUSIC_LOUD);
else
me->PlayDirectMusic(MUSIC_L70_ETC_MUSIC);
_events.ScheduleEvent(EVENT_ETC_START_MUSIC, 1600); // Every 1.6 seconds SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value)
_events.ScheduleEvent(EVENT_ETC_START_MUSIC, 1600ms); // Every 1.6 seconds SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value)
break;
default:
break;
@@ -521,15 +521,12 @@ enum BrewfestMusic
};
// These are in seconds
enum BrewfestMusicTime
{
EVENT_BREWFESTDWARF01_TIME = 95000,
EVENT_BREWFESTDWARF02_TIME = 155000,
EVENT_BREWFESTDWARF03_TIME = 23000,
EVENT_BREWFESTGOBLIN01_TIME = 68000,
EVENT_BREWFESTGOBLIN02_TIME = 93000,
EVENT_BREWFESTGOBLIN03_TIME = 28000
};
constexpr Milliseconds EVENT_BREWFESTDWARF01_TIME = 95s;
constexpr Milliseconds EVENT_BREWFESTDWARF02_TIME = 155s;
constexpr Milliseconds EVENT_BREWFESTDWARF03_TIME = 23s;
constexpr Milliseconds EVENT_BREWFESTGOBLIN01_TIME = 68s;
constexpr Milliseconds EVENT_BREWFESTGOBLIN02_TIME = 93s;
constexpr Milliseconds EVENT_BREWFESTGOBLIN03_TIME = 28s;
enum BrewfestMusicEvents
{
@@ -546,8 +543,8 @@ public:
{
go_brewfest_musicAI(GameObject* go) : GameObjectAI(go)
{
_events.ScheduleEvent(EVENT_BM_SELECT_MUSIC, 1000);
_events.ScheduleEvent(EVENT_BM_START_MUSIC, 1500);
_events.ScheduleEvent(EVENT_BM_SELECT_MUSIC, 1s);
_events.ScheduleEvent(EVENT_BM_START_MUSIC, 1500ms);
_currentMusicEvent = EVENT_BREWFESTGOBLIN01;
}
@@ -564,7 +561,7 @@ public:
break;
// Select random music sample
uint32 rnd = urand(0, 2);
uint32 musicTime = 1000;
Milliseconds musicTime = 1s;
//Restart the current selected music
_currentMusicEvent = 0;
//Check zone to play correct music
@@ -652,7 +649,7 @@ public:
{
me->PlayDirectMusic(_currentMusicEvent);
}
_events.ScheduleEvent(EVENT_BM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client
_events.ScheduleEvent(EVENT_BM_START_MUSIC, 5s); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client
break;
default:
break;
@@ -695,7 +692,7 @@ public:
go_pirate_day_musicAI(GameObject* go) : GameObjectAI(go)
{
_events.ScheduleEvent(EVENT_PDM_START_MUSIC, 1000);
_events.ScheduleEvent(EVENT_PDM_START_MUSIC, 1s);
}
void UpdateAI(uint32 diff) override
@@ -709,7 +706,7 @@ public:
if (!IsHolidayActive(HOLIDAY_PIRATES_DAY))
break;
me->PlayDirectMusic(MUSIC_PIRATE_DAY_MUSIC);
_events.ScheduleEvent(EVENT_PDM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value)
_events.ScheduleEvent(EVENT_PDM_START_MUSIC, 5s); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value)
break;
default:
break;
@@ -750,7 +747,7 @@ public:
go_darkmoon_faire_musicAI(GameObject* go) : GameObjectAI(go)
{
_events.ScheduleEvent(EVENT_DFM_START_MUSIC, 1000);
_events.ScheduleEvent(EVENT_DFM_START_MUSIC, 1s);
}
void UpdateAI(uint32 diff) override
@@ -764,7 +761,7 @@ public:
if (!IsHolidayActive(HOLIDAY_DARKMOON_FAIRE_ELWYNN) || !IsHolidayActive(HOLIDAY_DARKMOON_FAIRE_THUNDER) || !IsHolidayActive(HOLIDAY_DARKMOON_FAIRE_SHATTRATH))
break;
me->PlayDirectMusic(MUSIC_DARKMOON_FAIRE_MUSIC);
_events.ScheduleEvent(EVENT_DFM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value)
_events.ScheduleEvent(EVENT_DFM_START_MUSIC, 5s); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value)
break;
default:
break;
@@ -805,7 +802,7 @@ public:
{
go_midsummer_musicAI(GameObject* go) : GameObjectAI(go)
{
_events.ScheduleEvent(EVENT_MM_START_MUSIC, 1000);
_events.ScheduleEvent(EVENT_MM_START_MUSIC, 1s);
}
void UpdateAI(uint32 diff) override
@@ -836,7 +833,7 @@ public:
}
}
_events.ScheduleEvent(EVENT_MM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value)
_events.ScheduleEvent(EVENT_MM_START_MUSIC, 5s); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value)
break;
}
default:
@@ -895,7 +892,7 @@ public:
_playerGUID = player->GetGUID();
me->SetGameObjectFlag((GameObjectFlags)1);
me->RemoveByteFlag(GAMEOBJECT_BYTES_1, 0, 1);
_events.ScheduleEvent(EVENT_STILLBLADE_SPAWN, 1000);
_events.ScheduleEvent(EVENT_STILLBLADE_SPAWN, 1s);
}
}
return true;
@@ -914,7 +911,7 @@ public:
if (Player* player = ObjectAccessor::GetPlayer(*me, _playerGUID))
{
player->SummonCreature(NPC_STILLBLADE, 8032.587f, -7524.518f, 149.68073f, 6.161012172698974609f, TEMPSUMMON_DEAD_DESPAWN, 60000);
_events.ScheduleEvent(EVENT_RESET_BRAZIER, 4000);
_events.ScheduleEvent(EVENT_RESET_BRAZIER, 4s);
}
break;
}
@@ -1822,7 +1819,7 @@ public:
{
// Reset
once = false;
_events.ScheduleEvent(EVENT_TIME, 1000);
_events.ScheduleEvent(EVENT_TIME, 1s);
}
while (uint32 eventId = _events.ExecuteEvent())
@@ -1845,7 +1842,7 @@ public:
// Schedule ring event
for (auto i = 0; i < _rings; ++i)
{
_events.ScheduleEvent(EVENT_RING_BELL, (i * 4 + 1) * 1000);
_events.ScheduleEvent(EVENT_RING_BELL, Seconds(i * 4 + 1));
}
break;
}

View File

@@ -306,11 +306,11 @@ public:
me->CastSpell(who, SPELL_FOOLS_PLIGHT, true);
}
events.ScheduleEvent(EVENT_FOOLS_PLIGHT, urand(2000, 3000));
events.ScheduleEvent(EVENT_RANGE_CHECK, 1000);
events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1000);
events.ScheduleEvent(ARTORIUS_EVENT_DEMONIC_DOOM, urand(3000, 5000));
events.ScheduleEvent(ARTORIUS_EVENT_DEMONIC_ENRAGE, urand(6000, 8000));
events.ScheduleEvent(EVENT_FOOLS_PLIGHT, 2s, 3s);
events.ScheduleEvent(EVENT_RANGE_CHECK, 1s);
events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1s);
events.ScheduleEvent(ARTORIUS_EVENT_DEMONIC_DOOM, 3s, 5s);
events.ScheduleEvent(ARTORIUS_EVENT_DEMONIC_ENRAGE, 6s, 8s);
}
void UpdateAI(uint32 diff) override
@@ -325,7 +325,7 @@ public:
me->Say(ARTORIUS_SAY);
me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
events.ScheduleEvent(EVENT_REVEAL, 5000);
events.ScheduleEvent(EVENT_REVEAL, 5s);
break;
case EVENT_REVEAL:
RevealForm();
@@ -355,7 +355,7 @@ public:
{
me->CastSpell(me->GetVictim(), SPELL_FOOLS_PLIGHT, true);
}
events.RepeatEvent(urand(3000, 6000));
events.Repeat(3s, 6s);
break;
case EVENT_RANGE_CHECK:
if (!me->GetVictim() || !me->GetVictim()->IsWithinDist2d(me, 60.0f))
@@ -364,7 +364,7 @@ public:
}
else
{
events.RepeatEvent(2000);
events.Repeat(2s);
}
break;
case EVENT_UNFAIR_FIGHT:
@@ -376,18 +376,18 @@ public:
me->DespawnOrUnsummon(5000);
break;
}
events.RepeatEvent(2000);
events.Repeat(2s);
break;
case ARTORIUS_EVENT_DEMONIC_DOOM:
if (!me->GetVictim()->HasAura(ARTORIUS_SPELL_DEMONIC_DOOM))
{
me->CastSpell(me->GetVictim(), ARTORIUS_SPELL_DEMONIC_DOOM, false);
}
events.RepeatEvent(urand(5000, 10000));
events.Repeat(5s, 10s);
break;
case ARTORIUS_EVENT_DEMONIC_ENRAGE:
me->CastSpell(me, SPELL_DEMONIC_ENRAGE, false);
events.RepeatEvent(urand(22000, 39000));
events.Repeat(22s, 39s);
break;
}
@@ -423,7 +423,7 @@ public:
if (action == EVENT_ENCOUNTER_START)
{
PrepareForEncounter();
events.ScheduleEvent(EVENT_ENCOUNTER_START, 5000);
events.ScheduleEvent(EVENT_ENCOUNTER_START, 5s);
}
}
};
@@ -649,7 +649,7 @@ public:
ResetState(SIMONE_SPELL_SILENCE);
events.Reset();
events.ScheduleEvent(SIMONE_EVENT_CHECK_PET_STATE, 2000);
events.ScheduleEvent(SIMONE_EVENT_CHECK_PET_STATE, 2s);
}
void JustEngagedWith(Unit* who) override
@@ -664,13 +664,13 @@ public:
me->CastSpell(who, SPELL_FOOLS_PLIGHT, true);
}
events.ScheduleEvent(EVENT_RANGE_CHECK, 1000);
events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1000);
events.ScheduleEvent(SIMONE_EVENT_CHAIN_LIGHTNING, 3000);
events.ScheduleEvent(SIMONE_EVENT_TEMPTRESS_KISS, 1000);
events.ScheduleEvent(EVENT_RANGE_CHECK, 1s);
events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1s);
events.ScheduleEvent(SIMONE_EVENT_CHAIN_LIGHTNING, 3s);
events.ScheduleEvent(SIMONE_EVENT_TEMPTRESS_KISS, 1s);
}
events.ScheduleEvent(EVENT_FOOLS_PLIGHT, urand(2000, 3000));
events.ScheduleEvent(EVENT_FOOLS_PLIGHT, 2s, 3s);
}
void UpdateAI(uint32 diff) override
@@ -685,7 +685,7 @@ public:
me->TextEmote(SIMONE_EMOTE, GetGossipPlayer());
me->HandleEmoteCommand(EMOTE_ONESHOT_NONE);
me->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH);
events.ScheduleEvent(SIMONE_EVENT_TALK, 4000);
events.ScheduleEvent(SIMONE_EVENT_TALK, 4s);
break;
case SIMONE_EVENT_TALK:
me->Say(SIMONE_SAY, GetGossipPlayer());
@@ -695,7 +695,7 @@ public:
{
Precious()->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
}
events.ScheduleEvent(EVENT_REVEAL, 5000);
events.ScheduleEvent(EVENT_REVEAL, 5s);
break;
case EVENT_REVEAL:
RevealForm();
@@ -713,7 +713,7 @@ public:
HandlePetRespawn();
}
events.ScheduleEvent(SIMONE_EVENT_CHECK_PET_STATE, 1000);
events.ScheduleEvent(SIMONE_EVENT_CHECK_PET_STATE, 1s);
}
break;
}
@@ -730,7 +730,7 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING) && eventId != EVENT_RANGE_CHECK && eventId != EVENT_UNFAIR_FIGHT)
{
events.RepeatEvent(1000);
events.Repeat(1s);
return;
}
@@ -742,7 +742,7 @@ public:
{
me->CastSpell(me->GetVictim(), SPELL_FOOLS_PLIGHT, true);
}
events.RepeatEvent(urand(3000, 6000));
events.Repeat(3s, 6s);
break;
case EVENT_RANGE_CHECK:
if (!me->GetVictim()->IsWithinDist2d(me, 60.0f))
@@ -751,7 +751,7 @@ public:
}
else
{
events.RepeatEvent(2000);
events.Repeat(2s);
}
break;
case EVENT_UNFAIR_FIGHT:
@@ -770,15 +770,15 @@ public:
me->DespawnOrUnsummon(5000);
break;
}
events.RepeatEvent(2000);
events.Repeat(2s);
break;
case SIMONE_EVENT_CHAIN_LIGHTNING:
me->CastSpell(me->GetVictim(), SIMONE_SPELL_CHAIN_LIGHTNING, false);
events.RepeatEvent(7000);
events.Repeat(7s);
break;
case SIMONE_EVENT_TEMPTRESS_KISS:
me->CastSpell(me->GetVictim(), SIMONE_SPELL_TEMPTRESS_KISS, false);
events.RepeatEvent(45000);
events.Repeat(45s);
break;
}
@@ -805,7 +805,7 @@ public:
PreciousAI()->PrepareForEncounter();
}
gossipPlayerGUID = playerGUID;
events.ScheduleEvent(EVENT_ENCOUNTER_START, 1000);
events.ScheduleEvent(EVENT_ENCOUNTER_START, 1s);
}
};
@@ -906,11 +906,11 @@ public:
me->CastSpell(who, SPELL_FOOLS_PLIGHT, true);
}
events.ScheduleEvent(EVENT_FOOLS_PLIGHT, urand(2000, 3000));
events.ScheduleEvent(EVENT_RANGE_CHECK, 1000);
events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1000);
events.ScheduleEvent(NELSON_EVENT_DREADFUL_FRIGHT, 10000);
events.ScheduleEvent(NELSON_EVENT_CREEPING_DOOM, 5000);
events.ScheduleEvent(EVENT_FOOLS_PLIGHT, 2s, 3s);
events.ScheduleEvent(EVENT_RANGE_CHECK, 1s);
events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1s);
events.ScheduleEvent(NELSON_EVENT_DREADFUL_FRIGHT, 10s);
events.ScheduleEvent(NELSON_EVENT_CREEPING_DOOM, 5s);
}
void UpdateAI(uint32 diff) override
@@ -925,7 +925,7 @@ public:
me->Say(NELSON_SAY);
me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
events.ScheduleEvent(EVENT_REVEAL, 5000);
events.ScheduleEvent(EVENT_REVEAL, 5s);
break;
case EVENT_REVEAL:
RevealForm();
@@ -944,7 +944,7 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
{
events.RepeatEvent(1000);
events.Repeat(1s);
return;
}
@@ -956,7 +956,7 @@ public:
{
me->CastSpell(me->GetVictim(), SPELL_FOOLS_PLIGHT, true);
}
events.RepeatEvent(urand(3000, 6000));
events.Repeat(3s, 6s);
break;
case EVENT_RANGE_CHECK:
if (!me->GetVictim()->IsWithinDist2d(me, 60.0f))
@@ -965,7 +965,7 @@ public:
}
else
{
events.RepeatEvent(2000);
events.Repeat(2s);
}
break;
case EVENT_UNFAIR_FIGHT:
@@ -981,15 +981,15 @@ public:
me->DespawnOrUnsummon(5000);
break;
}
events.RepeatEvent(2000);
events.Repeat(2s);
break;
case NELSON_EVENT_DREADFUL_FRIGHT:
me->CastSpell(me->GetVictim(), NELSON_SPELL_DREADFUL_FRIGHT, false);
events.RepeatEvent(urand(12000, 19000));
events.Repeat(12s, 19s);
break;
case NELSON_EVENT_CREEPING_DOOM:
me->CastSpell(me->GetVictim(), NELSON_SPELL_CREEPING_DOOM, false);
events.RepeatEvent(urand(10000, 12000));
events.Repeat(10s, 12s);
break;
}
@@ -1016,7 +1016,7 @@ public:
if (action == EVENT_ENCOUNTER_START)
{
PrepareForEncounter();
events.ScheduleEvent(EVENT_ENCOUNTER_START, 5000);
events.ScheduleEvent(EVENT_ENCOUNTER_START, 5s);
}
}
};
@@ -1077,12 +1077,12 @@ public:
me->CastSpell(who, SPELL_FOOLS_PLIGHT, true);
}
events.ScheduleEvent(FRANKLIN_EVENT_DEMONIC_ENRAGE, urand(9000, 13000));
events.ScheduleEvent(EVENT_RANGE_CHECK, 1000);
events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1000);
events.ScheduleEvent(FRANKLIN_EVENT_DEMONIC_ENRAGE, 9s, 13s);
events.ScheduleEvent(EVENT_RANGE_CHECK, 1s);
events.ScheduleEvent(EVENT_UNFAIR_FIGHT, 1s);
}
events.ScheduleEvent(EVENT_FOOLS_PLIGHT, urand(2000, 3000));
events.ScheduleEvent(EVENT_FOOLS_PLIGHT, 2s, 3s);
}
void UpdateAI(uint32 diff) override
@@ -1097,7 +1097,7 @@ public:
me->Say(FRANKLIN_SAY, GetGossipPlayer());
me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
events.ScheduleEvent(EVENT_REVEAL, 5000);
events.ScheduleEvent(EVENT_REVEAL, 5s);
break;
case EVENT_REVEAL:
RevealForm();
@@ -1116,7 +1116,7 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
{
events.RepeatEvent(1000);
events.Repeat(1s);
return;
}
@@ -1128,7 +1128,7 @@ public:
{
me->CastSpell(me->GetVictim(), SPELL_FOOLS_PLIGHT, true);
}
events.RepeatEvent(urand(3000, 6000));
events.Repeat(3s, 6s);
break;
case EVENT_RANGE_CHECK:
if (!me->GetVictim()->IsWithinDist2d(me, 60.0f))
@@ -1137,7 +1137,7 @@ public:
}
else
{
events.RepeatEvent(2000);
events.Repeat(2s);
}
break;
case EVENT_UNFAIR_FIGHT:
@@ -1152,12 +1152,12 @@ public:
me->DespawnOrUnsummon(5000);
break;
}
events.RepeatEvent(2000);
events.Repeat(2s);
break;
case FRANKLIN_EVENT_DEMONIC_ENRAGE:
me->CastSpell(me, SPELL_DEMONIC_ENRAGE, false);
me->TextEmote(FRANKLIN_ENRAGE_EMOTE);
events.RepeatEvent(urand(9000, 22000));
events.Repeat(9s, 22s);
break;
}
@@ -1189,7 +1189,7 @@ public:
{
PrepareForEncounter();
gossipPlayerGUID = playerGUID;
events.ScheduleEvent(EVENT_ENCOUNTER_START, 5000);
events.ScheduleEvent(EVENT_ENCOUNTER_START, 5s);
}
};

View File

@@ -68,7 +68,7 @@ public:
npc_elder_clearwaterAI(Creature* c) : ScriptedAI(c)
{
events.Reset();
events.ScheduleEvent(EVENT_CLEARWATER_ANNOUNCE, 1000, 1, 0);
events.ScheduleEvent(EVENT_CLEARWATER_ANNOUNCE, 1s, 1, 0);
finished = false;
preWarning = false;
startWarning = false;
@@ -126,7 +126,7 @@ public:
}
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
}
}