add the amount of cards logged to the reveal cards event (#3516)
* add the amount of cards logged to the reveal cards event sets cardname to the amount for the call if not 1 for the fromstr only add braces for single line statements * zach cleanup
This commit is contained in:
parent
ed70099e36
commit
495e232c22
4 changed files with 47 additions and 30 deletions
|
@ -457,9 +457,11 @@ void MessageLogWidget::logRevealCards(Player *player,
|
||||||
int cardId,
|
int cardId,
|
||||||
QString cardName,
|
QString cardName,
|
||||||
Player *otherPlayer,
|
Player *otherPlayer,
|
||||||
bool faceDown)
|
bool faceDown,
|
||||||
|
int amount)
|
||||||
{
|
{
|
||||||
QPair<QString, QString> temp = getFromStr(zone, cardName, cardId, false);
|
// getFromStr uses cardname.empty() to check if it should contain the start zone, it's not actually used
|
||||||
|
QPair<QString, QString> temp = getFromStr(zone, amount == 1 ? cardName : QString::number(amount), cardId, false);
|
||||||
bool cardNameContainsStartZone = false;
|
bool cardNameContainsStartZone = false;
|
||||||
if (!temp.first.isEmpty()) {
|
if (!temp.first.isEmpty()) {
|
||||||
cardNameContainsStartZone = true;
|
cardNameContainsStartZone = true;
|
||||||
|
@ -468,53 +470,58 @@ void MessageLogWidget::logRevealCards(Player *player,
|
||||||
QString fromStr = temp.second;
|
QString fromStr = temp.second;
|
||||||
|
|
||||||
QString cardStr;
|
QString cardStr;
|
||||||
if (cardNameContainsStartZone)
|
if (cardNameContainsStartZone) {
|
||||||
cardStr = cardName;
|
cardStr = cardName;
|
||||||
else if (cardName.isEmpty())
|
} else if (cardName.isEmpty()) {
|
||||||
cardStr = tr("a card");
|
cardStr = tr("%1 card(s)", "a card for singular, %1 cards for plural", amount)
|
||||||
else
|
.arg("<font color=\"blue\">" + QString::number(amount) + "</font>");
|
||||||
|
} else {
|
||||||
cardStr = cardLink(cardName);
|
cardStr = cardLink(cardName);
|
||||||
|
}
|
||||||
if (cardId == -1) {
|
if (cardId == -1) {
|
||||||
if (otherPlayer)
|
if (otherPlayer) {
|
||||||
appendHtmlServerMessage(tr("%1 reveals %2 to %3.")
|
appendHtmlServerMessage(tr("%1 reveals %2 to %3.")
|
||||||
.arg(sanitizeHtml(player->getName()))
|
.arg(sanitizeHtml(player->getName()))
|
||||||
.arg(zone->getTranslatedName(true, CaseRevealZone))
|
.arg(zone->getTranslatedName(true, CaseRevealZone))
|
||||||
.arg(sanitizeHtml(otherPlayer->getName())));
|
.arg(sanitizeHtml(otherPlayer->getName())));
|
||||||
else
|
} else {
|
||||||
appendHtmlServerMessage(tr("%1 reveals %2.")
|
appendHtmlServerMessage(tr("%1 reveals %2.")
|
||||||
.arg(sanitizeHtml(player->getName()))
|
.arg(sanitizeHtml(player->getName()))
|
||||||
.arg(zone->getTranslatedName(true, CaseRevealZone)));
|
.arg(zone->getTranslatedName(true, CaseRevealZone)));
|
||||||
|
}
|
||||||
} else if (cardId == -2) {
|
} else if (cardId == -2) {
|
||||||
if (otherPlayer)
|
if (otherPlayer) {
|
||||||
appendHtmlServerMessage(tr("%1 randomly reveals %2%3 to %4.")
|
appendHtmlServerMessage(tr("%1 randomly reveals %2%3 to %4.")
|
||||||
.arg(sanitizeHtml(player->getName()))
|
.arg(sanitizeHtml(player->getName()))
|
||||||
.arg(cardStr)
|
.arg(cardStr)
|
||||||
.arg(fromStr)
|
.arg(fromStr)
|
||||||
.arg(sanitizeHtml(otherPlayer->getName())));
|
.arg(sanitizeHtml(otherPlayer->getName())));
|
||||||
else
|
} else {
|
||||||
appendHtmlServerMessage(
|
appendHtmlServerMessage(
|
||||||
tr("%1 randomly reveals %2%3.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr));
|
tr("%1 randomly reveals %2%3.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (faceDown && player == otherPlayer) {
|
if (faceDown && player == otherPlayer) {
|
||||||
if (cardName.isEmpty())
|
if (cardName.isEmpty()) {
|
||||||
appendHtmlServerMessage(
|
appendHtmlServerMessage(
|
||||||
tr("%1 peeks at face down card #%2.").arg(sanitizeHtml(player->getName())).arg(cardId));
|
tr("%1 peeks at face down card #%2.").arg(sanitizeHtml(player->getName())).arg(cardId));
|
||||||
else
|
} else {
|
||||||
appendHtmlServerMessage(tr("%1 peeks at face down card #%2: %3.")
|
appendHtmlServerMessage(tr("%1 peeks at face down card #%2: %3.")
|
||||||
.arg(sanitizeHtml(player->getName()))
|
.arg(sanitizeHtml(player->getName()))
|
||||||
.arg(cardId)
|
.arg(cardId)
|
||||||
.arg(cardStr));
|
.arg(cardStr));
|
||||||
} else if (otherPlayer)
|
}
|
||||||
|
} else if (otherPlayer) {
|
||||||
appendHtmlServerMessage(tr("%1 reveals %2%3 to %4.")
|
appendHtmlServerMessage(tr("%1 reveals %2%3 to %4.")
|
||||||
.arg(sanitizeHtml(player->getName()))
|
.arg(sanitizeHtml(player->getName()))
|
||||||
.arg(cardStr)
|
.arg(cardStr)
|
||||||
.arg(fromStr)
|
.arg(fromStr)
|
||||||
.arg(sanitizeHtml(otherPlayer->getName())));
|
.arg(sanitizeHtml(otherPlayer->getName())));
|
||||||
else
|
} else {
|
||||||
appendHtmlServerMessage(
|
appendHtmlServerMessage(
|
||||||
tr("%1 reveals %2%3.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr));
|
tr("%1 reveals %2%3.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logRollDie(Player *player, int sides, int roll)
|
void MessageLogWidget::logRollDie(Player *player, int sides, int roll)
|
||||||
|
@ -787,8 +794,8 @@ void MessageLogWidget::connectToPlayer(Player *player)
|
||||||
connect(player, SIGNAL(logStopDumpZone(Player *, CardZone *)), this, SLOT(logStopDumpZone(Player *, CardZone *)));
|
connect(player, SIGNAL(logStopDumpZone(Player *, CardZone *)), this, SLOT(logStopDumpZone(Player *, CardZone *)));
|
||||||
connect(player, SIGNAL(logDrawCards(Player *, int)), this, SLOT(logDrawCards(Player *, int)));
|
connect(player, SIGNAL(logDrawCards(Player *, int)), this, SLOT(logDrawCards(Player *, int)));
|
||||||
connect(player, SIGNAL(logUndoDraw(Player *, QString)), this, SLOT(logUndoDraw(Player *, QString)));
|
connect(player, SIGNAL(logUndoDraw(Player *, QString)), this, SLOT(logUndoDraw(Player *, QString)));
|
||||||
connect(player, SIGNAL(logRevealCards(Player *, CardZone *, int, QString, Player *, bool)), this,
|
connect(player, SIGNAL(logRevealCards(Player *, CardZone *, int, QString, Player *, bool, int)), this,
|
||||||
SLOT(logRevealCards(Player *, CardZone *, int, QString, Player *, bool)));
|
SLOT(logRevealCards(Player *, CardZone *, int, QString, Player *, bool, int)));
|
||||||
connect(player, SIGNAL(logAlwaysRevealTopCard(Player *, CardZone *, bool)), this,
|
connect(player, SIGNAL(logAlwaysRevealTopCard(Player *, CardZone *, bool)), this,
|
||||||
SLOT(logAlwaysRevealTopCard(Player *, CardZone *, bool)));
|
SLOT(logAlwaysRevealTopCard(Player *, CardZone *, bool)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ private:
|
||||||
const QString stackConstant() const;
|
const QString stackConstant() const;
|
||||||
|
|
||||||
QString sanitizeHtml(QString dirty) const;
|
QString sanitizeHtml(QString dirty) const;
|
||||||
QString cardLink(const QString cardName) const;
|
QString cardLink(QString cardName) const;
|
||||||
QPair<QString, QString> getFromStr(CardZone *zone, QString cardName, int position, bool ownerChange) const;
|
QPair<QString, QString> getFromStr(CardZone *zone, QString cardName, int position, bool ownerChange) const;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
@ -83,8 +83,13 @@ public slots:
|
||||||
void logMulligan(Player *player, int number);
|
void logMulligan(Player *player, int number);
|
||||||
void logReplayStarted(int gameId);
|
void logReplayStarted(int gameId);
|
||||||
void logReadyStart(Player *player);
|
void logReadyStart(Player *player);
|
||||||
void
|
void logRevealCards(Player *player,
|
||||||
logRevealCards(Player *player, CardZone *zone, int cardId, QString cardName, Player *otherPlayer, bool faceDown);
|
CardZone *zone,
|
||||||
|
int cardId,
|
||||||
|
QString cardName,
|
||||||
|
Player *otherPlayer,
|
||||||
|
bool faceDown,
|
||||||
|
int amount);
|
||||||
void logRollDie(Player *player, int sides, int roll);
|
void logRollDie(Player *player, int sides, int roll);
|
||||||
void logSay(Player *player, QString message);
|
void logSay(Player *player, QString message);
|
||||||
void logSetActivePhase(int phase);
|
void logSetActivePhase(int phase);
|
||||||
|
@ -108,7 +113,7 @@ public:
|
||||||
MessageLogWidget(const TabSupervisor *_tabSupervisor,
|
MessageLogWidget(const TabSupervisor *_tabSupervisor,
|
||||||
const UserlistProxy *_userlistProxy,
|
const UserlistProxy *_userlistProxy,
|
||||||
TabGame *_game,
|
TabGame *_game,
|
||||||
QWidget *parent = 0);
|
QWidget *parent = nullptr);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1830,14 +1830,14 @@ void Player::eventRevealCards(const Event_RevealCards &event)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (peeking) {
|
if (peeking) {
|
||||||
for (auto i : cardList) {
|
for (auto &card : cardList) {
|
||||||
QString cardName = QString::fromStdString(i->name());
|
QString cardName = QString::fromStdString(card->name());
|
||||||
CardItem *card = zone->getCard(i->id(), QString());
|
CardItem *cardItem = zone->getCard(card->id(), QString());
|
||||||
if (!card) {
|
if (!cardItem) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
card->setName(cardName);
|
cardItem->setName(cardName);
|
||||||
emit logRevealCards(this, zone, i->id(), cardName, this, true);
|
emit logRevealCards(this, zone, card->id(), cardName, this, true, 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
bool showZoneView = true;
|
bool showZoneView = true;
|
||||||
|
@ -1854,7 +1854,7 @@ void Player::eventRevealCards(const Event_RevealCards &event)
|
||||||
static_cast<GameScene *>(scene())->addRevealedZoneView(this, zone, cardList, event.grant_write_access());
|
static_cast<GameScene *>(scene())->addRevealedZoneView(this, zone, cardList, event.grant_write_access());
|
||||||
}
|
}
|
||||||
|
|
||||||
emit logRevealCards(this, zone, event.card_id(), cardName, otherPlayer, false);
|
emit logRevealCards(this, zone, event.card_id(), cardName, otherPlayer, false, cardList.size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -127,8 +127,13 @@ signals:
|
||||||
void logSetAnnotation(Player *player, CardItem *card, QString newAnnotation);
|
void logSetAnnotation(Player *player, CardItem *card, QString newAnnotation);
|
||||||
void logDumpZone(Player *player, CardZone *zone, int numberCards);
|
void logDumpZone(Player *player, CardZone *zone, int numberCards);
|
||||||
void logStopDumpZone(Player *player, CardZone *zone);
|
void logStopDumpZone(Player *player, CardZone *zone);
|
||||||
void
|
void logRevealCards(Player *player,
|
||||||
logRevealCards(Player *player, CardZone *zone, int cardId, QString cardName, Player *otherPlayer, bool faceDown);
|
CardZone *zone,
|
||||||
|
int cardId,
|
||||||
|
QString cardName,
|
||||||
|
Player *otherPlayer,
|
||||||
|
bool faceDown,
|
||||||
|
int amount);
|
||||||
void logAlwaysRevealTopCard(Player *player, CardZone *zone, bool reveal);
|
void logAlwaysRevealTopCard(Player *player, CardZone *zone, bool reveal);
|
||||||
|
|
||||||
void sizeChanged();
|
void sizeChanged();
|
||||||
|
|
Loading…
Reference in a new issue