From 97fc546c4bf5d438b4886cae2d261d9ca3d3a996 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A9=E9=B9=BF?= <18535853+PkllonG@users.noreply.github.com> Date: Fri, 12 Apr 2024 21:50:44 +0800 Subject: [PATCH] refactor(Core/Scripts): Optimize Script (#18708) * Add files via upload * Update PlayerScript.h --- .../Scripting/ScriptDefines/AccountScript.cpp | 2 +- .../Scripting/ScriptDefines/ArenaScript.cpp | 2 +- .../ScriptDefines/ArenaTeamScript.cpp | 2 +- .../ScriptDefines/AuctionHouseScript.cpp | 2 +- .../ScriptDefines/MovementHandlerScript.cpp | 2 +- .../Scripting/ScriptDefines/PlayerScript.cpp | 33 ++++++++----------- .../Scripting/ScriptDefines/PlayerScript.h | 4 ++- 7 files changed, 21 insertions(+), 26 deletions(-) diff --git a/src/server/game/Scripting/ScriptDefines/AccountScript.cpp b/src/server/game/Scripting/ScriptDefines/AccountScript.cpp index 0858d8b4a..2749cd1a7 100644 --- a/src/server/game/Scripting/ScriptDefines/AccountScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/AccountScript.cpp @@ -69,7 +69,7 @@ AccountScript::AccountScript(char const* name, std::vector enabledHooks) { // If empty - enable all available hooks. if (enabledHooks.empty()) - for (uint16 i = 0; i < ACCOUNTHOOK_END; i++) + for (uint16 i = 0; i < ACCOUNTHOOK_END; ++i) enabledHooks.emplace_back(i); ScriptRegistry::AddScript(this, std::move(enabledHooks)); diff --git a/src/server/game/Scripting/ScriptDefines/ArenaScript.cpp b/src/server/game/Scripting/ScriptDefines/ArenaScript.cpp index 96e0c7a16..fd3a8dcdf 100644 --- a/src/server/game/Scripting/ScriptDefines/ArenaScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/ArenaScript.cpp @@ -39,7 +39,7 @@ ArenaScript::ArenaScript(const char* name, std::vector enabledHooks) { // If empty - enable all available hooks. if (enabledHooks.empty()) - for (uint16 i = 0; i < ARENAHOOK_END; i++) + for (uint16 i = 0; i < ARENAHOOK_END; ++i) enabledHooks.emplace_back(i); ScriptRegistry::AddScript(this, std::move(enabledHooks)); diff --git a/src/server/game/Scripting/ScriptDefines/ArenaTeamScript.cpp b/src/server/game/Scripting/ScriptDefines/ArenaTeamScript.cpp index 8abad7dd5..e232e646a 100644 --- a/src/server/game/Scripting/ScriptDefines/ArenaTeamScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/ArenaTeamScript.cpp @@ -49,7 +49,7 @@ ArenaTeamScript::ArenaTeamScript(const char* name, std::vector enabledHo { // If empty - enable all available hooks. if (enabledHooks.empty()) - for (uint16 i = 0; i < ARENATEAMHOOK_END; i++) + for (uint16 i = 0; i < ARENATEAMHOOK_END; ++i) enabledHooks.emplace_back(i); ScriptRegistry::AddScript(this, std::move(enabledHooks)); diff --git a/src/server/game/Scripting/ScriptDefines/AuctionHouseScript.cpp b/src/server/game/Scripting/ScriptDefines/AuctionHouseScript.cpp index 8247c28fd..be3e010cf 100644 --- a/src/server/game/Scripting/ScriptDefines/AuctionHouseScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/AuctionHouseScript.cpp @@ -91,7 +91,7 @@ AuctionHouseScript::AuctionHouseScript(const char* name, std::vector ena { // If empty - enable all available hooks. if (enabledHooks.empty()) - for (uint16 i = 0; i < AUCTIONHOUSEHOOK_END; i++) + for (uint16 i = 0; i < AUCTIONHOUSEHOOK_END; ++i) enabledHooks.emplace_back(i); ScriptRegistry::AddScript(this, std::move(enabledHooks)); diff --git a/src/server/game/Scripting/ScriptDefines/MovementHandlerScript.cpp b/src/server/game/Scripting/ScriptDefines/MovementHandlerScript.cpp index c10f04014..a0fa539b9 100644 --- a/src/server/game/Scripting/ScriptDefines/MovementHandlerScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/MovementHandlerScript.cpp @@ -29,7 +29,7 @@ MovementHandlerScript::MovementHandlerScript(const char* name, std::vector::AddScript(this, std::move(enabledHooks)); diff --git a/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp b/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp index 53e79fd39..948a0dc58 100644 --- a/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp @@ -41,9 +41,7 @@ void ScriptMgr::OnPlayerCompleteQuest(Player* player, Quest const* quest) void ScriptMgr::OnSendInitialPacketsBeforeAddToMap(Player* player, WorldPacket& data) { - CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_SEND_INITIAL_PACKETS_BEFORE_ADD_TO_MAP, { - script->OnSendInitialPacketsBeforeAddToMap(player, data); - }); + CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_SEND_INITIAL_PACKETS_BEFORE_ADD_TO_MAP, script->OnSendInitialPacketsBeforeAddToMap(player, data)); } void ScriptMgr::OnBattlegroundDesertion(Player* player, BattlegroundDesertionType const desertionType) @@ -73,17 +71,17 @@ void ScriptMgr::OnPVPKill(Player* killer, Player* killed) void ScriptMgr::OnPlayerPVPFlagChange(Player* player, bool state) { - CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_PLAYER_PVP_FLAG_CHANGE,script->OnPlayerPVPFlagChange(player, state)); + CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_PLAYER_PVP_FLAG_CHANGE, script->OnPlayerPVPFlagChange(player, state)); } void ScriptMgr::OnCreatureKill(Player* killer, Creature* killed) { - CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_CREATURE_KILL,script->OnCreatureKill(killer, killed)); + CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_CREATURE_KILL, script->OnCreatureKill(killer, killed)); } void ScriptMgr::OnCreatureKilledByPet(Player* petOwner, Creature* killed) { - CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_CREATURE_KILLED_BY_PET,script->OnCreatureKilledByPet(petOwner, killed)); + CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_CREATURE_KILLED_BY_PET, script->OnCreatureKilledByPet(petOwner, killed)); } void ScriptMgr::OnPlayerKilledByCreature(Creature* killer, Player* killed) @@ -198,11 +196,7 @@ void ScriptMgr::OnPlayerEmote(Player* player, uint32 emote) void ScriptMgr::OnPlayerTextEmote(Player* player, uint32 textEmote, uint32 emoteNum, ObjectGuid guid) { - CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_TEXT_EMOTE, - ( - script->OnTextEmote(player, textEmote, emoteNum, guid) - ) - ); + CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_TEXT_EMOTE, script->OnTextEmote(player, textEmote, emoteNum, guid)); } void ScriptMgr::OnPlayerSpellCast(Player* player, Spell* spell, bool skipCheck) @@ -605,11 +599,13 @@ bool ScriptMgr::OnPlayerHasActivePowerType(Player const* player, Powers power) CALL_ENABLED_BOOLEAN_HOOKS(PlayerScript, PLAYERHOOK_ON_PLAYER_HAS_ACTIVE_POWER_TYPE, !script->OnPlayerHasActivePowerType(player, power)); } -void ScriptMgr::OnUpdateGatheringSkill(Player *player, uint32 skillId, uint32 currentLevel, uint32 gray, uint32 green, uint32 yellow, uint32 &gain) { +void ScriptMgr::OnUpdateGatheringSkill(Player *player, uint32 skillId, uint32 currentLevel, uint32 gray, uint32 green, uint32 yellow, uint32 &gain) +{ CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_UPDATE_GATHERING_SKILL, script->OnUpdateGatheringSkill(player, skillId, currentLevel, gray, green, yellow, gain)); } -void ScriptMgr::OnUpdateCraftingSkill(Player *player, SkillLineAbilityEntry const* skill, uint32 currentLevel, uint32& gain) { +void ScriptMgr::OnUpdateCraftingSkill(Player *player, SkillLineAbilityEntry const* skill, uint32 currentLevel, uint32& gain) +{ CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_UPDATE_CRAFTING_SKILL, script->OnUpdateCraftingSkill(player, skill, currentLevel, gain)); } @@ -755,16 +751,12 @@ void ScriptMgr::OnFfaPvpStateUpdate(Player* player, bool result) void ScriptMgr::OnIsPvP(Player* player, bool& result) { - CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_IS_PVP, { - script->OnIsPvP(player, result); - }); + CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_IS_PVP, script->OnIsPvP(player, result)); } void ScriptMgr::OnGetMaxSkillValueForLevel(Player* player, uint16& result) { - CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_GET_MAX_SKILL_VALUE_FOR_LEVEL, { - script->OnGetMaxSkillValueForLevel(player, result); - }); + CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_GET_MAX_SKILL_VALUE_FOR_LEVEL, script->OnGetMaxSkillValueForLevel(player, result)); } bool ScriptMgr::NotSetArenaTeamInfoField(Player* player, uint8 slot, ArenaTeamInfoType type, uint32 value) @@ -882,6 +874,7 @@ void ScriptMgr::AnticheatUpdateMovementInfo(Player* player, MovementInfo const& { CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ANTICHEAT_UPDATE_MOVEMENT_INFO, script->AnticheatUpdateMovementInfo(player, movementInfo)); } + bool ScriptMgr::AnticheatHandleDoubleJump(Player* player, Unit* mover) { CALL_ENABLED_BOOLEAN_HOOKS(PlayerScript, PLAYERHOOK_ANTICHEAT_HANDLE_DOUBLE_JUMP, !script->AnticheatHandleDoubleJump(player, mover)); @@ -897,7 +890,7 @@ PlayerScript::PlayerScript(const char* name, std::vector enabledHooks) { // If empty - enable all available hooks. if (enabledHooks.empty()) - for (uint16 i = 0; i < PLAYERHOOK_END; i++) + for (uint16 i = 0; i < PLAYERHOOK_END; ++i) enabledHooks.emplace_back(i); ScriptRegistry::AddScript(this, std::move(enabledHooks)); diff --git a/src/server/game/Scripting/ScriptDefines/PlayerScript.h b/src/server/game/Scripting/ScriptDefines/PlayerScript.h index a834e82a1..4ef3cd4ba 100644 --- a/src/server/game/Scripting/ScriptDefines/PlayerScript.h +++ b/src/server/game/Scripting/ScriptDefines/PlayerScript.h @@ -19,12 +19,14 @@ #define SCRIPT_OBJECT_PLAYER_SCRIPT_H_ #include "ScriptObject.h" +#include // TODO to remove #include "AchievementMgr.h" #include "KillRewarder.h" -enum PlayerHook { +enum PlayerHook +{ PLAYERHOOK_ON_PLAYER_JUST_DIED, PLAYERHOOK_ON_PLAYER_RELEASED_GHOST, PLAYERHOOK_ON_SEND_INITIAL_PACKETS_BEFORE_ADD_TO_MAP,