mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-03-09 10:40:28 +00:00
feat(Core/Commands): add honor and arena point reset to .reset all … (#24978)
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -502,6 +502,8 @@ void CharacterDatabaseConnection::DoPrepareStatements()
|
||||
PrepareStatement(CHAR_UDP_CHAR_HONOR_POINTS_ACCUMULATIVE, "UPDATE characters SET totalHonorPoints = totalHonorPoints + ? WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_UDP_CHAR_ARENA_POINTS, "UPDATE characters SET arenaPoints = ? WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_UDP_CHAR_ARENA_POINTS_ACCUMULATIVE, "UPDATE characters SET arenaPoints = arenaPoints + ? WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_UPD_ALL_HONOR_POINTS, "UPDATE characters SET totalHonorPoints = 0", CONNECTION_SYNCH);
|
||||
PrepareStatement(CHAR_UPD_ALL_ARENA_POINTS, "UPDATE characters SET arenaPoints = 0", CONNECTION_SYNCH);
|
||||
PrepareStatement(CHAR_UDP_CHAR_MONEY, "UPDATE characters SET money = ? WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_UDP_CHAR_MONEY_ACCUMULATIVE, "UPDATE characters SET money = money + ? WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_UPD_CHAR_REMOVE_GHOST, "UPDATE characters SET playerFlags = (playerFlags & (~16)) WHERE guid = ?", CONNECTION_ASYNC);
|
||||
|
||||
@@ -426,6 +426,8 @@ enum CharacterDatabaseStatements : uint32
|
||||
CHAR_UDP_CHAR_HONOR_POINTS_ACCUMULATIVE,
|
||||
CHAR_UDP_CHAR_ARENA_POINTS,
|
||||
CHAR_UDP_CHAR_ARENA_POINTS_ACCUMULATIVE,
|
||||
CHAR_UPD_ALL_HONOR_POINTS,
|
||||
CHAR_UPD_ALL_ARENA_POINTS,
|
||||
CHAR_UDP_CHAR_MONEY,
|
||||
CHAR_UDP_CHAR_MONEY_ACCUMULATIVE,
|
||||
CHAR_UPD_CHAR_REMOVE_GHOST, // pussywizard
|
||||
|
||||
@@ -1192,7 +1192,9 @@ enum AcoreStrings
|
||||
LANG_BF_ENABLED = 5116,
|
||||
LANG_BF_DISABLED = 5117,
|
||||
|
||||
// Room for more strings 5118-9999
|
||||
LANG_RESETALL_HONOR = 5118,
|
||||
LANG_RESETALL_ARENA = 5119,
|
||||
// Room for more strings 5120-9999
|
||||
|
||||
// Level requirement notifications
|
||||
LANG_SAY_REQ = 6604,
|
||||
|
||||
@@ -286,6 +286,34 @@ public:
|
||||
if (!handler->GetSession())
|
||||
handler->SendSysMessage(LANG_RESETALL_TALENTS);
|
||||
}
|
||||
else if (caseName == "honor")
|
||||
{
|
||||
CharacterDatabase.Execute(CharacterDatabase.GetPreparedStatement(CHAR_UPD_ALL_HONOR_POINTS));
|
||||
|
||||
sWorldSessionMgr->DoForAllOnlinePlayers([](Player* player)
|
||||
{
|
||||
player->SetHonorPoints(0);
|
||||
});
|
||||
|
||||
handler->SendWorldText(LANG_RESETALL_HONOR);
|
||||
if (!handler->GetSession())
|
||||
handler->SendSysMessage(LANG_RESETALL_HONOR);
|
||||
return true;
|
||||
}
|
||||
else if (caseName == "arena")
|
||||
{
|
||||
CharacterDatabase.Execute(CharacterDatabase.GetPreparedStatement(CHAR_UPD_ALL_ARENA_POINTS));
|
||||
|
||||
sWorldSessionMgr->DoForAllOnlinePlayers([](Player* player)
|
||||
{
|
||||
player->SetArenaPoints(0);
|
||||
});
|
||||
|
||||
handler->SendWorldText(LANG_RESETALL_ARENA);
|
||||
if (!handler->GetSession())
|
||||
handler->SendSysMessage(LANG_RESETALL_ARENA);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
handler->SendErrorMessage(LANG_RESETALL_UNKNOWN_CASE, caseName);
|
||||
|
||||
Reference in New Issue
Block a user