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

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 UpdateAI (uint32)
virtual void InitializeAI ()
virtual void Reset ()
virtual void DoAction (int32)
virtual void SetGUID (ObjectGuid, 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 *)

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)
783 : GameObjectAI(go)
784 {
786 }
Definition: go_scripts.cpp:773
void ScheduleEvent(uint32 eventId, uint32 time, uint32 group=0, uint32 phase=0)
Definition: EventMap.cpp:56
Definition: GameObjectAI.h:34
EventMap _events
Definition: go_scripts.cpp:825

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

Member Function Documentation

◆ UpdateAI()

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

Reimplemented from GameObjectAI.

789 {
790 _events.Update(diff);
791 while (uint32 eventId = _events.ExecuteEvent())
792 {
793 switch (eventId)
794 {
796 {
798 break;
800 std::list<Player*> targets;
804 for (Player* player : targets)
805 {
806 if (player->GetTeamId() == TEAM_HORDE)
807 {
809 }
810 else
811 {
813 }
814 }
816 _events.ScheduleEvent(EVENT_MM_START_MUSIC, 5000); // Every 5 second's SMSG_PLAY_MUSIC packet (PlayDirectMusic) is pushed to the client (sniffed value)
817 break;
818 }
819 default:
820 break;
821 }
822 }
823 }
std::uint32_t uint32
Definition: Define.h:108
bool IsHolidayActive(HolidayIds id)
Definition: GameEventMgr.cpp:1909
Definition: go_scripts.cpp:767
Definition: go_scripts.cpp:768
Definition: SharedDefines.h:761
Definition: SharedDefines.h:2756
uint32 ExecuteEvent()
Definition: EventMap.cpp:114
void Update(uint32 time)
Definition: EventMap.h:54
GameObject *const me
Definition: GameObjectAI.h:36
void PlayDirectMusic(uint32 music_id, Player *target=nullptr)
Definition: Object.cpp:2886
float GetVisibilityRange() const
Definition: Object.cpp:1645
Definition: Player.h:1056
static void VisitWorldObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
Definition: CellImpl.h:193
Definition: GridNotifiers.h:538
Definition: GridNotifiers.h:1350

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::VisitWorldObjects().

Member Data Documentation

◆ _events

EventMap go_midsummer_music::go_midsummer_musicAI::_events

Referenced by go_midsummer_musicAI(), and UpdateAI().