This commit is contained in:
Max-Wilhelm Bruker 2009-10-17 23:55:31 +02:00
parent fd4b388975
commit 867a27ecd4
14 changed files with 249 additions and 36 deletions

View file

@ -83,6 +83,13 @@ ServerSocket::ServerSocket(Server *_server, QObject *parent)
<< QVariant::String
<< QVariant::Int
<< QVariant::Int, &ServerSocket::cmdCreateToken));
commandHash.insert("create_arrow", CommandProperties(true, true, true, false, QList<QVariant::Type>()
<< QVariant::Int
<< QVariant::String
<< QVariant::Int
<< QVariant::Int
<< QVariant::String
<< QVariant::Int, &ServerSocket::cmdCreateArrow));
commandHash.insert("set_card_attr", CommandProperties(true, true, true, false, QList<QVariant::Type>()
<< QVariant::String
<< QVariant::Int
@ -562,6 +569,32 @@ ReturnMessage::ReturnCode ServerSocket::cmdCreateToken(const QList<QVariant> &pa
return ReturnMessage::ReturnOk;
}
ReturnMessage::ReturnCode ServerSocket::cmdCreateArrow(const QList<QVariant> &params)
{
ServerSocket *startPlayer = game->getPlayer(params[0].toInt());
ServerSocket *targetPlayer = game->getPlayer(params[3].toInt());
if (!startPlayer || !targetPlayer)
return ReturnMessage::ReturnContextError;
PlayerZone *startZone = startPlayer->getZone(params[1].toString());
PlayerZone *targetZone = targetPlayer->getZone(params[4].toString());
if (!startZone || !targetZone)
return ReturnMessage::ReturnContextError;
Card *startCard = startZone->getCard(params[2].toInt(), false);
Card *targetCard = targetZone->getCard(params[5].toInt(), false);
if (!startCard || !targetCard)
return ReturnMessage::ReturnContextError;
emit broadcastEvent(QString("create_arrow|%1|%2|%3|%4|%5|%6")
.arg(startPlayer->getPlayerId())
.arg(startZone->getName())
.arg(startCard->getId())
.arg(targetPlayer->getPlayerId())
.arg(targetZone->getName())
.arg(targetCard->getId()), this
);
return ReturnMessage::ReturnOk;
}
ReturnMessage::ReturnCode ServerSocket::cmdSetCardAttr(const QList<QVariant> &params)
{
// zone, card id, attr name, attr value

View file

@ -90,6 +90,7 @@ private:
ReturnMessage::ReturnCode cmdRevealCard(const QList<QVariant> &params);
ReturnMessage::ReturnCode cmdMoveCard(const QList<QVariant> &params);
ReturnMessage::ReturnCode cmdCreateToken(const QList<QVariant> &params);
ReturnMessage::ReturnCode cmdCreateArrow(const QList<QVariant> &params);
ReturnMessage::ReturnCode cmdSetCardAttr(const QList<QVariant> &params);
ReturnMessage::ReturnCode cmdIncCounter(const QList<QVariant> &params);
ReturnMessage::ReturnCode cmdAddCounter(const QList<QVariant> &params);

View file

@ -18,5 +18,5 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
static const int PROTOCOL_VERSION = 1;
static const char *VERSION_STRING = "Servatrice 0.20090928";
static const int PROTOCOL_VERSION = 2;
static const char *VERSION_STRING = "Servatrice 0.20091017";