diff options
author | Meji <alvaro.megias@outlook.com> | 2022-09-17 23:54:43 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-09-18 23:52:17 +0200 |
commit | e15898bf560fc8159777a2a29a29d6a91ffdb590 (patch) | |
tree | e31bf3f89b4d6809da3b5693645af5b84ed6e5fc /src | |
parent | cbf2064c62137d9f0c0397956592f3ab9700480c (diff) |
Core/Player: Allow companion action buttons to be saved
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 10 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index e38e45e80a8..9103ac5561b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -6054,6 +6054,16 @@ bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type) co return false; } break; + case ACTION_BUTTON_COMPANION: + { + if (!GetSession()->GetBattlePetMgr()->GetPet(ObjectGuid::Create<HighGuid::BattlePet>(action))) + { + TC_LOG_ERROR("entities.player", "Player::IsActionButtonDataValid: Companion action %u not added into button %u for player %s (%s): companion does not exist", + action, button, GetName().c_str(), GetGUID().ToString().c_str()); + return false; + } + break; + } case ACTION_BUTTON_MOUNT: { auto mount = sDB2Manager.GetMountById(action); diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index d1b716bba3f..f3b6e250726 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -312,6 +312,7 @@ enum ActionButtonType ACTION_BUTTON_DROPDOWN = 0x30, ACTION_BUTTON_MACRO = 0x40, ACTION_BUTTON_CMACRO = ACTION_BUTTON_C | ACTION_BUTTON_MACRO, + ACTION_BUTTON_COMPANION = 0x50, ACTION_BUTTON_MOUNT = 0x60, ACTION_BUTTON_ITEM = 0x80 }; |