From 4b84168bdaaa24b080db08c205077ae2d15f805d Mon Sep 17 00:00:00 2001 From: Max-Wilhelm Bruker Date: Sat, 25 Jun 2011 17:50:28 +0200 Subject: [PATCH] client/server version bump; eventConnectionStateChanged --- cockatrice/src/main.h | 2 +- cockatrice/src/messagelogwidget.cpp | 9 + cockatrice/src/messagelogwidget.h | 1 + cockatrice/src/player.cpp | 6 + cockatrice/src/player.h | 3 + cockatrice/translations/cockatrice_cs.ts | 198 ++++++++++---------- cockatrice/translations/cockatrice_de.ts | 198 ++++++++++---------- cockatrice/translations/cockatrice_en.ts | 198 ++++++++++---------- cockatrice/translations/cockatrice_es.ts | 198 ++++++++++---------- cockatrice/translations/cockatrice_fr.ts | 198 ++++++++++---------- cockatrice/translations/cockatrice_ja.ts | 198 ++++++++++---------- cockatrice/translations/cockatrice_pl.ts | 198 ++++++++++---------- cockatrice/translations/cockatrice_pt-br.ts | 198 ++++++++++---------- cockatrice/translations/cockatrice_pt.ts | 198 ++++++++++---------- cockatrice/translations/cockatrice_ru.ts | 198 ++++++++++---------- cockatrice/translations/cockatrice_sk.ts | 198 ++++++++++---------- common/protocol_item_ids.h | 79 ++++---- common/protocol_items.cpp | 6 + common/protocol_items.dat | 1 + common/protocol_items.h | 8 + common/server_game.cpp | 7 + common/server_game.h | 1 + common/server_protocolhandler.cpp | 5 +- servatrice/src/servatrice.cpp | 2 +- 24 files changed, 1232 insertions(+), 1076 deletions(-) diff --git a/cockatrice/src/main.h b/cockatrice/src/main.h index f8e5a147..3e7ad1ea 100644 --- a/cockatrice/src/main.h +++ b/cockatrice/src/main.h @@ -9,7 +9,7 @@ extern CardDatabase *db; extern QTranslator *translator; const QString translationPrefix = "cockatrice"; -const QString versionString = "0.20110303"; +const QString versionString = "0.20110625"; void installNewTranslator(); diff --git a/cockatrice/src/messagelogwidget.cpp b/cockatrice/src/messagelogwidget.cpp index be218d6b..9bb86706 100644 --- a/cockatrice/src/messagelogwidget.cpp +++ b/cockatrice/src/messagelogwidget.cpp @@ -117,6 +117,14 @@ void MessageLogWidget::logGameStart() append(tr("The game has started.")); } +void MessageLogWidget::logConnectionStateChanged(Player *player, bool connectionState) +{ + if (connectionState) + append(tr("%1 has restored connection to the game.").arg(sanitizeHtml(player->getName()))); + else + append(tr("%1 has lost connection to the game.").arg(sanitizeHtml(player->getName()))); +} + void MessageLogWidget::logSay(Player *player, QString message) { append(QString("getLocal() ? "red" : "#0000fe") + QString("\">%1: %2").arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(message))); @@ -499,6 +507,7 @@ void MessageLogWidget::containerProcessingDone() void MessageLogWidget::connectToPlayer(Player *player) { + connect(player, SIGNAL(logConnectionStateChanged(Player *, bool)), this, SLOT(logConnectionStateChanged(Player *, bool))); connect(player, SIGNAL(logSay(Player *, QString)), this, SLOT(logSay(Player *, QString))); connect(player, SIGNAL(logShuffle(Player *, CardZone *)), this, SLOT(logShuffle(Player *, CardZone *))); connect(player, SIGNAL(logRollDie(Player *, int, int)), this, SLOT(logRollDie(Player *, int, int))); diff --git a/cockatrice/src/messagelogwidget.h b/cockatrice/src/messagelogwidget.h index fe548547..efc8f6b5 100644 --- a/cockatrice/src/messagelogwidget.h +++ b/cockatrice/src/messagelogwidget.h @@ -65,6 +65,7 @@ public slots: void logNotReadyStart(Player *player); void logConcede(Player *player); void logGameStart(); + void logConnectionStateChanged(Player *player, bool connectionState); void logSay(Player *player, QString message); void logSpectatorSay(QString spectatorName, QString message); void logShuffle(Player *player, CardZone *zone); diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index 7ebf9cdf..6dc53152 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -706,6 +706,11 @@ void Player::setCardAttrHelper(GameEventContext *context, CardItem *card, const } } +void Player::eventConnectionStateChanged(Event_ConnectionStateChanged *event) +{ + emit logConnectionStateChanged(this, event->getConnected()); +} + void Player::eventSay(Event_Say *event) { emit logSay(this, event->getMessage()); @@ -1036,6 +1041,7 @@ void Player::processGameEvent(GameEvent *event, GameEventContext *context) { qDebug() << "player event: id=" << event->getItemId(); switch (event->getItemId()) { + case ItemId_Event_ConnectionStateChanged: eventConnectionStateChanged(static_cast(event)); break; case ItemId_Event_Say: eventSay(static_cast(event)); break; case ItemId_Event_Shuffle: eventShuffle(static_cast(event)); break; case ItemId_Event_RollDie: eventRollDie(static_cast(event)); break; diff --git a/cockatrice/src/player.h b/cockatrice/src/player.h index 8645d70f..72f19c26 100644 --- a/cockatrice/src/player.h +++ b/cockatrice/src/player.h @@ -26,6 +26,7 @@ class CommandContainer; class GameCommand; class GameEvent; class GameEventContext; +class Event_ConnectionStateChanged; class Event_Say; class Event_Shuffle; class Event_RollDie; @@ -69,6 +70,7 @@ class Player : public QObject, public QGraphicsItem { signals: void newCardAdded(AbstractCardItem *card); // Log events + void logConnectionStateChanged(Player *player, bool connectionState); void logSay(Player *player, QString message); void logShuffle(Player *player, CardZone *zone); void logRollDie(Player *player, int sides, int roll); @@ -176,6 +178,7 @@ private: void initSayMenu(); + void eventConnectionStateChanged(Event_ConnectionStateChanged *event); void eventSay(Event_Say *event); void eventShuffle(Event_Shuffle *event); void eventRollDie(Event_RollDie *event); diff --git a/cockatrice/translations/cockatrice_cs.ts b/cockatrice/translations/cockatrice_cs.ts index bea2660e..43f214c8 100644 --- a/cockatrice/translations/cockatrice_cs.ts +++ b/cockatrice/translations/cockatrice_cs.ts @@ -1718,17 +1718,27 @@ Local version is %1, remote version is %2. - + + %1 has restored connection to the game. + + + + + %1 has lost connection to the game. + + + + %1 shuffles %2. - + %1 rolls a %2 with a %3-sided die. - + %1 draws %n card(s). @@ -1737,188 +1747,188 @@ Local version is %1, remote version is %2. - + %1 undoes his last draw. - + %1 undoes her last draw. - + %1 undoes his last draw (%2). - + %1 undoes her last draw (%2). - + from table - + from graveyard - + from exile - + from hand - + the bottom card of his library - + the bottom card of her library - + from the bottom of his library - + from the bottom of her library - + the top card of his library - + the top card of her library - + from the top of his library - + from the top of her library - + from library - + from sideboard - + from the stack - - + + a card - + %1 gives %2 control over %3. - + %1 puts %2 into play tapped%3. - + %1 puts %2 into play%3. - + %1 puts %2%3 into graveyard. - + %1 exiles %2%3. - + %1 moves %2%3 to hand. - + %1 puts %2%3 into his library. - + %1 puts %2%3 into her library. - + %1 puts %2%3 on bottom of his library. - + %1 puts %2%3 on bottom of her library. - + %1 puts %2%3 on top of his library. - + %1 puts %2%3 on top of her library. - + %1 puts %2%3 into his library at position %4. - + %1 puts %2%3 into her library at position %4. - + %1 moves %2%3 to sideboard. - + %1 plays %2%3. - + %1 takes a mulligan to %n. @@ -1927,57 +1937,57 @@ Local version is %1, remote version is %2. - + %1 draws his initial hand. - + %1 draws her initial hand. - + %1 flips %2 face-down. - + %1 flips %2 face-up. - + %1 destroys %2. - + %1 attaches %2 to %3's %4. - + %1 unattaches %2. - + %1 creates token: %2%3. - + %1 points from %2's %3 to %4. - + %1 points from %2's %3 to %4's %5. - + %1 places %n %2 counter(s) on %3 (now %4). @@ -1986,7 +1996,7 @@ Local version is %1, remote version is %2. - + %1 removes %n %2 counter(s) from %3 (now %4). @@ -1995,7 +2005,7 @@ Local version is %1, remote version is %2. - + red @@ -2004,7 +2014,7 @@ Local version is %1, remote version is %2. - + yellow @@ -2013,7 +2023,7 @@ Local version is %1, remote version is %2. - + green @@ -2022,162 +2032,162 @@ Local version is %1, remote version is %2. - + his permanents - + her permanents - + %1 %2 %3. - + taps - + untaps - + %1 sets counter %2 to %3 (%4%5). - + %1 sets %2 to not untap normally. - + %1 sets %2 to untap normally. - + %1 sets PT of %2 to %3. - + %1 sets annotation of %2 to %3. - + %1 is looking at the top %2 cards %3. - + %1 is looking at %2. - + %1 stops looking at %2. - + %1 reveals %2 to %3. - + %1 reveals %2. - + %1 randomly reveals %2%3 to %4. - + %1 randomly reveals %2%3. - + %1 reveals %2%3 to %4. - + %1 reveals %2%3. - + It is now %1's turn. - + untap step - + upkeep step - + draw step - + first main phase - + beginning of combat step - + declare attackers step - + declare blockers step - + combat damage step - + end of combat step - + second main phase - + ending phase - + It is now the %1. @@ -2536,7 +2546,7 @@ Local version is %1, remote version is %2. - + Number: @@ -2561,27 +2571,27 @@ Local version is %1, remote version is %2. - + Set power/toughness - + Please enter the new PT: - + Set annotation - + Please enter the new annotation: - + Set counters diff --git a/cockatrice/translations/cockatrice_de.ts b/cockatrice/translations/cockatrice_de.ts index 33c22939..38e34348 100644 --- a/cockatrice/translations/cockatrice_de.ts +++ b/cockatrice/translations/cockatrice_de.ts @@ -2485,8 +2485,8 @@ Lokale Version ist %1, Serverversion ist %2. %1 zieht %2 Karten - - + + a card eine Karte @@ -2629,12 +2629,22 @@ Lokale Version ist %1, Serverversion ist %2. %1 hat das Spiel aufgegeben. - + + %1 has restored connection to the game. + %1 ist wieder mit dem Spiel verbunden. + + + + %1 has lost connection to the game. + %1 hat die Verbindung zum Spiel verloren. + + + %1 shuffles %2. %1 mischt %2. - + %1 rolls a %2 with a %3-sided die. %1 würfelt eine %2 mit einem %3-seitigen Würfel. @@ -2647,7 +2657,7 @@ Lokale Version ist %1, Serverversion ist %2. %1 zieht %2 Karten. - + %1 draws %n card(s). %1 zieht eine Karte. @@ -2655,182 +2665,182 @@ Lokale Version ist %1, Serverversion ist %2. - + %1 undoes his last draw. %1 legt die zuletzt gezogene Karte zurück. - + %1 undoes her last draw. %1 legt die zuletzt gezogene Karte zurück. - + %1 undoes his last draw (%2). %1 legt die zuletzt gezogene Karte zurück (%2). - + %1 undoes her last draw (%2). %1 legt die zuletzt gezogene Karte zurück (%2). - + from table vom Spielfeld - + from graveyard aus dem Friedhof - + from exile aus dem Exil - + from hand von der Hand - + the bottom card of his library die unterste Karte seiner Bibliothek - + the bottom card of her library die unterste Karte ihrer Bibliothek - + from the bottom of his library , die unterste Karte seiner Bibliothek, - + from the bottom of her library , die unterste Karte ihrer Bibliothek, - + the top card of his library die oberste Karte seiner Bibliothek - + the top card of her library die oberste Karte ihrer Bibliothek - + from the top of his library , die oberste Karte seiner Bibliothek, - + from the top of her library , die oberste Karte ihrer Bibliothek, - + from library aus der Bibliothek - + from sideboard aus dem Sideboard - + from the stack vom Stapel - + %1 gives %2 control over %3. %1 überlässt %2 die Kontrolle über %3. - + %1 puts %2 into play tapped%3. %1 bringt %2 getappt%3 ins Spiel. - + %1 puts %2 into play%3. %1 bringt %2%3 ins Spiel. - + %1 puts %2%3 into graveyard. %1 legt %2%3 auf den Friedhof. - + %1 exiles %2%3. %1 schickt %2%3 ins Exil. - + %1 moves %2%3 to hand. %1 nimmt %2%3 auf die Hand. - + %1 puts %2%3 into his library. %1 legt %2%3 in seine Bibliothek. - + %1 puts %2%3 into her library. %1 legt %2%3 in ihre Bibliothek. - + %1 puts %2%3 on bottom of his library. %1 legt %2%3 unter seine Bibliothek. - + %1 puts %2%3 on bottom of her library. %1 legt %2%3 unter ihre Bibliothek. - + %1 puts %2%3 on top of his library. %1 legt %2%3 auf die Bibliothek. - + %1 puts %2%3 on top of her library. %1 legt %2%3 auf die Bibliothek. - + %1 puts %2%3 into his library at position %4. %1 legt %2%3 in seine Bibliothek an %4. Stelle. - + %1 puts %2%3 into her library at position %4. %1 legt %2%3 in ihre Bibliothek an %4. Stelle. - + %1 moves %2%3 to sideboard. %1 legt %2%3 in sein Sideboard. - + %1 plays %2%3. %1 spielt %2%3 aus. - + %1 takes a mulligan to %n. %1 nimmt einen Mulligan auf %n. @@ -2838,52 +2848,52 @@ Lokale Version ist %1, Serverversion ist %2. - + %1 draws his initial hand. %1 zieht seine Starthand. - + %1 draws her initial hand. %1 zieht ihre Starthand. - + %1 flips %2 face-down. %1 wendet %2 auf die Rückseite. - + %1 flips %2 face-up. %1 wendet %2 auf die Vorderseite. - + %1 destroys %2. %1 zerstört %2. - + %1 attaches %2 to %3's %4. %1 legt %2 an %3s %4 an. - + %1 unattaches %2. %1 löst %2 ab. - + %1 creates token: %2%3. %1 erstellt Token: %2%3. - + %1 points from %2's %3 to %4. %1 zeigt von %2s %3 auf %4. - + %1 places %n %2 counter(s) on %3 (now %4). %1 legt eine %2 Marke auf %3 (jetzt %4). @@ -2891,7 +2901,7 @@ Lokale Version ist %1, Serverversion ist %2. - + %1 removes %n %2 counter(s) from %3 (now %4). %1 entfernt eine %2 Marke von %3 (jetzt %4). @@ -2899,27 +2909,27 @@ Lokale Version ist %1, Serverversion ist %2. - + her permanents ihre bleibenden Karten - + %1 randomly reveals %2%3 to %4. %1 zeigt %4 zufällig %2%3 vor. - + %1 randomly reveals %2%3. %1 zeigt zufällig %2%3 offen vor. - + %1 reveals %2%3 to %4. %1 zeigt %4 %2%3 vor. - + %1 reveals %2%3. %1 zeigt %2%3 offen vor. @@ -2928,7 +2938,7 @@ Lokale Version ist %1, Serverversion ist %2. %1 erstellt einen Spielstein: %2 (%3). - + %1 points from %2's %3 to %4's %5. %1 zeigt von %2s %3 auf %4s %5. @@ -2947,7 +2957,7 @@ Lokale Version ist %1, Serverversion ist %2. - + red rote @@ -2955,7 +2965,7 @@ Lokale Version ist %1, Serverversion ist %2. - + yellow gelbe @@ -2963,7 +2973,7 @@ Lokale Version ist %1, Serverversion ist %2. - + green grüne @@ -2971,22 +2981,22 @@ Lokale Version ist %1, Serverversion ist %2. - + %1 sets counter %2 to %3 (%4%5). %1 setzt Zähler %2 auf %3 (%4%5). - + %1 sets PT of %2 to %3. %1 setzt Kampfwerte von %2 auf %3. - + %1 sets annotation of %2 to %3. %1 versieht %2 mit dem Hinweis %3. - + %1 is looking at the top %2 cards %3. %1 sieht sich die obersten %2 Karten %3 an. @@ -3083,7 +3093,7 @@ Lokale Version ist %1, Serverversion ist %2. %1 entfernt %2 Zählmarken von %3 (jetzt %4). - + %1 %2 %3. %1 %2 %3. @@ -3096,22 +3106,22 @@ Lokale Version ist %1, Serverversion ist %2. %1 sieht sich die obersten %2 Karten %3 an. - + %1 is looking at %2. %1 sieht sich %2 an. - + %1 stops looking at %2. %1 sieht sich %2 nicht mehr an. - + %1 reveals %2 to %3. %1 zeigt %3 %2. - + %1 reveals %2. %1 zeigt %2 offen vor. @@ -3132,7 +3142,7 @@ Lokale Version ist %1, Serverversion ist %2. %1 zeigt %2 aus %3 offen vor. - + ending phase die Zugendphase @@ -3161,57 +3171,57 @@ Lokale Version ist %1, Serverversion ist %2. %1 sieht sich %2s %3 nicht mehr an - + It is now %1's turn. %1 ist am Zug. - + untap step das Enttappsegment - + upkeep step das Versorgungssegment - + draw step das Ziehsegment - + first main phase die erste Hauptphase - + beginning of combat step das Anfangssegment der Kampfphase - + declare attackers step das Angreifer-Deklarieren-Segment - + declare blockers step das Blocker-Deklarieren-Segment - + combat damage step das Kampfschadenssegment - + end of combat step das Endsegment der Kampfphase - + second main phase die zweite Hauptphase @@ -3220,7 +3230,7 @@ Lokale Version ist %1, Serverversion ist %2. das Ende-des-Zuges-Segment - + It is now the %1. Es ist nun %1. @@ -3229,12 +3239,12 @@ Lokale Version ist %1, Serverversion ist %2. %1 bewegt %2 %3 nach %4 - + taps tappt - + untaps enttappt @@ -3259,7 +3269,7 @@ Lokale Version ist %1, Serverversion ist %2. %1 entfernt %2 Zählmarken von %3 (jetzt %4) - + his permanents seine bleibenden Karten @@ -3272,12 +3282,12 @@ Lokale Version ist %1, Serverversion ist %2. %1 setzt Zähler "%2" auf %3 (%4%5) - + %1 sets %2 to not untap normally. %1 setzt %2 auf explizites Enttappen. - + %1 sets %2 to untap normally. %1 setzt %2 auf normales Enttappen. @@ -3792,7 +3802,7 @@ Lokale Version ist %1, Serverversion ist %2. - + Number: Anzahl: @@ -3807,27 +3817,27 @@ Lokale Version ist %1, Serverversion ist %2. Oberste Karten ins Exil schicken - + Set power/toughness Kampfwerte setzen - + Please enter the new PT: Bitte die neuen Kampfwerte eingeben: - + Set annotation Hinweis setzen - + Please enter the new annotation: Bitte den Hinweis eingeben: - + Set counters Setze Zählmarken diff --git a/cockatrice/translations/cockatrice_en.ts b/cockatrice/translations/cockatrice_en.ts index a0cd85a4..02e8057d 100644 --- a/cockatrice/translations/cockatrice_en.ts +++ b/cockatrice/translations/cockatrice_en.ts @@ -1667,17 +1667,27 @@ Local version is %1, remote version is %2. - + + %1 has restored connection to the game. + + + + + %1 has lost connection to the game. + + + + %1 shuffles %2. - + %1 rolls a %2 with a %3-sided die. - + %1 draws %n card(s). %1 draws a card. @@ -1685,208 +1695,208 @@ Local version is %1, remote version is %2. - + %1 undoes his last draw. - + %1 undoes her last draw. - + %1 undoes his last draw (%2). - + %1 undoes her last draw (%2). - + from table - + from graveyard - + from exile - + from hand - + the bottom card of his library - + the bottom card of her library - + from the bottom of his library - + from the bottom of her library - + the top card of his library - + the top card of her library - + from the top of his library - + from the top of her library - + from library - + from sideboard - + from the stack - + %1 gives %2 control over %3. - + %1 puts %2 into play tapped%3. - + %1 puts %2 into play%3. - + %1 puts %2%3 into graveyard. - + %1 exiles %2%3. - + %1 moves %2%3 to hand. - + %1 puts %2%3 into his library. - + %1 puts %2%3 into her library. - + %1 puts %2%3 on bottom of his library. - + %1 puts %2%3 on bottom of her library. - + %1 puts %2%3 on top of his library. - + %1 puts %2%3 on top of her library. - + %1 puts %2%3 into his library at position %4. - + %1 puts %2%3 into her library at position %4. - + %1 moves %2%3 to sideboard. - + %1 plays %2%3. - - + + a card - + %1 flips %2 face-down. - + %1 flips %2 face-up. - + %1 attaches %2 to %3's %4. - + %1 unattaches %2. - + %1 points from %2's %3 to %4's %5. @@ -1905,7 +1915,7 @@ Local version is %1, remote version is %2. - + red @@ -1913,7 +1923,7 @@ Local version is %1, remote version is %2. - + yellow @@ -1921,7 +1931,7 @@ Local version is %1, remote version is %2. - + green @@ -1929,22 +1939,22 @@ Local version is %1, remote version is %2. - + %1 sets counter %2 to %3 (%4%5). - + %1 sets PT of %2 to %3. - + %1 sets annotation of %2 to %3. - + %1 is looking at the top %2 cards %3. @@ -1999,7 +2009,7 @@ Local version is %1, remote version is %2. - + %1 takes a mulligan to %n. @@ -2007,32 +2017,32 @@ Local version is %1, remote version is %2. - + %1 draws his initial hand. - + %1 draws her initial hand. - + %1 destroys %2. - + %1 creates token: %2%3. - + %1 points from %2's %3 to %4. - + %1 places %n %2 counter(s) on %3 (now %4). %1 places a %2 counter on %3 (now %4). @@ -2040,7 +2050,7 @@ Local version is %1, remote version is %2. - + %1 removes %n %2 counter(s) from %3 (now %4). %1 removes a %2 counter from %3 (now %4). @@ -2048,142 +2058,142 @@ Local version is %1, remote version is %2. - + her permanents - + %1 %2 %3. - + %1 is looking at %2. - + %1 stops looking at %2. - + %1 reveals %2 to %3. - + %1 reveals %2. - + ending phase - + It is now %1's turn. - + %1 randomly reveals %2%3 to %4. - + %1 randomly reveals %2%3. - + %1 reveals %2%3 to %4. - + %1 reveals %2%3. - + untap step - + upkeep step - + draw step - + first main phase - + beginning of combat step - + declare attackers step - + declare blockers step - + combat damage step - + end of combat step - + second main phase - + It is now the %1. - + taps - + untaps - + %1 sets %2 to not untap normally. - + %1 sets %2 to untap normally. - + his permanents @@ -2542,7 +2552,7 @@ Local version is %1, remote version is %2. - + Number: @@ -2567,27 +2577,27 @@ Local version is %1, remote version is %2. - + Set power/toughness - + Please enter the new PT: - + Set annotation - + Please enter the new annotation: - + Set counters diff --git a/cockatrice/translations/cockatrice_es.ts b/cockatrice/translations/cockatrice_es.ts index 60757984..adb9e23a 100644 --- a/cockatrice/translations/cockatrice_es.ts +++ b/cockatrice/translations/cockatrice_es.ts @@ -2040,17 +2040,27 @@ La versión local es %1, la versión remota es %2. %1 ya no está listo para empezar el juego. - + + %1 has restored connection to the game. + + + + + %1 has lost connection to the game. + + + + %1 shuffles %2. - + %1 rolls a %2 with a %3-sided die. %1 sacó un %2 con un dado de %3 caras. - + %1 draws %n card(s). %1 roba %n carta. @@ -2058,208 +2068,208 @@ La versión local es %1, la versión remota es %2. - + %1 undoes his last draw. %1 deshace su último robo. - + %1 undoes her last draw. - + %1 undoes his last draw (%2). %1 deshace su último robo (%2). - + %1 undoes her last draw (%2). - + from table de la mesa - + from graveyard del cementerio - + from exile del exilio - + from hand de la mano - + the bottom card of his library el fondo de la biblioteca - + the bottom card of her library - + from the bottom of his library del fondo de la biblioteca - + from the bottom of her library - + the top card of his library la parte superior de la biblioteca - + the top card of her library - + from the top of his library de la parte superior de la biblioteca - + from the top of her library - + from library de la biblioteca - + from sideboard de la reserva - + from the stack de la pila - + %1 gives %2 control over %3. %1 entrega a %2 el control sobre %3. - + %1 puts %2 into play tapped%3. %1 pone %2 en juego%3 girado. - + %1 puts %2 into play%3. %1 pone %2 en juego%3. - + %1 puts %2%3 into graveyard. %1 pone %2%3 en el cementerio. - + %1 exiles %2%3. %1 exilia %2%3. - + %1 moves %2%3 to hand. %1 mueve %2%3 a la mano. - + %1 puts %2%3 into his library. %1 pone %2%3 en la biblioteca. - + %1 puts %2%3 into her library. - + %1 puts %2%3 on bottom of his library. %1 pone %2%3 en la parte inferior de su biblioteca. - + %1 puts %2%3 on bottom of her library. - + %1 puts %2%3 on top of his library. %1 pone %2%3 en la parte superior de su biblioteca. - + %1 puts %2%3 on top of her library. - + %1 puts %2%3 into his library at position %4. %1 pone %2%3 en su biblioteca en la posición %4. - + %1 puts %2%3 into her library at position %4. - + %1 moves %2%3 to sideboard. %1 mueve %2%3 a la reserva. - + %1 plays %2%3. %1 juega %2%3. - - + + a card una carta - + %1 flips %2 face-down. %1 voltea %2 boca abajo. - + %1 flips %2 face-up. %1 voltea %2 boca arriba. - + %1 attaches %2 to %3's %4. %1 anexa %2 a el %4 de %3. - + %1 unattaches %2. %1 desanexa %2. - + %1 points from %2's %3 to %4's %5. %1 apunta desde el %3 de %2 al %5 de %4. @@ -2278,7 +2288,7 @@ La versión local es %1, la versión remota es %2. - + red rojo @@ -2286,7 +2296,7 @@ La versión local es %1, la versión remota es %2. - + yellow amarillo @@ -2294,7 +2304,7 @@ La versión local es %1, la versión remota es %2. - + green verde @@ -2302,22 +2312,22 @@ La versión local es %1, la versión remota es %2. - + %1 sets counter %2 to %3 (%4%5). %1 establece los contadores de %2 a %3 (%4%5). - + %1 sets PT of %2 to %3. %1 establece F/R de %2 a %3. - + %1 sets annotation of %2 to %3. %1 establece la anotación de %2 a %3. - + %1 is looking at the top %2 cards %3. %1 esta mirando las primeras %2 cartas de %3. @@ -2380,22 +2390,22 @@ La versión local es %1, la versión remota es %2. %1 roba %2 cartas. - + %1 destroys %2. %1 destruye %2. - + %1 creates token: %2%3. %1 crea una ficha: %2%3. - + %1 points from %2's %3 to %4. %1 apunta desde el %3 de %2 a %4. - + %1 places %n %2 counter(s) on %3 (now %4). %1 pone %n %2 contador en %3 (ahora %4). @@ -2403,7 +2413,7 @@ La versión local es %1, la versión remota es %2. - + %1 removes %n %2 counter(s) from %3 (now %4). %1 remueve %n %2 contador en %3 (ahora %4). @@ -2411,37 +2421,37 @@ La versión local es %1, la versión remota es %2. - + %1 %2 %3. %1 %2 %3. - + %1 is looking at %2. %1 está mirando: %2. - + %1 stops looking at %2. %1 termina de mirar: %2. - + %1 reveals %2 to %3. %1 revela %2 a %3. - + %1 reveals %2. %1 revela %2. - + ending phase fase de fin de turno - + It is now %1's turn. Es el turno de %1. @@ -2450,7 +2460,7 @@ La versión local es %1, la versión remota es %2. %1 baraja su biblioteca. - + %1 takes a mulligan to %n. @@ -2458,117 +2468,117 @@ La versión local es %1, la versión remota es %2. - + %1 draws his initial hand. - + %1 draws her initial hand. - + her permanents - + %1 randomly reveals %2%3 to %4. %1 revela aleatoriamente %2%3 a %4. - + %1 randomly reveals %2%3. %1 revela aleatoriamente %2%3. - + %1 reveals %2%3 to %4. %1 revela %2%3 a %4. - + %1 reveals %2%3. %1 revela %2%3. - + untap step paso de enderezar - + upkeep step paso de mantenimiento - + draw step paso de robar - + first main phase primera fase principal - + beginning of combat step paso de inicio de combate - + declare attackers step paso de declarar atacantes - + declare blockers step paso de declarar bloqueadores - + combat damage step paso de daño de combate - + end of combat step paso de fin de combate - + second main phase segunda fase principal - + It is now the %1. Ahora es el %1. - + taps gira - + untaps endereza - + %1 sets %2 to not untap normally. %1 establece que %2 no se endereze normalmente. - + %1 sets %2 to untap normally. %1 establece que %2 se endereze normalmente. - + his permanents sus permanentes @@ -2935,7 +2945,7 @@ La versión local es %1, la versión remota es %2. - + Number: Número: @@ -2960,27 +2970,27 @@ La versión local es %1, la versión remota es %2. Número de caras: - + Set power/toughness Establecer fuerza/resistencia - + Please enter the new PT: Por favor, introduzca la nueva F/R: - + Set annotation Escribir anotación - + Please enter the new annotation: Por favor, introduza la nueva anotación: - + Set counters Establecer contadores diff --git a/cockatrice/translations/cockatrice_fr.ts b/cockatrice/translations/cockatrice_fr.ts index 3573db24..c8950757 100644 --- a/cockatrice/translations/cockatrice_fr.ts +++ b/cockatrice/translations/cockatrice_fr.ts @@ -1952,7 +1952,7 @@ La version la plus récente est %1, l'ancienne version est %2.%1 mélange sa bibliothèque. - + %1 rolls a %2 with a %3-sided die. is it always a dice? %1 lance un %2 à %3 faces. @@ -1966,169 +1966,179 @@ La version la plus récente est %1, l'ancienne version est %2.%1 pioche %2 cartes. - + from table depuis le champ de bataille - + from graveyard depuis son cimetière - + from exile depuis la zone exil - + from hand depuis sa main - + the bottom card of his library la carte du dessous de sa bibliothèque - + the bottom card of her library - + from the bottom of his library du dessous de sa bibliothèque - + from the bottom of her library - + the top card of his library le carte du dessus de sa bibliothèque - + the top card of her library - + from the top of his library du dessus de sa bibliothèque - + from the top of her library - + from library depuis sa bibliothèque - + from sideboard depuis sa réserve - + from the stack depuis la pile - + %1 puts %2 into play tapped%3. %1 met %2 en jeu engagé%3. - + %1 puts %2 into play%3. what is %3? plz exemple (resp. by Ranma : XX met island en jeu -depuis sa main-.) %1 met %2 en jeu %3. - + %1 puts %2%3 into graveyard. %1 met %2%3 dans son cimetière. - + %1 exiles %2%3. %1 exile %2%3. - + %1 moves %2%3 to hand. %1 met %2%3 dans sa main. - + %1 puts %2%3 into his library. %1 met %2%3 dans sa bibliothèque. - + %1 puts %2%3 into her library. - + %1 puts %2%3 on bottom of his library. %1 met %2%3 en-dessous de sa bibliothèque. - + %1 puts %2%3 on bottom of her library. - + %1 puts %2%3 on top of his library. %1 met %2%3 au-dessus de sa bibliothèque. - + %1 puts %2%3 on top of her library. - + %1 puts %2%3 into his library at position %4. %1 met %2%3 dans sa bibliothèque à la position n°%4. - + %1 puts %2%3 into her library at position %4. - + %1 moves %2%3 to sideboard. %1 met %2%3 à sa réserve. - + %1 plays %2%3. %1 joue %2%3. - - + + a card une carte - + + %1 has restored connection to the game. + + + + + %1 has lost connection to the game. + + + + %1 shuffles %2. - + %1 draws %n card(s). %1 pioche %n carte. @@ -2136,32 +2146,32 @@ La version la plus récente est %1, l'ancienne version est %2. - + %1 undoes his last draw. %1 annule sa dernière pioche. - + %1 undoes her last draw. - + %1 undoes his last draw (%2). %1 annule sa dernière pioche (%2). - + %1 undoes her last draw (%2). - + %1 gives %2 control over %3. %1 donne le contrôle de %2 à %3. - + %1 takes a mulligan to %n. @@ -2169,54 +2179,54 @@ La version la plus récente est %1, l'ancienne version est %2. - + %1 draws his initial hand. - + %1 draws her initial hand. - + %1 flips %2 face-down. %1 retourne %2 face cachée. - + %1 flips %2 face-up. %1 retourne %2 face visible. - + %1 destroys %2. %1 détruit %2. - + %1 attaches %2 to %3's %4. need exemple (Resp'.by Ranma: JoueurA attache Adventuring Gear sur -Plated Geopede- de -JoueurB-.) %1 attache %2 sur %4 de %3. - + %1 unattaches %2. %1 détache %2. - + %1 creates token: %2%3. %1 crée un jeton %2%3. - + %1 points from %2's %3 to %4. need exemple %1 désigne le %3 de %2 à %4. - + %1 points from %2's %3 to %4's %5. need exemple %1 désigne le %3 de %2 à %5 de %4. @@ -2238,7 +2248,7 @@ La version la plus récente est %1, l'ancienne version est %2. - + %1 places %n %2 counter(s) on %3 (now %4). %1 met %n %2 marqueur sur %3 (maintenant %4). @@ -2246,7 +2256,7 @@ La version la plus récente est %1, l'ancienne version est %2. - + %1 removes %n %2 counter(s) from %3 (now %4). %1 retire %n %2 marqueur de %3 (maintenant %4). @@ -2254,7 +2264,7 @@ La version la plus récente est %1, l'ancienne version est %2. - + red rouge @@ -2262,7 +2272,7 @@ La version la plus récente est %1, l'ancienne version est %2. - + yellow jaune @@ -2270,7 +2280,7 @@ La version la plus récente est %1, l'ancienne version est %2. - + green vert @@ -2278,169 +2288,169 @@ La version la plus récente est %1, l'ancienne version est %2. - + his permanents ses permanents - + her permanents - + %1 %2 %3. wtf ? %1 %2 %3. - + taps engage - + untaps dégage - + %1 sets counter %2 to %3 (%4%5). need exemple %1 met les marqueurs %2 à %3 (%4%5). - + %1 sets %2 to not untap normally. need exemple %2 de %1 ne se dégagera pas lors de l'étape de dégagement. - + %1 sets %2 to untap normally. %2 de %1 se dégagera lors de l'étape de dégagement. - + %1 sets PT of %2 to %3. exemple plz %1 change la F/E de %2 à %3. - + %1 sets annotation of %2 to %3. %1 met l'annotation %3 à %2. - + %1 is looking at the top %2 cards %3. exemple plz %1 regarde les %2 cartes du dessus %3. - + %1 is looking at %2. exemple plz %1 regarde %2. - + %1 stops looking at %2. need exemple to be sure %1 arrête de regarder %2. - + %1 reveals %2 to %3. %1 révèle %2 à %3. - + %1 reveals %2. %1 révèle %2. - + %1 randomly reveals %2%3 to %4. %1 révèle au hasard %2%3 à %4. - + %1 randomly reveals %2%3. %1 révèle au hasard %2%3. - + %1 reveals %2%3 to %4. %1 révèle %2%3 à %4. - + %1 reveals %2%3. %1 révèle %2%3. - + It is now %1's turn. C'est maintenant le tour de %1. - + untap step étape de dégagement - + upkeep step étape d'entretien - + draw step étape de pioche - + first main phase première phase principale - + beginning of combat step étape de début du combat - + declare attackers step étape de déclaration des attaquants - + declare blockers step étape de déclaration des bloqueurs - + combat damage step étape de répartition et de résolution des blessures - + end of combat step étape de fin de combat - + second main phase seconde phase principale - + ending phase phase de fin de tour - + It is now the %1. need exemple C'est maintenant %1. @@ -2800,7 +2810,7 @@ La version la plus récente est %1, l'ancienne version est %2. - + Number: Nombre: @@ -2825,28 +2835,28 @@ La version la plus récente est %1, l'ancienne version est %2.Nombre de faces: - + Set power/toughness Fixer force/endurance - + Please enter the new PT: maybe better with / Entrer la nouvelle F/E: - + Set annotation Mettre une note - + Please enter the new annotation: Entrez la nouvelle note: - + Set counters Mettre des marqueurs diff --git a/cockatrice/translations/cockatrice_ja.ts b/cockatrice/translations/cockatrice_ja.ts index 73682c83..d3bf6ce8 100644 --- a/cockatrice/translations/cockatrice_ja.ts +++ b/cockatrice/translations/cockatrice_ja.ts @@ -1723,225 +1723,235 @@ Local version is %1, remote version is %2. - + + %1 has restored connection to the game. + + + + + %1 has lost connection to the game. + + + + %1 shuffles %2. - + %1 rolls a %2 with a %3-sided die. - + %1 draws %n card(s). - + %1 undoes his last draw. - + %1 undoes her last draw. - + %1 undoes his last draw (%2). - + %1 undoes her last draw (%2). - + from table - + from graveyard - + from exile - + from hand - + the bottom card of his library - + the bottom card of her library - + from the bottom of his library - + from the bottom of her library - + the top card of his library - + the top card of her library - + from the top of his library - + from the top of her library - + from library - + from sideboard - + from the stack - + %1 gives %2 control over %3. - + %1 puts %2 into play tapped%3. - + %1 puts %2 into play%3. - + %1 puts %2%3 into graveyard. - + %1 exiles %2%3. - + %1 moves %2%3 to hand. - + %1 puts %2%3 into his library. - + %1 puts %2%3 into her library. - + %1 puts %2%3 on bottom of his library. - + %1 puts %2%3 on bottom of her library. - + %1 puts %2%3 on top of his library. - + %1 puts %2%3 on top of her library. - + %1 puts %2%3 into his library at position %4. - + %1 puts %2%3 into her library at position %4. - + %1 moves %2%3 to sideboard. - + %1 plays %2%3. - - + + a card - + %1 flips %2 face-down. - + %1 flips %2 face-up. - + %1 attaches %2 to %3's %4. - + %1 unattaches %2. - + %1 points from %2's %3 to %4's %5. @@ -1958,43 +1968,43 @@ Local version is %1, remote version is %2. - + red - + yellow - + green - + %1 sets counter %2 to %3 (%4%5). - + %1 sets PT of %2 to %3. - + %1 sets annotation of %2 to %3. - + %1 is looking at the top %2 cards %3. @@ -2049,188 +2059,188 @@ Local version is %1, remote version is %2. - + %1 takes a mulligan to %n. - + %1 draws his initial hand. - + %1 draws her initial hand. - + %1 destroys %2. - + %1 creates token: %2%3. - + %1 points from %2's %3 to %4. - + %1 places %n %2 counter(s) on %3 (now %4). - + %1 removes %n %2 counter(s) from %3 (now %4). - + her permanents - + %1 %2 %3. - + %1 is looking at %2. - + %1 stops looking at %2. - + %1 reveals %2 to %3. - + %1 reveals %2. - + ending phase - + It is now %1's turn. - + %1 randomly reveals %2%3 to %4. - + %1 randomly reveals %2%3. - + %1 reveals %2%3 to %4. - + %1 reveals %2%3. - + untap step - + upkeep step - + draw step - + first main phase - + beginning of combat step - + declare attackers step - + declare blockers step - + combat damage step - + end of combat step - + second main phase - + It is now the %1. - + taps - + untaps - + %1 sets %2 to not untap normally. - + %1 sets %2 to untap normally. - + his permanents @@ -2589,7 +2599,7 @@ Local version is %1, remote version is %2. - + Number: 枚数 @@ -2614,27 +2624,27 @@ Local version is %1, remote version is %2. 面の数: - + Set power/toughness パワーとタフネスを設定する - + Please enter the new PT: 新しいP/Tを入力してください - + Set annotation 補足を付ける - + Please enter the new annotation: 新しい補足を付けてください - + Set counters カウンターを設定する diff --git a/cockatrice/translations/cockatrice_pl.ts b/cockatrice/translations/cockatrice_pl.ts index 093c6668..4a1f9307 100644 --- a/cockatrice/translations/cockatrice_pl.ts +++ b/cockatrice/translations/cockatrice_pl.ts @@ -1718,17 +1718,27 @@ Local version is %1, remote version is %2. - + + %1 has restored connection to the game. + + + + + %1 has lost connection to the game. + + + + %1 shuffles %2. - + %1 rolls a %2 with a %3-sided die. - + %1 draws %n card(s). @@ -1737,188 +1747,188 @@ Local version is %1, remote version is %2. - + %1 undoes his last draw. - + %1 undoes her last draw. - + %1 undoes his last draw (%2). - + %1 undoes her last draw (%2). - + from table - + from graveyard - + from exile - + from hand - + the bottom card of his library - + the bottom card of her library - + from the bottom of his library - + from the bottom of her library - + the top card of his library - + the top card of her library - + from the top of his library - + from the top of her library - + from library - + from sideboard - + from the stack - - + + a card - + %1 gives %2 control over %3. - + %1 puts %2 into play tapped%3. - + %1 puts %2 into play%3. - + %1 puts %2%3 into graveyard. - + %1 exiles %2%3. - + %1 moves %2%3 to hand. - + %1 puts %2%3 into his library. - + %1 puts %2%3 into her library. - + %1 puts %2%3 on bottom of his library. - + %1 puts %2%3 on bottom of her library. - + %1 puts %2%3 on top of his library. - + %1 puts %2%3 on top of her library. - + %1 puts %2%3 into his library at position %4. - + %1 puts %2%3 into her library at position %4. - + %1 moves %2%3 to sideboard. - + %1 plays %2%3. - + %1 takes a mulligan to %n. @@ -1927,57 +1937,57 @@ Local version is %1, remote version is %2. - + %1 draws his initial hand. - + %1 draws her initial hand. - + %1 flips %2 face-down. - + %1 flips %2 face-up. - + %1 destroys %2. - + %1 attaches %2 to %3's %4. - + %1 unattaches %2. - + %1 creates token: %2%3. - + %1 points from %2's %3 to %4. - + %1 points from %2's %3 to %4's %5. - + %1 places %n %2 counter(s) on %3 (now %4). @@ -1986,7 +1996,7 @@ Local version is %1, remote version is %2. - + %1 removes %n %2 counter(s) from %3 (now %4). @@ -1995,7 +2005,7 @@ Local version is %1, remote version is %2. - + red @@ -2004,7 +2014,7 @@ Local version is %1, remote version is %2. - + yellow @@ -2013,7 +2023,7 @@ Local version is %1, remote version is %2. - + green @@ -2022,162 +2032,162 @@ Local version is %1, remote version is %2. - + his permanents - + her permanents - + %1 %2 %3. - + taps - + untaps - + %1 sets counter %2 to %3 (%4%5). - + %1 sets %2 to not untap normally. - + %1 sets %2 to untap normally. - + %1 sets PT of %2 to %3. - + %1 sets annotation of %2 to %3. - + %1 is looking at the top %2 cards %3. - + %1 is looking at %2. - + %1 stops looking at %2. - + %1 reveals %2 to %3. - + %1 reveals %2. - + %1 randomly reveals %2%3 to %4. - + %1 randomly reveals %2%3. - + %1 reveals %2%3 to %4. - + %1 reveals %2%3. - + It is now %1's turn. - + untap step - + upkeep step - + draw step - + first main phase - + beginning of combat step - + declare attackers step - + declare blockers step - + combat damage step - + end of combat step - + second main phase - + ending phase - + It is now the %1. @@ -2536,7 +2546,7 @@ Local version is %1, remote version is %2. - + Number: @@ -2561,27 +2571,27 @@ Local version is %1, remote version is %2. - + Set power/toughness - + Please enter the new PT: - + Set annotation - + Please enter the new annotation: - + Set counters diff --git a/cockatrice/translations/cockatrice_pt-br.ts b/cockatrice/translations/cockatrice_pt-br.ts index 8dd17c58..ea855248 100644 --- a/cockatrice/translations/cockatrice_pt-br.ts +++ b/cockatrice/translations/cockatrice_pt-br.ts @@ -1898,17 +1898,27 @@ A versão local é %1 e a versão remota é %2. %1 não está mais pronto para começar o jogo. - + + %1 has restored connection to the game. + + + + + %1 has lost connection to the game. + + + + %1 shuffles %2. - + %1 rolls a %2 with a %3-sided die. %1 tirou um %2 com um dado de %3 lados. - + %1 draws %n card(s). %1 compra %n card. @@ -1916,208 +1926,208 @@ A versão local é %1 e a versão remota é %2. - + %1 undoes his last draw. %1 desfaz sua última compra. - + %1 undoes her last draw. - + %1 undoes his last draw (%2). %1 desfaz sua última compra (%2). - + %1 undoes her last draw (%2). - + from table vindo do campo de batalha - + from graveyard vindo do cemitério - + from exile vindo do exílio - + from hand vindo da mão - + the bottom card of his library o card do fundo do seu grimório - + the bottom card of her library - + from the bottom of his library vindo do fundo do seu grimório - + from the bottom of her library - + the top card of his library o card do topo do seu grimório - + the top card of her library - + from the top of his library vindo do topo do seu grimório - + from the top of her library - + from library vindo do grimório - + from sideboard vindo do sideboard - + from the stack vindo da pilha - + %1 gives %2 control over %3. %1 dá controle para %2 sobre %3. - + %1 puts %2 into play tapped%3. %1 põe %2 em jogo virado%3. - + %1 puts %2 into play%3. %1 põe %2 no campo de batalha %3. - + %1 puts %2%3 into graveyard. %1 põe %2 no cemitério%3. - + %1 exiles %2%3. %1 exila %2%3. - + %1 moves %2%3 to hand. %1 move %2 para a mão%3. - + %1 puts %2%3 into his library. %1 põe %2 no seu grimório%3. - + %1 puts %2%3 into her library. - + %1 puts %2%3 on bottom of his library. %1 põe %2 no fundo do seu grimório%3. - + %1 puts %2%3 on bottom of her library. - + %1 puts %2%3 on top of his library. %1 põe %2 no topo do seu grimório%3. - + %1 puts %2%3 on top of her library. - + %1 puts %2%3 into his library at position %4. %1 põe %2 no seu grimório na posição %4%3. - + %1 puts %2%3 into her library at position %4. - + %1 moves %2%3 to sideboard. %1 move %2 para o sideboard%3. - + %1 plays %2%3. %1 põe %2 na pilha%3. - - + + a card um card - + %1 flips %2 face-down. %1 vira %2 para baixo. - + %1 flips %2 face-up. %1 vira %2 para cima. - + %1 attaches %2 to %3's %4. %1 anexa %2 a %4 de %3. - + %1 unattaches %2. %1 desanexa %2. - + %1 points from %2's %3 to %4's %5. %1 aponta para %5 de %4 com %3 de %2. @@ -2136,7 +2146,7 @@ A versão local é %1 e a versão remota é %2. - + red vermelho @@ -2144,7 +2154,7 @@ A versão local é %1 e a versão remota é %2. - + yellow amarelo @@ -2152,7 +2162,7 @@ A versão local é %1 e a versão remota é %2. - + green verde @@ -2160,22 +2170,22 @@ A versão local é %1 e a versão remota é %2. - + %1 sets counter %2 to %3 (%4%5). %1 altera o marcador %2 para %3 (%4%5). - + %1 sets PT of %2 to %3. %1 altera o P/R de %2 para %3. - + %1 sets annotation of %2 to %3. %1 altera a nota de %2 para%3. - + %1 is looking at the top %2 cards %3. %1 está olhando para os %2 cards do topo %3. @@ -2238,22 +2248,22 @@ A versão local é %1 e a versão remota é %2. %1 compra %2 cards. - + %1 destroys %2. %1 destrói %2. - + %1 creates token: %2%3. %1 cria a ficha: %2%3. - + %1 points from %2's %3 to %4. %1 aponta para %4 com %3 de %2 . - + %1 places %n %2 counter(s) on %3 (now %4). %1 põe %n marcador %2 em %3 (agora %4). @@ -2261,7 +2271,7 @@ A versão local é %1 e a versão remota é %2. - + %1 removes %n %2 counter(s) from %3 (now %4). %1 tira %n marcador %2 em %3 (agora %4). @@ -2269,37 +2279,37 @@ A versão local é %1 e a versão remota é %2. - + %1 %2 %3. %1 %2 %3. - + %1 is looking at %2. %1 está olhando para %2. - + %1 stops looking at %2. %1 para de olhar para %2. - + %1 reveals %2 to %3. %1 revela %2 para %3. - + %1 reveals %2. %1 revela %2. - + ending phase fase final - + It is now %1's turn. Agora é o turno de %1. @@ -2308,7 +2318,7 @@ A versão local é %1 e a versão remota é %2. %1 embaralha o seu grimório. - + %1 takes a mulligan to %n. @@ -2316,117 +2326,117 @@ A versão local é %1 e a versão remota é %2. - + %1 draws his initial hand. - + %1 draws her initial hand. - + her permanents - + %1 randomly reveals %2%3 to %4. %1 revela aleatoriamente %2%3. para %4. - + %1 randomly reveals %2%3. %1 revela aleatoriamente %2%3. - + %1 reveals %2%3 to %4. %1 revela %2%3 para %4. - + %1 reveals %2%3. %1 revela %2%3. - + untap step etapa de desvirar - + upkeep step etapa de manutenção - + draw step etapa de compra - + first main phase primeira fase principal - + beginning of combat step etapa de início de combate - + declare attackers step etapa de declaracão de atacantes - + declare blockers step etapa de declaração de bloqueadores - + combat damage step etapa de dano de combate - + end of combat step etapa de fim de combate - + second main phase segunda fase principal - + It is now the %1. Agora é a %1. - + taps vira - + untaps desvira - + %1 sets %2 to not untap normally. %1 define que %2 não desvira normalmente. - + %1 sets %2 to untap normally. %1 define que %2 desvira normalmente. - + his permanents as suas permanentes @@ -2785,7 +2795,7 @@ A versão local é %1 e a versão remota é %2. - + Number: Número: @@ -2810,27 +2820,27 @@ A versão local é %1 e a versão remota é %2. Número de lados: - + Set power/toughness Alterar poder/resistência - + Please enter the new PT: Por favor, entre com o novo P/R: - + Set annotation Alterar nota - + Please enter the new annotation: Por favor, entre com a nova nota: - + Set counters Alterar marcadores diff --git a/cockatrice/translations/cockatrice_pt.ts b/cockatrice/translations/cockatrice_pt.ts index 7ed23d1b..ed2d3b20 100644 --- a/cockatrice/translations/cockatrice_pt.ts +++ b/cockatrice/translations/cockatrice_pt.ts @@ -1956,7 +1956,7 @@ Versão local é %1, versão remota é %2. %1 baralha o grimório. - + %1 rolls a %2 with a %3-sided die. %1 obteve %2 com um dado de %3 faces. @@ -1969,157 +1969,157 @@ Versão local é %1, versão remota é %2. %1 compra %2 cartas. - + from table vindo da mesa - + from graveyard vindo do cemitério - + from exile vindo do exílio - + from hand vindo da mão - + the bottom card of his library a carta do fundo do seu grimório - + the bottom card of her library - + from the bottom of his library do fundo do seu grimório - + from the bottom of her library - + the top card of his library a carta do topo do seu grimório - + the top card of her library - + from the top of his library do topo do seu grimório - + from the top of her library - + from library do grimório - + from sideboard do sideboard - + from the stack da pilha - + %1 puts %2 into play tapped%3. %1 coloca %2 em jogo virado(a)%3. - + %1 puts %2 into play%3. %1 coloca %2 em jogo %3. - + %1 puts %2%3 into graveyard. %1 coloca %2%3 no cemitério. - + %1 exiles %2%3. %1 exila %2%3. - + %1 moves %2%3 to hand. %1 move %2%3 para a mão. - + %1 puts %2%3 into his library. %1 coloca %2%3 no seu grimório. - + %1 puts %2%3 into her library. - + %1 puts %2%3 on bottom of his library. %1 coloca %2%3 no fundo do seu grimório. - + %1 puts %2%3 on bottom of her library. - + %1 puts %2%3 on top of his library. %1 coloca %2%3 no topo do seu grimório. - + %1 puts %2%3 on top of her library. - + %1 puts %2%3 into his library at position %4. %1 coloca %2%3 no seu grimório na posição %4. - + %1 puts %2%3 into her library at position %4. - + %1 moves %2%3 to sideboard. %1 move %2%3 para o sideboard. - + %1 plays %2%3. %1 joga %2%3. - + %1 takes a mulligan to %n. @@ -2127,17 +2127,17 @@ Versão local é %1, versão remota é %2. - + %1 draws his initial hand. - + %1 draws her initial hand. - + %1 places %n %2 counter(s) on %3 (now %4). %1 coloca %n %2 marcador em %3 (agora com %4). @@ -2145,7 +2145,7 @@ Versão local é %1, versão remota é %2. - + %1 removes %n %2 counter(s) from %3 (now %4). %1 remove %n %2 marcador de %3 (agora com %4). @@ -2153,18 +2153,28 @@ Versão local é %1, versão remota é %2. - - + + a card uma carta - + + %1 has restored connection to the game. + + + + + %1 has lost connection to the game. + + + + %1 shuffles %2. - + %1 draws %n card(s). %1 compra %n carta. @@ -2172,67 +2182,67 @@ Versão local é %1, versão remota é %2. - + %1 undoes his last draw. %1 desfaz a sua última compra. - + %1 undoes her last draw. - + %1 undoes his last draw (%2). %1 desfaz a sua última compra (%2). - + %1 undoes her last draw (%2). - + %1 gives %2 control over %3. %1 dá controlo sobre %3 a %2. - + %1 flips %2 face-down. %1 volta a face de %2 para baixo. - + %1 flips %2 face-up. %1 volta a face de %2 para cima. - + %1 destroys %2. %1 destrói %2. - + %1 attaches %2 to %3's %4. %1 anexa %2 a %4 de %3. - + %1 unattaches %2. %1 desanexa %2. - + %1 creates token: %2%3. %1 cria ficha: %2%3. - + %1 points from %2's %3 to %4. %1 aponta de %3 de %2 para %4. - + %1 points from %2's %3 to %4's %5. %1 aponta de %3 de %2 para %5 de %4. @@ -2251,7 +2261,7 @@ Versão local é %1, versão remota é %2. - + red vermelho @@ -2259,7 +2269,7 @@ Versão local é %1, versão remota é %2. - + yellow amarelo @@ -2267,7 +2277,7 @@ Versão local é %1, versão remota é %2. - + green verde @@ -2275,162 +2285,162 @@ Versão local é %1, versão remota é %2. - + his permanents as suas permanentes - + her permanents - + %1 %2 %3. %1 %2 %3. - + taps vira - + untaps desvira - + %1 sets counter %2 to %3 (%4%5). %1 altera o número de marcadores %2 para %3(%4%5). - + %1 sets %2 to not untap normally. %1 define %2 para não desvirar normalmente. - + %1 sets %2 to untap normally. %1 define %2 para desvirar normalmente. - + %1 sets PT of %2 to %3. %1 define o P/R de %2 como %3. - + %1 sets annotation of %2 to %3. %1 coloca uma nota de %2 em%3. - + %1 is looking at the top %2 cards %3. %1 está a olhar para as %2 cartas do topo %3. - + %1 is looking at %2. %1 está a olhar para %2. - + %1 stops looking at %2. %1 para de olhar para %2. - + %1 reveals %2 to %3. %1 revela %2 a %3. - + %1 reveals %2. %1 revela %2. - + %1 randomly reveals %2%3 to %4. %1 revela aleatoreamente %2%3. a %4. - + %1 randomly reveals %2%3. %1 revela aleatoreamente %2%3. - + %1 reveals %2%3 to %4. %1 revela %2%3 a %4. - + %1 reveals %2%3. %1 revela %2%3. - + It is now %1's turn. É agora o turno de %1. - + untap step Etapa de Desvirar - + upkeep step Etapa de Manutenção - + draw step Etapa de Compra - + first main phase 1ª Fase Principal (pré-combate) - + beginning of combat step Etapa de Início de Combate - + declare attackers step Etapa de Declaração de Atacantes - + declare blockers step Etapa de Declaração de Bloqueadores - + combat damage step Etapa de Dano de Combate - + end of combat step Etapa de Fim de Combate - + second main phase 2ª Fase Principal (pós-combate) - + ending phase Fase Final - + It is now the %1. É agora a %1. @@ -2789,7 +2799,7 @@ Versão local é %1, versão remota é %2. - + Number: Número: @@ -2814,27 +2824,27 @@ Versão local é %1, versão remota é %2. Número de faces: - + Set power/toughness Definir poder/resistência - + Please enter the new PT: Por favor introduza o novo P/R: - + Set annotation Colocar nota - + Please enter the new annotation: Por favor introduza a nova nota: - + Set counters Definir marcadores diff --git a/cockatrice/translations/cockatrice_ru.ts b/cockatrice/translations/cockatrice_ru.ts index 9d7920e1..43d41057 100644 --- a/cockatrice/translations/cockatrice_ru.ts +++ b/cockatrice/translations/cockatrice_ru.ts @@ -1880,7 +1880,7 @@ Local version is %1, remote version is %2. %1 размешивает библиотеку. - + %1 rolls a %2 with a %3-sided die. %1 выкинул %2 / %3. @@ -1893,168 +1893,168 @@ Local version is %1, remote version is %2. %1 взял %2 карт. - + %1 undoes his last draw. %1 отменил последнее взятие. - + %1 undoes his last draw (%2). %1 отменил %2 последних взятий. - + from table с поля битвы - + from graveyard из кладбища - + from exile из изгнания - + from hand из руки - + the bottom card of his library нижнюю карту своей библиотеки - + from the bottom of his library со дна своей библиотеки - + the top card of his library верхнюю карту своей библиотеки - + from the top of his library с верха своей библиотеки - + from library из библиотеки - + from sideboard из сайда - + from the stack из стека - - + + a card карту - + %1 gives %2 control over %3. %1 передает %2 контроль над %3. - + %1 puts %2 into play%3. %1 поместил %2 на поле битвы %3. - + %1 puts %2%3 into graveyard. %1 поместил %2%3 на кладбище. - + %1 exiles %2%3. %1 изгоняет %2%3. - + %1 moves %2%3 to hand. %1 поместил %2%3 в руку. - + %1 puts %2%3 into his library. %1 поместил %2%3 в свою библиотеку. - + %1 puts %2%3 on bottom of his library. %1 поместил %2%3 на дно своей библиотеки. - + %1 puts %2%3 on top of his library. %1 поместил %2%3 на верх своей библиотеки. - + %1 puts %2%3 into his library at position %4. %1 поместил %2%3 в свою библиотеку %4 сверху. - + %1 moves %2%3 to sideboard. %1 поместил %2%3 в сайд. - + %1 plays %2%3. %1 разыгрывает %2%3. - + %1 flips %2 face-down. %1 перевернул %2 лицом вниз. - + %1 flips %2 face-up. %1 перевернул %2 лицом вверх. - + %1 destroys %2. %1 уничтожил %2. - + %1 attaches %2 to %3's %4. %1 присоединил %2 к %4 игрока %3. - + %1 unattaches %2. %1 отсоединил %2. - + %1 creates token: %2%3. %1 создал фишку: %2%3. - + %1 points from %2's %3 to %4. %1 указывает с %3 контролируемого %2 на %4. - + %1 points from %2's %3 to %4's %5. %1 указывает с %3 контролируемого %2 на %5 контролируемого %4. @@ -2075,12 +2075,22 @@ Local version is %1, remote version is %2. - + + %1 has restored connection to the game. + + + + + %1 has lost connection to the game. + + + + %1 shuffles %2. - + %1 draws %n card(s). %1 взял %n карту. @@ -2089,62 +2099,62 @@ Local version is %1, remote version is %2. - + %1 undoes her last draw. - + %1 undoes her last draw (%2). - + the bottom card of her library - + from the bottom of her library - + the top card of her library - + from the top of her library - + %1 puts %2 into play tapped%3. %1 положил %2 повернутым на поле битвы%3. - + %1 puts %2%3 into her library. - + %1 puts %2%3 on bottom of her library. - + %1 puts %2%3 on top of her library. - + %1 puts %2%3 into her library at position %4. - + %1 takes a mulligan to %n. @@ -2153,17 +2163,17 @@ Local version is %1, remote version is %2. - + %1 draws his initial hand. - + %1 draws her initial hand. - + %1 places %n %2 counter(s) on %3 (now %4). %1 поместил %n %2 жетон на %3 (теперь %4). @@ -2172,7 +2182,7 @@ Local version is %1, remote version is %2. - + %1 removes %n %2 counter(s) from %3 (now %4). %1 снял %n %2 жетон с %3 (теперь %4). @@ -2181,7 +2191,7 @@ Local version is %1, remote version is %2. - + red красный @@ -2190,7 +2200,7 @@ Local version is %1, remote version is %2. - + yellow желтый @@ -2199,7 +2209,7 @@ Local version is %1, remote version is %2. - + green зеленый @@ -2208,162 +2218,162 @@ Local version is %1, remote version is %2. - + his permanents свои перманенты - + her permanents - + %1 %2 %3. %1 %2 %3. - + taps повернул - + untaps развернул - + %1 sets counter %2 to %3 (%4%5). %1 установил жетон %2 на %3 (%4%5). - + %1 sets %2 to not untap normally. %2 теперь не разворачивается как обычно (%1). - + %1 sets %2 to untap normally. %2 теперь разворачивается как обычно (%1). - + %1 sets PT of %2 to %3. %1 установил Силу/Защиту %2 %3. - + %1 sets annotation of %2 to %3. %1 сделал пометку на %2 "%3". - + %1 is looking at the top %2 cards %3. %1 смотрит верхние %2 карт библиотеки %3. - + %1 is looking at %2. %1 просматривает %2. - + %1 stops looking at %2. %1 закончил просматривать %2. - + %1 reveals %2 to %3. %1 показывает его %2 %3. - + %1 reveals %2. %1 открыл его %2. - + %1 randomly reveals %2%3 to %4. %1 показывает случайно выбранную%3 карту (%2) %4. - + %1 randomly reveals %2%3. %1 открывает случайно выбранную%3 карту (%2). - + %1 reveals %2%3 to %4. %1 показывает%2%3 %4. - + %1 reveals %2%3. %1 открывает%2%3. - + It is now %1's turn. Ход игрока %1. - + untap step шаг разворота - + upkeep step шаг поддержки - + draw step шаг взятия карты - + first main phase первая главная фаза - + beginning of combat step шаг начала битвы - + declare attackers step шаг назначения атакующих - + declare blockers step шаг назначения блокирующих - + combat damage step шаг нанесения повреждений - + end of combat step шаг завершения битвы - + second main phase вторая главная фаза - + ending phase заключительный шаг - + It is now the %1. Сейчас %1. @@ -2722,7 +2732,7 @@ Local version is %1, remote version is %2. - + Number: Количество: @@ -2747,27 +2757,27 @@ Local version is %1, remote version is %2. Количество граней: - + Set power/toughness Установить Силу/Защиту - + Please enter the new PT: Введите новые Силу/Защиту: - + Set annotation Пометка - + Please enter the new annotation: Введите текст: - + Set counters Установить жетоны diff --git a/cockatrice/translations/cockatrice_sk.ts b/cockatrice/translations/cockatrice_sk.ts index 835301f8..aca97b8b 100644 --- a/cockatrice/translations/cockatrice_sk.ts +++ b/cockatrice/translations/cockatrice_sk.ts @@ -1718,17 +1718,27 @@ Local version is %1, remote version is %2. - + + %1 has restored connection to the game. + + + + + %1 has lost connection to the game. + + + + %1 shuffles %2. - + %1 rolls a %2 with a %3-sided die. - + %1 draws %n card(s). @@ -1737,188 +1747,188 @@ Local version is %1, remote version is %2. - + %1 undoes his last draw. - + %1 undoes her last draw. - + %1 undoes his last draw (%2). - + %1 undoes her last draw (%2). - + from table - + from graveyard - + from exile - + from hand - + the bottom card of his library - + the bottom card of her library - + from the bottom of his library - + from the bottom of her library - + the top card of his library - + the top card of her library - + from the top of his library - + from the top of her library - + from library - + from sideboard - + from the stack - - + + a card - + %1 gives %2 control over %3. - + %1 puts %2 into play tapped%3. - + %1 puts %2 into play%3. - + %1 puts %2%3 into graveyard. - + %1 exiles %2%3. - + %1 moves %2%3 to hand. - + %1 puts %2%3 into his library. - + %1 puts %2%3 into her library. - + %1 puts %2%3 on bottom of his library. - + %1 puts %2%3 on bottom of her library. - + %1 puts %2%3 on top of his library. - + %1 puts %2%3 on top of her library. - + %1 puts %2%3 into his library at position %4. - + %1 puts %2%3 into her library at position %4. - + %1 moves %2%3 to sideboard. - + %1 plays %2%3. - + %1 takes a mulligan to %n. @@ -1927,57 +1937,57 @@ Local version is %1, remote version is %2. - + %1 draws his initial hand. - + %1 draws her initial hand. - + %1 flips %2 face-down. - + %1 flips %2 face-up. - + %1 destroys %2. - + %1 attaches %2 to %3's %4. - + %1 unattaches %2. - + %1 creates token: %2%3. - + %1 points from %2's %3 to %4. - + %1 points from %2's %3 to %4's %5. - + %1 places %n %2 counter(s) on %3 (now %4). @@ -1986,7 +1996,7 @@ Local version is %1, remote version is %2. - + %1 removes %n %2 counter(s) from %3 (now %4). @@ -1995,7 +2005,7 @@ Local version is %1, remote version is %2. - + red @@ -2004,7 +2014,7 @@ Local version is %1, remote version is %2. - + yellow @@ -2013,7 +2023,7 @@ Local version is %1, remote version is %2. - + green @@ -2022,162 +2032,162 @@ Local version is %1, remote version is %2. - + his permanents - + her permanents - + %1 %2 %3. - + taps - + untaps - + %1 sets counter %2 to %3 (%4%5). - + %1 sets %2 to not untap normally. - + %1 sets %2 to untap normally. - + %1 sets PT of %2 to %3. - + %1 sets annotation of %2 to %3. - + %1 is looking at the top %2 cards %3. - + %1 is looking at %2. - + %1 stops looking at %2. - + %1 reveals %2 to %3. - + %1 reveals %2. - + %1 randomly reveals %2%3 to %4. - + %1 randomly reveals %2%3. - + %1 reveals %2%3 to %4. - + %1 reveals %2%3. - + It is now %1's turn. - + untap step - + upkeep step - + draw step - + first main phase - + beginning of combat step - + declare attackers step - + declare blockers step - + combat damage step - + end of combat step - + second main phase - + ending phase - + It is now the %1. @@ -2536,7 +2546,7 @@ Local version is %1, remote version is %2. - + Number: @@ -2561,27 +2571,27 @@ Local version is %1, remote version is %2. - + Set power/toughness - + Please enter the new PT: - + Set annotation - + Please enter the new annotation: - + Set counters diff --git a/common/protocol_item_ids.h b/common/protocol_item_ids.h index b00687cf..cbec3eb0 100644 --- a/common/protocol_item_ids.h +++ b/common/protocol_item_ids.h @@ -43,43 +43,44 @@ ItemId_Command_SetActivePhase = 1041, ItemId_Command_DumpZone = 1042, ItemId_Command_StopDumpZone = 1043, ItemId_Command_RevealCards = 1044, -ItemId_Event_Say = 1045, -ItemId_Event_Leave = 1046, -ItemId_Event_GameClosed = 1047, -ItemId_Event_Kicked = 1048, -ItemId_Event_Shuffle = 1049, -ItemId_Event_RollDie = 1050, -ItemId_Event_MoveCard = 1051, -ItemId_Event_FlipCard = 1052, -ItemId_Event_DestroyCard = 1053, -ItemId_Event_AttachCard = 1054, -ItemId_Event_CreateToken = 1055, -ItemId_Event_DeleteArrow = 1056, -ItemId_Event_SetCardAttr = 1057, -ItemId_Event_SetCardCounter = 1058, -ItemId_Event_SetCounter = 1059, -ItemId_Event_DelCounter = 1060, -ItemId_Event_SetActivePlayer = 1061, -ItemId_Event_SetActivePhase = 1062, -ItemId_Event_DumpZone = 1063, -ItemId_Event_StopDumpZone = 1064, -ItemId_Event_RemoveFromList = 1065, -ItemId_Event_ServerMessage = 1066, -ItemId_Event_ServerShutdown = 1067, -ItemId_Event_ConnectionClosed = 1068, -ItemId_Event_Message = 1069, -ItemId_Event_GameJoined = 1070, -ItemId_Event_UserLeft = 1071, -ItemId_Event_LeaveRoom = 1072, -ItemId_Event_RoomSay = 1073, -ItemId_Context_ReadyStart = 1074, -ItemId_Context_Concede = 1075, -ItemId_Context_DeckSelect = 1076, -ItemId_Context_UndoDraw = 1077, -ItemId_Context_MoveCard = 1078, -ItemId_Context_Mulligan = 1079, -ItemId_Command_UpdateServerMessage = 1080, -ItemId_Command_ShutdownServer = 1081, -ItemId_Command_BanFromServer = 1082, -ItemId_Other = 1083 +ItemId_Event_ConnectionStateChanged = 1045, +ItemId_Event_Say = 1046, +ItemId_Event_Leave = 1047, +ItemId_Event_GameClosed = 1048, +ItemId_Event_Kicked = 1049, +ItemId_Event_Shuffle = 1050, +ItemId_Event_RollDie = 1051, +ItemId_Event_MoveCard = 1052, +ItemId_Event_FlipCard = 1053, +ItemId_Event_DestroyCard = 1054, +ItemId_Event_AttachCard = 1055, +ItemId_Event_CreateToken = 1056, +ItemId_Event_DeleteArrow = 1057, +ItemId_Event_SetCardAttr = 1058, +ItemId_Event_SetCardCounter = 1059, +ItemId_Event_SetCounter = 1060, +ItemId_Event_DelCounter = 1061, +ItemId_Event_SetActivePlayer = 1062, +ItemId_Event_SetActivePhase = 1063, +ItemId_Event_DumpZone = 1064, +ItemId_Event_StopDumpZone = 1065, +ItemId_Event_RemoveFromList = 1066, +ItemId_Event_ServerMessage = 1067, +ItemId_Event_ServerShutdown = 1068, +ItemId_Event_ConnectionClosed = 1069, +ItemId_Event_Message = 1070, +ItemId_Event_GameJoined = 1071, +ItemId_Event_UserLeft = 1072, +ItemId_Event_LeaveRoom = 1073, +ItemId_Event_RoomSay = 1074, +ItemId_Context_ReadyStart = 1075, +ItemId_Context_Concede = 1076, +ItemId_Context_DeckSelect = 1077, +ItemId_Context_UndoDraw = 1078, +ItemId_Context_MoveCard = 1079, +ItemId_Context_Mulligan = 1080, +ItemId_Command_UpdateServerMessage = 1081, +ItemId_Command_ShutdownServer = 1082, +ItemId_Command_BanFromServer = 1083, +ItemId_Other = 1084 }; diff --git a/common/protocol_items.cpp b/common/protocol_items.cpp index 69de7319..b92a182b 100644 --- a/common/protocol_items.cpp +++ b/common/protocol_items.cpp @@ -255,6 +255,11 @@ Command_RevealCards::Command_RevealCards(int _gameId, const QString &_zoneName, insertItem(new SerializableItem_Int("card_id", _cardId)); insertItem(new SerializableItem_Int("player_id", _playerId)); } +Event_ConnectionStateChanged::Event_ConnectionStateChanged(int _playerId, bool _connected) + : GameEvent("connection_state_changed", _playerId) +{ + insertItem(new SerializableItem_Bool("connected", _connected)); +} Event_Say::Event_Say(int _playerId, const QString &_message) : GameEvent("say", _playerId) { @@ -531,6 +536,7 @@ void ProtocolItem::initializeHashAuto() itemNameHash.insert("cmddump_zone", Command_DumpZone::newItem); itemNameHash.insert("cmdstop_dump_zone", Command_StopDumpZone::newItem); itemNameHash.insert("cmdreveal_cards", Command_RevealCards::newItem); + itemNameHash.insert("game_eventconnection_state_changed", Event_ConnectionStateChanged::newItem); itemNameHash.insert("game_eventsay", Event_Say::newItem); itemNameHash.insert("game_eventleave", Event_Leave::newItem); itemNameHash.insert("game_eventgame_closed", Event_GameClosed::newItem); diff --git a/common/protocol_items.dat b/common/protocol_items.dat index 14e486c9..ab83e15a 100644 --- a/common/protocol_items.dat +++ b/common/protocol_items.dat @@ -42,6 +42,7 @@ 2:dump_zone:i,player_id:s,zone_name:i,number_cards 2:stop_dump_zone:i,player_id:s,zone_name 2:reveal_cards:s,zone_name:i,card_id:i,player_id +3:connection_state_changed:b,connected 3:say:s,message 3:leave 3:game_closed diff --git a/common/protocol_items.h b/common/protocol_items.h index d03a7825..810357a8 100644 --- a/common/protocol_items.h +++ b/common/protocol_items.h @@ -389,6 +389,14 @@ public: static SerializableItem *newItem() { return new Command_RevealCards; } int getItemId() const { return ItemId_Command_RevealCards; } }; +class Event_ConnectionStateChanged : public GameEvent { + Q_OBJECT +public: + Event_ConnectionStateChanged(int _playerId = -1, bool _connected = false); + bool getConnected() const { return static_cast(itemMap.value("connected"))->getData(); }; + static SerializableItem *newItem() { return new Event_ConnectionStateChanged; } + int getItemId() const { return ItemId_Event_ConnectionStateChanged; } +}; class Event_Say : public GameEvent { Q_OBJECT public: diff --git a/common/server_game.cpp b/common/server_game.cpp index 74e65ed9..85b3a151 100644 --- a/common/server_game.cpp +++ b/common/server_game.cpp @@ -341,6 +341,13 @@ void Server_Game::nextTurn() setActivePlayer(keys[listPos]); } +void Server_Game::postConnectionStatusUpdate(Server_Player *player, bool connectionStatus) +{ + QMutexLocker locker(&gameMutex); + + sendGameEvent(new Event_ConnectionStateChanged(player->getPlayerId(), connectionStatus)); +} + QList Server_Game::getGameState(Server_Player *playerWhosAsking) const { QMutexLocker locker(&gameMutex); diff --git a/common/server_game.h b/common/server_game.h index 2042a444..b34301d4 100644 --- a/common/server_game.h +++ b/common/server_game.h @@ -88,6 +88,7 @@ public: void setActivePlayer(int _activePlayer); void setActivePhase(int _activePhase); void nextTurn(); + void postConnectionStatusUpdate(Server_Player *player, bool connectionStatus); QList getGameState(Server_Player *playerWhosAsking) const; void sendGameEvent(GameEvent *event, GameEventContext *context = 0, Server_Player *exclude = 0); diff --git a/common/server_protocolhandler.cpp b/common/server_protocolhandler.cpp index b461f833..b929edb6 100644 --- a/common/server_protocolhandler.cpp +++ b/common/server_protocolhandler.cpp @@ -46,8 +46,10 @@ void Server_ProtocolHandler::prepareDestroy() if ((authState == UnknownUser) || p->getSpectator()) g->removePlayer(p); - else + else { p->setProtocolHandler(0); + g->postConnectionStatusUpdate(p, false); + } } gameListMutex.unlock(); @@ -392,6 +394,7 @@ ResponseCode Server_ProtocolHandler::cmdJoinRoom(Command_JoinRoom *cmd, CommandC for (int j = 0; j < gamePlayers.size(); ++j) if (gamePlayers[j]->getUserInfo()->getName() == userInfo->getName()) { gamePlayers[j]->setProtocolHandler(this); + game->postConnectionStatusUpdate(gamePlayers[j], true); games.insert(game->getGameId(), QPair(game, gamePlayers[j])); enqueueProtocolItem(new Event_GameJoined(game->getGameId(), game->getDescription(), gamePlayers[j]->getPlayerId(), gamePlayers[j]->getSpectator(), game->getSpectatorsCanTalk(), game->getSpectatorsSeeEverything(), true)); diff --git a/servatrice/src/servatrice.cpp b/servatrice/src/servatrice.cpp index 0cc2dd96..fffc1cec 100644 --- a/servatrice/src/servatrice.cpp +++ b/servatrice/src/servatrice.cpp @@ -423,4 +423,4 @@ void Servatrice::shutdownTimeout() deleteLater(); } -const QString Servatrice::versionString = "Servatrice 0.20110527"; +const QString Servatrice::versionString = "Servatrice 0.20110625";