[Commands] Add #petitems Command. (#1823)

- Add #petitems command to show a person's pet items if they have access to the command.
- Adds a default false parameter to QueryLoot for NPCs that keeps messages and logic from being ran on pets for no reason.
- Cleaned up message a bit for loot and stuff.
- Remove check for loottable ID when using #npcstats for NPCs that get items from a script or otherwise.
This commit is contained in:
Kinglykrab
2021-11-25 14:50:05 -05:00
committed by GitHub
parent d38b8a4867
commit e474b2a280
7 changed files with 65 additions and 34 deletions
+25
View File
@@ -0,0 +1,25 @@
#include "../client.h"
void command_petitems(Client *c, const Seperator *sep)
{
if (!c->GetPet()) {
c->Message(Chat::White, "You must have a pet to use this command.");
return;
}
auto pet = c->GetPet()->CastToNPC();
auto loot_list = pet->GetLootList();
if (!loot_list.empty()) {
pet->QueryLoot(c, true);
c->Message(
Chat::White,
fmt::format(
"Your pet has {} item{}.",
loot_list.size(),
loot_list.size() != 1 ? "s" : ""
).c_str()
);
} else {
c->Message(Chat::White, "Your pet has no items.");
}
}