AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
gear_commandscript Class Reference
Inheritance diagram for gear_commandscript:
CommandScript ScriptObject

Public Member Functions

 gear_commandscript ()
 
ChatCommandTable GetCommands () const override
 
virtual std::vector< Acore::ChatCommands::ChatCommandBuilderGetCommands () const =0
 
- Public Member Functions inherited from ScriptObject
virtual bool IsDatabaseBound () const
 
virtual bool isAfterLoadScript () const
 
virtual void checkValidity ()
 
const std::string & GetName () const
 

Static Public Member Functions

static bool HandleGearRepairCommand (ChatHandler *handler, Optional< PlayerIdentifier > target)
 
static bool HandleGearStatsCommand (ChatHandler *handler)
 

Additional Inherited Members

- Protected Member Functions inherited from CommandScript
 CommandScript (const char *name)
 
- Protected Member Functions inherited from ScriptObject
 ScriptObject (const char *name)
 
virtual ~ScriptObject ()=default
 

Detailed Description

Constructor & Destructor Documentation

◆ gear_commandscript()

gear_commandscript::gear_commandscript ( )
inline
30: CommandScript("gear_commandscript") { }
Definition: CommandScript.h:25

Member Function Documentation

◆ GetCommands()

ChatCommandTable gear_commandscript::GetCommands ( ) const
inlineoverridevirtual

Implements CommandScript.

33 {
34 static ChatCommandTable gearCommandTable =
35 {
36 { "repair", HandleGearRepairCommand, SEC_GAMEMASTER, Console::No },
37 { "stats", HandleGearStatsCommand, SEC_PLAYER, Console::No }
38 };
39
40 static ChatCommandTable commandTable =
41 {
42 { "gear", gearCommandTable }
43 };
44
45 return commandTable;
46 }
@ SEC_PLAYER
Definition: Common.h:59
@ SEC_GAMEMASTER
Definition: Common.h:61
std::vector< ChatCommandBuilder > ChatCommandTable
Definition: ChatCommand.h:49
static bool HandleGearRepairCommand(ChatHandler *handler, Optional< PlayerIdentifier > target)
Definition: cs_gear.cpp:48
static bool HandleGearStatsCommand(ChatHandler *handler)
Definition: cs_gear.cpp:81

References HandleGearRepairCommand(), HandleGearStatsCommand(), SEC_GAMEMASTER, and SEC_PLAYER.

◆ HandleGearRepairCommand()

static bool gear_commandscript::HandleGearRepairCommand ( ChatHandler handler,
Optional< PlayerIdentifier target 
)
inlinestatic
49 {
50 if (!target)
51 {
52 target = PlayerIdentifier::FromTargetOrSelf(handler);
53 }
54
55 if (!target || !target->IsConnected())
56 {
57 return false;
58 }
59
60 // check online security
61 if (handler->HasLowerSecurity(target->GetConnectedPlayer()))
62 {
63 return false;
64 }
65
66 // Repair items
67 target->GetConnectedPlayer()->DurabilityRepairAll(false, 0, false);
68
69 std::string nameLink = handler->playerLink(target->GetName());
70
71 handler->PSendSysMessage(LANG_YOU_REPAIR_ITEMS, nameLink.c_str());
72
73 if (handler->needReportToTarget(target->GetConnectedPlayer()))
74 {
75 ChatHandler(target->GetConnectedPlayer()->GetSession()).PSendSysMessage(LANG_YOUR_ITEMS_REPAIRED, nameLink.c_str());
76 }
77
78 return true;
79 }
@ LANG_YOU_REPAIR_ITEMS
Definition: Language.h:377
@ LANG_YOUR_ITEMS_REPAIRED
Definition: Language.h:378
Definition: Chat.h:38
std::string playerLink(std::string const &name) const
Definition: Chat.h:128
void PSendSysMessage(char const *fmt, Args &&... args)
Definition: Chat.h:60
virtual bool needReportToTarget(Player *chr) const
Definition: Chat.cpp:783
bool HasLowerSecurity(Player *target, ObjectGuid guid=ObjectGuid::Empty, bool strong=false)
Definition: Chat.cpp:53
static Optional< PlayerIdentifier > FromTargetOrSelf(ChatHandler *handler)
Definition: ChatCommandTags.h:188

