@@ -235,7 +235,15 @@ class Eluna_AllItemScript : public AllItemScript
235235class Eluna_AllMapScript : public AllMapScript
236236{
237237public:
238- Eluna_AllMapScript () : AllMapScript(" Eluna_AllMapScript" ) { }
238+ Eluna_AllMapScript () : AllMapScript(" Eluna_AllMapScript" , {
239+ ALLMAPHOOK_ON_BEFORE_CREATE_INSTANCE_SCRIPT,
240+ ALLMAPHOOK_ON_DESTROY_INSTANCE,
241+ ALLMAPHOOK_ON_CREATE_MAP,
242+ ALLMAPHOOK_ON_DESTROY_MAP,
243+ ALLMAPHOOK_ON_PLAYER_ENTER_ALL,
244+ ALLMAPHOOK_ON_PLAYER_LEAVE_ALL,
245+ ALLMAPHOOK_ON_MAP_UPDATE
246+ }) { }
239247
240248 void OnBeforeCreateInstanceScript (InstanceMap* instanceMap, InstanceScript** instanceData, bool /* load*/ , std::string /* data*/ , uint32 /* completedEncounterMask*/ ) override
241249 {
@@ -277,7 +285,12 @@ class Eluna_AllMapScript : public AllMapScript
277285class Eluna_AuctionHouseScript : public AuctionHouseScript
278286{
279287public:
280- Eluna_AuctionHouseScript () : AuctionHouseScript(" Eluna_AuctionHouseScript" ) { }
288+ Eluna_AuctionHouseScript () : AuctionHouseScript(" Eluna_AuctionHouseScript" , {
289+ AUCTIONHOUSEHOOK_ON_AUCTION_ADD,
290+ AUCTIONHOUSEHOOK_ON_AUCTION_REMOVE,
291+ AUCTIONHOUSEHOOK_ON_AUCTION_SUCCESSFUL,
292+ AUCTIONHOUSEHOOK_ON_AUCTION_EXPIRE
293+ }) { }
281294
282295 void OnAuctionAdd (AuctionHouseObject* ah, AuctionEntry* entry) override
283296 {
@@ -303,7 +316,12 @@ class Eluna_AuctionHouseScript : public AuctionHouseScript
303316class Eluna_BGScript : public BGScript
304317{
305318public:
306- Eluna_BGScript () : BGScript(" Eluna_BGScript" ) { }
319+ Eluna_BGScript () : BGScript(" Eluna_BGScript" , {
320+ ALLBATTLEGROUNDHOOK_ON_BATTLEGROUND_START,
321+ ALLBATTLEGROUNDHOOK_ON_BATTLEGROUND_END,
322+ ALLBATTLEGROUNDHOOK_ON_BATTLEGROUND_DESTROY,
323+ ALLBATTLEGROUNDHOOK_ON_BATTLEGROUND_CREATE
324+ }) { }
307325
308326 void OnBattlegroundStart (Battleground* bg) override
309327 {
@@ -329,7 +347,9 @@ class Eluna_BGScript : public BGScript
329347class Eluna_CommandSC : public CommandSC
330348{
331349public:
332- Eluna_CommandSC () : CommandSC(" Eluna_CommandSC" ) { }
350+ Eluna_CommandSC () : CommandSC(" Eluna_CommandSC" , {
351+ ALLCOMMANDHOOK_ON_TRY_EXECUTE_COMMAND
352+ }) { }
333353
334354 bool OnTryExecuteCommand (ChatHandler& handler, std::string_view cmdStr) override
335355 {
@@ -366,7 +386,10 @@ class Eluna_ElunaScript : public ElunaScript
366386class Eluna_GameEventScript : public GameEventScript
367387{
368388public:
369- Eluna_GameEventScript () : GameEventScript(" Eluna_GameEventScript" ) { }
389+ Eluna_GameEventScript () : GameEventScript(" Eluna_GameEventScript" , {
390+ GAMEEVENTHOOK_ON_START,
391+ GAMEEVENTHOOK_ON_STOP
392+ }) { }
370393
371394 void OnStart (uint16 eventID) override
372395 {
@@ -382,7 +405,14 @@ class Eluna_GameEventScript : public GameEventScript
382405class Eluna_GroupScript : public GroupScript
383406{
384407public:
385- Eluna_GroupScript () : GroupScript(" Eluna_GroupScript" ) { }
408+ Eluna_GroupScript () : GroupScript(" Eluna_GroupScript" , {
409+ GROUPHOOK_ON_ADD_MEMBER,
410+ GROUPHOOK_ON_INVITE_MEMBER,
411+ GROUPHOOK_ON_REMOVE_MEMBER,
412+ GROUPHOOK_ON_CHANGE_LEADER,
413+ GROUPHOOK_ON_DISBAND,
414+ GROUPHOOK_ON_CREATE
415+ }) { }
386416
387417 void OnAddMember (Group* group, ObjectGuid guid) override
388418 {
@@ -418,7 +448,19 @@ class Eluna_GroupScript : public GroupScript
418448class Eluna_GuildScript : public GuildScript
419449{
420450public:
421- Eluna_GuildScript () : GuildScript(" Eluna_GuildScript" ) { }
451+ Eluna_GuildScript () : GuildScript(" Eluna_GuildScript" , {
452+ GUILDHOOK_ON_ADD_MEMBER,
453+ GUILDHOOK_ON_REMOVE_MEMBER,
454+ GUILDHOOK_ON_MOTD_CHANGED,
455+ GUILDHOOK_ON_INFO_CHANGED,
456+ GUILDHOOK_ON_CREATE,
457+ GUILDHOOK_ON_DISBAND,
458+ GUILDHOOK_ON_MEMBER_WITDRAW_MONEY,
459+ GUILDHOOK_ON_MEMBER_DEPOSIT_MONEY,
460+ GUILDHOOK_ON_ITEM_MOVE,
461+ GUILDHOOK_ON_EVENT,
462+ GUILDHOOK_ON_BANK_EVENT
463+ }) { }
422464
423465 void OnAddMember (Guild* guild, Player* player, uint8& plRank) override
424466 {
@@ -480,7 +522,9 @@ class Eluna_GuildScript : public GuildScript
480522class Eluna_LootScript : public LootScript
481523{
482524public:
483- Eluna_LootScript () : LootScript(" Eluna_LootScript" ) { }
525+ Eluna_LootScript () : LootScript(" Eluna_LootScript" , {
526+ LOOTHOOK_ON_LOOT_MONEY
527+ }) { }
484528
485529 void OnLootMoney (Player* player, uint32 gold) override
486530 {
@@ -491,7 +535,9 @@ class Eluna_LootScript : public LootScript
491535class Eluna_MiscScript : public MiscScript
492536{
493537public:
494- Eluna_MiscScript () : MiscScript(" Eluna_MiscScript" ) { }
538+ Eluna_MiscScript () : MiscScript(" Eluna_MiscScript" , {
539+ MISCHOOK_GET_DIALOG_STATUS
540+ }) { }
495541
496542 void GetDialogStatus (Player* player, Object* questgiver) override
497543 {
@@ -505,7 +551,9 @@ class Eluna_MiscScript : public MiscScript
505551class Eluna_PetScript : public PetScript
506552{
507553public:
508- Eluna_PetScript () : PetScript(" Eluna_PetScript" ) { }
554+ Eluna_PetScript () : PetScript(" Eluna_PetScript" , {
555+ PETHOOK_ON_PET_ADD_TO_WORLD
556+ }) { }
509557
510558 void OnPetAddToWorld (Pet* pet) override
511559 {
@@ -516,7 +564,67 @@ class Eluna_PetScript : public PetScript
516564class Eluna_PlayerScript : public PlayerScript
517565{
518566public:
519- Eluna_PlayerScript () : PlayerScript(" Eluna_PlayerScript" ) { }
567+ Eluna_PlayerScript () : PlayerScript(" Eluna_PlayerScript" , {
568+ PLAYERHOOK_ON_PLAYER_RESURRECT,
569+ PLAYERHOOK_CAN_PLAYER_USE_CHAT,
570+ PLAYERHOOK_CAN_PLAYER_USE_PRIVATE_CHAT,
571+ PLAYERHOOK_CAN_PLAYER_USE_GROUP_CHAT,
572+ PLAYERHOOK_CAN_PLAYER_USE_GUILD_CHAT,
573+ PLAYERHOOK_CAN_PLAYER_USE_CHANNEL_CHAT,
574+ PLAYERHOOK_ON_LOOT_ITEM,
575+ PLAYERHOOK_ON_PLAYER_LEARN_TALENTS,
576+ PLAYERHOOK_CAN_USE_ITEM,
577+ PLAYERHOOK_ON_EQUIP,
578+ PLAYERHOOK_ON_PLAYER_ENTER_COMBAT,
579+ PLAYERHOOK_ON_PLAYER_LEAVE_COMBAT,
580+ PLAYERHOOK_CAN_REPOP_AT_GRAVEYARD,
581+ PLAYERHOOK_ON_QUEST_ABANDON,
582+ PLAYERHOOK_ON_MAP_CHANGED,
583+ PLAYERHOOK_ON_GOSSIP_SELECT,
584+ PLAYERHOOK_ON_GOSSIP_SELECT_CODE,
585+ PLAYERHOOK_ON_PVP_KILL,
586+ PLAYERHOOK_ON_CREATURE_KILL,
587+ PLAYERHOOK_ON_PLAYER_KILLED_BY_CREATURE,
588+ PLAYERHOOK_ON_LEVEL_CHANGED,
589+ PLAYERHOOK_ON_FREE_TALENT_POINTS_CHANGED,
590+ PLAYERHOOK_ON_TALENTS_RESET,
591+ PLAYERHOOK_ON_MONEY_CHANGED,
592+ PLAYERHOOK_ON_GIVE_EXP,
593+ PLAYERHOOK_ON_REPUTATION_CHANGE,
594+ PLAYERHOOK_ON_DUEL_REQUEST,
595+ PLAYERHOOK_ON_DUEL_START,
596+ PLAYERHOOK_ON_DUEL_END,
597+ PLAYERHOOK_ON_EMOTE,
598+ PLAYERHOOK_ON_TEXT_EMOTE,
599+ PLAYERHOOK_ON_SPELL_CAST,
600+ PLAYERHOOK_ON_LOGIN,
601+ PLAYERHOOK_ON_LOGOUT,
602+ PLAYERHOOK_ON_CREATE,
603+ PLAYERHOOK_ON_SAVE,
604+ PLAYERHOOK_ON_DELETE,
605+ PLAYERHOOK_ON_BIND_TO_INSTANCE,
606+ PLAYERHOOK_ON_UPDATE_AREA,
607+ PLAYERHOOK_ON_UPDATE_ZONE,
608+ PLAYERHOOK_ON_FIRST_LOGIN,
609+ PLAYERHOOK_ON_LEARN_SPELL,
610+ PLAYERHOOK_ON_ACHI_COMPLETE,
611+ PLAYERHOOK_ON_FFA_PVP_STATE_UPDATE,
612+ PLAYERHOOK_CAN_INIT_TRADE,
613+ PLAYERHOOK_CAN_SEND_MAIL,
614+ PLAYERHOOK_CAN_JOIN_LFG,
615+ PLAYERHOOK_ON_QUEST_REWARD_ITEM,
616+ PLAYERHOOK_ON_GROUP_ROLL_REWARD_ITEM,
617+ PLAYERHOOK_ON_CREATE_ITEM,
618+ PLAYERHOOK_ON_STORE_NEW_ITEM,
619+ PLAYERHOOK_ON_PLAYER_COMPLETE_QUEST,
620+ PLAYERHOOK_CAN_GROUP_INVITE,
621+ PLAYERHOOK_ON_BATTLEGROUND_DESERTION,
622+ PLAYERHOOK_ON_CREATURE_KILLED_BY_PET,
623+ PLAYERHOOK_ON_CAN_UPDATE_SKILL,
624+ PLAYERHOOK_ON_BEFORE_UPDATE_SKILL,
625+ PLAYERHOOK_ON_UPDATE_SKILL,
626+ PLAYERHOOK_CAN_RESURRECT
627+ }) { }
520628
521629 void OnPlayerResurrect (Player* player, float /* restore_percent*/ , bool /* applySickness*/ ) override
522630 {
@@ -837,7 +945,10 @@ class Eluna_PlayerScript : public PlayerScript
837945class Eluna_ServerScript : public ServerScript
838946{
839947public:
840- Eluna_ServerScript () : ServerScript(" Eluna_ServerScript" ) { }
948+ Eluna_ServerScript () : ServerScript(" Eluna_ServerScript" , {
949+ SERVERHOOK_CAN_PACKET_SEND,
950+ SERVERHOOK_CAN_PACKET_RECEIVE
951+ }) { }
841952
842953 bool CanPacketSend (WorldSession* session, WorldPacket& packet) override
843954 {
@@ -859,7 +970,14 @@ class Eluna_ServerScript : public ServerScript
859970class Eluna_SpellSC : public SpellSC
860971{
861972public:
862- Eluna_SpellSC () : SpellSC(" Eluna_SpellSC" ) { }
973+ Eluna_SpellSC () : SpellSC(" Eluna_SpellSC" , {
974+ ALLSPELLHOOK_ON_DUMMY_EFFECT_GAMEOBJECT,
975+ ALLSPELLHOOK_ON_DUMMY_EFFECT_CREATURE,
976+ ALLSPELLHOOK_ON_DUMMY_EFFECT_ITEM,
977+ ALLSPELLHOOK_ON_CAST_CANCEL,
978+ ALLSPELLHOOK_ON_CAST,
979+ ALLSPELLHOOK_ON_PREPARE
980+ }) { }
863981
864982 void OnDummyEffect (WorldObject* caster, uint32 spellID, SpellEffIndex effIndex, GameObject* gameObjTarget) override
865983 {
@@ -895,7 +1013,9 @@ class Eluna_SpellSC : public SpellSC
8951013class Eluna_UnitScript : public UnitScript
8961014{
8971015public:
898- Eluna_UnitScript () : UnitScript(" Eluna_UnitScript" ) { }
1016+ Eluna_UnitScript () : UnitScript(" Eluna_UnitScript" , true , {
1017+ UNITHOOK_ON_UNIT_UPDATE
1018+ }) { }
8991019
9001020 void OnUnitUpdate (Unit* unit, uint32 diff) override
9011021 {
@@ -937,7 +1057,12 @@ class Eluna_VehicleScript : public VehicleScript
9371057class Eluna_WorldObjectScript : public WorldObjectScript
9381058{
9391059public:
940- Eluna_WorldObjectScript () : WorldObjectScript(" Eluna_WorldObjectScript" ) { }
1060+ Eluna_WorldObjectScript () : WorldObjectScript(" Eluna_WorldObjectScript" , {
1061+ WORLDOBJECTHOOK_ON_WORLD_OBJECT_DESTROY,
1062+ WORLDOBJECTHOOK_ON_WORLD_OBJECT_CREATE,
1063+ WORLDOBJECTHOOK_ON_WORLD_OBJECT_SET_MAP,
1064+ WORLDOBJECTHOOK_ON_WORLD_OBJECT_UPDATE
1065+ }) { }
9411066
9421067 void OnWorldObjectDestroy (WorldObject* object) override
9431068 {
@@ -965,7 +1090,18 @@ class Eluna_WorldObjectScript : public WorldObjectScript
9651090class Eluna_WorldScript : public WorldScript
9661091{
9671092public:
968- Eluna_WorldScript () : WorldScript(" Eluna_WorldScript" ) { }
1093+ Eluna_WorldScript () : WorldScript(" Eluna_WorldScript" , {
1094+ WORLDHOOK_ON_OPEN_STATE_CHANGE,
1095+ WORLDHOOK_ON_BEFORE_CONFIG_LOAD,
1096+ WORLDHOOK_ON_AFTER_CONFIG_LOAD,
1097+ WORLDHOOK_ON_SHUTDOWN_INITIATE,
1098+ WORLDHOOK_ON_SHUTDOWN_CANCEL,
1099+ WORLDHOOK_ON_UPDATE,
1100+ WORLDHOOK_ON_STARTUP,
1101+ WORLDHOOK_ON_SHUTDOWN,
1102+ WORLDHOOK_ON_AFTER_UNLOAD_ALL_MAPS,
1103+ WORLDHOOK_ON_BEFORE_WORLD_INITIALIZED
1104+ }) { }
9691105
9701106 void OnOpenStateChange (bool open) override
9711107 {
@@ -1031,7 +1167,12 @@ class Eluna_WorldScript : public WorldScript
10311167class Eluna_TicketScript : public TicketScript
10321168{
10331169public:
1034- Eluna_TicketScript () : TicketScript(" Eluna_TicketScript" ) { }
1170+ Eluna_TicketScript () : TicketScript(" Eluna_TicketScript" , {
1171+ TICKETHOOK_ON_TICKET_CREATE,
1172+ TICKETHOOK_ON_TICKET_UPDATE_LAST_CHANGE,
1173+ TICKETHOOK_ON_TICKET_CLOSE,
1174+ TICKETHOOK_ON_TICKET_RESOLVE
1175+ }) { }
10351176
10361177 void OnTicketCreate (GmTicket* ticket) override
10371178 {
0 commit comments