Add /flip command ; Add AOClient::genRand(min, max)

Also added some punctuation for /g and /need
This commit is contained in:
Salanto 2021-01-10 02:58:39 +01:00
parent 296426d163
commit fd1baacd3d
2 changed files with 27 additions and 3 deletions

View File

@ -173,9 +173,11 @@ class AOClient : public QObject {
void cmdPos(int argc, QStringList argv);
void cmdG(int argc, QStringList argv);
void cmdNeed(int argc, QStringList argv);
void cmdFlip(int argc, QStringList argv);
// Command helper functions
QStringList buildAreaList(int area_idx);
int genRand(int min, int max);
// Command function global variables
bool change_auth_started = false;
@ -206,7 +208,8 @@ class AOClient : public QObject {
{"logout", {ACLFlags.value("NONE"), 0, &AOClient::cmdLogout}},
{"pos", {ACLFlags.value("NONE"), 1, &AOClient::cmdPos}},
{"g", {ACLFlags.value("NONE"), 1, &AOClient::cmdG}},
{"need", {ACLFlags.value("NONE"), 1, &AOClient::cmdNeed}}
{"need", {ACLFlags.value("NONE"), 1, &AOClient::cmdNeed}},
{"flip", {ACLFlags.value("NONE"), 0, &AOClient::cmdFlip}}
};
QString partial_packet;

View File

@ -375,7 +375,7 @@ void AOClient::cmdG(int argc, QStringList argv)
{
QString sender_name = ooc_name;
QString sender_message = argv.join(" ");
server->broadcast(AOPacket("CT", {"[G]" + sender_name, sender_message}));
server->broadcast(AOPacket("CT", {"[G]" + sender_name, sender_message+ "."}));
return;
}
@ -383,7 +383,15 @@ void AOClient::cmdNeed(int argc, QStringList argv)
{
QString sender_area = server->area_names.value(current_area);
QString sender_message = argv.join(" ");
server->broadcast(AOPacket("CT", {"=== Advert ===","[" + sender_area + "] needs " + sender_message}));
server->broadcast(AOPacket("CT", {"=== Advert ===","[" + sender_area + "] needs " + sender_message+ "."}));
}
void AOClient::cmdFlip(int argc, QStringList argv)
{
QString sender_name = ooc_name;
QStringList faces = {"head","tails"};
QString face = faces[AOClient::genRand(0,1)];
sendServerMessage(sender_name + " flipped a coin and got " + face + ".");
}
QStringList AOClient::buildAreaList(int area_idx)
@ -405,3 +413,16 @@ QStringList AOClient::buildAreaList(int area_idx)
}
return entries;
}
int AOClient::genRand(int min, int max)
{
#if QT_VERSION < QT_VERSION_CHECK(5, 10, 0)
qsrand(QDateTime::currentMSecsSinceEpoch());
quint16 random_number = (qrand() % (max - min + 1)) + min;
return random_number;
#else
quint32 random_number = QRandomGenerator::system()->bounded(min, max + 1);
return random_number;
#endif
}