References Acore::ChatCommands::PlayerIdentifier::FromTargetOrSelf(), ChatHandler::HasLowerSecurity(), LANG_YOU_REPAIR_ITEMS, LANG_YOUR_ITEMS_REPAIRED, ChatHandler::needReportToTarget(), ChatHandler::playerLink(), and ChatHandler::PSendSysMessage().

Referenced by GetCommands().

◆ HandleGearStatsCommand()

static bool gear_commandscript::HandleGearStatsCommand ( ChatHandler handler)
inlinestatic
82 {
83 Player* player = handler->getSelectedPlayerOrSelf();
84
85 if (!player)
86 {
87 return false;
88 }
89
90 handler->PSendSysMessage("Character: %s", player->GetPlayerName().c_str());
91 handler->PSendSysMessage("Current equipment average item level: |cff00ffff%u|r", (int16)player->GetAverageItemLevel());
92
93 if (sWorld->getIntConfig(CONFIG_MIN_LEVEL_STAT_SAVE))
94 {
96 stmt->SetData(0, player->GetGUID().GetCounter());
97 PreparedQueryResult result = CharacterDatabase.Query(stmt);
98
99 if (result)
100 {
101 Field* fields = result->Fetch();
102 uint32 MaxHealth = fields[0].Get<uint32>();
103 uint32 Strength = fields[1].Get<uint32>();
104 uint32 Agility = fields[2].Get<uint32>();
105 uint32 Stamina = fields[3].Get<uint32>();
106 uint32 Intellect = fields[4].Get<uint32>();
107 uint32 Spirit = fields[5].Get<uint32>();
108 uint32 Armor = fields[6].Get<uint32>();
109 uint32 AttackPower = fields[7].Get<uint32>();
110 uint32 SpellPower = fields[8].Get<uint32>();
111 uint32 Resilience = fields[9].Get<uint32>();
112
113 handler->PSendSysMessage("Health: |cff00ffff%u|r - Stamina: |cff00ffff%u|r", MaxHealth, Stamina);
114 handler->PSendSysMessage("Strength: |cff00ffff%u|r - Agility: |cff00ffff%u|r", Strength, Agility);
115 handler->PSendSysMessage("Intellect: |cff00ffff%u|r - Spirit: |cff00ffff%u|r", Intellect, Spirit);
116 handler->PSendSysMessage("AttackPower: |cff00ffff%u|r - SpellPower: |cff00ffff%u|r", AttackPower, SpellPower);
117 handler->PSendSysMessage("Armor: |cff00ffff%u|r - Resilience: |cff00ffff%u|r", Armor, Resilience);
118 }
119 }
120
121 return true;
122 }
std::uint32_t uint32
Definition: Define.h:108
std::int16_t int16
Definition: Define.h:105
DatabaseWorkerPool< CharacterDatabaseConnection > CharacterDatabase
Accessor to the character database.
Definition: DatabaseEnv.cpp:21
std::shared_ptr< PreparedResultSet > PreparedQueryResult
Definition: DatabaseEnvFwd.h:46
@ CHAR_SEL_CHAR_STATS
Definition: CharacterDatabase.h:446
@ CONFIG_MIN_LEVEL_STAT_SAVE
Definition: IWorld.h:348
#define sWorld
Definition: World.h:447
Definition: PreparedStatement.h:158
Class used to access individual fields of database query result.
Definition: Field.h:99
std::enable_if_t< std::is_arithmetic_v< T >, T > Get() const
Definition: Field.h:113
Acore::Types::is_default< T > SetData(const uint8 index, T value)
Definition: PreparedStatement.h:78
Player * getSelectedPlayerOrSelf() const
Definition: Chat.cpp:354
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:106
LowType GetCounter() const
Definition: ObjectGuid.h:147
Definition: Player.h:1056
std::string GetPlayerName()
Definition: Player.cpp:16214
float GetAverageItemLevel()
Definition: Player.cpp:15641

References CHAR_SEL_CHAR_STATS, CharacterDatabase, CONFIG_MIN_LEVEL_STAT_SAVE, Field::Get(), Player::GetAverageItemLevel(), ObjectGuid::GetCounter(), Object::GetGUID(), Player::GetPlayerName(), ChatHandler::getSelectedPlayerOrSelf(), ChatHandler::PSendSysMessage(), PreparedStatementBase::SetData(), and sWorld.

Referenced by GetCommands().