AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
EventMap Class Reference

#include "EventMap.h"

Public Member Functions

 EventMap ()
 
Reset

Removes all scheduled events and resets time and phase.

void Reset ()
 
Update

Updates the timer of the event map.

Parameters
timeValue in ms to be added to time.
void Update (uint32 time)
 
void Update (Milliseconds time)
 
GetTimer
Returns
Current timer value.
uint32 GetTimer () const
 
void SetTimer (uint32 time)
 
GetPhaseMask
Returns
Active phases as mask.
uint8 GetPhaseMask () const
 
Empty
Returns
True, if there are no events scheduled.
bool Empty () const
 
SetPhase

Sets the phase of the map (absolute).

Parameters
phasePhase which should be set. Values: 1 - 8. 0 resets phase.
void SetPhase (uint8 phase)
 
AddPhase

Activates the given phase (bitwise).

Parameters
phasePhase which should be activated. Values: 1 - 8
void AddPhase (uint8 phase)
 
RemovePhase

Deactivates the given phase (bitwise).

Parameters
phasePhase which should be deactivated. Values: 1 - 8.
void RemovePhase (uint8 phase)
 
ScheduleEvent

Schedules a new event. An existing event is not canceled.

Parameters
eventIdThe id of the new event.
minTimeThe minimum time until the event occurs as std::chrono type.
maxTimeThe maximum time until the event occurs as std::chrono type.
groupThe group which the event is associated to. Has to be between 1 and 8. 0 means it has no group.
phaseThe phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases.
void ScheduleEvent (uint32 eventId, uint32 time, uint32 group=0, uint32 phase=0)
 
