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)
{
QStringList list = str.split(" ");
QStringList list = str.split(QChar(' '));
if(list.size() == 6)
{
bool ok;
@ -73,7 +73,10 @@ void RPGModule::saveCharacters()
}
QTextStream out(&f);
for(const std::string &name : charList.names)
out << charList.get(name)->toString() << "\n";
{
if(name != "trash")
out << charList.get(name)->toString() << "\n";
}
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];
QString direction;
@ -246,6 +249,13 @@ bool RPGModule::messageHandler(Message msg)
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)
{
saveCharacters();
@ -266,15 +276,24 @@ bool RPGModule::messageHandler(Message msg)
QStringList paramList = msg.args.split(' ');
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;
}
}
else if(msg.args.startsWith("look "))
{
// look around
// look at [object]
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)
{

View File

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