bug fixes ?

This commit is contained in:
Anselme 2016-03-16 15:31:36 +01:00
parent c3f06772cb
commit c15da6c839
2 changed files with 27 additions and 8 deletions

View File

@ -20,7 +20,7 @@ QString RPGCharacter::toString()
bool RPGCharacter::fromString(QString str) bool RPGCharacter::fromString(QString str)
{ {
QStringList list = str.split(" "); QStringList list = str.split(QChar(' '));
if(list.size() == 6) if(list.size() == 6)
{ {
bool ok; bool ok;
@ -73,7 +73,10 @@ void RPGModule::saveCharacters()
} }
QTextStream out(&f); QTextStream out(&f);
for(const std::string &name : charList.names) for(const std::string &name : charList.names)
out << charList.get(name)->toString() << "\n"; {
if(name != "trash")
out << charList.get(name)->toString() << "\n";
}
f.close(); f.close();
} }
@ -111,7 +114,7 @@ QString RPGModule::getTerrainName(int type)
} }
} }
QString RPGModule::playerTravel(RPGCharacter *c, QString dir) QString RPGModule::playerTravel(RPGCharacter *c, QString dir, bool repeat)
{ {
char terrainType = WORLDMAP[c->x][c->y]; char terrainType = WORLDMAP[c->x][c->y];
QString direction; QString direction;
@ -246,6 +249,13 @@ bool RPGModule::messageHandler(Message msg)
return true; return true;
} }
} }
else if(msg.args.compare("!rpg reset") == 0 && src->isOp())
{
charList.data.clear();
charList.names.clear();
answer = say("cleared character database");
return true;
}
else if(msg.args.compare("!rpg save") == 0) else if(msg.args.compare("!rpg save") == 0)
{ {
saveCharacters(); saveCharacters();
@ -266,15 +276,24 @@ bool RPGModule::messageHandler(Message msg)
QStringList paramList = msg.args.split(' '); QStringList paramList = msg.args.split(' ');
if(charOnline.count(src) > 0 && paramList.size() == 2) if(charOnline.count(src) > 0 && paramList.size() == 2)
{ {
answer = say(playerTravel(charOnline[src], paramList[1])); answer = say(playerTravel(charOnline[src], paramList[1], true));
return true; return true;
} }
} }
else if(msg.args.startsWith("look ")) else if(msg.args.startsWith("look "))
{ {
// look around answer = say("you look around and you find a walnut.");
return true;
// look at [object] }
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) else if(msg.args.compare("!rpg help") == 0)
{ {

View File

@ -113,7 +113,7 @@ public:
void playerJoin(User* user, RPGCharacter *c); void playerJoin(User* user, RPGCharacter *c);
void playerLeave(User* user); void playerLeave(User* user);
QString playerTravel(RPGCharacter *c, QString dir); QString playerTravel(RPGCharacter *c, QString dir, bool repeat=false);
QString getTerrainName(int type); QString getTerrainName(int type);
virtual bool messageHandler(Message msg); virtual bool messageHandler(Message msg);