void ScheduleEvent (uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
 
void ScheduleEvent (uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group=0, uint32 phase=0)
 
RescheduleEvent

Cancels the given event and reschedules it.

Parameters
eventIdThe id of the event.
minTimeThe minimum time until the event occurs as std::chrono type.
maxTimeThe maximum time until the event occurs as std::chrono type.
groupThe group which the event is associated to. Has to be between 1 and 8. 0 means it has no group.
phaseThe phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases.
void RescheduleEvent (uint32 eventId, uint32 time, uint32 groupId=0, uint32 phase=0)
 
void RescheduleEvent (uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
 
void RescheduleEvent (uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group=0, uint32 phase=0)
 
RepeatEvent

Repeats the most recently executed event.

Parameters
minTimeThe minimum time until the event occurs as std::chrono type.
maxTimeThe maximum time until the event occurs as std::chrono type.
void RepeatEvent (uint32 time)
 
void Repeat (Milliseconds time)
 
void Repeat (Milliseconds minTime, Milliseconds maxTime)
 
ExecuteEvent

Returns the next event to execute and removes it from map.

Returns
Id of the event to execute.
uint32 ExecuteEvent ()
 
DelayEvents

Delay all events of the same group.

Parameters
delayAmount of delay.
groupGroup of the events.
void DelayEvents (uint32 delay)
 
void DelayEvents (Milliseconds delay)
 
void DelayEvents (uint32 delay, uint32 group)
 
EventsEvents

Delay all events of the same group.

Parameters
delayAmount of delay.
groupGroup of the events.
void DelayEventsToMax (uint32 delay, uint32 group)
 
CancelEvent

Cancels all events of the specified id.

Parameters
eventIdEvent id to cancel.
void CancelEvent (uint32 eventId)
 
CancelEventGroup

Cancel events belonging to specified group.

Parameters
groupGroup to cancel.
void CancelEventGroup (uint32 group)
 
GetNextEventTime
Returns
Time of next event.
uint32 GetNextEventTime (uint32 eventId) const
 
uint32 GetNextEventTime () const
 
IsInPhase

Returns wether event map is in specified phase or not.

Parameters
phaseWanted phase.
Returns
True, if phase of event map contains specified phase.
bool IsInPhase (uint8 phase)
 
GetTimeUntilEvent

Returns time as std::chrono type until next event.

Parameters
eventIdof the event.
Returns
Time of next event. If event is not scheduled returns Milliseconds::max()
Milliseconds GetTimeUntilEvent (uint32 eventId) const
 

Private Types

typedef std::multimap< uint32, uint32EventStore
 

Private Attributes

_time

Internal timer.

This does not represent the real date/time value. It's more like a stopwatch: It can run, it can be stopped, it can be resetted and so on. Events occur when this timer has reached their time value. Its value is changed in the Update method.

uint32 _time { 0 }
 
_phase

Phase mask of the event map.

Contains the phases the event map is in. Multiple phases from 1 to 8 can be set with SetPhase or AddPhase. RemovePhase deactives a phase.

uint32 _phase {0}
 
_lastEvent

Stores information on the most recently executed event

uint32 _lastEvent {0}
 
_eventMap

Internal event storage map. Contains the scheduled events.

See typedef at the beginning of the class for more details.

EventStore _eventMap
 

Detailed Description

Member Typedef Documentation

◆ EventStore

typedef std::multimap<uint32, uint32> EventMap::EventStore
private

Internal storage type. Key: Time as TimePoint when the event should occur. Value: The event data as uint32.

Structure of event data:

  • Bit 0 - 15: Event Id.
  • Bit 16 - 23: Group
  • Bit 24 - 31: Phase
  • Pattern: 0xPPGGEEEE

Constructor & Destructor Documentation

◆ EventMap()

EventMap::EventMap ( )
inline
41{ }

Member Function Documentation

◆ AddPhase()

void EventMap::AddPhase ( uint8  phase)
41{
42 if (phase && phase <= 8)
43 {
44 _phase |= (1 << (phase - 1));
45 }
46}
phase
Definition: boss_skadi.cpp:102
uint32 _phase
Definition: EventMap.h:309

References _phase.

◆ CancelEvent()

◆ CancelEventGroup()

void EventMap::CancelEventGroup ( uint32  group)
210{
211 if (!group || group > 8 || Empty())
212 {
213 return;
214 }
215
216 uint32 groupMask = (1 << (group + 15));
217 for (EventStore::iterator itr = _eventMap.begin(); itr != _eventMap.end();)
218 {
219 if (itr->second & groupMask)
220 {
221 _eventMap.erase(itr);
222 itr = _eventMap.begin();
223 continue;
224 }
225
226 ++itr;
227 }
228}
std::uint32_t uint32
Definition: Define.h:108

References _eventMap, and Empty().

Referenced by npc_simon_bunny::npc_simon_bunnyAI::DoAction(), boss_ragnaros::boss_ragnarosAI::HandleEmerge(), and boss_kiljaeden::boss_kiljaedenAI::UpdateAI().

◆ DelayEvents() [1/3]

void EventMap::DelayEvents ( Milliseconds  delay)
146{
147 DelayEvents(delay.count());
148}
void DelayEvents(uint32 delay)
Definition: EventMap.cpp:140

References DelayEvents().

◆ DelayEvents() [2/3]

void EventMap::DelayEvents ( uint32  delay)
141{
142 _time = delay < _time ? _time - delay : 0;
143}
uint32 _time
Definition: EventMap.h:299

References _time.

Referenced by DelayEvents().

◆ DelayEvents() [3/3]

void EventMap::DelayEvents ( uint32  delay,
uint32  group 
)
151{
152 if (group > 8 || Empty())
153 {
154 return;
155 }
156
157 EventStore delayed;
158
159 for (EventStore::iterator itr = _eventMap.begin(); itr != _eventMap.end();)
160 {
161 if (!group || (itr->second & (1 << (group + 15))))
162 {
163 delayed.insert(EventStore::value_type(itr->first + delay, itr->second));
164 itr = _eventMap.erase(itr);
165 continue;
166 }
167
168 ++itr;
169 }
170
171 _eventMap.insert(delayed.begin(), delayed.end());
172}
std::multimap< uint32, uint32 > EventStore
Definition: EventMap.h:38

References _eventMap, and Empty().

◆ DelayEventsToMax()

void EventMap::DelayEventsToMax ( uint32  delay,
uint32  group 
)
175{
176 for (auto itr = _eventMap.begin(); itr != _eventMap.end();)
177 {
178 if (itr->first < _time + delay && (group == 0 || ((1 << (group + 15)) & itr->second)))
179 {
180 ScheduleEvent(itr->second, delay);
181 _eventMap.erase(itr);
182 itr = _eventMap.begin();
183 continue;
184 }
185
186 ++itr;
187 }
188}
void ScheduleEvent(uint32 eventId, uint32 time, uint32 group=0, uint32 phase=0)
Definition: EventMap.cpp:56

References _eventMap, _time, and ScheduleEvent().

Referenced by boss_faction_championsAI::EventMapGCD().

◆ Empty()

◆ ExecuteEvent()

uint32 EventMap::ExecuteEvent ( )
115{
116 while (!Empty())
117 {
118 auto const& itr = _eventMap.begin();
119
120 if (itr->first > _time)
121 {
122 return 0;
123 }
124 else if (_phase && (itr->second & 0xFF000000) && !((itr->second >> 24) & _phase))
125 {
126 _eventMap.erase(itr);
127 }
128 else
129 {
130 uint32 eventId = (itr->second & 0x0000FFFF);
131 _lastEvent = itr->second;
132 _eventMap.erase(itr);
133 return eventId;
134 }
135 }
136
137 return 0;
138}
uint32 _lastEvent
Definition: EventMap.h:315

References _eventMap, _lastEvent, _phase, _time, and Empty().

Referenced by BattlegroundAB::PostUpdateImpl(), BattlegroundDS::PostUpdateImpl(), BattlegroundEY::PostUpdateImpl(), BattlegroundWS::PostUpdateImpl(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::Update(), instance_sunken_temple::instance_sunken_temple_InstanceMapScript::Update(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Update(), instance_ulduar::instance_ulduar_InstanceMapScript::Update(), go_bear_trap::go_bear_trapAI::UpdateAI(), go_gilded_brazier::go_gilded_brazierAI::UpdateAI(), go_bells::go_bellsAI::UpdateAI(), boss_sartharion_dragonAI::UpdateAI(), boss_ambassador_flamelash::boss_ambassador_flamelashAI::UpdateAI(), boss_doomrel::boss_doomrelAI::UpdateAI(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::UpdateAI(), npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI::UpdateAI(), go_suppression_device::go_suppression_deviceAI::UpdateAI(), boss_vaelastrasz::boss_vaelAI::UpdateAI(), boss_ragnaros::boss_ragnarosAI::UpdateAI(), boss_moroes::UpdateAI(), boss_servant_quarters::UpdateAI(), boss_felblood_kaelthas::boss_felblood_kaelthasAI::UpdateAI(), npc_eye_of_acherus::UpdateAI(), boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI::UpdateAI(), boss_felmyst::boss_felmystAI::UpdateAI(), boss_kalecgos::boss_kalecgosAI::UpdateAI(), boss_kalec::boss_kalecAI::UpdateAI(), boss_kiljaeden::boss_kiljaedenAI::UpdateAI(), boss_entropius::boss_entropiusAI::UpdateAI(), npc_cameron::UpdateAI(), npc_supervisor_raelen::UpdateAI(), npc_eastvale_peasent::UpdateAI(), npc_partygoer_pather::UpdateAI(), npc_partygoer::UpdateAI(), npc_sentinel_leader::UpdateAI(), npc_sentinel_infiltrator::UpdateAI(), npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI::UpdateAI(), npc_varian_wrynn::npc_varian_wrynnAI::UpdateAI(), npc_jaina_proudmoore_bfu::npc_jaina_proudmoore_bfuAI::UpdateAI(), boss_blight_worm::boss_blight_wormAI::UpdateAI(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_bfuAI::UpdateAI(), npc_zulian_prowler::npc_zulian_prowlerAI::UpdateAI(), npc_coren_direbrew::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_stillpine_capitive::npc_stillpine_capitiveAI::UpdateAI(), npc_rabid_thistle_bear::npc_rabid_thistle_bearAI::UpdateAI(), npc_tharnarian::npc_tharnarianAI::UpdateAI(), npc_tiger_matriarch::npc_tiger_matriarchAI::UpdateAI(), npc_shay_leafrunner::npc_shay_leafrunnerAI::UpdateAI(), boss_krik_thir::boss_krik_thirAI::UpdateAI(), boss_sartharion::boss_sartharionAI::UpdateAI(), npc_baltharus_the_warborn_clone::npc_baltharus_the_warborn_cloneAI::UpdateAI(), npc_xerestrasza::npc_xerestraszaAI::UpdateAI(), boss_halion::boss_halionAI::UpdateAI(), boss_twilight_halion::boss_twilight_halionAI::UpdateAI(), npc_halion_controller::npc_halion_controllerAI::UpdateAI(), boss_trollgore::boss_trollgoreAI::UpdateAI(), boss_moorabi::boss_moorabiAI::UpdateAI(), npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI::UpdateAI(), npc_kinetic_bomb::npc_kinetic_bombAI::UpdateAI(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::UpdateAI(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::UpdateAI(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::UpdateAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::UpdateAI(), npc_gunship_boarding_leader::npc_gunship_boarding_leaderAI::UpdateAI(), npc_spinestalker::npc_spinestalkerAI::UpdateAI(), npc_rimefang::npc_rimefangAI::UpdateAI(), npc_sindragosa_trash::npc_sindragosa_trashAI::UpdateAI(), npc_tirion_fordring_tft::npc_tirion_fordringAI::UpdateAI(), npc_shambling_horror_icc::npc_shambling_horror_iccAI::UpdateAI(), npc_raging_spirit::npc_raging_spiritAI::UpdateAI(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::UpdateAI(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::UpdateAI(), npc_terenas_menethil::npc_terenas_menethilAI::UpdateAI(), npc_spirit_warden::npc_spirit_wardenAI::UpdateAI(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::UpdateAI(), npc_the_lich_king_controller::npc_the_lich_king_controllerAI::UpdateAI(), npc_risen_archmage::npc_risen_archmageAI::UpdateAI(), npc_valithria_cloud::npc_valithria_cloudAI::UpdateAI(), npc_blazing_skeleton::npc_blazing_skeletonAI::UpdateAI(), npc_gluttonous_abomination::npc_gluttonous_abominationAI::UpdateAI(), npc_highlord_tirion_fordring_lh::npc_highlord_tirion_fordringAI::UpdateAI(), npc_rotting_frost_giant::npc_rotting_frost_giantAI::UpdateAI(), npc_frost_freeze_trap::npc_frost_freeze_trapAI::UpdateAI(), npc_crok_scourgebane::npc_crok_scourgebaneAI::UpdateAI(), npc_frostwing_vrykul::npc_frostwing_vrykulAI::UpdateAI(), npc_arthas_teleport_visual::npc_arthas_teleport_visualAI::UpdateAI(), npc_ioc_gunship_captain::npc_ioc_gunship_captainAI::UpdateAI(), npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI::UpdateAI(), boss_svala::boss_svalaAI::UpdateAI(), npc_beryl_sorcerer::npc_beryl_sorcererAI::UpdateAI(), npc_captured_beryl_sorcerer::npc_captured_beryl_sorcererAI::UpdateAI(), npc_hidden_cultist::npc_hidden_cultistAI::UpdateAI(), npc_bloodmage_laurith::npc_bloodmage_laurithAI::UpdateAI(), npc_thassarian::npc_thassarianAI::UpdateAI(), npc_thassarian2::npc_thassarian2AI::UpdateAI(), npc_counselor_talbot::npc_counselor_talbotAI::UpdateAI(), npc_shandy_dalaran::npc_shandy_dalaranAI::UpdateAI(), npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI::UpdateAI(), npc_torturer_lecraft::npc_torturer_lecraftAI::UpdateAI(), npc_amberpine_woodsman::npc_amberpine_woodsmanAI::UpdateAI(), npc_venture_co_straggler::npc_venture_co_stragglerAI::UpdateAI(), npc_lake_frog::npc_lake_frogAI::UpdateAI(), npc_crusade_recruit::npc_crusade_recruitAI::UpdateAI(), boss_illidan_stormrage::boss_illidan_stormrageAI::UpdateAI(), boss_shade_of_akama::boss_shade_of_akamaAI::UpdateAI(), npc_akama_shade::npc_akamaAI::UpdateAI(), boss_doomlord_kazzak::boss_doomlordkazzakAI::UpdateAI(), boss_doomwalker::boss_doomwalkerAI::UpdateAI(), boss_magtheridon::boss_magtheridonAI::UpdateAI(), boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI::UpdateAI(), boss_warbringer_omrogg::boss_warbringer_omroggAI::UpdateAI(), npc_millhouse_manastorm::npc_millhouse_manastormAI::UpdateAI(), boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI::UpdateAI(), boss_kaelthas::boss_kaelthasAI::UpdateAI(), npc_simon_bunny::npc_simon_bunnyAI::UpdateAI(), npc_pet_shaman_earth_elemental::UpdateAI(), npc_pet_shaman_fire_elemental::UpdateAI(), go_brewfest_music::go_brewfest_musicAI::UpdateAI(), go_pirate_day_music::go_pirate_day_musicAI::UpdateAI(), go_darkmoon_faire_music::go_darkmoon_faire_musicAI::UpdateAI(), go_midsummer_music::go_midsummer_musicAI::UpdateAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateEscortAI(), npc_magwin::npc_magwinAI::UpdateEscortAI(), and npc_onyx_flamecaller::npc_onyx_flamecallerAI::UpdateEscortAI().

◆ GetNextEventTime() [1/2]

uint32 EventMap::GetNextEventTime ( ) const
249{
250 return Empty() ? 0 : _eventMap.begin()->first;
251}

References _eventMap, and Empty().

◆ GetNextEventTime() [2/2]

uint32 EventMap::GetNextEventTime ( uint32  eventId) const
231{
232 if (Empty())
233 {
234 return 0;
235 }
236
237 for (auto const& itr : _eventMap)
238 {
239 if (eventId == (itr.second & 0x0000FFFF))
240 {
241 return itr.first;
242 }
243 }
244
245 return 0;
246}

References _eventMap, and Empty().

Referenced by BattlegroundWS::GetAssaultSpellId(), boss_twilight_halion::boss_twilight_halionAI::KilledUnit(), boss_illidan_stormrage::boss_illidan_stormrageAI::MovementInform(), npc_halion_controller::npc_halion_controllerAI::SetData(), and boss_illidan_stormrage::boss_illidan_stormrageAI::UpdateAI().

◆ GetPhaseMask()

◆ GetTimer()

uint32 EventMap::GetTimer ( ) const
inline
74 {
75 return _time;
76 }

References _time.

◆ GetTimeUntilEvent()

Milliseconds EventMap::GetTimeUntilEvent ( uint32  eventId) const
259{
260 for (std::pair<uint32 const, uint32> const& itr : _eventMap)
261 if (eventId == (itr.second & 0x0000FFFF))
262 return std::chrono::duration_cast<Milliseconds>(Milliseconds(itr.first) - Milliseconds(_time));
263
264 return Milliseconds::max();
265}
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
Definition: Duration.h:27

References _eventMap, and _time.

Referenced by instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::OnUnitDeath().

◆ IsInPhase()

bool EventMap::IsInPhase ( uint8  phase)
254{
255 return phase <= 8 && (!phase || _phase & (1 << (phase - 1)));
256}

References _phase.

Referenced by npc_coren_direbrew::DamageTaken(), npc_coren_direbrew::MoveInLineOfSight(), and npc_coren_direbrew::UpdateAI().

◆ RemovePhase()

void EventMap::RemovePhase ( uint8  phase)
49{
50 if (phase && phase <= 8)
51 {
52 _phase &= ~(1 << (phase - 1));
53 }
54}

References _phase.

◆ Repeat() [1/2]

void EventMap::Repeat ( Milliseconds  minTime,
Milliseconds  maxTime 
)
110{
111 RepeatEvent(randtime(minTime, maxTime).count());
112}
Milliseconds randtime(Milliseconds min, Milliseconds max)
Definition: Random.cpp:64
void RepeatEvent(uint32 time)
Definition: EventMap.cpp:99

References randtime(), and RepeatEvent().

◆ Repeat() [2/2]

◆ RepeatEvent()

void EventMap::RepeatEvent ( uint32  time)

◆ RescheduleEvent() [1/3]

void EventMap::RescheduleEvent ( uint32  eventId,
Milliseconds  minTime,
Milliseconds  maxTime,
uint32  group = 0,
uint32  phase = 0 
)
94{
95 CancelEvent(eventId);
96 ScheduleEvent(eventId, randtime(minTime, maxTime).count(), group, phase);
97}
void CancelEvent(uint32 eventId)
Definition: EventMap.cpp:190

References CancelEvent(), randtime(), and ScheduleEvent().

◆ RescheduleEvent() [2/3]

void EventMap::RescheduleEvent ( uint32  eventId,
Milliseconds  time,
uint32  group = 0,
uint8  phase = 0 
)
88{
89 CancelEvent(eventId);
90 ScheduleEvent(eventId, time.count(), group, phase);
91}

References CancelEvent(), and ScheduleEvent().

◆ RescheduleEvent() [3/3]

◆ Reset()

void EventMap::Reset ( )
22{
23 _eventMap.clear();
24 _time = 0;
25 _phase = 0;
26}

References _eventMap, _phase, and _time.

Referenced by boss_kiljaeden::boss_kiljaedenAI::DamageTaken(), npc_terenas_menethil::npc_terenas_menethilAI::DamageTaken(), boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI::DoAction(), npc_halion_controller::npc_halion_controllerAI::DoAction(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::DoAction(), npc_terenas_menethil::npc_terenas_menethilAI::DoAction(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::DoAction(), npc_the_lich_king_controller::npc_the_lich_king_controllerAI::DoAction(), BattlegroundAB::EndBattleground(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::GoSiphon(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::HealReceived(), BattlegroundAB::Init(), BattlegroundEY::Init(), BattlegroundWS::Init(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Initialize(), instance_ulduar::instance_ulduar_InstanceMapScript::Initialize(), boss_kiljaeden::boss_kiljaedenAI::InitializeAI(), npc_shay_leafrunner::npc_shay_leafrunnerAI::InitializeAI(), npc_millhouse_manastorm::npc_millhouse_manastormAI::InitializeAI(), boss_moroes::InitializeGuests(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::IsSummonedBy(), boss_ambassador_flamelash::boss_ambassador_flamelashAI::JustDied(), boss_ragnaros::boss_ragnarosAI::JustDied(), npc_coren_direbrew::JustDied(), npc_spinestalker::npc_spinestalkerAI::JustDied(), npc_rimefang::npc_rimefangAI::JustDied(), npc_rotting_frost_giant::npc_rotting_frost_giantAI::JustDied(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::JustEngagedWith(), npc_tiger_matriarch::npc_tiger_matriarchAI::JustEngagedWith(), npc_baltharus_the_warborn_clone::npc_baltharus_the_warborn_cloneAI::JustEngagedWith(), npc_onyx_flamecaller::npc_onyx_flamecallerAI::JustEngagedWith(), boss_twilight_halion::boss_twilight_halionAI::JustEngagedWith(), npc_gunship_boarding_leader::npc_gunship_boarding_leaderAI::JustEngagedWith(), boss_magtheridon::boss_magtheridonAI::JustEngagedWith(), boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI::JustEngagedWith(), npc_pet_shaman_earth_elemental::JustEngagedWith(), npc_pet_shaman_fire_elemental::JustEngagedWith(), boss_moroes::JustEngagedWith(), boss_krik_thir::boss_krik_thirAI::JustEngagedWith(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::MovementInform(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::npc_high_overlord_saurfang_igbAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::npc_muradin_bronzebeard_igbAI(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::npc_valkyr_shadowguardAI(), boss_ambassador_flamelash::boss_ambassador_flamelashAI::Reset(), boss_vaelastrasz::boss_vaelAI::Reset(), boss_ragnaros::boss_ragnarosAI::Reset(), boss_servant_quarters::Reset(), boss_felmyst::boss_felmystAI::Reset(), boss_kalecgos::boss_kalecgosAI::Reset(), boss_kalec::boss_kalecAI::Reset(), boss_entropius::boss_entropiusAI::Reset(), npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI::Reset(), npc_coren_direbrew::Reset(), npc_arthas::npc_arthasAI::Reset(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::Reset(), npc_magwin::npc_magwinAI::Reset(), npc_stillpine_capitive::npc_stillpine_capitiveAI::Reset(), npc_tharnarian::npc_tharnarianAI::Reset(), boss_krik_thir::boss_krik_thirAI::Reset(), boss_sartharion::boss_sartharionAI::Reset(), npc_xerestrasza::npc_xerestraszaAI::Reset(), boss_halion::boss_halionAI::Reset(), boss_twilight_halion::boss_twilight_halionAI::Reset(), npc_halion_controller::npc_halion_controllerAI::Reset(), boss_trollgore::boss_trollgoreAI::Reset(), boss_moorabi::boss_moorabiAI::Reset(), npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI::Reset(), npc_kinetic_bomb::npc_kinetic_bombAI::Reset(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::Reset(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::Reset(), npc_spinestalker::npc_spinestalkerAI::Reset(), npc_rimefang::npc_rimefangAI::Reset(), npc_sindragosa_trash::npc_sindragosa_trashAI::Reset(), npc_tirion_fordring_tft::npc_tirion_fordringAI::Reset(), npc_shambling_horror_icc::npc_shambling_horror_iccAI::Reset(), npc_raging_spirit::npc_raging_spiritAI::Reset(), npc_spirit_warden::npc_spirit_wardenAI::Reset(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::Reset(), npc_the_lich_king_controller::npc_the_lich_king_controllerAI::Reset(), npc_risen_archmage::npc_risen_archmageAI::Reset(), npc_valithria_cloud::npc_valithria_cloudAI::Reset(), npc_blazing_skeleton::npc_blazing_skeletonAI::Reset(), npc_gluttonous_abomination::npc_gluttonous_abominationAI::Reset(), npc_highlord_tirion_fordring_lh::npc_highlord_tirion_fordringAI::Reset(), npc_rotting_frost_giant::npc_rotting_frost_giantAI::Reset(), npc_crok_scourgebane::npc_crok_scourgebaneAI::Reset(), npc_frostwing_vrykul::npc_frostwing_vrykulAI::Reset(), npc_arthas_teleport_visual::npc_arthas_teleport_visualAI::Reset(), npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI::Reset(), boss_svala::boss_svalaAI::Reset(), npc_bloodmage_laurith::npc_bloodmage_laurithAI::Reset(), npc_shandy_dalaran::npc_shandy_dalaranAI::Reset(), boss_illidan_stormrage::boss_illidan_stormrageAI::Reset(), npc_akama_shade::npc_akamaAI::Reset(), boss_doomlord_kazzak::boss_doomlordkazzakAI::Reset(), boss_doomwalker::boss_doomwalkerAI::Reset(), boss_magtheridon::boss_magtheridonAI::Reset(), boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI::Reset(), boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI::Reset(), boss_kaelthas::boss_kaelthasAI::Reset(), npc_shandy_dalaran::npc_shandy_dalaranAI::SetData(), npc_cameron::sOnGameEvent(), npc_rabid_thistle_bear::npc_rabid_thistle_bearAI::SpellHit(), npc_simon_bunny::npc_simon_bunnyAI::StartGame(), npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI::UpdateAI(), npc_terenas_menethil::npc_terenas_menethilAI::UpdateAI(), npc_shandy_dalaran::npc_shandy_dalaranAI::UpdateAI(), boss_illidan_stormrage::boss_illidan_stormrageAI::UpdateAI(), boss_magtheridon::boss_magtheridonAI::UpdateAI(), and boss_kaelthas::boss_kaelthasAI::UpdateAI().

◆ ScheduleEvent() [1/3]

void EventMap::ScheduleEvent ( uint32  eventId,
Milliseconds  minTime,
Milliseconds  maxTime,
uint32  group = 0,
uint32  phase = 0 
)
77{
78 ScheduleEvent(eventId, randtime(minTime, maxTime).count(), group, phase);
79}

References randtime(), and ScheduleEvent().

◆ ScheduleEvent() [2/3]

void EventMap::ScheduleEvent ( uint32  eventId,
Milliseconds  time,
uint32  group = 0,
uint8  phase = 0 
)
72{
73 ScheduleEvent(eventId, time.count(), group, phase);
74}

References ScheduleEvent().

◆ ScheduleEvent() [3/3]

void EventMap::ScheduleEvent ( uint32  eventId,
uint32  time,
uint32  group = 0,
uint32  phase = 0 
)
57{
58 if (group && group <= 8)
59 {
60 eventId |= (1 << (group + 15));
61 }
62
63 if (phase && phase <= 8)
64 {
65 eventId |= (1 << (phase + 23));
66 }
67
68 _eventMap.emplace(_time + time, eventId);
69}

References _eventMap, and _time.

Referenced by go_suppression_device::go_suppression_deviceAI::Activate(), boss_vaelastrasz::boss_vaelAI::BeginSpeech(), boss_shade_of_akama::boss_shade_of_akamaAI::boss_shade_of_akamaAI(), npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI::ChangeImage(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::CleanupInstance(), boss_felblood_kaelthas::boss_felblood_kaelthasAI::DamageTaken(), boss_kiljaeden::boss_kiljaedenAI::DamageTaken(), npc_terenas_menethil::npc_terenas_menethilAI::DamageTaken(), npc_crok_scourgebane::npc_crok_scourgebaneAI::DamageTaken(), boss_illidan_stormrage::boss_illidan_stormrageAI::DamageTaken(), DelayEventsToMax(), go_suppression_device::go_suppression_deviceAI::DoAction(), boss_ragnaros::boss_ragnarosAI::DoAction(), boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI::DoAction(), npc_coren_direbrew::DoAction(), npc_xerestrasza::npc_xerestraszaAI::DoAction(), npc_halion_controller::npc_halion_controllerAI::DoAction(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::DoAction(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::DoAction(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::DoAction(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::DoAction(), npc_tirion_fordring_tft::npc_tirion_fordringAI::DoAction(), npc_terenas_menethil::npc_terenas_menethilAI::DoAction(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::DoAction(), npc_the_lich_king_controller::npc_the_lich_king_controllerAI::DoAction(), npc_frost_freeze_trap::npc_frost_freeze_trapAI::DoAction(), npc_crok_scourgebane::npc_crok_scourgebaneAI::DoAction(), npc_ioc_gunship_captain::npc_ioc_gunship_captainAI::DoAction(), npc_simon_bunny::npc_simon_bunnyAI::DoAction(), boss_ambassador_flamelash::boss_ambassador_flamelashAI::DoAction(), boss_felmyst::boss_felmystAI::DoAction(), boss_kalecgos::boss_kalecgosAI::DoAction(), npc_arthas::npc_arthasAI::DoAction(), npc_akama_shade::npc_akamaAI::DoAction(), boss_shade_of_akama::boss_shade_of_akamaAI::EnterEvadeMode(), BattlegroundWS::EventPlayerCapturedFlag(), go_brewfest_music::go_brewfest_musicAI::go_brewfest_musicAI(), go_darkmoon_faire_music::go_darkmoon_faire_musicAI::go_darkmoon_faire_musicAI(), go_midsummer_music::go_midsummer_musicAI::go_midsummer_musicAI(), go_pirate_day_music::go_pirate_day_musicAI::go_pirate_day_musicAI(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::GoSiphon(), go_gilded_brazier::go_gilded_brazierAI::GossipHello(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::HealReceived(), npc_captured_beryl_sorcerer::npc_captured_beryl_sorcererAI::Initialize(), go_bear_trap::go_bear_trapAI::Initialize(), go_suppression_device::go_suppression_deviceAI::InitializeAI(), npc_eye_of_acherus::InitializeAI(), boss_kiljaeden::boss_kiljaedenAI::InitializeAI(), npc_millhouse_manastorm::npc_millhouse_manastormAI::InitializeAI(), boss_moroes::InitializeGuests(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::IsSummonedBy(), boss_ambassador_flamelash::boss_ambassador_flamelashAI::JustEngagedWith(), boss_doomrel::boss_doomrelAI::JustEngagedWith(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::JustEngagedWith(), boss_kiljaeden::boss_kiljaedenAI::JustEngagedWith(), npc_sentinel_leader::JustEngagedWith(), npc_sentinel_infiltrator::JustEngagedWith(), npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI::JustEngagedWith(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::JustEngagedWith(), npc_tiger_matriarch::npc_tiger_matriarchAI::JustEngagedWith(), npc_baltharus_the_warborn_clone::npc_baltharus_the_warborn_cloneAI::JustEngagedWith(), npc_onyx_flamecaller::npc_onyx_flamecallerAI::JustEngagedWith(), boss_twilight_halion::boss_twilight_halionAI::JustEngagedWith(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::JustEngagedWith(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::JustEngagedWith(), npc_gunship_boarding_leader::npc_gunship_boarding_leaderAI::JustEngagedWith(), npc_counselor_talbot::npc_counselor_talbotAI::JustEngagedWith(), boss_warbringer_omrogg::boss_warbringer_omroggAI::JustEngagedWith(), npc_pet_shaman_earth_elemental::JustEngagedWith(), npc_pet_shaman_fire_elemental::JustEngagedWith(), boss_sartharion::boss_sartharionAI::JustEngagedWith(), boss_felmyst::boss_felmystAI::JustEngagedWith(), boss_halion::boss_halionAI::JustEngagedWith(), npc_beryl_sorcerer::npc_beryl_sorcererAI::JustEngagedWith(), npc_torturer_lecraft::npc_torturer_lecraftAI::JustEngagedWith(), boss_warbringer_omrogg::boss_warbringer_omroggAI::KilledUnit(), boss_twilight_halion::boss_twilight_halionAI::KilledUnit(), npc_shay_leafrunner::npc_shay_leafrunnerAI::MoveInLineOfSight(), boss_felblood_kaelthas::boss_felblood_kaelthasAI::MoveInLineOfSight(), npc_coren_direbrew::MoveInLineOfSight(), boss_krik_thir::boss_krik_thirAI::MoveInLineOfSight(), npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI::MoveInLineOfSight(), boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI::MoveInLineOfSight(), boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI::MoveInLineOfSight(), boss_kaelthas::boss_kaelthasAI::MoveInLineOfSight(), boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI::MovementInform(), npc_sentinel_leader::MovementInform(), npc_sentinel_infiltrator::MovementInform(), npc_stillpine_capitive::npc_stillpine_capitiveAI::MovementInform(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::MovementInform(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::MovementInform(), npc_tirion_fordring_tft::npc_tirion_fordringAI::MovementInform(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::MovementInform(), npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI::MovementInform(), boss_illidan_stormrage::boss_illidan_stormrageAI::MovementInform(), npc_thassarian2::npc_thassarian2AI::MovementInform(), npc_akama_shade::npc_akamaAI::MovementInform(), boss_kaelthas::boss_kaelthasAI::MovementInform(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::npc_valkyr_shadowguardAI(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::OnUnitDeath(), npc_cameron::PathEndReached(), npc_eastvale_peasent::PathEndReached(), npc_partygoer_pather::PathEndReached(), BattlegroundAB::PostUpdateImpl(), BattlegroundDS::PostUpdateImpl(), BattlegroundEY::PostUpdateImpl(), BattlegroundWS::PostUpdateImpl(), npc_hidden_cultist::npc_hidden_cultistAI::PreScript(), npc_lake_frog::npc_lake_frogAI::ReceiveEmote(), RescheduleEvent(), boss_servant_quarters::Reset(), boss_kalec::boss_kalecAI::Reset(), boss_entropius::boss_entropiusAI::Reset(), npc_supervisor_raelen::Reset(), npc_partygoer_pather::Reset(), npc_partygoer::Reset(), npc_varian_wrynn::npc_varian_wrynnAI::Reset(), npc_jaina_proudmoore_bfu::npc_jaina_proudmoore_bfuAI::Reset(), boss_blight_worm::boss_blight_wormAI::Reset(), npc_thrall_bfu::npc_thrall_bfuAI::Reset(), npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_bfuAI::Reset(), npc_zulian_prowler::npc_zulian_prowlerAI::Reset(), boss_trollgore::boss_trollgoreAI::Reset(), boss_moorabi::boss_moorabiAI::Reset(), npc_spinestalker::npc_spinestalkerAI::Reset(), npc_rimefang::npc_rimefangAI::Reset(), npc_sindragosa_trash::npc_sindragosa_trashAI::Reset(), npc_shambling_horror_icc::npc_shambling_horror_iccAI::Reset(), npc_raging_spirit::npc_raging_spiritAI::Reset(), npc_spirit_warden::npc_spirit_wardenAI::Reset(), npc_risen_archmage::npc_risen_archmageAI::Reset(), npc_valithria_cloud::npc_valithria_cloudAI::Reset(), npc_blazing_skeleton::npc_blazing_skeletonAI::Reset(), npc_gluttonous_abomination::npc_gluttonous_abominationAI::Reset(), npc_rotting_frost_giant::npc_rotting_frost_giantAI::Reset(), npc_crok_scourgebane::npc_crok_scourgebaneAI::Reset(), npc_frostwing_vrykul::npc_frostwing_vrykulAI::Reset(), npc_arthas_teleport_visual::npc_arthas_teleport_visualAI::Reset(), npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI::Reset(), npc_thassarian::npc_thassarianAI::Reset(), npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI::Reset(), npc_amberpine_woodsman::npc_amberpine_woodsmanAI::Reset(), boss_doomlord_kazzak::boss_doomlordkazzakAI::Reset(), boss_doomwalker::boss_doomwalkerAI::Reset(), boss_magtheridon::boss_magtheridonAI::Reset(), boss_kaelthas::boss_kaelthasAI::Reset(), ScheduleEvent(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::SetBossState(), boss_svala::boss_svalaAI::SetData(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::SetData(), boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI::SetData(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::SetData(), instance_sunken_temple::instance_sunken_temple_InstanceMapScript::SetData(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::SetData(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::SetData(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::SetData(), npc_highlord_tirion_fordring_lh::npc_highlord_tirion_fordringAI::SetData(), npc_shandy_dalaran::npc_shandy_dalaranAI::SetData(), npc_simon_bunny::npc_simon_bunnyAI::SetData(), npc_supervisor_raelen::SetData(), npc_thassarian2::npc_thassarian2AI::SetData(), boss_ragnaros::boss_ragnarosAI::SetGUID(), npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI::SetGUID(), npc_bloodmage_laurith::npc_bloodmage_laurithAI::SetGUID(), npc_tharnarian::npc_tharnarianAI::SetGUID(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::sGossipSelect(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::sGossipSelect(), npc_akama_shade::npc_akamaAI::sGossipSelect(), npc_crusade_recruit::npc_crusade_recruitAI::sGossipSelect(), npc_cameron::sOnGameEvent(), npc_rabid_thistle_bear::npc_rabid_thistle_bearAI::SpellHit(), npc_venture_co_straggler::npc_venture_co_stragglerAI::SpellHit(), npc_beryl_sorcerer::npc_beryl_sorcererAI::SpellHit(), npc_magwin::npc_magwinAI::sQuestAccept(), npc_shay_leafrunner::npc_shay_leafrunnerAI::sQuestAccept(), npc_simon_bunny::npc_simon_bunnyAI::StartGame(), BattlegroundAB::StartingEventOpenDoors(), BattlegroundDS::StartingEventOpenDoors(), BattlegroundEY::StartingEventOpenDoors(), BattlegroundWS::StartingEventOpenDoors(), npc_coren_direbrew::SummonedCreatureDies(), boss_kaelthas::boss_kaelthasAI::SummonedCreatureDies(), boss_sartharion::boss_sartharionAI::SummonLavaWaves(), boss_ambassador_flamelash::boss_ambassador_flamelashAI::SummonSpirits(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::Update(), go_bear_trap::go_bear_trapAI::UpdateAI(), go_gilded_brazier::go_gilded_brazierAI::UpdateAI(), go_bells::go_bellsAI::UpdateAI(), boss_ambassador_flamelash::boss_ambassador_flamelashAI::UpdateAI(), boss_doomrel::boss_doomrelAI::UpdateAI(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::UpdateAI(), npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI::UpdateAI(), go_suppression_device::go_suppression_deviceAI::UpdateAI(), boss_vaelastrasz::boss_vaelAI::UpdateAI(), boss_ragnaros::boss_ragnarosAI::UpdateAI(), boss_servant_quarters::UpdateAI(), npc_eye_of_acherus::UpdateAI(), boss_felmyst::boss_felmystAI::UpdateAI(), boss_kalecgos::boss_kalecgosAI::UpdateAI(), boss_kiljaeden::boss_kiljaedenAI::UpdateAI(), npc_supervisor_raelen::UpdateAI(), npc_eastvale_peasent::UpdateAI(), npc_partygoer_pather::UpdateAI(), npc_partygoer::UpdateAI(), npc_sentinel_leader::UpdateAI(), npc_sentinel_infiltrator::UpdateAI(), npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI::UpdateAI(), npc_varian_wrynn::npc_varian_wrynnAI::UpdateAI(), npc_jaina_proudmoore_bfu::npc_jaina_proudmoore_bfuAI::UpdateAI(), boss_blight_worm::boss_blight_wormAI::UpdateAI(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_bfuAI::UpdateAI(), npc_coren_direbrew::UpdateAI(), npc_rabid_thistle_bear::npc_rabid_thistle_bearAI::UpdateAI(), npc_tharnarian::npc_tharnarianAI::UpdateAI(), npc_tiger_matriarch::npc_tiger_matriarchAI::UpdateAI(), npc_shay_leafrunner::npc_shay_leafrunnerAI::UpdateAI(), boss_krik_thir::boss_krik_thirAI::UpdateAI(), npc_baltharus_the_warborn_clone::npc_baltharus_the_warborn_cloneAI::UpdateAI(), boss_twilight_halion::boss_twilight_halionAI::UpdateAI(), npc_halion_controller::npc_halion_controllerAI::UpdateAI(), boss_trollgore::boss_trollgoreAI::UpdateAI(), boss_moorabi::boss_moorabiAI::UpdateAI(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::UpdateAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::UpdateAI(), npc_gunship_boarding_leader::npc_gunship_boarding_leaderAI::UpdateAI(), npc_spinestalker::npc_spinestalkerAI::UpdateAI(), npc_rimefang::npc_rimefangAI::UpdateAI(), npc_sindragosa_trash::npc_sindragosa_trashAI::UpdateAI(), npc_tirion_fordring_tft::npc_tirion_fordringAI::UpdateAI(), npc_shambling_horror_icc::npc_shambling_horror_iccAI::UpdateAI(), npc_raging_spirit::npc_raging_spiritAI::UpdateAI(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::UpdateAI(), npc_terenas_menethil::npc_terenas_menethilAI::UpdateAI(), npc_spirit_warden::npc_spirit_wardenAI::UpdateAI(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::UpdateAI(), npc_risen_archmage::npc_risen_archmageAI::UpdateAI(), npc_valithria_cloud::npc_valithria_cloudAI::UpdateAI(), npc_blazing_skeleton::npc_blazing_skeletonAI::UpdateAI(), npc_gluttonous_abomination::npc_gluttonous_abominationAI::UpdateAI(), npc_rotting_frost_giant::npc_rotting_frost_giantAI::UpdateAI(), npc_frost_freeze_trap::npc_frost_freeze_trapAI::UpdateAI(), npc_crok_scourgebane::npc_crok_scourgebaneAI::UpdateAI(), npc_frostwing_vrykul::npc_frostwing_vrykulAI::UpdateAI(), npc_arthas_teleport_visual::npc_arthas_teleport_visualAI::UpdateAI(), npc_ioc_gunship_captain::npc_ioc_gunship_captainAI::UpdateAI(), npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI::UpdateAI(), boss_svala::boss_svalaAI::UpdateAI(), npc_beryl_sorcerer::npc_beryl_sorcererAI::UpdateAI(), npc_captured_beryl_sorcerer::npc_captured_beryl_sorcererAI::UpdateAI(), npc_hidden_cultist::npc_hidden_cultistAI::UpdateAI(), npc_bloodmage_laurith::npc_bloodmage_laurithAI::UpdateAI(), npc_thassarian2::npc_thassarian2AI::UpdateAI(), npc_counselor_talbot::npc_counselor_talbotAI::UpdateAI(), npc_shandy_dalaran::npc_shandy_dalaranAI::UpdateAI(), npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI::UpdateAI(), npc_torturer_lecraft::npc_torturer_lecraftAI::UpdateAI(), npc_amberpine_woodsman::npc_amberpine_woodsmanAI::UpdateAI(), npc_venture_co_straggler::npc_venture_co_stragglerAI::UpdateAI(), npc_lake_frog::npc_lake_frogAI::UpdateAI(), npc_crusade_recruit::npc_crusade_recruitAI::UpdateAI(), boss_illidan_stormrage::boss_illidan_stormrageAI::UpdateAI(), npc_akama_shade::npc_akamaAI::UpdateAI(), boss_doomlord_kazzak::boss_doomlordkazzakAI::UpdateAI(), boss_doomwalker::boss_doomwalkerAI::UpdateAI(), boss_magtheridon::boss_magtheridonAI::UpdateAI(), npc_millhouse_manastorm::npc_millhouse_manastormAI::UpdateAI(), boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI::UpdateAI(), boss_kaelthas::boss_kaelthasAI::UpdateAI(), npc_simon_bunny::npc_simon_bunnyAI::UpdateAI(), npc_pet_shaman_earth_elemental::UpdateAI(), npc_pet_shaman_fire_elemental::UpdateAI(), go_brewfest_music::go_brewfest_musicAI::UpdateAI(), go_pirate_day_music::go_pirate_day_musicAI::UpdateAI(), go_darkmoon_faire_music::go_darkmoon_faire_musicAI::UpdateAI(), go_midsummer_music::go_midsummer_musicAI::UpdateAI(), npc_halion_controller::npc_halion_controllerAI::UpdateCorporeality(), npc_magwin::npc_magwinAI::UpdateEscortAI(), npc_onyx_flamecaller::npc_onyx_flamecallerAI::UpdateEscortAI(), npc_arthas::npc_arthasAI::WaypointReached(), and npc_magwin::npc_magwinAI::WaypointReached().

◆ SetPhase()

◆ SetTimer()

void EventMap::SetTimer ( uint32  time)
inline
79 {
80 _time = time;
81 }

References _time.

◆ Update() [1/2]

void EventMap::Update ( Milliseconds  time)
inline
65 {
66 _time += static_cast<uint32>(time.count());
67 }

References _time.

◆ Update() [2/2]

void EventMap::Update ( uint32  time)
inline
55 {
56 _time += time;
57 }

References _time.

Referenced by BattlegroundAB::PostUpdateImpl(), BattlegroundDS::PostUpdateImpl(), BattlegroundEY::PostUpdateImpl(), BattlegroundWS::PostUpdateImpl(), instance_blackwing_lair::instance_blackwing_lair_InstanceMapScript::Update(), instance_sunken_temple::instance_sunken_temple_InstanceMapScript::Update(), instance_old_hillsbrad::instance_old_hillsbrad_InstanceMapScript::Update(), instance_ulduar::instance_ulduar_InstanceMapScript::Update(), go_bear_trap::go_bear_trapAI::UpdateAI(), go_gilded_brazier::go_gilded_brazierAI::UpdateAI(), go_bells::go_bellsAI::UpdateAI(), boss_sartharion_dragonAI::UpdateAI(), boss_ambassador_flamelash::boss_ambassador_flamelashAI::UpdateAI(), boss_doomrel::boss_doomrelAI::UpdateAI(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::UpdateAI(), npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI::UpdateAI(), go_suppression_device::go_suppression_deviceAI::UpdateAI(), boss_vaelastrasz::boss_vaelAI::UpdateAI(), boss_ragnaros::boss_ragnarosAI::UpdateAI(), boss_moroes::UpdateAI(), boss_servant_quarters::UpdateAI(), boss_felblood_kaelthas::boss_felblood_kaelthasAI::UpdateAI(), npc_eye_of_acherus::UpdateAI(), boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI::UpdateAI(), boss_felmyst::boss_felmystAI::UpdateAI(), boss_kalecgos::boss_kalecgosAI::UpdateAI(), boss_kalec::boss_kalecAI::UpdateAI(), boss_kiljaeden::boss_kiljaedenAI::UpdateAI(), boss_entropius::boss_entropiusAI::UpdateAI(), npc_cameron::UpdateAI(), npc_supervisor_raelen::UpdateAI(), npc_eastvale_peasent::UpdateAI(), npc_partygoer_pather::UpdateAI(), npc_partygoer::UpdateAI(), npc_sentinel_leader::UpdateAI(), npc_sentinel_infiltrator::UpdateAI(), npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI::UpdateAI(), npc_varian_wrynn::npc_varian_wrynnAI::UpdateAI(), npc_jaina_proudmoore_bfu::npc_jaina_proudmoore_bfuAI::UpdateAI(), boss_blight_worm::boss_blight_wormAI::UpdateAI(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_bfuAI::UpdateAI(), npc_zulian_prowler::npc_zulian_prowlerAI::UpdateAI(), npc_coren_direbrew::UpdateAI(), npc_arthas::npc_arthasAI::UpdateAI(), npc_stillpine_capitive::npc_stillpine_capitiveAI::UpdateAI(), npc_rabid_thistle_bear::npc_rabid_thistle_bearAI::UpdateAI(), npc_tharnarian::npc_tharnarianAI::UpdateAI(), npc_tiger_matriarch::npc_tiger_matriarchAI::UpdateAI(), npc_shay_leafrunner::npc_shay_leafrunnerAI::UpdateAI(), boss_krik_thir::boss_krik_thirAI::UpdateAI(), boss_sartharion::boss_sartharionAI::UpdateAI(), npc_baltharus_the_warborn_clone::npc_baltharus_the_warborn_cloneAI::UpdateAI(), npc_xerestrasza::npc_xerestraszaAI::UpdateAI(), boss_halion::boss_halionAI::UpdateAI(), boss_twilight_halion::boss_twilight_halionAI::UpdateAI(), npc_halion_controller::npc_halion_controllerAI::UpdateAI(), boss_trollgore::boss_trollgoreAI::UpdateAI(), boss_moorabi::boss_moorabiAI::UpdateAI(), npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI::UpdateAI(), npc_kinetic_bomb::npc_kinetic_bombAI::UpdateAI(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::UpdateAI(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::UpdateAI(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::UpdateAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::UpdateAI(), npc_gunship_boarding_leader::npc_gunship_boarding_leaderAI::UpdateAI(), npc_gunship_boarding_add::npc_gunship_boarding_add_realAI::UpdateAI(), npc_spinestalker::npc_spinestalkerAI::UpdateAI(), npc_rimefang::npc_rimefangAI::UpdateAI(), npc_sindragosa_trash::npc_sindragosa_trashAI::UpdateAI(), npc_tirion_fordring_tft::npc_tirion_fordringAI::UpdateAI(), npc_shambling_horror_icc::npc_shambling_horror_iccAI::UpdateAI(), npc_raging_spirit::npc_raging_spiritAI::UpdateAI(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::UpdateAI(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::UpdateAI(), npc_terenas_menethil::npc_terenas_menethilAI::UpdateAI(), npc_spirit_warden::npc_spirit_wardenAI::UpdateAI(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::UpdateAI(), npc_the_lich_king_controller::npc_the_lich_king_controllerAI::UpdateAI(), npc_risen_archmage::npc_risen_archmageAI::UpdateAI(), npc_valithria_cloud::npc_valithria_cloudAI::UpdateAI(), npc_blazing_skeleton::npc_blazing_skeletonAI::UpdateAI(), npc_gluttonous_abomination::npc_gluttonous_abominationAI::UpdateAI(), npc_highlord_tirion_fordring_lh::npc_highlord_tirion_fordringAI::UpdateAI(), npc_rotting_frost_giant::npc_rotting_frost_giantAI::UpdateAI(), npc_frost_freeze_trap::npc_frost_freeze_trapAI::UpdateAI(), npc_crok_scourgebane::npc_crok_scourgebaneAI::UpdateAI(), npc_frostwing_vrykul::npc_frostwing_vrykulAI::UpdateAI(), npc_arthas_teleport_visual::npc_arthas_teleport_visualAI::UpdateAI(), npc_ioc_gunship_captain::npc_ioc_gunship_captainAI::UpdateAI(), npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI::UpdateAI(), boss_svala::boss_svalaAI::UpdateAI(), npc_beryl_sorcerer::npc_beryl_sorcererAI::UpdateAI(), npc_captured_beryl_sorcerer::npc_captured_beryl_sorcererAI::UpdateAI(), npc_hidden_cultist::npc_hidden_cultistAI::UpdateAI(), npc_bloodmage_laurith::npc_bloodmage_laurithAI::UpdateAI(), npc_thassarian::npc_thassarianAI::UpdateAI(), npc_thassarian2::npc_thassarian2AI::UpdateAI(), npc_counselor_talbot::npc_counselor_talbotAI::UpdateAI(), npc_shandy_dalaran::npc_shandy_dalaranAI::UpdateAI(), npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI::UpdateAI(), npc_torturer_lecraft::npc_torturer_lecraftAI::UpdateAI(), npc_amberpine_woodsman::npc_amberpine_woodsmanAI::UpdateAI(), npc_venture_co_straggler::npc_venture_co_stragglerAI::UpdateAI(), npc_lake_frog::npc_lake_frogAI::UpdateAI(), npc_crusade_recruit::npc_crusade_recruitAI::UpdateAI(), boss_illidan_stormrage::boss_illidan_stormrageAI::UpdateAI(), boss_shade_of_akama::boss_shade_of_akamaAI::UpdateAI(), npc_akama_shade::npc_akamaAI::UpdateAI(), boss_doomlord_kazzak::boss_doomlordkazzakAI::UpdateAI(), boss_doomwalker::boss_doomwalkerAI::UpdateAI(), boss_magtheridon::boss_magtheridonAI::UpdateAI(), boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI::UpdateAI(), boss_warbringer_omrogg::boss_warbringer_omroggAI::UpdateAI(), npc_millhouse_manastorm::npc_millhouse_manastormAI::UpdateAI(), boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI::UpdateAI(), boss_kaelthas::boss_kaelthasAI::UpdateAI(), npc_simon_bunny::npc_simon_bunnyAI::UpdateAI(), npc_pet_shaman_earth_elemental::UpdateAI(), npc_pet_shaman_fire_elemental::UpdateAI(), go_brewfest_music::go_brewfest_musicAI::UpdateAI(), go_pirate_day_music::go_pirate_day_musicAI::UpdateAI(), go_darkmoon_faire_music::go_darkmoon_faire_musicAI::UpdateAI(), go_midsummer_music::go_midsummer_musicAI::UpdateAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateEscortAI(), npc_magwin::npc_magwinAI::UpdateEscortAI(), and npc_onyx_flamecaller::npc_onyx_flamecallerAI::UpdateEscortAI().

Member Data Documentation

◆ _eventMap

◆ _lastEvent

uint32 EventMap::_lastEvent {0}
private

Referenced by ExecuteEvent(), and RepeatEvent().

◆ _phase

uint32 EventMap::_phase {0}
private

◆ _time