mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-20 09:22:15 -07:00
I tried enums, was more annoying. Will probably look again later.
This commit is contained in:
parent
c9d5d5609c
commit
c24217e4b0
15 changed files with 167 additions and 531 deletions
|
|
@ -673,12 +673,12 @@ void TabDeckEditor::retranslateUi()
|
||||||
deckMenu->setTitle(tr("&Deck Editor"));
|
deckMenu->setTitle(tr("&Deck Editor"));
|
||||||
|
|
||||||
cardInfoDock->setWindowTitle(tr("Card Info"));
|
cardInfoDock->setWindowTitle(tr("Card Info"));
|
||||||
deckDock->setWindowTitle(tr("Deck"));
|
deckDock->setWindowTitle(tr(ZONE_DECK));
|
||||||
filterDock->setWindowTitle(tr("Filters"));
|
filterDock->setWindowTitle(tr("Filters"));
|
||||||
|
|
||||||
viewMenu->setTitle(tr("&View"));
|
viewMenu->setTitle(tr("&View"));
|
||||||
cardInfoDockMenu->setTitle(tr("Card Info"));
|
cardInfoDockMenu->setTitle(tr("Card Info"));
|
||||||
deckDockMenu->setTitle(tr("Deck"));
|
deckDockMenu->setTitle(tr(ZONE_DECK));
|
||||||
filterDockMenu->setTitle(tr("Filters"));
|
filterDockMenu->setTitle(tr("Filters"));
|
||||||
|
|
||||||
aCardInfoDockVisible->setText(tr("Visible"));
|
aCardInfoDockVisible->setText(tr("Visible"));
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
#include "phases_toolbar.h"
|
#include "phases_toolbar.h"
|
||||||
|
|
||||||
|
#include "../common/card_zones.h"
|
||||||
|
|
||||||
#include "pb/command_draw_cards.pb.h"
|
#include "pb/command_draw_cards.pb.h"
|
||||||
#include "pb/command_next_turn.pb.h"
|
#include "pb/command_next_turn.pb.h"
|
||||||
#include "pb/command_set_active_phase.pb.h"
|
#include "pb/command_set_active_phase.pb.h"
|
||||||
|
|
@ -259,7 +261,7 @@ void PhasesToolbar::actNextTurn()
|
||||||
void PhasesToolbar::actUntapAll()
|
void PhasesToolbar::actUntapAll()
|
||||||
{
|
{
|
||||||
Command_SetCardAttr cmd;
|
Command_SetCardAttr cmd;
|
||||||
cmd.set_zone("table");
|
cmd.set_zone(ZONE_TABLE);
|
||||||
cmd.set_attribute(AttrTapped);
|
cmd.set_attribute(AttrTapped);
|
||||||
cmd.set_attr_value("0");
|
cmd.set_attr_value("0");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
#include <QNetworkRequest>
|
#include <QNetworkRequest>
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
#include <QUrlQuery>
|
#include <QUrlQuery>
|
||||||
|
#include "../common/card_zones.h"
|
||||||
|
|
||||||
DeckStatsInterface::DeckStatsInterface(CardDatabase &_cardDatabase, QObject *parent)
|
DeckStatsInterface::DeckStatsInterface(CardDatabase &_cardDatabase, QObject *parent)
|
||||||
: QObject(parent), cardDatabase(_cardDatabase)
|
: QObject(parent), cardDatabase(_cardDatabase)
|
||||||
|
|
@ -50,7 +51,7 @@ void DeckStatsInterface::getAnalyzeRequestData(DeckList *deck, QByteArray *data)
|
||||||
|
|
||||||
QUrl params;
|
QUrl params;
|
||||||
QUrlQuery urlQuery;
|
QUrlQuery urlQuery;
|
||||||
urlQuery.addQueryItem("deck", deckWithoutTokens.writeToString_Plain());
|
urlQuery.addQueryItem(ZONE_DECK, deckWithoutTokens.writeToString_Plain());
|
||||||
urlQuery.addQueryItem("decktitle", deck->getName());
|
urlQuery.addQueryItem("decktitle", deck->getName());
|
||||||
params.setQuery(urlQuery);
|
params.setQuery(urlQuery);
|
||||||
data->append(params.query(QUrl::EncodeReserved).toUtf8());
|
data->append(params.query(QUrl::EncodeReserved).toUtf8());
|
||||||
|
|
|
||||||
|
|
@ -237,15 +237,15 @@ void ArrowDragItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
PlayerTarget *targetPlayer = qgraphicsitem_cast<PlayerTarget *>(targetItem);
|
PlayerTarget *targetPlayer = qgraphicsitem_cast<PlayerTarget *>(targetItem);
|
||||||
cmd.set_target_player_id(targetPlayer->getOwner()->getId());
|
cmd.set_target_player_id(targetPlayer->getOwner()->getId());
|
||||||
}
|
}
|
||||||
if (startZone->getName().compare("hand") == 0) {
|
if (startZone->getName().compare(ZONE_HAND) == 0) {
|
||||||
startCard->playCard(false);
|
startCard->playCard(false);
|
||||||
CardInfoPtr ci = startCard->getInfo();
|
CardInfoPtr ci = startCard->getInfo();
|
||||||
if (ci && (((!SettingsCache::instance().getPlayToStack() && ci->getTableRow() == 3) ||
|
if (ci && (((!SettingsCache::instance().getPlayToStack() && ci->getTableRow() == 3) ||
|
||||||
((SettingsCache::instance().getPlayToStack() && ci->getTableRow() != 0) &&
|
((SettingsCache::instance().getPlayToStack() && ci->getTableRow() != 0) &&
|
||||||
startCard->getZone()->getName().toStdString() != "stack"))))
|
startCard->getZone()->getName().toStdString() != ZONE_STACK))))
|
||||||
cmd.set_start_zone("stack");
|
cmd.set_start_zone(ZONE_STACK);
|
||||||
else
|
else
|
||||||
cmd.set_start_zone(SettingsCache::instance().getPlayToStack() ? "stack" : "table");
|
cmd.set_start_zone(SettingsCache::instance().getPlayToStack() ? ZONE_STACK : ZONE_TABLE);
|
||||||
}
|
}
|
||||||
player->sendGameCommand(cmd);
|
player->sendGameCommand(cmd);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -155,9 +155,9 @@ void GameScene::toggleZoneView(Player *player, const QString &zoneName, int numb
|
||||||
zoneViews.append(item);
|
zoneViews.append(item);
|
||||||
connect(item, SIGNAL(closePressed(ZoneViewWidget *)), this, SLOT(removeZoneView(ZoneViewWidget *)));
|
connect(item, SIGNAL(closePressed(ZoneViewWidget *)), this, SLOT(removeZoneView(ZoneViewWidget *)));
|
||||||
addItem(item);
|
addItem(item);
|
||||||
if (zoneName == "grave") {
|
if (zoneName == ZONE_GRAVEYARD) {
|
||||||
item->setPos(360, 100);
|
item->setPos(360, 100);
|
||||||
} else if (zoneName == "rfg") {
|
} else if (zoneName == ZONE_EXILE) {
|
||||||
item->setPos(380, 120);
|
item->setPos(380, 120);
|
||||||
} else {
|
} else {
|
||||||
item->setPos(340, 80);
|
item->setPos(340, 80);
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,7 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, bool _judge, T
|
||||||
qreal avatarMargin = (counterAreaWidth + CARD_HEIGHT + 15 - playerTarget->boundingRect().width()) / 2.0;
|
qreal avatarMargin = (counterAreaWidth + CARD_HEIGHT + 15 - playerTarget->boundingRect().width()) / 2.0;
|
||||||
playerTarget->setPos(QPointF(avatarMargin, avatarMargin));
|
playerTarget->setPos(QPointF(avatarMargin, avatarMargin));
|
||||||
|
|
||||||
auto *_deck = new PileZone(this, "deck", true, false, playerArea);
|
auto *_deck = new PileZone(this, ZONE_DECK, true, false, playerArea);
|
||||||
QPointF base = QPointF(counterAreaWidth + (CARD_HEIGHT - CARD_WIDTH + 15) / 2.0,
|
QPointF base = QPointF(counterAreaWidth + (CARD_HEIGHT - CARD_WIDTH + 15) / 2.0,
|
||||||
10 + playerTarget->boundingRect().height() + 5 - (CARD_HEIGHT - CARD_WIDTH) / 2.0);
|
10 + playerTarget->boundingRect().height() + 5 - (CARD_HEIGHT - CARD_WIDTH) / 2.0);
|
||||||
_deck->setPos(base);
|
_deck->setPos(base);
|
||||||
|
|
@ -140,13 +140,13 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, bool _judge, T
|
||||||
handCounter->setPos(base + QPointF(0, h + 10));
|
handCounter->setPos(base + QPointF(0, h + 10));
|
||||||
qreal h2 = handCounter->boundingRect().height();
|
qreal h2 = handCounter->boundingRect().height();
|
||||||
|
|
||||||
PileZone *grave = new PileZone(this, "grave", false, true, playerArea);
|
PileZone *grave = new PileZone(this, ZONE_GRAVEYARD, false, true, playerArea);
|
||||||
grave->setPos(base + QPointF(0, h + h2 + 10));
|
grave->setPos(base + QPointF(0, h + h2 + 10));
|
||||||
|
|
||||||
PileZone *rfg = new PileZone(this, "rfg", false, true, playerArea);
|
PileZone *rfg = new PileZone(this, ZONE_EXILE, false, true, playerArea);
|
||||||
rfg->setPos(base + QPointF(0, 2 * h + h2 + 10));
|
rfg->setPos(base + QPointF(0, 2 * h + h2 + 10));
|
||||||
|
|
||||||
PileZone *sb = new PileZone(this, "sb", false, false, playerArea);
|
PileZone *sb = new PileZone(this, ZONE_SIDEBOARD, false, false, playerArea);
|
||||||
sb->setVisible(false);
|
sb->setVisible(false);
|
||||||
|
|
||||||
table = new TableZone(this, this);
|
table = new TableZone(this, this);
|
||||||
|
|
@ -168,13 +168,13 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, bool _judge, T
|
||||||
|
|
||||||
if (local || judge) {
|
if (local || judge) {
|
||||||
aMoveHandToTopLibrary = new QAction(this);
|
aMoveHandToTopLibrary = new QAction(this);
|
||||||
aMoveHandToTopLibrary->setData(QList<QVariant>() << "deck" << 0);
|
aMoveHandToTopLibrary->setData(QList<QVariant>() << ZONE_DECK << 0);
|
||||||
aMoveHandToBottomLibrary = new QAction(this);
|
aMoveHandToBottomLibrary = new QAction(this);
|
||||||
aMoveHandToBottomLibrary->setData(QList<QVariant>() << "deck" << -1);
|
aMoveHandToBottomLibrary->setData(QList<QVariant>() << ZONE_DECK << -1);
|
||||||
aMoveHandToGrave = new QAction(this);
|
aMoveHandToGrave = new QAction(this);
|
||||||
aMoveHandToGrave->setData(QList<QVariant>() << "grave" << 0);
|
aMoveHandToGrave->setData(QList<QVariant>() << ZONE_GRAVEYARD << 0);
|
||||||
aMoveHandToRfg = new QAction(this);
|
aMoveHandToRfg = new QAction(this);
|
||||||
aMoveHandToRfg->setData(QList<QVariant>() << "rfg" << 0);
|
aMoveHandToRfg->setData(QList<QVariant>() << ZONE_EXILE << 0);
|
||||||
|
|
||||||
connect(aMoveHandToTopLibrary, SIGNAL(triggered()), hand, SLOT(moveAllToZone()));
|
connect(aMoveHandToTopLibrary, SIGNAL(triggered()), hand, SLOT(moveAllToZone()));
|
||||||
connect(aMoveHandToBottomLibrary, SIGNAL(triggered()), hand, SLOT(moveAllToZone()));
|
connect(aMoveHandToBottomLibrary, SIGNAL(triggered()), hand, SLOT(moveAllToZone()));
|
||||||
|
|
@ -182,13 +182,13 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, bool _judge, T
|
||||||
connect(aMoveHandToRfg, SIGNAL(triggered()), hand, SLOT(moveAllToZone()));
|
connect(aMoveHandToRfg, SIGNAL(triggered()), hand, SLOT(moveAllToZone()));
|
||||||
|
|
||||||
aMoveGraveToTopLibrary = new QAction(this);
|
aMoveGraveToTopLibrary = new QAction(this);
|
||||||
aMoveGraveToTopLibrary->setData(QList<QVariant>() << "deck" << 0);
|
aMoveGraveToTopLibrary->setData(QList<QVariant>() << ZONE_DECK << 0);
|
||||||
aMoveGraveToBottomLibrary = new QAction(this);
|
aMoveGraveToBottomLibrary = new QAction(this);
|
||||||
aMoveGraveToBottomLibrary->setData(QList<QVariant>() << "deck" << -1);
|
aMoveGraveToBottomLibrary->setData(QList<QVariant>() << ZONE_DECK << -1);
|
||||||
aMoveGraveToHand = new QAction(this);
|
aMoveGraveToHand = new QAction(this);
|
||||||
aMoveGraveToHand->setData(QList<QVariant>() << "hand" << 0);
|
aMoveGraveToHand->setData(QList<QVariant>() << ZONE_HAND << 0);
|
||||||
aMoveGraveToRfg = new QAction(this);
|
aMoveGraveToRfg = new QAction(this);
|
||||||
aMoveGraveToRfg->setData(QList<QVariant>() << "rfg" << 0);
|
aMoveGraveToRfg->setData(QList<QVariant>() << ZONE_EXILE << 0);
|
||||||
|
|
||||||
connect(aMoveGraveToTopLibrary, SIGNAL(triggered()), grave, SLOT(moveAllToZone()));
|
connect(aMoveGraveToTopLibrary, SIGNAL(triggered()), grave, SLOT(moveAllToZone()));
|
||||||
connect(aMoveGraveToBottomLibrary, SIGNAL(triggered()), grave, SLOT(moveAllToZone()));
|
connect(aMoveGraveToBottomLibrary, SIGNAL(triggered()), grave, SLOT(moveAllToZone()));
|
||||||
|
|
@ -196,13 +196,13 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, bool _judge, T
|
||||||
connect(aMoveGraveToRfg, SIGNAL(triggered()), grave, SLOT(moveAllToZone()));
|
connect(aMoveGraveToRfg, SIGNAL(triggered()), grave, SLOT(moveAllToZone()));
|
||||||
|
|
||||||
aMoveRfgToTopLibrary = new QAction(this);
|
aMoveRfgToTopLibrary = new QAction(this);
|
||||||
aMoveRfgToTopLibrary->setData(QList<QVariant>() << "deck" << 0);
|
aMoveRfgToTopLibrary->setData(QList<QVariant>() << ZONE_DECK << 0);
|
||||||
aMoveRfgToBottomLibrary = new QAction(this);
|
aMoveRfgToBottomLibrary = new QAction(this);
|
||||||
aMoveRfgToBottomLibrary->setData(QList<QVariant>() << "deck" << -1);
|
aMoveRfgToBottomLibrary->setData(QList<QVariant>() << ZONE_DECK << -1);
|
||||||
aMoveRfgToHand = new QAction(this);
|
aMoveRfgToHand = new QAction(this);
|
||||||
aMoveRfgToHand->setData(QList<QVariant>() << "hand" << 0);
|
aMoveRfgToHand->setData(QList<QVariant>() << ZONE_HAND << 0);
|
||||||
aMoveRfgToGrave = new QAction(this);
|
aMoveRfgToGrave = new QAction(this);
|
||||||
aMoveRfgToGrave->setData(QList<QVariant>() << "grave" << 0);
|
aMoveRfgToGrave->setData(QList<QVariant>() << ZONE_GRAVEYARD << 0);
|
||||||
|
|
||||||
connect(aMoveRfgToTopLibrary, SIGNAL(triggered()), rfg, SLOT(moveAllToZone()));
|
connect(aMoveRfgToTopLibrary, SIGNAL(triggered()), rfg, SLOT(moveAllToZone()));
|
||||||
connect(aMoveRfgToBottomLibrary, SIGNAL(triggered()), rfg, SLOT(moveAllToZone()));
|
connect(aMoveRfgToBottomLibrary, SIGNAL(triggered()), rfg, SLOT(moveAllToZone()));
|
||||||
|
|
@ -649,25 +649,25 @@ void Player::playerListActionTriggered()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (menu == mRevealLibrary || menu == mLendLibrary) {
|
if (menu == mRevealLibrary || menu == mLendLibrary) {
|
||||||
cmd.set_zone_name("deck");
|
cmd.set_zone_name(ZONE_DECK);
|
||||||
cmd.set_grant_write_access(menu == mLendLibrary);
|
cmd.set_grant_write_access(menu == mLendLibrary);
|
||||||
} else if (menu == mRevealTopCard) {
|
} else if (menu == mRevealTopCard) {
|
||||||
int deckSize = zones.value("deck")->getCards().size();
|
int deckSize = zones.value(ZONE_DECK)->getCards().size();
|
||||||
bool ok;
|
bool ok;
|
||||||
int number = QInputDialog::getInt(game, tr("Reveal top cards of library"),
|
int number = QInputDialog::getInt(game, tr("Reveal top cards of library"),
|
||||||
tr("Number of cards: (max. %1)").arg(deckSize), defaultNumberTopCards, 1,
|
tr("Number of cards: (max. %1)").arg(deckSize), defaultNumberTopCards, 1,
|
||||||
deckSize, 1, &ok);
|
deckSize, 1, &ok);
|
||||||
if (ok) {
|
if (ok) {
|
||||||
cmd.set_zone_name("deck");
|
cmd.set_zone_name(ZONE_DECK);
|
||||||
cmd.set_top_cards(number);
|
cmd.set_top_cards(number);
|
||||||
// backward compatibility: servers before #1051 only permits to reveal the first card
|
// backward compatibility: servers before #1051 only permits to reveal the first card
|
||||||
cmd.add_card_id(0);
|
cmd.add_card_id(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (menu == mRevealHand) {
|
} else if (menu == mRevealHand) {
|
||||||
cmd.set_zone_name("hand");
|
cmd.set_zone_name(ZONE_HAND);
|
||||||
} else if (menu == mRevealRandomHandCard) {
|
} else if (menu == mRevealRandomHandCard) {
|
||||||
cmd.set_zone_name("hand");
|
cmd.set_zone_name(ZONE_HAND);
|
||||||
cmd.add_card_id(RANDOM_CARD_FROM_ZONE);
|
cmd.add_card_id(RANDOM_CARD_FROM_ZONE);
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
|
|
@ -1094,31 +1094,31 @@ void Player::setDeck(const DeckLoader &_deck)
|
||||||
|
|
||||||
void Player::actViewLibrary()
|
void Player::actViewLibrary()
|
||||||
{
|
{
|
||||||
static_cast<GameScene *>(scene())->toggleZoneView(this, "deck", -1);
|
static_cast<GameScene *>(scene())->toggleZoneView(this, ZONE_DECK, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::actViewHand()
|
void Player::actViewHand()
|
||||||
{
|
{
|
||||||
static_cast<GameScene *>(scene())->toggleZoneView(this, "hand", -1);
|
static_cast<GameScene *>(scene())->toggleZoneView(this, ZONE_HAND, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::actViewTopCards()
|
void Player::actViewTopCards()
|
||||||
{
|
{
|
||||||
int deckSize = zones.value("deck")->getCards().size();
|
int deckSize = zones.value(ZONE_DECK)->getCards().size();
|
||||||
bool ok;
|
bool ok;
|
||||||
int number =
|
int number =
|
||||||
QInputDialog::getInt(game, tr("View top cards of library"), tr("Number of cards: (max. %1)").arg(deckSize),
|
QInputDialog::getInt(game, tr("View top cards of library"), tr("Number of cards: (max. %1)").arg(deckSize),
|
||||||
defaultNumberTopCards, 1, deckSize, 1, &ok);
|
defaultNumberTopCards, 1, deckSize, 1, &ok);
|
||||||
if (ok) {
|
if (ok) {
|
||||||
defaultNumberTopCards = number;
|
defaultNumberTopCards = number;
|
||||||
static_cast<GameScene *>(scene())->toggleZoneView(this, "deck", number);
|
static_cast<GameScene *>(scene())->toggleZoneView(this, ZONE_DECK, number);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::actAlwaysRevealTopCard()
|
void Player::actAlwaysRevealTopCard()
|
||||||
{
|
{
|
||||||
Command_ChangeZoneProperties cmd;
|
Command_ChangeZoneProperties cmd;
|
||||||
cmd.set_zone_name("deck");
|
cmd.set_zone_name(ZONE_DECK);
|
||||||
cmd.set_always_reveal_top_card(aAlwaysRevealTopCard->isChecked());
|
cmd.set_always_reveal_top_card(aAlwaysRevealTopCard->isChecked());
|
||||||
|
|
||||||
sendGameCommand(cmd);
|
sendGameCommand(cmd);
|
||||||
|
|
@ -1127,7 +1127,7 @@ void Player::actAlwaysRevealTopCard()
|
||||||
void Player::actAlwaysLookAtTopCard()
|
void Player::actAlwaysLookAtTopCard()
|
||||||
{
|
{
|
||||||
Command_ChangeZoneProperties cmd;
|
Command_ChangeZoneProperties cmd;
|
||||||
cmd.set_zone_name("deck");
|
cmd.set_zone_name(ZONE_DECK);
|
||||||
cmd.set_always_look_at_top_card(aAlwaysLookAtTopCard->isChecked());
|
cmd.set_always_look_at_top_card(aAlwaysLookAtTopCard->isChecked());
|
||||||
|
|
||||||
sendGameCommand(cmd);
|
sendGameCommand(cmd);
|
||||||
|
|
@ -1140,7 +1140,7 @@ void Player::actOpenDeckInDeckEditor()
|
||||||
|
|
||||||
void Player::actViewGraveyard()
|
void Player::actViewGraveyard()
|
||||||
{
|
{
|
||||||
dynamic_cast<GameScene *>(scene())->toggleZoneView(this, "grave", -1);
|
dynamic_cast<GameScene *>(scene())->toggleZoneView(this, ZONE_GRAVEYARD, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::actRevealRandomGraveyardCard()
|
void Player::actRevealRandomGraveyardCard()
|
||||||
|
|
@ -1151,19 +1151,19 @@ void Player::actRevealRandomGraveyardCard()
|
||||||
if (otherPlayerId != -1) {
|
if (otherPlayerId != -1) {
|
||||||
cmd.set_player_id(otherPlayerId);
|
cmd.set_player_id(otherPlayerId);
|
||||||
}
|
}
|
||||||
cmd.set_zone_name("grave");
|
cmd.set_zone_name(ZONE_GRAVEYARD);
|
||||||
cmd.add_card_id(RANDOM_CARD_FROM_ZONE);
|
cmd.add_card_id(RANDOM_CARD_FROM_ZONE);
|
||||||
sendGameCommand(cmd);
|
sendGameCommand(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::actViewRfg()
|
void Player::actViewRfg()
|
||||||
{
|
{
|
||||||
static_cast<GameScene *>(scene())->toggleZoneView(this, "rfg", -1);
|
static_cast<GameScene *>(scene())->toggleZoneView(this, ZONE_EXILE, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::actViewSideboard()
|
void Player::actViewSideboard()
|
||||||
{
|
{
|
||||||
static_cast<GameScene *>(scene())->toggleZoneView(this, "sb", -1);
|
static_cast<GameScene *>(scene())->toggleZoneView(this, ZONE_SIDEBOARD, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::actShuffle()
|
void Player::actShuffle()
|
||||||
|
|
@ -1181,8 +1181,8 @@ void Player::actDrawCard()
|
||||||
void Player::actMulligan()
|
void Player::actMulligan()
|
||||||
{
|
{
|
||||||
int startSize = SettingsCache::instance().getStartingHandSize();
|
int startSize = SettingsCache::instance().getStartingHandSize();
|
||||||
int handSize = zones.value("hand")->getCards().size();
|
int handSize = zones.value(ZONE_HAND)->getCards().size();
|
||||||
int deckSize = zones.value("deck")->getCards().size() + handSize; // hand is shuffled back into the deck
|
int deckSize = zones.value(ZONE_DECK)->getCards().size() + handSize; // hand is shuffled back into the deck
|
||||||
bool ok;
|
bool ok;
|
||||||
int number = QInputDialog::getInt(game, tr("Draw hand"),
|
int number = QInputDialog::getInt(game, tr("Draw hand"),
|
||||||
tr("Number of cards: (max. %1)").arg(deckSize) + '\n' +
|
tr("Number of cards: (max. %1)").arg(deckSize) + '\n' +
|
||||||
|
|
@ -1208,7 +1208,7 @@ void Player::actMulligan()
|
||||||
|
|
||||||
void Player::actDrawCards()
|
void Player::actDrawCards()
|
||||||
{
|
{
|
||||||
int deckSize = zones.value("deck")->getCards().size();
|
int deckSize = zones.value(ZONE_DECK)->getCards().size();
|
||||||
bool ok;
|
bool ok;
|
||||||
int number = QInputDialog::getInt(game, tr("Draw cards"), tr("Number of cards: (max. %1)").arg(deckSize),
|
int number = QInputDialog::getInt(game, tr("Draw cards"), tr("Number of cards: (max. %1)").arg(deckSize),
|
||||||
defaultNumberTopCards, 1, deckSize, 1, &ok);
|
defaultNumberTopCards, 1, deckSize, 1, &ok);
|
||||||
|
|
@ -1227,7 +1227,7 @@ void Player::actUndoDraw()
|
||||||
|
|
||||||
void Player::cmdSetTopCard(Command_MoveCard &cmd)
|
void Player::cmdSetTopCard(Command_MoveCard &cmd)
|
||||||
{
|
{
|
||||||
cmd.set_start_zone("deck");
|
cmd.set_start_zone(ZONE_DECK);
|
||||||
auto *cardToMove = cmd.mutable_cards_to_move()->add_card();
|
auto *cardToMove = cmd.mutable_cards_to_move()->add_card();
|
||||||
cardToMove->set_card_id(0);
|
cardToMove->set_card_id(0);
|
||||||
cmd.set_target_player_id(getId());
|
cmd.set_target_player_id(getId());
|
||||||
|
|
@ -1235,9 +1235,9 @@ void Player::cmdSetTopCard(Command_MoveCard &cmd)
|
||||||
|
|
||||||
void Player::cmdSetBottomCard(Command_MoveCard &cmd)
|
void Player::cmdSetBottomCard(Command_MoveCard &cmd)
|
||||||
{
|
{
|
||||||
CardZone *zone = zones.value("deck");
|
CardZone *zone = zones.value(ZONE_DECK);
|
||||||
int lastCard = zone->getCards().size() - 1;
|
int lastCard = zone->getCards().size() - 1;
|
||||||
cmd.set_start_zone("deck");
|
cmd.set_start_zone(ZONE_DECK);
|
||||||
auto *cardToMove = cmd.mutable_cards_to_move()->add_card();
|
auto *cardToMove = cmd.mutable_cards_to_move()->add_card();
|
||||||
cardToMove->set_card_id(lastCard);
|
cardToMove->set_card_id(lastCard);
|
||||||
cmd.set_target_player_id(getId());
|
cmd.set_target_player_id(getId());
|
||||||
|
|
@ -1245,13 +1245,13 @@ void Player::cmdSetBottomCard(Command_MoveCard &cmd)
|
||||||
|
|
||||||
void Player::actMoveTopCardToGrave()
|
void Player::actMoveTopCardToGrave()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmdSetTopCard(cmd);
|
cmdSetTopCard(cmd);
|
||||||
cmd.set_target_zone("grave");
|
cmd.set_target_zone(ZONE_GRAVEYARD);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1260,13 +1260,13 @@ void Player::actMoveTopCardToGrave()
|
||||||
|
|
||||||
void Player::actMoveTopCardToExile()
|
void Player::actMoveTopCardToExile()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmdSetTopCard(cmd);
|
cmdSetTopCard(cmd);
|
||||||
cmd.set_target_zone("rfg");
|
cmd.set_target_zone(ZONE_EXILE);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1275,7 +1275,7 @@ void Player::actMoveTopCardToExile()
|
||||||
|
|
||||||
void Player::actMoveTopCardsToGrave()
|
void Player::actMoveTopCardsToGrave()
|
||||||
{
|
{
|
||||||
const int maxCards = zones.value("deck")->getCards().size();
|
const int maxCards = zones.value(ZONE_DECK)->getCards().size();
|
||||||
if (maxCards == 0) {
|
if (maxCards == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1292,9 +1292,9 @@ void Player::actMoveTopCardsToGrave()
|
||||||
defaultNumberTopCards = number;
|
defaultNumberTopCards = number;
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmd.set_start_zone("deck");
|
cmd.set_start_zone(ZONE_DECK);
|
||||||
cmd.set_target_player_id(getId());
|
cmd.set_target_player_id(getId());
|
||||||
cmd.set_target_zone("grave");
|
cmd.set_target_zone(ZONE_GRAVEYARD);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1307,7 +1307,7 @@ void Player::actMoveTopCardsToGrave()
|
||||||
|
|
||||||
void Player::actMoveTopCardsToExile()
|
void Player::actMoveTopCardsToExile()
|
||||||
{
|
{
|
||||||
const int maxCards = zones.value("deck")->getCards().size();
|
const int maxCards = zones.value(ZONE_DECK)->getCards().size();
|
||||||
if (maxCards == 0) {
|
if (maxCards == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1324,9 +1324,9 @@ void Player::actMoveTopCardsToExile()
|
||||||
defaultNumberTopCards = number;
|
defaultNumberTopCards = number;
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmd.set_start_zone("deck");
|
cmd.set_start_zone(ZONE_DECK);
|
||||||
cmd.set_target_player_id(getId());
|
cmd.set_target_player_id(getId());
|
||||||
cmd.set_target_zone("rfg");
|
cmd.set_target_zone(ZONE_EXILE);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1349,7 +1349,7 @@ void Player::actMoveTopCardsUntil()
|
||||||
previousMovingCardsUntilExpr = dlg.getExpr();
|
previousMovingCardsUntilExpr = dlg.getExpr();
|
||||||
previousMovingCardsUntilNumberOfHits = dlg.getNumberOfHits();
|
previousMovingCardsUntilNumberOfHits = dlg.getNumberOfHits();
|
||||||
|
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
stopMoveTopCardsUntil();
|
stopMoveTopCardsUntil();
|
||||||
} else {
|
} else {
|
||||||
movingCardsUntilFilter = FilterString(previousMovingCardsUntilExpr);
|
movingCardsUntilFilter = FilterString(previousMovingCardsUntilExpr);
|
||||||
|
|
@ -1362,7 +1362,7 @@ void Player::actMoveTopCardsUntil()
|
||||||
void Player::moveOneCardUntil(const CardInfoPtr card)
|
void Player::moveOneCardUntil(const CardInfoPtr card)
|
||||||
{
|
{
|
||||||
moveTopCardTimer->stop();
|
moveTopCardTimer->stop();
|
||||||
if (zones.value("deck")->getCards().empty() || card.isNull()) {
|
if (zones.value(ZONE_DECK)->getCards().empty() || card.isNull()) {
|
||||||
stopMoveTopCardsUntil();
|
stopMoveTopCardsUntil();
|
||||||
} else if (movingCardsUntilFilter.check(card)) {
|
} else if (movingCardsUntilFilter.check(card)) {
|
||||||
--movingCardsUntilCounter;
|
--movingCardsUntilCounter;
|
||||||
|
|
@ -1388,13 +1388,13 @@ void Player::stopMoveTopCardsUntil()
|
||||||
|
|
||||||
void Player::actMoveTopCardToBottom()
|
void Player::actMoveTopCardToBottom()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmdSetTopCard(cmd);
|
cmdSetTopCard(cmd);
|
||||||
cmd.set_target_zone("deck");
|
cmd.set_target_zone(ZONE_DECK);
|
||||||
cmd.set_x(-1); // bottom of deck
|
cmd.set_x(-1); // bottom of deck
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1403,13 +1403,13 @@ void Player::actMoveTopCardToBottom()
|
||||||
|
|
||||||
void Player::actMoveTopCardToPlay()
|
void Player::actMoveTopCardToPlay()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmdSetTopCard(cmd);
|
cmdSetTopCard(cmd);
|
||||||
cmd.set_target_zone("stack");
|
cmd.set_target_zone(ZONE_STACK);
|
||||||
cmd.set_x(-1);
|
cmd.set_x(-1);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1418,17 +1418,17 @@ void Player::actMoveTopCardToPlay()
|
||||||
|
|
||||||
void Player::actMoveTopCardToPlayFaceDown()
|
void Player::actMoveTopCardToPlayFaceDown()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmd.set_start_zone("deck");
|
cmd.set_start_zone(ZONE_DECK);
|
||||||
CardToMove *cardToMove = cmd.mutable_cards_to_move()->add_card();
|
CardToMove *cardToMove = cmd.mutable_cards_to_move()->add_card();
|
||||||
cardToMove->set_card_id(0);
|
cardToMove->set_card_id(0);
|
||||||
cardToMove->set_face_down(true);
|
cardToMove->set_face_down(true);
|
||||||
cmd.set_target_player_id(getId());
|
cmd.set_target_player_id(getId());
|
||||||
cmd.set_target_zone("table");
|
cmd.set_target_zone(ZONE_TABLE);
|
||||||
cmd.set_x(-1);
|
cmd.set_x(-1);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1437,13 +1437,13 @@ void Player::actMoveTopCardToPlayFaceDown()
|
||||||
|
|
||||||
void Player::actMoveBottomCardToGrave()
|
void Player::actMoveBottomCardToGrave()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmdSetBottomCard(cmd);
|
cmdSetBottomCard(cmd);
|
||||||
cmd.set_target_zone("grave");
|
cmd.set_target_zone(ZONE_GRAVEYARD);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1452,13 +1452,13 @@ void Player::actMoveBottomCardToGrave()
|
||||||
|
|
||||||
void Player::actMoveBottomCardToExile()
|
void Player::actMoveBottomCardToExile()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmdSetBottomCard(cmd);
|
cmdSetBottomCard(cmd);
|
||||||
cmd.set_target_zone("rfg");
|
cmd.set_target_zone(ZONE_EXILE);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1467,7 +1467,7 @@ void Player::actMoveBottomCardToExile()
|
||||||
|
|
||||||
void Player::actMoveBottomCardsToGrave()
|
void Player::actMoveBottomCardsToGrave()
|
||||||
{
|
{
|
||||||
const int maxCards = zones.value("deck")->getCards().size();
|
const int maxCards = zones.value(ZONE_DECK)->getCards().size();
|
||||||
if (maxCards == 0) {
|
if (maxCards == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1484,9 +1484,9 @@ void Player::actMoveBottomCardsToGrave()
|
||||||
defaultNumberBottomCards = number;
|
defaultNumberBottomCards = number;
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmd.set_start_zone("deck");
|
cmd.set_start_zone(ZONE_DECK);
|
||||||
cmd.set_target_player_id(getId());
|
cmd.set_target_player_id(getId());
|
||||||
cmd.set_target_zone("grave");
|
cmd.set_target_zone(ZONE_GRAVEYARD);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1499,7 +1499,7 @@ void Player::actMoveBottomCardsToGrave()
|
||||||
|
|
||||||
void Player::actMoveBottomCardsToExile()
|
void Player::actMoveBottomCardsToExile()
|
||||||
{
|
{
|
||||||
const int maxCards = zones.value("deck")->getCards().size();
|
const int maxCards = zones.value(ZONE_DECK)->getCards().size();
|
||||||
if (maxCards == 0) {
|
if (maxCards == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1516,9 +1516,9 @@ void Player::actMoveBottomCardsToExile()
|
||||||
defaultNumberBottomCards = number;
|
defaultNumberBottomCards = number;
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmd.set_start_zone("deck");
|
cmd.set_start_zone(ZONE_DECK);
|
||||||
cmd.set_target_player_id(getId());
|
cmd.set_target_player_id(getId());
|
||||||
cmd.set_target_zone("rfg");
|
cmd.set_target_zone(ZONE_EXILE);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1531,13 +1531,13 @@ void Player::actMoveBottomCardsToExile()
|
||||||
|
|
||||||
void Player::actMoveBottomCardToTop()
|
void Player::actMoveBottomCardToTop()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmdSetBottomCard(cmd);
|
cmdSetBottomCard(cmd);
|
||||||
cmd.set_target_zone("deck");
|
cmd.set_target_zone(ZONE_DECK);
|
||||||
cmd.set_x(0); // top of deck
|
cmd.set_x(0); // top of deck
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1562,13 +1562,13 @@ void Player::actSelectAll()
|
||||||
|
|
||||||
void Player::actDrawBottomCard()
|
void Player::actDrawBottomCard()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmdSetBottomCard(cmd);
|
cmdSetBottomCard(cmd);
|
||||||
cmd.set_target_zone("hand");
|
cmd.set_target_zone(ZONE_HAND);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1577,7 +1577,7 @@ void Player::actDrawBottomCard()
|
||||||
|
|
||||||
void Player::actDrawBottomCards()
|
void Player::actDrawBottomCards()
|
||||||
{
|
{
|
||||||
const int maxCards = zones.value("deck")->getCards().size();
|
const int maxCards = zones.value(ZONE_DECK)->getCards().size();
|
||||||
if (maxCards == 0) {
|
if (maxCards == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1593,9 +1593,9 @@ void Player::actDrawBottomCards()
|
||||||
defaultNumberBottomCards = number;
|
defaultNumberBottomCards = number;
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmd.set_start_zone("deck");
|
cmd.set_start_zone(ZONE_DECK);
|
||||||
cmd.set_target_player_id(getId());
|
cmd.set_target_player_id(getId());
|
||||||
cmd.set_target_zone("hand");
|
cmd.set_target_zone(ZONE_HAND);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1608,13 +1608,13 @@ void Player::actDrawBottomCards()
|
||||||
|
|
||||||
void Player::actMoveBottomCardToPlay()
|
void Player::actMoveBottomCardToPlay()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmdSetBottomCard(cmd);
|
cmdSetBottomCard(cmd);
|
||||||
cmd.set_target_zone("stack");
|
cmd.set_target_zone(ZONE_STACK);
|
||||||
cmd.set_x(-1);
|
cmd.set_x(-1);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1623,21 +1623,21 @@ void Player::actMoveBottomCardToPlay()
|
||||||
|
|
||||||
void Player::actMoveBottomCardToPlayFaceDown()
|
void Player::actMoveBottomCardToPlayFaceDown()
|
||||||
{
|
{
|
||||||
if (zones.value("deck")->getCards().empty()) {
|
if (zones.value(ZONE_DECK)->getCards().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CardZone *zone = zones.value("deck");
|
CardZone *zone = zones.value(ZONE_DECK);
|
||||||
int lastCard = zone->getCards().size() - 1;
|
int lastCard = zone->getCards().size() - 1;
|
||||||
|
|
||||||
Command_MoveCard cmd;
|
Command_MoveCard cmd;
|
||||||
cmd.set_start_zone("deck");
|
cmd.set_start_zone(ZONE_DECK);
|
||||||
auto *cardToMove = cmd.mutable_cards_to_move()->add_card();
|
auto *cardToMove = cmd.mutable_cards_to_move()->add_card();
|
||||||
cardToMove->set_card_id(lastCard);
|
cardToMove->set_card_id(lastCard);
|
||||||
cardToMove->set_face_down(true);
|
cardToMove->set_face_down(true);
|
||||||
|
|
||||||
cmd.set_target_player_id(getId());
|
cmd.set_target_player_id(getId());
|
||||||
cmd.set_target_zone("table");
|
cmd.set_target_zone(ZONE_TABLE);
|
||||||
cmd.set_x(-1);
|
cmd.set_x(-1);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
|
|
||||||
|
|
@ -1647,7 +1647,7 @@ void Player::actMoveBottomCardToPlayFaceDown()
|
||||||
void Player::actUntapAll()
|
void Player::actUntapAll()
|
||||||
{
|
{
|
||||||
Command_SetCardAttr cmd;
|
Command_SetCardAttr cmd;
|
||||||
cmd.set_zone("table");
|
cmd.set_zone(ZONE_TABLE);
|
||||||
cmd.set_attribute(AttrTapped);
|
cmd.set_attribute(AttrTapped);
|
||||||
cmd.set_attr_value("0");
|
cmd.set_attr_value("0");
|
||||||
|
|
||||||
|
|
@ -1699,7 +1699,7 @@ void Player::actCreateAnotherToken()
|
||||||
}
|
}
|
||||||
|
|
||||||
Command_CreateToken cmd;
|
Command_CreateToken cmd;
|
||||||
cmd.set_zone("table");
|
cmd.set_zone(ZONE_TABLE);
|
||||||
cmd.set_card_name(lastTokenName.toStdString());
|
cmd.set_card_name(lastTokenName.toStdString());
|
||||||
cmd.set_color(lastTokenColor.toStdString());
|
cmd.set_color(lastTokenColor.toStdString());
|
||||||
cmd.set_pt(lastTokenPT.toStdString());
|
cmd.set_pt(lastTokenPT.toStdString());
|
||||||
|
|
@ -1871,7 +1871,7 @@ void Player::createCard(const CardItem *sourceCard,
|
||||||
|
|
||||||
// create the token for the related card
|
// create the token for the related card
|
||||||
Command_CreateToken cmd;
|
Command_CreateToken cmd;
|
||||||
cmd.set_zone("table");
|
cmd.set_zone(ZONE_TABLE);
|
||||||
cmd.set_card_name(cardInfo->getName().toStdString());
|
cmd.set_card_name(cardInfo->getName().toStdString());
|
||||||
switch (cardInfo->getColors().size()) {
|
switch (cardInfo->getColors().size()) {
|
||||||
case 0:
|
case 0:
|
||||||
|
|
@ -2267,7 +2267,7 @@ void Player::eventMoveCard(const Event_MoveCard &event, const GameEventContext &
|
||||||
}
|
}
|
||||||
updateCardMenu(card);
|
updateCardMenu(card);
|
||||||
|
|
||||||
if (movingCardsUntil && startZoneString == "deck" && targetZone->getName() == "stack") {
|
if (movingCardsUntil && startZoneString == ZONE_DECK && targetZone->getName() == ZONE_STACK) {
|
||||||
moveOneCardUntil(card->getInfo());
|
moveOneCardUntil(card->getInfo());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2358,8 +2358,8 @@ void Player::eventAttachCard(const Event_AttachCard &event)
|
||||||
|
|
||||||
void Player::eventDrawCards(const Event_DrawCards &event)
|
void Player::eventDrawCards(const Event_DrawCards &event)
|
||||||
{
|
{
|
||||||
CardZone *_deck = zones.value("deck");
|
CardZone *_deck = zones.value(ZONE_DECK);
|
||||||
CardZone *_hand = zones.value("hand");
|
CardZone *_hand = zones.value(ZONE_HAND);
|
||||||
|
|
||||||
const int listSize = event.cards_size();
|
const int listSize = event.cards_size();
|
||||||
if (listSize) {
|
if (listSize) {
|
||||||
|
|
@ -2641,13 +2641,13 @@ void Player::playCard(CardItem *card, bool faceDown, bool tapped)
|
||||||
int tableRow = info->getTableRow();
|
int tableRow = info->getTableRow();
|
||||||
bool playToStack = SettingsCache::instance().getPlayToStack();
|
bool playToStack = SettingsCache::instance().getPlayToStack();
|
||||||
QString currentZone = card->getZone()->getName();
|
QString currentZone = card->getZone()->getName();
|
||||||
if (currentZone == "stack" && tableRow == 3) {
|
if (currentZone == ZONE_STACK && tableRow == 3) {
|
||||||
cmd.set_target_zone("grave");
|
cmd.set_target_zone(ZONE_GRAVEYARD);
|
||||||
cmd.set_x(0);
|
cmd.set_x(0);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
} else if (!faceDown &&
|
} else if (!faceDown &&
|
||||||
((!playToStack && tableRow == 3) || ((playToStack && tableRow != 0) && currentZone != "stack"))) {
|
((!playToStack && tableRow == 3) || ((playToStack && tableRow != 0) && currentZone != ZONE_STACK))) {
|
||||||
cmd.set_target_zone("stack");
|
cmd.set_target_zone(ZONE_STACK);
|
||||||
cmd.set_x(-1);
|
cmd.set_x(-1);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -2659,7 +2659,7 @@ void Player::playCard(CardItem *card, bool faceDown, bool tapped)
|
||||||
}
|
}
|
||||||
cardToMove->set_tapped(faceDown ? false : tapped);
|
cardToMove->set_tapped(faceDown ? false : tapped);
|
||||||
if (tableRow != 3)
|
if (tableRow != 3)
|
||||||
cmd.set_target_zone("table");
|
cmd.set_target_zone(ZONE_TABLE);
|
||||||
cmd.set_x(gridPoint.x());
|
cmd.set_x(gridPoint.x());
|
||||||
cmd.set_y(gridPoint.y());
|
cmd.set_y(gridPoint.y());
|
||||||
}
|
}
|
||||||
|
|
@ -2893,7 +2893,7 @@ bool Player::clearCardsToDelete()
|
||||||
|
|
||||||
void Player::actMoveCardXCardsFromTop()
|
void Player::actMoveCardXCardsFromTop()
|
||||||
{
|
{
|
||||||
int deckSize = zones.value("deck")->getCards().size() + 1; // add the card to move to the deck
|
int deckSize = zones.value(ZONE_DECK)->getCards().size() + 1; // add the card to move to the deck
|
||||||
bool ok;
|
bool ok;
|
||||||
int number =
|
int number =
|
||||||
QInputDialog::getInt(game, tr("Place card X cards from top of library"),
|
QInputDialog::getInt(game, tr("Place card X cards from top of library"),
|
||||||
|
|
@ -2931,7 +2931,7 @@ void Player::actMoveCardXCardsFromTop()
|
||||||
cmd->set_start_zone(startZone.toStdString());
|
cmd->set_start_zone(startZone.toStdString());
|
||||||
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
||||||
cmd->set_target_player_id(getId());
|
cmd->set_target_player_id(getId());
|
||||||
cmd->set_target_zone("deck");
|
cmd->set_target_zone(ZONE_DECK);
|
||||||
cmd->set_x(number);
|
cmd->set_x(number);
|
||||||
cmd->set_y(0);
|
cmd->set_y(0);
|
||||||
commandList.append(cmd);
|
commandList.append(cmd);
|
||||||
|
|
@ -3001,7 +3001,7 @@ void Player::cardMenuAction()
|
||||||
}
|
}
|
||||||
case cmClone: {
|
case cmClone: {
|
||||||
auto *cmd = new Command_CreateToken;
|
auto *cmd = new Command_CreateToken;
|
||||||
cmd->set_zone("table");
|
cmd->set_zone(ZONE_TABLE);
|
||||||
cmd->set_card_name(card->getName().toStdString());
|
cmd->set_card_name(card->getName().toStdString());
|
||||||
cmd->set_color(card->getColor().toStdString());
|
cmd->set_color(card->getColor().toStdString());
|
||||||
cmd->set_pt(card->getPT().toStdString());
|
cmd->set_pt(card->getPT().toStdString());
|
||||||
|
|
@ -3031,13 +3031,13 @@ void Player::cardMenuAction()
|
||||||
cmd->set_start_zone(startZone.toStdString());
|
cmd->set_start_zone(startZone.toStdString());
|
||||||
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
||||||
cmd->set_target_player_id(getId());
|
cmd->set_target_player_id(getId());
|
||||||
cmd->set_target_zone("deck");
|
cmd->set_target_zone(ZONE_DECK);
|
||||||
cmd->set_x(0);
|
cmd->set_x(0);
|
||||||
cmd->set_y(0);
|
cmd->set_y(0);
|
||||||
|
|
||||||
if (idList.card_size() > 1) {
|
if (idList.card_size() > 1) {
|
||||||
auto *scmd = new Command_Shuffle;
|
auto *scmd = new Command_Shuffle;
|
||||||
scmd->set_zone_name("deck");
|
scmd->set_zone_name(ZONE_DECK);
|
||||||
scmd->set_start(0);
|
scmd->set_start(0);
|
||||||
scmd->set_end(idList.card_size());
|
scmd->set_end(idList.card_size());
|
||||||
// Server process events backwards, so...
|
// Server process events backwards, so...
|
||||||
|
|
@ -3053,13 +3053,13 @@ void Player::cardMenuAction()
|
||||||
cmd->set_start_zone(startZone.toStdString());
|
cmd->set_start_zone(startZone.toStdString());
|
||||||
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
||||||
cmd->set_target_player_id(getId());
|
cmd->set_target_player_id(getId());
|
||||||
cmd->set_target_zone("deck");
|
cmd->set_target_zone(ZONE_DECK);
|
||||||
cmd->set_x(-1);
|
cmd->set_x(-1);
|
||||||
cmd->set_y(0);
|
cmd->set_y(0);
|
||||||
|
|
||||||
if (idList.card_size() > 1) {
|
if (idList.card_size() > 1) {
|
||||||
auto *scmd = new Command_Shuffle;
|
auto *scmd = new Command_Shuffle;
|
||||||
scmd->set_zone_name("deck");
|
scmd->set_zone_name(ZONE_DECK);
|
||||||
scmd->set_start(-idList.card_size());
|
scmd->set_start(-idList.card_size());
|
||||||
scmd->set_end(-1);
|
scmd->set_end(-1);
|
||||||
// Server process events backwards, so...
|
// Server process events backwards, so...
|
||||||
|
|
@ -3075,7 +3075,7 @@ void Player::cardMenuAction()
|
||||||
cmd->set_start_zone(startZone.toStdString());
|
cmd->set_start_zone(startZone.toStdString());
|
||||||
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
||||||
cmd->set_target_player_id(getId());
|
cmd->set_target_player_id(getId());
|
||||||
cmd->set_target_zone("hand");
|
cmd->set_target_zone(ZONE_HAND);
|
||||||
cmd->set_x(0);
|
cmd->set_x(0);
|
||||||
cmd->set_y(0);
|
cmd->set_y(0);
|
||||||
commandList.append(cmd);
|
commandList.append(cmd);
|
||||||
|
|
@ -3087,7 +3087,7 @@ void Player::cardMenuAction()
|
||||||
cmd->set_start_zone(startZone.toStdString());
|
cmd->set_start_zone(startZone.toStdString());
|
||||||
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
||||||
cmd->set_target_player_id(getId());
|
cmd->set_target_player_id(getId());
|
||||||
cmd->set_target_zone("grave");
|
cmd->set_target_zone(ZONE_GRAVEYARD);
|
||||||
cmd->set_x(0);
|
cmd->set_x(0);
|
||||||
cmd->set_y(0);
|
cmd->set_y(0);
|
||||||
commandList.append(cmd);
|
commandList.append(cmd);
|
||||||
|
|
@ -3099,7 +3099,7 @@ void Player::cardMenuAction()
|
||||||
cmd->set_start_zone(startZone.toStdString());
|
cmd->set_start_zone(startZone.toStdString());
|
||||||
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
cmd->mutable_cards_to_move()->CopyFrom(idList);
|
||||||
cmd->set_target_player_id(getId());
|
cmd->set_target_player_id(getId());
|
||||||
cmd->set_target_zone("rfg");
|
cmd->set_target_zone(ZONE_EXILE);
|
||||||
cmd->set_x(0);
|
cmd->set_x(0);
|
||||||
cmd->set_y(0);
|
cmd->set_y(0);
|
||||||
commandList.append(cmd);
|
commandList.append(cmd);
|
||||||
|
|
@ -3580,7 +3580,7 @@ void Player::updateCardMenu(const CardItem *card)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (card->getZone()) {
|
if (card->getZone()) {
|
||||||
if (card->getZone()->getName() == "table") {
|
if (card->getZone()->getName() == ZONE_TABLE) {
|
||||||
// Card is on the battlefield
|
// Card is on the battlefield
|
||||||
|
|
||||||
if (ptMenu->isEmpty()) {
|
if (ptMenu->isEmpty()) {
|
||||||
|
|
@ -3633,7 +3633,7 @@ void Player::updateCardMenu(const CardItem *card)
|
||||||
cardMenu->addAction(aSetCounter[i]);
|
cardMenu->addAction(aSetCounter[i]);
|
||||||
}
|
}
|
||||||
cardMenu->addSeparator();
|
cardMenu->addSeparator();
|
||||||
} else if (card->getZone()->getName() == "stack") {
|
} else if (card->getZone()->getName() == ZONE_STACK) {
|
||||||
// Card is on the stack
|
// Card is on the stack
|
||||||
cardMenu->addAction(aDrawArrow);
|
cardMenu->addAction(aDrawArrow);
|
||||||
cardMenu->addSeparator();
|
cardMenu->addSeparator();
|
||||||
|
|
@ -3644,7 +3644,7 @@ void Player::updateCardMenu(const CardItem *card)
|
||||||
|
|
||||||
addRelatedCardView(card, cardMenu);
|
addRelatedCardView(card, cardMenu);
|
||||||
addRelatedCardActions(card, cardMenu);
|
addRelatedCardActions(card, cardMenu);
|
||||||
} else if (card->getZone()->getName() == "rfg" || card->getZone()->getName() == "grave") {
|
} else if (card->getZone()->getName() == ZONE_EXILE || card->getZone()->getName() == ZONE_GRAVEYARD) {
|
||||||
// Card is in the graveyard or exile
|
// Card is in the graveyard or exile
|
||||||
cardMenu->addAction(aSelectAll);
|
cardMenu->addAction(aSelectAll);
|
||||||
cardMenu->addAction(aPlay);
|
cardMenu->addAction(aPlay);
|
||||||
|
|
@ -3675,7 +3675,7 @@ void Player::updateCardMenu(const CardItem *card)
|
||||||
cardMenu->addMenu(moveMenu);
|
cardMenu->addMenu(moveMenu);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (card->getZone() && card->getZone()->getName() != "hand") {
|
if (card->getZone() && card->getZone()->getName() != ZONE_HAND) {
|
||||||
cardMenu->addAction(aDrawArrow);
|
cardMenu->addAction(aDrawArrow);
|
||||||
cardMenu->addSeparator();
|
cardMenu->addSeparator();
|
||||||
addRelatedCardView(card, cardMenu);
|
addRelatedCardView(card, cardMenu);
|
||||||
|
|
|
||||||
|
|
@ -68,9 +68,9 @@ void CardZone::clearContents()
|
||||||
QString CardZone::getTranslatedName(bool theirOwn, GrammaticalCase gc) const
|
QString CardZone::getTranslatedName(bool theirOwn, GrammaticalCase gc) const
|
||||||
{
|
{
|
||||||
QString ownerName = player->getName();
|
QString ownerName = player->getName();
|
||||||
if (name == "hand")
|
if (name == ZONE_HAND)
|
||||||
return (theirOwn ? tr("their hand", "nominative") : tr("%1's hand", "nominative").arg(ownerName));
|
return (theirOwn ? tr("their hand", "nominative") : tr("%1's hand", "nominative").arg(ownerName));
|
||||||
else if (name == "deck")
|
else if (name == ZONE_DECK)
|
||||||
switch (gc) {
|
switch (gc) {
|
||||||
case CaseLookAtZone:
|
case CaseLookAtZone:
|
||||||
return (theirOwn ? tr("their library", "look at zone")
|
return (theirOwn ? tr("their library", "look at zone")
|
||||||
|
|
@ -86,11 +86,11 @@ QString CardZone::getTranslatedName(bool theirOwn, GrammaticalCase gc) const
|
||||||
default:
|
default:
|
||||||
return (theirOwn ? tr("their library", "nominative") : tr("%1's library", "nominative").arg(ownerName));
|
return (theirOwn ? tr("their library", "nominative") : tr("%1's library", "nominative").arg(ownerName));
|
||||||
}
|
}
|
||||||
else if (name == "grave")
|
else if (name == ZONE_GRAVEYARD)
|
||||||
return (theirOwn ? tr("their graveyard", "nominative") : tr("%1's graveyard", "nominative").arg(ownerName));
|
return (theirOwn ? tr("their graveyard", "nominative") : tr("%1's graveyard", "nominative").arg(ownerName));
|
||||||
else if (name == "rfg")
|
else if (name == ZONE_EXILE)
|
||||||
return (theirOwn ? tr("their exile", "nominative") : tr("%1's exile", "nominative").arg(ownerName));
|
return (theirOwn ? tr("their exile", "nominative") : tr("%1's exile", "nominative").arg(ownerName));
|
||||||
else if (name == "sb")
|
else if (name == ZONE_SIDEBOARD)
|
||||||
switch (gc) {
|
switch (gc) {
|
||||||
case CaseLookAtZone:
|
case CaseLookAtZone:
|
||||||
return (theirOwn ? tr("their sideboard", "look at zone")
|
return (theirOwn ? tr("their sideboard", "look at zone")
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
|
|
||||||
HandZone::HandZone(Player *_p, bool _contentsKnown, int _zoneHeight, QGraphicsItem *parent)
|
HandZone::HandZone(Player *_p, bool _contentsKnown, int _zoneHeight, QGraphicsItem *parent)
|
||||||
: SelectZone(_p, "hand", false, false, _contentsKnown, parent), zoneHeight(_zoneHeight)
|
: SelectZone(_p, ZONE_HAND, false, false, _contentsKnown, parent), zoneHeight(_zoneHeight)
|
||||||
{
|
{
|
||||||
connect(themeManager, SIGNAL(themeChanged()), this, SLOT(updateBg()));
|
connect(themeManager, SIGNAL(themeChanged()), this, SLOT(updateBg()));
|
||||||
updateBg();
|
updateBg();
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
|
|
||||||
StackZone::StackZone(Player *_p, int _zoneHeight, QGraphicsItem *parent)
|
StackZone::StackZone(Player *_p, int _zoneHeight, QGraphicsItem *parent)
|
||||||
: SelectZone(_p, "stack", false, false, true, parent), zoneHeight(_zoneHeight)
|
: SelectZone(_p, ZONE_STACK, false, false, true, parent), zoneHeight(_zoneHeight)
|
||||||
{
|
{
|
||||||
connect(themeManager, SIGNAL(themeChanged()), this, SLOT(updateBg()));
|
connect(themeManager, SIGNAL(themeChanged()), this, SLOT(updateBg()));
|
||||||
updateBg();
|
updateBg();
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ const QColor TableZone::GRADIENT_COLOR = QColor(255, 255, 255, 150);
|
||||||
const QColor TableZone::GRADIENT_COLORLESS = QColor(255, 255, 255, 0);
|
const QColor TableZone::GRADIENT_COLORLESS = QColor(255, 255, 255, 0);
|
||||||
|
|
||||||
TableZone::TableZone(Player *_p, QGraphicsItem *parent)
|
TableZone::TableZone(Player *_p, QGraphicsItem *parent)
|
||||||
: SelectZone(_p, "table", true, false, true, parent), active(false)
|
: SelectZone(_p, ZONE_TABLE, true, false, true, parent), active(false)
|
||||||
{
|
{
|
||||||
connect(themeManager, SIGNAL(themeChanged()), this, SLOT(updateBg()));
|
connect(themeManager, SIGNAL(themeChanged()), this, SLOT(updateBg()));
|
||||||
connect(&SettingsCache::instance(), SIGNAL(invertVerticalCoordinateChanged()), this, SLOT(reorganizeCards()));
|
connect(&SettingsCache::instance(), SIGNAL(invertVerticalCoordinateChanged()), this, SLOT(reorganizeCards()));
|
||||||
|
|
@ -218,7 +218,7 @@ void TableZone::toggleTapped()
|
||||||
|
|
||||||
auto isCardOnTable = [](const QGraphicsItem *item) {
|
auto isCardOnTable = [](const QGraphicsItem *item) {
|
||||||
if (auto card = qgraphicsitem_cast<const CardItem *>(item)) {
|
if (auto card = qgraphicsitem_cast<const CardItem *>(item)) {
|
||||||
return card->getZone()->getName() == "table";
|
return card->getZone()->getName() == ZONE_TABLE;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -14,43 +14,43 @@
|
||||||
|
|
||||||
const QString &MessageLogWidget::tableConstant() const
|
const QString &MessageLogWidget::tableConstant() const
|
||||||
{
|
{
|
||||||
static const QString constant("table");
|
static const QString constant(ZONE_TABLE);
|
||||||
return constant;
|
return constant;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString &MessageLogWidget::graveyardConstant() const
|
const QString &MessageLogWidget::graveyardConstant() const
|
||||||
{
|
{
|
||||||
static const QString constant("grave");
|
static const QString constant(ZONE_GRAVEYARD);
|
||||||
return constant;
|
return constant;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString &MessageLogWidget::exileConstant() const
|
const QString &MessageLogWidget::exileConstant() const
|
||||||
{
|
{
|
||||||
static const QString constant("rfg");
|
static const QString constant(ZONE_EXILE);
|
||||||
return constant;
|
return constant;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString &MessageLogWidget::handConstant() const
|
const QString &MessageLogWidget::handConstant() const
|
||||||
{
|
{
|
||||||
static const QString constant("hand");
|
static const QString constant(ZONE_HAND);
|
||||||
return constant;
|
return constant;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString &MessageLogWidget::deckConstant() const
|
const QString &MessageLogWidget::deckConstant() const
|
||||||
{
|
{
|
||||||
static const QString constant("deck");
|
static const QString constant(ZONE_DECK);
|
||||||
return constant;
|
return constant;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString &MessageLogWidget::sideboardConstant() const
|
const QString &MessageLogWidget::sideboardConstant() const
|
||||||
{
|
{
|
||||||
static const QString constant("sb");
|
static const QString constant(ZONE_SIDEBOARD);
|
||||||
return constant;
|
return constant;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString &MessageLogWidget::stackConstant() const
|
const QString &MessageLogWidget::stackConstant() const
|
||||||
{
|
{
|
||||||
static const QString constant("stack");
|
static const QString constant(ZONE_STACK);
|
||||||
return constant;
|
return constant;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
#include <QKeySequence>
|
#include <QKeySequence>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
#include "../common/card_zones.h"
|
||||||
|
|
||||||
class ShortcutGroup
|
class ShortcutGroup
|
||||||
{
|
{
|
||||||
|
|
@ -466,7 +467,7 @@ private:
|
||||||
parseSequenceString("Ctrl+Del"),
|
parseSequenceString("Ctrl+Del"),
|
||||||
ShortcutGroup::Move_selected)},
|
ShortcutGroup::Move_selected)},
|
||||||
{"Player/aMoveToHand",
|
{"Player/aMoveToHand",
|
||||||
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Hand"), parseSequenceString(""), ShortcutGroup::Move_selected)},
|
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", ZONE_HAND), parseSequenceString(""), ShortcutGroup::Move_selected)},
|
||||||
{"Player/aMoveToTopLibrary", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Top of Library"),
|
{"Player/aMoveToTopLibrary", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Top of Library"),
|
||||||
parseSequenceString(""),
|
parseSequenceString(""),
|
||||||
ShortcutGroup::Move_selected)},
|
ShortcutGroup::Move_selected)},
|
||||||
|
|
@ -477,7 +478,7 @@ private:
|
||||||
parseSequenceString(""),
|
parseSequenceString(""),
|
||||||
ShortcutGroup::Move_selected)},
|
ShortcutGroup::Move_selected)},
|
||||||
{"Player/aViewHand",
|
{"Player/aViewHand",
|
||||||
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Hand"), parseSequenceString(""), ShortcutGroup::View)},
|
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", ZONE_HAND), parseSequenceString(""), ShortcutGroup::View)},
|
||||||
{"Player/aViewGraveyard",
|
{"Player/aViewGraveyard",
|
||||||
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Graveyard"), parseSequenceString("F4"), ShortcutGroup::View)},
|
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Graveyard"), parseSequenceString("F4"), ShortcutGroup::View)},
|
||||||
{"Player/aViewLibrary",
|
{"Player/aViewLibrary",
|
||||||
|
|
@ -493,7 +494,7 @@ private:
|
||||||
{"Player/aCloseMostRecentZoneView", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Close Recent View"),
|
{"Player/aCloseMostRecentZoneView", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Close Recent View"),
|
||||||
parseSequenceString("Esc"),
|
parseSequenceString("Esc"),
|
||||||
ShortcutGroup::View)},
|
ShortcutGroup::View)},
|
||||||
{"Player/aMoveTopToPlay", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Stack"),
|
{"Player/aMoveTopToPlay", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", ZONE_STACK),
|
||||||
parseSequenceString("Ctrl+Y"),
|
parseSequenceString("Ctrl+Y"),
|
||||||
ShortcutGroup::Move_top)},
|
ShortcutGroup::Move_top)},
|
||||||
{"Player/aMoveTopToPlayFaceDown", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Battlefield, Face Down"),
|
{"Player/aMoveTopToPlayFaceDown", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Battlefield, Face Down"),
|
||||||
|
|
@ -517,7 +518,7 @@ private:
|
||||||
parseSequenceString(""),
|
parseSequenceString(""),
|
||||||
ShortcutGroup::Move_top)},
|
ShortcutGroup::Move_top)},
|
||||||
{"Player/aMoveBottomToPlay",
|
{"Player/aMoveBottomToPlay",
|
||||||
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Stack"), parseSequenceString(""), ShortcutGroup::Move_bottom)},
|
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", ZONE_STACK), parseSequenceString(""), ShortcutGroup::Move_bottom)},
|
||||||
{"Player/aMoveBottomToPlayFaceDown", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Battlefield, Face Down"),
|
{"Player/aMoveBottomToPlayFaceDown", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Battlefield, Face Down"),
|
||||||
parseSequenceString(""),
|
parseSequenceString(""),
|
||||||
ShortcutGroup::Move_bottom)},
|
ShortcutGroup::Move_bottom)},
|
||||||
|
|
|
||||||
12
common/card_zones.h
Normal file
12
common/card_zones.h
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#ifndef COCKATRICE_CARD_ZONES_H
|
||||||
|
#define COCKATRICE_CARD_ZONES_H
|
||||||
|
|
||||||
|
#define ZONE_DECK "deck"
|
||||||
|
#define ZONE_SIDEBOARD "sb"
|
||||||
|
#define ZONE_TABLE "table"
|
||||||
|
#define ZONE_HAND "hand"
|
||||||
|
#define ZONE_STACK "stack"
|
||||||
|
#define ZONE_GRAVEYARD "grave"
|
||||||
|
#define ZONE_EXILE "rfg"
|
||||||
|
|
||||||
|
#endif // COCKATRICE_CARD_ZONES_H
|
||||||
|
|
@ -80,6 +80,7 @@
|
||||||
#include "server_game.h"
|
#include "server_game.h"
|
||||||
#include "server_room.h"
|
#include "server_room.h"
|
||||||
#include "trice_limits.h"
|
#include "trice_limits.h"
|
||||||
|
#include "../common/card_zones.h"
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
@ -168,15 +169,15 @@ void Server_Player::setupZones()
|
||||||
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
||||||
|
|
||||||
// Create zones
|
// Create zones
|
||||||
auto *deckZone = new Server_CardZone(this, "deck", false, ServerInfo_Zone::HiddenZone);
|
auto *deckZone = new Server_CardZone(this, ZONE_DECK, false, ServerInfo_Zone::HiddenZone);
|
||||||
addZone(deckZone);
|
addZone(deckZone);
|
||||||
auto *sbZone = new Server_CardZone(this, "sb", false, ServerInfo_Zone::HiddenZone);
|
auto *sbZone = new Server_CardZone(this, ZONE_SIDEBOARD, false, ServerInfo_Zone::HiddenZone);
|
||||||
addZone(sbZone);
|
addZone(sbZone);
|
||||||
addZone(new Server_CardZone(this, "table", true, ServerInfo_Zone::PublicZone));
|
addZone(new Server_CardZone(this, ZONE_TABLE, true, ServerInfo_Zone::PublicZone));
|
||||||
addZone(new Server_CardZone(this, "hand", false, ServerInfo_Zone::PrivateZone));
|
addZone(new Server_CardZone(this, ZONE_HAND, false, ServerInfo_Zone::PrivateZone));
|
||||||
addZone(new Server_CardZone(this, "stack", false, ServerInfo_Zone::PublicZone));
|
addZone(new Server_CardZone(this, ZONE_STACK, false, ServerInfo_Zone::PublicZone));
|
||||||
addZone(new Server_CardZone(this, "grave", false, ServerInfo_Zone::PublicZone));
|
addZone(new Server_CardZone(this, ZONE_GRAVEYARD, false, ServerInfo_Zone::PublicZone));
|
||||||
addZone(new Server_CardZone(this, "rfg", false, ServerInfo_Zone::PublicZone));
|
addZone(new Server_CardZone(this, ZONE_EXILE, false, ServerInfo_Zone::PublicZone));
|
||||||
|
|
||||||
addCounter(new Server_Counter(0, "life", makeColor(255, 255, 255), 25, 20));
|
addCounter(new Server_Counter(0, "life", makeColor(255, 255, 255), 25, 20));
|
||||||
addCounter(new Server_Counter(1, "w", makeColor(255, 255, 150), 20, 0));
|
addCounter(new Server_Counter(1, "w", makeColor(255, 255, 150), 20, 0));
|
||||||
|
|
@ -322,8 +323,8 @@ void Server_Player::addCounter(Server_Counter *counter)
|
||||||
|
|
||||||
Response::ResponseCode Server_Player::drawCards(GameEventStorage &ges, int number)
|
Response::ResponseCode Server_Player::drawCards(GameEventStorage &ges, int number)
|
||||||
{
|
{
|
||||||
Server_CardZone *deckZone = zones.value("deck");
|
Server_CardZone *deckZone = zones.value(ZONE_DECK);
|
||||||
Server_CardZone *handZone = zones.value("hand");
|
Server_CardZone *handZone = zones.value(ZONE_HAND);
|
||||||
if (deckZone->getCards().size() < number) {
|
if (deckZone->getCards().size() < number) {
|
||||||
number = deckZone->getCards().size();
|
number = deckZone->getCards().size();
|
||||||
}
|
}
|
||||||
|
|
@ -480,7 +481,7 @@ Response::ResponseCode Server_Player::moveCard(GameEventStorage &ges,
|
||||||
// "Undo draw" should only remain valid if the just-drawn card stays within the user's hand (e.g., they only
|
// "Undo draw" should only remain valid if the just-drawn card stays within the user's hand (e.g., they only
|
||||||
// reorder their hand). If a just-drawn card leaves the hand then remove cards before it from the list
|
// reorder their hand). If a just-drawn card leaves the hand then remove cards before it from the list
|
||||||
// (Ignore the case where the card is currently being un-drawn.)
|
// (Ignore the case where the card is currently being un-drawn.)
|
||||||
if (startzone->getName() == "hand" && targetzone->getName() != "hand" && !undoingDraw) {
|
if (startzone->getName() == ZONE_HAND && targetzone->getName() != ZONE_HAND && !undoingDraw) {
|
||||||
int index = lastDrawList.lastIndexOf(card->getId());
|
int index = lastDrawList.lastIndexOf(card->getId());
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
lastDrawList.erase(lastDrawList.begin(), lastDrawList.begin() + index);
|
lastDrawList.erase(lastDrawList.begin(), lastDrawList.begin() + index);
|
||||||
|
|
@ -1002,11 +1003,11 @@ Server_Player::cmdShuffle(const Command_Shuffle &cmd, ResponseContainer & /*rc*/
|
||||||
return Response::RespContextError;
|
return Response::RespContextError;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cmd.has_zone_name() && cmd.zone_name() != "deck") {
|
if (cmd.has_zone_name() && cmd.zone_name() != ZONE_DECK) {
|
||||||
return Response::RespFunctionNotAllowed;
|
return Response::RespFunctionNotAllowed;
|
||||||
}
|
}
|
||||||
|
|
||||||
Server_CardZone *zone = zones.value("deck");
|
Server_CardZone *zone = zones.value(ZONE_DECK);
|
||||||
if (!zone) {
|
if (!zone) {
|
||||||
return Response::RespNameNotFound;
|
return Response::RespNameNotFound;
|
||||||
}
|
}
|
||||||
|
|
@ -1037,8 +1038,8 @@ Server_Player::cmdMulligan(const Command_Mulligan &cmd, ResponseContainer & /*rc
|
||||||
return Response::RespContextError;
|
return Response::RespContextError;
|
||||||
}
|
}
|
||||||
|
|
||||||
Server_CardZone *hand = zones.value("hand");
|
Server_CardZone *hand = zones.value(ZONE_HAND);
|
||||||
Server_CardZone *_deck = zones.value("deck");
|
Server_CardZone *_deck = zones.value(ZONE_DECK);
|
||||||
int number = cmd.number();
|
int number = cmd.number();
|
||||||
|
|
||||||
if (!hand->getCards().isEmpty()) {
|
if (!hand->getCards().isEmpty()) {
|
||||||
|
|
@ -1131,7 +1132,7 @@ Server_Player::cmdUndoDraw(const Command_UndoDraw & /*cmd*/, ResponseContainer &
|
||||||
Response::ResponseCode retVal;
|
Response::ResponseCode retVal;
|
||||||
auto *cardToMove = new CardToMove;
|
auto *cardToMove = new CardToMove;
|
||||||
cardToMove->set_card_id(lastDrawList.takeLast());
|
cardToMove->set_card_id(lastDrawList.takeLast());
|
||||||
retVal = moveCard(ges, zones.value("hand"), QList<const CardToMove *>() << cardToMove, zones.value("deck"), 0, 0,
|
retVal = moveCard(ges, zones.value(ZONE_HAND), QList<const CardToMove *>() << cardToMove, zones.value(ZONE_DECK), 0, 0,
|
||||||
false, true);
|
false, true);
|
||||||
delete cardToMove;
|
delete cardToMove;
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue