Scripts/Commands: mod xp command

Closes #13476
This commit is contained in:
Heihachi authored and DDuarte committed 2014-11-11 00:45:30 +00:00
1 parent fd0b961781
commit 3e03e546d3
5 files changed
+51 -4

No files matched your search

+32
View File
@@ -70,6 +70,7 @@ public:
{ "spell", rbac::RBAC_PERM_COMMAND_MODIFY_SPELL, false, &HandleModifySpellCommand, "", NULL },
{ "standstate", rbac::RBAC_PERM_COMMAND_MODIFY_STANDSTATE, false, &HandleModifyStandStateCommand, "", NULL },
{ "talentpoints", rbac::RBAC_PERM_COMMAND_MODIFY_TALENTPOINTS, false, &HandleModifyTalentCommand, "", NULL },
{ "xp", rbac::RBAC_PERM_COMMAND_MODIFY_XP, false, &HandleModifyXPCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
};
static ChatCommand commandTable[] =
@@ -1393,6 +1394,37 @@ public:
return true;
}
// mod xp command
static bool HandleModifyXPCommand(ChatHandler *handler, const char* args)
{
if (!*args)
return false;
int32 xp = atoi((char*)args);
if (xp < 1)
{
handler->SendSysMessage(LANG_BAD_VALUE);
handler->SetSentErrorMessage(true);
return false;
}
Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
handler->SetSentErrorMessage(true);
return false;
}
if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
// we can run the command
target->GiveXP(xp, nullptr);
return true;
}
};
void AddSC_modify_commandscript()