mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-14 10:04:46 -07:00
Event context for mulligans, German translation
This commit is contained in:
parent
0c1c0fcb56
commit
808d2a3c01
17 changed files with 1228 additions and 954 deletions
|
|
@ -76,7 +76,8 @@ ItemId_Context_Concede = 1074,
|
|||
ItemId_Context_DeckSelect = 1075,
|
||||
ItemId_Context_UndoDraw = 1076,
|
||||
ItemId_Context_MoveCard = 1077,
|
||||
ItemId_Command_UpdateServerMessage = 1078,
|
||||
ItemId_Command_BanFromServer = 1079,
|
||||
ItemId_Other = 1080
|
||||
ItemId_Context_Mulligan = 1078,
|
||||
ItemId_Command_UpdateServerMessage = 1079,
|
||||
ItemId_Command_BanFromServer = 1080,
|
||||
ItemId_Other = 1081
|
||||
};
|
||||
|
|
|
|||
|
|
@ -458,6 +458,11 @@ Context_MoveCard::Context_MoveCard()
|
|||
: GameEventContext("move_card")
|
||||
{
|
||||
}
|
||||
Context_Mulligan::Context_Mulligan(int _number)
|
||||
: GameEventContext("mulligan")
|
||||
{
|
||||
insertItem(new SerializableItem_Int("number", _number));
|
||||
}
|
||||
Command_UpdateServerMessage::Command_UpdateServerMessage()
|
||||
: AdminCommand("update_server_message")
|
||||
{
|
||||
|
|
@ -547,6 +552,7 @@ void ProtocolItem::initializeHashAuto()
|
|||
itemNameHash.insert("game_event_contextdeck_select", Context_DeckSelect::newItem);
|
||||
itemNameHash.insert("game_event_contextundo_draw", Context_UndoDraw::newItem);
|
||||
itemNameHash.insert("game_event_contextmove_card", Context_MoveCard::newItem);
|
||||
itemNameHash.insert("game_event_contextmulligan", Context_Mulligan::newItem);
|
||||
itemNameHash.insert("cmdupdate_server_message", Command_UpdateServerMessage::newItem);
|
||||
itemNameHash.insert("cmdban_from_server", Command_BanFromServer::newItem);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,5 +75,6 @@
|
|||
6:deck_select:i,deck_id
|
||||
6:undo_draw
|
||||
6:move_card
|
||||
6:mulligan:i,number
|
||||
7:update_server_message
|
||||
7:ban_from_server:s,user_name:i,minutes
|
||||
|
|
@ -691,6 +691,14 @@ public:
|
|||
static SerializableItem *newItem() { return new Context_MoveCard; }
|
||||
int getItemId() const { return ItemId_Context_MoveCard; }
|
||||
};
|
||||
class Context_Mulligan : public GameEventContext {
|
||||
Q_OBJECT
|
||||
public:
|
||||
Context_Mulligan(int _number = -1);
|
||||
int getNumber() const { return static_cast<SerializableItem_Int *>(itemMap.value("number"))->getData(); };
|
||||
static SerializableItem *newItem() { return new Context_Mulligan; }
|
||||
int getItemId() const { return ItemId_Context_Mulligan; }
|
||||
};
|
||||
class Command_UpdateServerMessage : public AdminCommand {
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -402,6 +402,7 @@ ResponseCode Server_Player::moveCard(CommandContainer *cont, Server_CardZone *st
|
|||
|
||||
if (card->getDestroyOnZoneChange() && (startzone->getName() != targetzone->getName())) {
|
||||
cont->enqueueGameEventPrivate(new Event_DestroyCard(getPlayerId(), startzone->getName(), card->getId()), game->getGameId(), -1, new Context_MoveCard);
|
||||
cont->enqueueGameEventOmniscient(new Event_DestroyCard(getPlayerId(), startzone->getName(), card->getId()), game->getGameId(), new Context_MoveCard);
|
||||
cont->enqueueGameEventPublic(new Event_DestroyCard(getPlayerId(), startzone->getName(), card->getId()), game->getGameId(), new Context_MoveCard);
|
||||
card->deleteLater();
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -632,9 +632,16 @@ ResponseCode Server_ProtocolHandler::cmdMulligan(Command_Mulligan * /*cmd*/, Com
|
|||
|
||||
deck->shuffle();
|
||||
cont->enqueueGameEventPrivate(new Event_Shuffle(player->getPlayerId()), game->getGameId());
|
||||
cont->enqueueGameEventOmniscient(new Event_Shuffle(player->getPlayerId()), game->getGameId());
|
||||
cont->enqueueGameEventPublic(new Event_Shuffle(player->getPlayerId()), game->getGameId());
|
||||
|
||||
player->drawCards(cont, number);
|
||||
|
||||
if (number == player->getInitialCards())
|
||||
number = -1;
|
||||
cont->getGameEventQueuePrivate()->setContext(new Context_Mulligan(number));
|
||||
cont->getGameEventQueuePublic()->setContext(new Context_Mulligan(number));
|
||||
cont->getGameEventQueueOmniscient()->setContext(new Context_Mulligan(number));
|
||||
|
||||
return RespOk;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue