mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 05:21:29 +00:00
59 lines
1.6 KiB
C++
59 lines
1.6 KiB
C++
#include "../dialogue_window.h"
|
|
#include "../client.h"
|
|
|
|
void command_illusion_block(Client* c, const Seperator* sep)
|
|
{
|
|
int arguments = sep->argnum;
|
|
if (!arguments || !strcasecmp(sep->arg[1], "help")) {
|
|
BotCommandHelpParams p;
|
|
|
|
p.description = { "Toggles whether or not you will block the illusion effects of spells cast by players or bots." };
|
|
p.notes = {
|
|
"- This will still allow other portions of a spell to land on you.",
|
|
"- Spells cast by NPCs will ignore this setting and land as normal."
|
|
};
|
|
p.example_format = { fmt::format("{} [value]", sep->arg[0]) };
|
|
p.examples_one =
|
|
{
|
|
"To enable illusion block:",
|
|
fmt::format(
|
|
"{} 1",
|
|
sep->arg[0]
|
|
)
|
|
};
|
|
p.examples_two =
|
|
{
|
|
"To disable illusion block:",
|
|
fmt::format(
|
|
"{} 0",
|
|
sep->arg[0]
|
|
)
|
|
};
|
|
|
|
std::string popup_text = c->SendBotCommandHelpWindow(p);
|
|
popup_text = DialogueWindow::Table(popup_text);
|
|
|
|
c->SendPopupToClient(sep->arg[0], popup_text.c_str());
|
|
|
|
return;
|
|
}
|
|
|
|
if (sep->IsNumber(1)) {
|
|
int set_status = atoi(sep->arg[1]);
|
|
if (EQ::ValueWithin(set_status, 0, 1)) {
|
|
c->SetIllusionBlock(set_status);
|
|
c->Message(Chat::Green, "Your Illusion Block has been %s.", (set_status ? "enabled" : "disabled"));
|
|
}
|
|
else {
|
|
c->Message(Chat::Yellow, "You must enter 0 for disabled or 1 for enabled.");
|
|
return;
|
|
}
|
|
}
|
|
else if (!strcasecmp(sep->arg[1], "current")) {
|
|
c->Message(Chat::Green, "You're currently %s illusions.", (c->GetIllusionBlock() ? "blocking" : "allowing"));
|
|
}
|
|
else {
|
|
c->Message(Chat::Yellow , "Incorrect argument, use %s help for a list of options.", sep->arg[0]);
|
|
}
|
|
}
|