AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
go_midsummer_music::go_midsummer_musicAI Struct Reference
Inheritance diagram for go_midsummer_music::go_midsummer_musicAI:
GameObjectAI

Public Member Functions

 go_midsummer_musicAI (GameObject *go)
 
void UpdateAI (uint32 diff) override
 
- Public Member Functions inherited from GameObjectAI
 GameObjectAI (GameObject *go)
 
virtual ~GameObjectAI ()
 
virtual void InitializeAI ()
 
virtual void Reset ()
 
virtual void DoAction (int32)
 
virtual void SetGUID (ObjectGuid const &, int32)
 
virtual ObjectGuid GetGUID (int32) const
 
virtual bool GossipHello (Player *, bool)
 
virtual bool GossipSelect (Player *, uint32, uint32)
 
virtual bool GossipSelectCode (Player *, uint32, uint32, char const *)
 
virtual bool QuestAccept (Player *, Quest const *)
 
virtual bool QuestReward (Player *, Quest const *, uint32)
 
virtual uint32 GetDialogStatus (Player *)
 
virtual void Destroyed (Player *, uint32)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void OnGameEvent (bool, uint16)
 
virtual void OnStateChanged (uint32, Unit *)
 
virtual void EventInform (uint32)
 
virtual void SpellHit (Unit *, SpellInfo const *)
 
virtual bool CanBeSeen (Player const *)
 
virtual void JustSummoned (Creature *)
 
virtual void SummonedCreatureDespawn (Creature *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void SummonedCreatureEvade (Creature *)
 

Private Attributes

EventMap _events
 

Additional Inherited Members

- Static Public Member Functions inherited from GameObjectAI
static int32 Permissible (GameObject const *go)
 
- Protected Attributes inherited from GameObjectAI
GameObject *const me
 

Detailed Description

Constructor & Destructor Documentation

◆ go_midsummer_musicAI()

go_midsummer_music::go_midsummer_musicAI::go_midsummer_musicAI ( GameObject go)
inline
784 : GameObjectAI(go)
785 {
787 }
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
Definition EventMap.cpp:48
Definition GameObjectAI.h:33
@ EVENT_MM_START_MUSIC
Definition go_scripts.cpp:774
EventMap _events
Definition go_scripts.cpp:826

References _events, EVENT_MM_START_MUSIC, and EventMap::ScheduleEvent().

Member Function Documentation

◆ UpdateAI()

void go_midsummer_music::go_midsummer_musicAI::UpdateAI ( uint32  diff)
inlineoverridevirtual

Reimplemented from GameObjectAI.

790 {
791 _events.Update(diff);
792 while (uint32 eventId = _events.ExecuteEvent())
793 {
794 switch (eventId)
795 {
797 {
799 break;
800
801 std::list<Player*> targets;
805 for (Player* player : targets)
806 {
807 if (player->GetTeamId() == TEAM_HORDE)
808 {
810 }
811 else
812 {
814 }
815 }
816
817 _events.ScheduleEvent(EVENT_MM_START_MUSIC, 5s); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value)
818 break;
819 }
820 default:
821 break;
822 }
823 }
824 }
std::uint32_t uint32
Definition Define.h:107
bool IsHolidayActive(HolidayIds id)
Definition GameEventMgr.cpp:1950
@ TEAM_HORDE
Definition SharedDefines.h:772
@ HOLIDAY_FIRE_FESTIVAL
Definition SharedDefines.h:3006
Definition GridNotifiers.h:1348
void Update(uint32 time)
Definition EventMap.h:67
EventId ExecuteEvent()
Definition EventMap.cpp:86
GameObject *const me
Definition GameObjectAI.h:35
Definition Player.h:1071
void PlayDirectMusic(uint32 music_id, Player *target=nullptr)
Definition Object.cpp:2920
float GetVisibilityRange() const
Definition Object.cpp:1671
@ EVENTMIDSUMMERFIREFESTIVAL_A
Definition go_scripts.cpp:768
@ EVENTMIDSUMMERFIREFESTIVAL_H
Definition go_scripts.cpp:769
Definition GridNotifiers.h:532
static void VisitObjects(WorldObject const *obj, T &visitor, float radius)
Definition CellImpl.h:165

References _events, EVENT_MM_START_MUSIC, EVENTMIDSUMMERFIREFESTIVAL_A, EVENTMIDSUMMERFIREFESTIVAL_H, EventMap::ExecuteEvent(), WorldObject::GetVisibilityRange(), HOLIDAY_FIRE_FESTIVAL, IsHolidayActive(), GameObjectAI::me, WorldObject::PlayDirectMusic(), EventMap::ScheduleEvent(), TEAM_HORDE, EventMap::Update(), and Cell::VisitObjects().

Member Data Documentation

◆ _events

EventMap go_midsummer_music::go_midsummer_musicAI::_events
private

Referenced by go_midsummer_musicAI(), and UpdateAI().


The documentation for this struct was generated from the following file: