mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 16:37:01 +00:00
[8071] Restore work .modify tp command. Allow apply it to selected character's pet.
This commit is contained in:
parent
7175007aba
commit
f34ce077c0
5 changed files with 42 additions and 12 deletions
|
|
@ -1040,23 +1040,44 @@ bool ChatHandler::HandleModifyTalentCommand (const char* args)
|
|||
return false;
|
||||
|
||||
int tp = atoi((char*)args);
|
||||
if (tp>0)
|
||||
if (tp < 0)
|
||||
return false;
|
||||
|
||||
Unit* target = getSelectedUnit();
|
||||
if(!target)
|
||||
{
|
||||
Player* player = getSelectedPlayer();
|
||||
if(!player)
|
||||
{
|
||||
SendSysMessage(LANG_NO_CHAR_SELECTED);
|
||||
SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
SendSysMessage(LANG_NO_CHAR_SELECTED);
|
||||
SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(target->GetTypeId()==TYPEID_PLAYER)
|
||||
{
|
||||
// check online security
|
||||
if (HasLowerSecurity(player, 0))
|
||||
if (HasLowerSecurity((Player*)target, 0))
|
||||
return false;
|
||||
|
||||
player->SetFreeTalentPoints(tp);
|
||||
((Player*)target)->SetFreeTalentPoints(tp);
|
||||
((Player*)target)->SendTalentsInfoData(false);
|
||||
return true;
|
||||
}
|
||||
else if(((Creature*)target)->isPet())
|
||||
{
|
||||
Unit *owner = target->GetOwner();
|
||||
if(owner && owner->GetTypeId() == TYPEID_PLAYER && ((Pet *)target)->IsPermanentPetFor((Player*)owner))
|
||||
{
|
||||
// check online security
|
||||
if (HasLowerSecurity((Player*)owner, 0))
|
||||
return false;
|
||||
|
||||
((Pet *)target)->SetFreeTalentPoints(tp);
|
||||
((Player*)owner)->SendTalentsInfoData(true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
SendSysMessage(LANG_NO_CHAR_SELECTED);
|
||||
SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue