From 73419eeb67419e40e7e9495d7b23a8c182eb270d Mon Sep 17 00:00:00 2001 From: Ludwig Date: Wed, 26 Feb 2025 21:15:31 +0100 Subject: [PATCH 1/2] fix build and add enabled hooks list for performance improvement --- src/random_enchants.h | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/random_enchants.h b/src/random_enchants.h index ab12089..1a11691 100644 --- a/src/random_enchants.h +++ b/src/random_enchants.h @@ -23,13 +23,19 @@ void rollPossibleEnchant(Player* player, Item* item); class RandomEnchantsPlayer : public PlayerScript { public: - RandomEnchantsPlayer() : PlayerScript("RandomEnchantsPlayer") { } + RandomEnchantsPlayer() : PlayerScript("RandomEnchantsPlayer", { + PLAYERHOOK_ON_LOGIN, + PLAYERHOOK_ON_LOOT_ITEM, + PLAYERHOOK_ON_CREATE_ITEM, + PLAYERHOOK_ON_QUEST_REWARD_ITEM, + PLAYERHOOK_ON_GROUP_ROLL_REWARD_ITEM + }) { } - void OnLogin(Player* player) override; - void OnLootItem(Player* player, Item* item, uint32 /*count*/, ObjectGuid /*lootguid*/) override; - void OnCreateItem(Player* player, Item* item, uint32 /*count*/) override; - void OnQuestRewardItem(Player* player, Item* item, uint32 /*count*/) override; - void OnGroupRollRewardItem(Player* player, Item* item, uint32 /*count*/, RollVote /*voteType*/, Roll* /*roll*/) override; + void OnPlayerLogin(Player* player) override; + void OnPlayerLootItem(Player* player, Item* item, uint32 /*count*/, ObjectGuid /*lootguid*/) override; + void OnPlayerCreateItem(Player* player, Item* item, uint32 /*count*/) override; + void OnPlayerQuestRewardItem(Player* player, Item* item, uint32 /*count*/) override; + void OnPlayerGroupRollRewardItem(Player* player, Item* item, uint32 /*count*/, RollVote /*voteType*/, Roll* /*roll*/) override; }; void AddRandomEnchantsScripts() From 5817443747c863c65c02e9bbc020385fcc432575 Mon Sep 17 00:00:00 2001 From: Ludwig Date: Wed, 26 Feb 2025 22:05:57 +0100 Subject: [PATCH 2/2] also fix hook names in cpp file --- src/random_enchants.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/random_enchants.cpp b/src/random_enchants.cpp index 2afb1c1..39b9099 100644 --- a/src/random_enchants.cpp +++ b/src/random_enchants.cpp @@ -4,9 +4,7 @@ void rollPossibleEnchant(Player* player, Item* item) { // Check global enable option if (!sConfigMgr->GetOption("RandomEnchants.Enable", true)) - { return; - } uint32 itemQuality = item->GetTemplate()->Quality; uint32 itemClass = item->GetTemplate()->Class; @@ -14,9 +12,7 @@ void rollPossibleEnchant(Player* player, Item* item) /* eliminates enchanting anything that isn't a recognized quality */ /* eliminates enchanting anything but weapons/armor */ if ((itemQuality > 5 || itemQuality < 1) || (itemClass != 2 && itemClass != 4)) - { return; - } int slotRand[3] = { -1, -1, -1 }; uint32 slotEnch[3] = { 0, 1, 5 }; @@ -128,31 +124,31 @@ uint32 getRandEnchantment(Item* item) return result->Fetch()[0].Get(); } -void RandomEnchantsPlayer::OnLogin(Player* player) +void RandomEnchantsPlayer::OnPlayerLogin(Player* player) { if (sConfigMgr->GetOption("RandomEnchants.AnnounceOnLogin", true) && (sConfigMgr->GetOption("RandomEnchants.Enable", true))) ChatHandler(player->GetSession()).SendSysMessage(sConfigMgr->GetOption("RandomEnchants.OnLoginMessage", "This server is running a RandomEnchants Module.").c_str()); } -void RandomEnchantsPlayer::OnLootItem(Player* player, Item* item, uint32 /*count*/, ObjectGuid /*lootguid*/) +void RandomEnchantsPlayer::OnPlayerLootItem(Player* player, Item* item, uint32 /*count*/, ObjectGuid /*lootguid*/) { if (sConfigMgr->GetOption("RandomEnchants.OnLoot", true) && sConfigMgr->GetOption("RandomEnchants.Enable", true)) rollPossibleEnchant(player, item); } -void RandomEnchantsPlayer::OnCreateItem(Player* player, Item* item, uint32 /*count*/) +void RandomEnchantsPlayer::OnPlayerCreateItem(Player* player, Item* item, uint32 /*count*/) { if (sConfigMgr->GetOption("RandomEnchants.OnCreate", true) && (sConfigMgr->GetOption("RandomEnchants.Enable", true))) rollPossibleEnchant(player, item); } -void RandomEnchantsPlayer::OnQuestRewardItem(Player* player, Item* item, uint32 /*count*/) +void RandomEnchantsPlayer::OnPlayerQuestRewardItem(Player* player, Item* item, uint32 /*count*/) { if (sConfigMgr->GetOption("RandomEnchants.OnQuestReward", true) && (sConfigMgr->GetOption("RandomEnchants.Enable", true))) rollPossibleEnchant(player, item); } -void RandomEnchantsPlayer::OnGroupRollRewardItem(Player* player, Item* item, uint32 /*count*/, RollVote /*voteType*/, Roll* /*roll*/) +void RandomEnchantsPlayer::OnPlayerGroupRollRewardItem(Player* player, Item* item, uint32 /*count*/, RollVote /*voteType*/, Roll* /*roll*/) { if (sConfigMgr->GetOption("RandomEnchants.OnGroupRoll", true) && (sConfigMgr->GetOption("RandomEnchants.Enable", true))) rollPossibleEnchant(player, item);