aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-07-16 11:15:23 +0200
committerShauren <shauren.trinity@gmail.com>2016-07-16 14:14:43 +0200
commite2d6c362f2c80346c464f053ad20b773f9e31863 (patch)
tree862d116ccdd81462621bb495c4a2cddd63fe39c0 /src
parent030c0b21b721cdcbef12a09cc627adef3333b84f (diff)
Core/Commands: Allow .cooldown command to work on player pets
(cherry picked from commit 9509aac38b29cf47ee2ea99e41e73b82b22cff7a) (cherry picked from commit 86a594a4dd9b37d7a8428e2c54acd78836e9474d)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index 5d1e26c0ee5..5ce891a0105 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -723,7 +723,7 @@ public:
static bool HandleCooldownCommand(ChatHandler* handler, char const* args)
{
- Player* target = handler->getSelectedPlayerOrSelf();
+ Unit* target = handler->getSelectedUnit();
if (!target)
{
handler->SendSysMessage(LANG_PLAYER_NOT_FOUND);
@@ -731,7 +731,14 @@ public:
return false;
}
- std::string nameLink = handler->GetNameLink(target);
+ Player* owner = target->GetCharmerOrOwnerPlayerOrPlayerItself();
+ if (!owner)
+ {
+ owner = handler->GetSession()->GetPlayer();
+ target = owner;
+ }
+
+ std::string nameLink = handler->GetNameLink(owner);
if (!*args)
{
@@ -749,14 +756,14 @@ public:
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellIid);
if (!spellInfo)
{
- handler->PSendSysMessage(LANG_UNKNOWN_SPELL, target == handler->GetSession()->GetPlayer() ? handler->GetTrinityString(LANG_YOU) : nameLink.c_str());
+ handler->PSendSysMessage(LANG_UNKNOWN_SPELL, owner == handler->GetSession()->GetPlayer() ? handler->GetTrinityString(LANG_YOU) : nameLink.c_str());
handler->SetSentErrorMessage(true);
return false;
}
target->GetSpellHistory()->ResetCooldown(spellIid, true);
target->GetSpellHistory()->ResetCharges(spellInfo->ChargeCategoryEntry);
- handler->PSendSysMessage(LANG_REMOVE_COOLDOWN, spellIid, target == handler->GetSession()->GetPlayer() ? handler->GetTrinityString(LANG_YOU) : nameLink.c_str());
+ handler->PSendSysMessage(LANG_REMOVE_COOLDOWN, spellIid, owner == handler->GetSession()->GetPlayer() ? handler->GetTrinityString(LANG_YOU) : nameLink.c_str());
}
return true;
}