Have servatrice inform players of sideboard size

Ref #142
This commit is contained in:
Daenyth 2014-06-28 00:36:08 -04:00
parent c0bd7db658
commit 4c2a553f03
7 changed files with 38 additions and 12 deletions

View file

@ -86,12 +86,16 @@ void MessageLogWidget::logLeaveSpectator(QString name)
appendHtml(tr("%1 is not watching the game any more.").arg(sanitizeHtml(name)));
}
void MessageLogWidget::logDeckSelect(Player *player, QString deckHash)
void MessageLogWidget::logDeckSelect(Player *player, QString deckHash, int sideboardSize)
{
if (isFemale(player))
appendHtml(tr("%1 has loaded a deck (%2).", "female").arg(sanitizeHtml(player->getName())).arg(deckHash));
const char* gender = isFemale(player) ? "female" : "male";
if (sideboardSize < 0)
appendHtml(tr("%1 has loaded a deck (%2).", gender).arg(sanitizeHtml(player->getName())).arg(deckHash));
else
appendHtml(tr("%1 has loaded a deck (%2).", "male").arg(sanitizeHtml(player->getName())).arg(deckHash));
appendHtml(tr("%1 has loaded a deck with (%2) sideboard cards (%3).", gender).
arg(sanitizeHtml(player->getName())).
arg(sideboardSize).
arg(deckHash));
}
void MessageLogWidget::logReadyStart(Player *player)

View file

@ -48,7 +48,7 @@ public slots:
void logKicked();
void logJoinSpectator(QString name);
void logLeaveSpectator(QString name);
void logDeckSelect(Player *player, QString deckHash);
void logDeckSelect(Player *player, QString deckHash, int sideboardSize);
void logReadyStart(Player *player);
void logNotReadyStart(Player *player);
void logSetSideboardLock(Player *player, bool locked);

View file

@ -1012,7 +1012,10 @@ void TabGame::eventPlayerPropertiesChanged(const Event_PlayerPropertiesChanged &
break;
}
case GameEventContext::DECK_SELECT: {
messageLog->logDeckSelect(player, QString::fromStdString(context.GetExtension(Context_DeckSelect::ext).deck_hash()));
Context_DeckSelect deckSelect = context.GetExtension(Context_DeckSelect::ext);
messageLog->logDeckSelect(player,
QString::fromStdString(deckSelect.deck_hash()),
deckSelect.sideboard_size());
break;
}
case GameEventContext::SET_SIDEBOARD_LOCK: {