mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
Implement reverse-related tag for cards
This commit is contained in:
parent
f03051b6cf
commit
4b1c59424e
8 changed files with 81 additions and 8 deletions
|
|
@ -1146,7 +1146,8 @@ void Player::actCreateRelatedCard()
|
|||
cmd.set_annotation(settingsCache->getAnnotateTokens() ? cardInfo->getText().toStdString() : QString().toStdString());
|
||||
cmd.set_destroy_on_zone_change(true);
|
||||
cmd.set_target_zone(sourceCard->getZone()->getName().toStdString());
|
||||
cmd.set_target_card_id(sourceCard->getId());
|
||||
if(!cardInfo->getIsToken())
|
||||
cmd.set_target_card_id(sourceCard->getId());
|
||||
|
||||
sendGameCommand(cmd);
|
||||
}
|
||||
|
|
@ -2362,7 +2363,8 @@ void Player::updateCardMenu(CardItem *card)
|
|||
cardMenu->addAction(aPeek);
|
||||
|
||||
QStringList relatedCards = card->getInfo()->getRelatedCards();
|
||||
if(relatedCards.size())
|
||||
QStringList reverserelatedCards2Me = card->getInfo()->getReverseRelatedCards2Me();
|
||||
if(relatedCards.size() || reverserelatedCards2Me.size())
|
||||
{
|
||||
QMenu * createRelatedCardMenu = cardMenu->addMenu(tr("Cr&eate related card"));
|
||||
|
||||
|
|
@ -2370,6 +2372,11 @@ void Player::updateCardMenu(CardItem *card)
|
|||
QAction *a = createRelatedCardMenu->addAction(relatedCards.at(i));
|
||||
connect(a, SIGNAL(triggered()), this, SLOT(actCreateRelatedCard()));
|
||||
}
|
||||
|
||||
for (int i = 0; i < reverserelatedCards2Me.size(); ++i) {
|
||||
QAction *a = createRelatedCardMenu->addAction(reverserelatedCards2Me.at(i));
|
||||
connect(a, SIGNAL(triggered()), this, SLOT(actCreateRelatedCard()));
|
||||
}
|
||||
}
|
||||
cardMenu->addSeparator();
|
||||
cardMenu->addAction(aAttach);
|
||||
|
|
@ -2393,6 +2400,23 @@ void Player::updateCardMenu(CardItem *card)
|
|||
} else if (card->getZone()->getName() == "stack") {
|
||||
cardMenu->addAction(aDrawArrow);
|
||||
cardMenu->addMenu(moveMenu);
|
||||
|
||||
QStringList relatedCards = card->getInfo()->getRelatedCards();
|
||||
QStringList reverserelatedCards2Me = card->getInfo()->getReverseRelatedCards2Me();
|
||||
if(relatedCards.size() || reverserelatedCards2Me.size())
|
||||
{
|
||||
QMenu * createRelatedCardMenu = cardMenu->addMenu(tr("Cr&eate related card"));
|
||||
|
||||
for (int i = 0; i < relatedCards.size(); ++i) {
|
||||
QAction *a = createRelatedCardMenu->addAction(relatedCards.at(i));
|
||||
connect(a, SIGNAL(triggered()), this, SLOT(actCreateRelatedCard()));
|
||||
}
|
||||
|
||||
for (int i = 0; i < reverserelatedCards2Me.size(); ++i) {
|
||||
QAction *a = createRelatedCardMenu->addAction(reverserelatedCards2Me.at(i));
|
||||
connect(a, SIGNAL(triggered()), this, SLOT(actCreateRelatedCard()));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
cardMenu->addAction(aPlay);
|
||||
cardMenu->addAction(aPlayFacedown);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue