aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp10
-rw-r--r--src/server/game/Entities/Player/Player.h1
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
};