mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-13 09:17:18 +00:00
feat(Core/Commands): Gear (#7717)
This commit is contained in:
committed by
GitHub
parent
1465a659ec
commit
e6143a1efd
@@ -58,6 +58,11 @@ public:
|
||||
{ "message", SEC_ADMINISTRATOR, true, &HandleSendMessageCommand, "" },
|
||||
{ "money", SEC_GAMEMASTER, true, &HandleSendMoneyCommand, "" }
|
||||
};
|
||||
static std::vector<ChatCommand> gearCommandTable =
|
||||
{
|
||||
{ "repair", SEC_GAMEMASTER, false, &HandleGearRepairCommand, "" },
|
||||
{ "stats", SEC_PLAYER, false, &HandleGearStatsCommand, "" }
|
||||
};
|
||||
static std::vector<ChatCommand> commandTable =
|
||||
{
|
||||
{ "dev", SEC_ADMINISTRATOR, false, &HandleDevCommand, "" },
|
||||
@@ -102,10 +107,10 @@ public:
|
||||
{ "damage", SEC_GAMEMASTER, false, &HandleDamageCommand, "" },
|
||||
{ "combatstop", SEC_GAMEMASTER, true, &HandleCombatStopCommand, "" },
|
||||
{ "flusharenapoints", SEC_ADMINISTRATOR, false, &HandleFlushArenaPointsCommand, "" },
|
||||
{ "repairitems", SEC_GAMEMASTER, true, &HandleRepairitemsCommand, "" },
|
||||
{ "freeze", SEC_GAMEMASTER, false, &HandleFreezeCommand, "" },
|
||||
{ "unfreeze", SEC_GAMEMASTER, false, &HandleUnFreezeCommand, "" },
|
||||
{ "group", SEC_GAMEMASTER, false, nullptr, "", groupCommandTable },
|
||||
{ "gear", SEC_PLAYER, false, nullptr, "", gearCommandTable },
|
||||
{ "possess", SEC_GAMEMASTER, false, HandlePossessCommand, "" },
|
||||
{ "unpossess", SEC_GAMEMASTER, false, HandleUnPossessCommand, "" },
|
||||
{ "bindsight", SEC_ADMINISTRATOR, false, HandleBindSightCommand, "" },
|
||||
@@ -2625,7 +2630,7 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleRepairitemsCommand(ChatHandler* handler, char const* args)
|
||||
static bool HandleGearRepairCommand(ChatHandler* handler, char const* args)
|
||||
{
|
||||
Player* target;
|
||||
if (!handler->extractPlayerTarget((char*)args, &target))
|
||||
@@ -3385,6 +3390,49 @@ public:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
static bool HandleGearStatsCommand(ChatHandler* handler, char const* /*args*/)
|
||||
{
|
||||
Player* player = handler->getSelectedPlayerOrSelf();
|
||||
|
||||
if (!player)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
handler->PSendSysMessage("Character: %s", player->GetPlayerName().c_str());
|
||||
handler->PSendSysMessage("Current equipment average item level: |cff00ffff%u|r", (int16)player->GetAverageItemLevel());
|
||||
|
||||
if (sWorld->getIntConfig(CONFIG_MIN_LEVEL_STAT_SAVE))
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHAR_STATS);
|
||||
stmt->setUInt32(0, player->GetGUID().GetCounter());
|
||||
PreparedQueryResult result = CharacterDatabase.Query(stmt);
|
||||
|
||||
if (result)
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
uint32 MaxHealth = fields[0].GetUInt32();
|
||||
uint32 Strength = fields[1].GetUInt32();
|
||||
uint32 Agility = fields[2].GetUInt32();
|
||||
uint32 Stamina = fields[3].GetUInt32();
|
||||
uint32 Intellect = fields[4].GetUInt32();
|
||||
uint32 Spirit = fields[5].GetUInt32();
|
||||
uint32 Armor = fields[6].GetUInt32();
|
||||
uint32 AttackPower = fields[7].GetUInt32();
|
||||
uint32 SpellPower = fields[8].GetUInt32();
|
||||
uint32 Resilience = fields[9].GetUInt32();
|
||||
|
||||
handler->PSendSysMessage("Health: |cff00ffff%u|r - Stamina: |cff00ffff%u|r", MaxHealth, Stamina);
|
||||
handler->PSendSysMessage("Strength: |cff00ffff%u|r - Agility: |cff00ffff%u|r", Strength, Agility);
|
||||
handler->PSendSysMessage("Intellect: |cff00ffff%u|r - Spirit: |cff00ffff%u|r", Intellect, Spirit);
|
||||
handler->PSendSysMessage("AttackPower: |cff00ffff%u|r - SpellPower: |cff00ffff%u|r", AttackPower, SpellPower);
|
||||
handler->PSendSysMessage("Armor: |cff00ffff%u|r - Resilience: |cff00ffff%u|r", Armor, Resilience);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_misc_commandscript()
|
||||
|
||||
Reference in New Issue
Block a user