Keep Annotations on Stack

This commit is contained in:
ZeldaZach 2024-12-31 13:37:00 -05:00
parent ded6d5b8eb
commit 75b7205310
No known key found for this signature in database
6 changed files with 16 additions and 8 deletions

View file

@ -54,13 +54,15 @@ Server_Card::~Server_Card()
}
}
void Server_Card::resetState()
void Server_Card::resetState(bool keepAnnotations)
{
counters.clear();
setTapped(false);
setAttacking(false);
setPT(QString());
setAnnotation(QString());
if (!keepAnnotations) {
setAnnotation(QString());
}
setDoesntUntap(false);
}

View file

@ -218,7 +218,7 @@ public:
return oldStashedCard;
}
void resetState();
void resetState(bool keepAnnotations = false);
QString setAttribute(CardAttribute attribute, const QString &avalue, bool allCards);
QString setAttribute(CardAttribute attribute, const QString &avalue, Event_SetCardAttr *event = nullptr);

View file

@ -548,7 +548,7 @@ Response::ResponseCode Server_Player::moveCard(GameEventStorage &ges,
newX = targetzone->getFreeGridColumn(newX, yCoord, card->getName(), faceDown);
} else {
yCoord = 0;
card->resetState();
card->resetState(targetzone->getName() == "stack");
}
targetzone->insertCard(card, newX, yCoord);
@ -576,6 +576,10 @@ Response::ResponseCode Server_Player::moveCard(GameEventStorage &ges,
eventOthers.set_start_player_id(startzone->getPlayer()->getPlayerId());
eventOthers.set_start_zone(startzone->getName().toStdString());
eventOthers.set_target_player_id(targetzone->getPlayer()->getPlayerId());
if (targetzone->getName() == "stack") {
setCardAttrHelper(ges, targetzone->getPlayer()->getPlayerId(), targetzone->getName(), card->getId(),
AttrAnnotation, card->getAnnotation(), card);
}
if (startzone != targetzone) {
eventOthers.set_target_zone(targetzone->getName().toStdString());
}