Merge branch 'master' into dice-roller-and-togglemusic

This commit is contained in:
MangosArentLiterature 2021-04-18 20:22:57 -05:00
commit 75fe0a86f1
4 changed files with 55 additions and 1 deletions

View File

@ -1488,6 +1488,24 @@ class AOClient : public QObject {
void cmdCharSelect(int argc, QStringList argv); void cmdCharSelect(int argc, QStringList argv);
/**
* @brief Sends a message to an area that you a CM in.
*
* @details Usage: /a <area> <message>
*
* @iscommand
*/
void cmdA(int argc, QStringList argv);
/**
* @brief Send a message to all areas that you are a CM in.
*
* @details Usage: /s <message>
*
* @iscommand
*/
void cmdS(int argc, QStringList argv);
///@} ///@}
/** /**
@ -1945,6 +1963,8 @@ class AOClient : public QObject {
{"unblock_dj", {ACLFlags.value("MUTE"), 1, &AOClient::cmdUnBlockDj}}, {"unblock_dj", {ACLFlags.value("MUTE"), 1, &AOClient::cmdUnBlockDj}},
{"charselect", {ACLFlags.value("NONE"), 0, &AOClient::cmdCharSelect}}, {"charselect", {ACLFlags.value("NONE"), 0, &AOClient::cmdCharSelect}},
{"togglemusic", {ACLFlags.value("CM"), 0, &AOClient::cmdToggleMusic}}, {"togglemusic", {ACLFlags.value("CM"), 0, &AOClient::cmdToggleMusic}},
{"a", {ACLFlags.value("NONE"), 2, &AOClient::cmdA}},
{"s", {ACLFlags.value("NONE"), 0, &AOClient::cmdS}},
}; };
/** /**

View File

@ -340,3 +340,36 @@ void AOClient::cmdCharSelect(int argc, QStringList argv)
target->sendPacket("DONE"); target->sendPacket("DONE");
} }
} }
void AOClient::cmdA(int argc, QStringList argv)
{
bool ok;
int area_id = argv[0].toInt(&ok);
if (!ok) {
sendServerMessage("This does not look like a valid AreaID.");
return;
}
AreaData* area = server->areas[area_id];
if (!area->owners.contains(id)) {
sendServerMessage("You are not CM in that area.");
return;
}
argv.removeAt(0);
QString sender_name = ooc_name;
QString ooc_message = argv.join(" ");
server->broadcast(AOPacket("CT", {"[CM]" + sender_name, ooc_message}), area_id);
}
void AOClient::cmdS(int argc, QStringList argv)
{
int all_areas = server->areas.size() - 1;
QString sender_name = ooc_name;
QString ooc_message = argv.join(" ");
for (int i = 0; i <= all_areas; i++) {
if (server->areas[i]->owners.contains(id))
server->broadcast(AOPacket("CT", {"[CM]" + sender_name, ooc_message}), i);
}
}

View File

@ -179,6 +179,7 @@ void AOClient::cmdBans(int argc, QStringList argv)
banned_until = "The heat death of the universe"; banned_until = "The heat death of the universe";
else else
banned_until = QDateTime::fromSecsSinceEpoch(ban.time).addSecs(ban.duration).toString("dd.MM.yyyy, hh:mm"); banned_until = QDateTime::fromSecsSinceEpoch(ban.time).addSecs(ban.duration).toString("dd.MM.yyyy, hh:mm");
recent_bans << "Ban ID: " + QString::number(server->db_manager->getBanID(ban.ipid));
recent_bans << "Affected IPID: " + ban.ipid; recent_bans << "Affected IPID: " + ban.ipid;
recent_bans << "Affected HDID: " + ban.hdid; recent_bans << "Affected HDID: " + ban.hdid;
recent_bans << "Reason for ban: " + ban.reason; recent_bans << "Reason for ban: " + ban.reason;

View File

@ -28,7 +28,7 @@ void AOClient::pktHardwareId(AreaData* area, int argc, QStringList argv, AOPacke
{ {
hwid = argv[0]; hwid = argv[0];
if(server->db_manager->isHDIDBanned(hwid)) { if(server->db_manager->isHDIDBanned(hwid)) {
sendPacket("BD", {server->db_manager->getBanReason(hwid)}); sendPacket("BD", {server->db_manager->getBanReason(hwid) + "\nBan ID: " + QString::number(server->db_manager->getBanID(hwid))});
socket->close(); socket->close();
return; return;
} }