mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-21 09:52:16 -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
|
|
@ -80,6 +80,7 @@
|
|||
#include "server_game.h"
|
||||
#include "server_room.h"
|
||||
#include "trice_limits.h"
|
||||
#include "../common/card_zones.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <algorithm>
|
||||
|
|
@ -168,15 +169,15 @@ void Server_Player::setupZones()
|
|||
// ------------------------------------------------------------------
|
||||
|
||||
// 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);
|
||||
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(new Server_CardZone(this, "table", true, ServerInfo_Zone::PublicZone));
|
||||
addZone(new Server_CardZone(this, "hand", false, ServerInfo_Zone::PrivateZone));
|
||||
addZone(new Server_CardZone(this, "stack", false, ServerInfo_Zone::PublicZone));
|
||||
addZone(new Server_CardZone(this, "grave", false, ServerInfo_Zone::PublicZone));
|
||||
addZone(new Server_CardZone(this, "rfg", false, ServerInfo_Zone::PublicZone));
|
||||
addZone(new Server_CardZone(this, ZONE_TABLE, true, ServerInfo_Zone::PublicZone));
|
||||
addZone(new Server_CardZone(this, ZONE_HAND, false, ServerInfo_Zone::PrivateZone));
|
||||
addZone(new Server_CardZone(this, ZONE_STACK, false, ServerInfo_Zone::PublicZone));
|
||||
addZone(new Server_CardZone(this, ZONE_GRAVEYARD, 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(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)
|
||||
{
|
||||
Server_CardZone *deckZone = zones.value("deck");
|
||||
Server_CardZone *handZone = zones.value("hand");
|
||||
Server_CardZone *deckZone = zones.value(ZONE_DECK);
|
||||
Server_CardZone *handZone = zones.value(ZONE_HAND);
|
||||
if (deckZone->getCards().size() < number) {
|
||||
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
|
||||
// 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.)
|
||||
if (startzone->getName() == "hand" && targetzone->getName() != "hand" && !undoingDraw) {
|
||||
if (startzone->getName() == ZONE_HAND && targetzone->getName() != ZONE_HAND && !undoingDraw) {
|
||||
int index = lastDrawList.lastIndexOf(card->getId());
|
||||
if (index != -1) {
|
||||
lastDrawList.erase(lastDrawList.begin(), lastDrawList.begin() + index);
|
||||
|
|
@ -1002,11 +1003,11 @@ Server_Player::cmdShuffle(const Command_Shuffle &cmd, ResponseContainer & /*rc*/
|
|||
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;
|
||||
}
|
||||
|
||||
Server_CardZone *zone = zones.value("deck");
|
||||
Server_CardZone *zone = zones.value(ZONE_DECK);
|
||||
if (!zone) {
|
||||
return Response::RespNameNotFound;
|
||||
}
|
||||
|
|
@ -1037,8 +1038,8 @@ Server_Player::cmdMulligan(const Command_Mulligan &cmd, ResponseContainer & /*rc
|
|||
return Response::RespContextError;
|
||||
}
|
||||
|
||||
Server_CardZone *hand = zones.value("hand");
|
||||
Server_CardZone *_deck = zones.value("deck");
|
||||
Server_CardZone *hand = zones.value(ZONE_HAND);
|
||||
Server_CardZone *_deck = zones.value(ZONE_DECK);
|
||||
int number = cmd.number();
|
||||
|
||||
if (!hand->getCards().isEmpty()) {
|
||||
|
|
@ -1131,7 +1132,7 @@ Server_Player::cmdUndoDraw(const Command_UndoDraw & /*cmd*/, ResponseContainer &
|
|||
Response::ResponseCode retVal;
|
||||
auto *cardToMove = new CardToMove;
|
||||
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);
|
||||
delete cardToMove;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue