removed walnut cracking, added rpg delete
This commit is contained in:
parent
c15da6c839
commit
a3b8f75aa7
@ -200,8 +200,41 @@ bool RPGModule::messageHandler(Message msg)
|
||||
RPGCharacter *c = charList.get(paramList[2].toStdString());
|
||||
if(c != NULL)
|
||||
{
|
||||
playerJoin(getUsers()->getFromNick(msg.nick), c);
|
||||
answer = say(QString("%1 joins the RPG as %2").arg(msg.nick).arg(paramList[2]));
|
||||
if(c->password.compare(paramList[3]) == 0)
|
||||
{
|
||||
playerJoin(getUsers()->getFromNick(msg.nick), c);
|
||||
answer = say(QString("%1 joins the RPG as %2").arg(msg.nick).arg(paramList[2]));
|
||||
}
|
||||
else
|
||||
privateSay(QString("ERROR : Wrong password"), msg.nick);
|
||||
}
|
||||
else
|
||||
answer = privateSay(QString("ERROR : Character name \"%1\" does not exists").arg(paramList[2]), msg.nick);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if(msg.args.startsWith("!rpg delete") && !msg.target.contains(getChan()))
|
||||
{
|
||||
QStringList paramList = msg.args.split(' ');
|
||||
if(paramList.size() != 4)
|
||||
answer = privateSay("usage : !rpg delete [name of character] [password]", msg.nick);
|
||||
else
|
||||
{
|
||||
RPGCharacter *c = charList.get(paramList[2].toStdString());
|
||||
if(c != NULL)
|
||||
{
|
||||
if(c->password.compare(paramList[3]) == 0)
|
||||
{
|
||||
for(const std::pair<User*, RPGCharacter*> &it : charOnline)
|
||||
{
|
||||
if(it.second == c)
|
||||
charOnline.erase(it.first);
|
||||
}
|
||||
charList.erase(paramList[2].toStdString());
|
||||
answer = say(QString("Character %2 has been deleted").arg(paramList[2]));
|
||||
}
|
||||
else
|
||||
privateSay(QString("ERROR : Wrong password"), msg.nick);
|
||||
}
|
||||
else
|
||||
answer = privateSay(QString("ERROR : Character name \"%1\" does not exists").arg(paramList[2]), msg.nick);
|
||||
@ -238,17 +271,6 @@ bool RPGModule::messageHandler(Message msg)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if(msg.args.compare("!rpg debug") == 0 && src->isOp())
|
||||
{
|
||||
QString str;
|
||||
for(const std::string &name : charList.names)
|
||||
str.append(name.c_str()).append(" ");
|
||||
if(!str.isEmpty())
|
||||
{
|
||||
answer = say(str);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if(msg.args.compare("!rpg reset") == 0 && src->isOp())
|
||||
{
|
||||
charList.data.clear();
|
||||
@ -285,20 +307,12 @@ bool RPGModule::messageHandler(Message msg)
|
||||
answer = say("you look around and you find a walnut.");
|
||||
return true;
|
||||
}
|
||||
else if(msg.args.compare("break walnut") == 0)
|
||||
{
|
||||
answer = say("you use a rock to break the walnut, there is a walnut kernel inside.");
|
||||
return true;
|
||||
}
|
||||
else if(msg.args.compare("eat walnut kernel") == 0)
|
||||
{
|
||||
answer = say("you eat the walnut kernel, and you feel repleted.");
|
||||
return true;
|
||||
}
|
||||
else if(msg.args.compare("!rpg help") == 0)
|
||||
{
|
||||
answer = privateSay("Create new character (works only in private message) : !rpg register [name of character] [password]", msg.nick);
|
||||
answer = privateSay("Commands : register, join, delete, leave, save, stats, list", msg.nick);
|
||||
answer += privateSay("Create new character (works only in private message) : !rpg register [name of character] [password]", msg.nick);
|
||||
answer += privateSay("Join game with character (works only in private message) : !rpg join [name of character] [password]", msg.nick);
|
||||
answer += privateSay("Delete character (works only in private message) : !rpg delete [name of character] [password]", msg.nick);
|
||||
answer += privateSay("leave the game : !rpg leave", msg.nick);
|
||||
answer += privateSay("show your stats : !rpg stats", msg.nick);
|
||||
answer += privateSay("show all in-game players : !rpg list", msg.nick);
|
||||
|
@ -99,7 +99,15 @@ public:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// TODO serialization
|
||||
void erase(const std::string &name)
|
||||
{
|
||||
data.erase(name);
|
||||
for(auto it = names.begin(); it != names.end(); ++it)
|
||||
{
|
||||
if(*it == name)
|
||||
names.erase(it);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class RPGModule : public Module
|
||||
|
Loading…
x
Reference in New Issue
Block a user