Clone in exile and graveyard (#2813)

This commit is contained in:
John Hill 2017-07-30 21:34:24 -07:00 committed by Zach H
parent 838ab888db
commit 556d19ff70

View file

@ -2555,14 +2555,10 @@ void Player::updateCardMenu(const CardItem *card)
} }
} }
if (revealedCard) if (revealedCard) {
{
cardMenu->addAction(aHide); cardMenu->addAction(aHide);
} } else if (writeableCard) {
else if (writeableCard) if (moveMenu->isEmpty()) {
{
if (moveMenu->isEmpty())
{
moveMenu->addAction(aMoveToTopLibrary); moveMenu->addAction(aMoveToTopLibrary);
moveMenu->addAction(aMoveToXfromTopOfLibrary); moveMenu->addAction(aMoveToXfromTopOfLibrary);
moveMenu->addAction(aMoveToBottomLibrary); moveMenu->addAction(aMoveToBottomLibrary);
@ -2574,12 +2570,9 @@ void Player::updateCardMenu(const CardItem *card)
moveMenu->addAction(aMoveToExile); moveMenu->addAction(aMoveToExile);
} }
if (card->getZone()) if (card->getZone()) {
{ if (card->getZone()->getName() == "table") {
if (card->getZone()->getName() == "table") if (ptMenu->isEmpty()) {
{
if (ptMenu->isEmpty())
{
ptMenu->addAction(aIncP); ptMenu->addAction(aIncP);
ptMenu->addAction(aDecP); ptMenu->addAction(aDecP);
ptMenu->addSeparator(); ptMenu->addSeparator();
@ -2596,8 +2589,7 @@ void Player::updateCardMenu(const CardItem *card)
cardMenu->addAction(aUntap); cardMenu->addAction(aUntap);
cardMenu->addAction(aDoesntUntap); cardMenu->addAction(aDoesntUntap);
cardMenu->addAction(aFlip); cardMenu->addAction(aFlip);
if (card->getFaceDown()) if (card->getFaceDown()) {
{
cardMenu->addAction(aPeek); cardMenu->addAction(aPeek);
} }
@ -2605,8 +2597,7 @@ void Player::updateCardMenu(const CardItem *card)
cardMenu->addSeparator(); cardMenu->addSeparator();
cardMenu->addAction(aAttach); cardMenu->addAction(aAttach);
if (card->getAttachedTo()) if (card->getAttachedTo()) {
{
cardMenu->addAction(aUnattach); cardMenu->addAction(aUnattach);
} }
cardMenu->addAction(aDrawArrow); cardMenu->addAction(aDrawArrow);
@ -2617,41 +2608,36 @@ void Player::updateCardMenu(const CardItem *card)
cardMenu->addAction(aClone); cardMenu->addAction(aClone);
cardMenu->addMenu(moveMenu); cardMenu->addMenu(moveMenu);
for (int i = 0; i < aAddCounter.size(); ++i) for (int i = 0; i < aAddCounter.size(); ++i) {
{
cardMenu->addSeparator(); cardMenu->addSeparator();
cardMenu->addAction(aAddCounter[i]); cardMenu->addAction(aAddCounter[i]);
if (card->getCounters().contains(i)) if (card->getCounters().contains(i)) {
{
cardMenu->addAction(aRemoveCounter[i]); cardMenu->addAction(aRemoveCounter[i]);
} }
cardMenu->addAction(aSetCounter[i]); cardMenu->addAction(aSetCounter[i]);
} }
cardMenu->addSeparator(); cardMenu->addSeparator();
} } else if (card->getZone()->getName() == "stack") {
else if (card->getZone()->getName() == "stack")
{
cardMenu->addAction(aDrawArrow); cardMenu->addAction(aDrawArrow);
cardMenu->addMenu(moveMenu); cardMenu->addMenu(moveMenu);
addRelatedCardActions(card, cardMenu); addRelatedCardActions(card, cardMenu);
} } else if (card->getZone()->getName() == "rfg" || card->getZone()->getName() == "grave") {
else cardMenu->addAction(aPlay);
{ cardMenu->addAction(aPlayFacedown);
cardMenu->addSeparator();
cardMenu->addAction(aClone);
cardMenu->addMenu(moveMenu);
} else {
cardMenu->addAction(aPlay); cardMenu->addAction(aPlay);
cardMenu->addAction(aPlayFacedown); cardMenu->addAction(aPlayFacedown);
cardMenu->addMenu(moveMenu); cardMenu->addMenu(moveMenu);
} }
} } else {
else
{
cardMenu->addMenu(moveMenu); cardMenu->addMenu(moveMenu);
} }
} } else {
else if (card->getZone() && card->getZone()->getName() != "hand") {
{
if (card->getZone() && card->getZone()->getName() != "hand")
{
cardMenu->addAction(aDrawArrow); cardMenu->addAction(aDrawArrow);
cardMenu->addSeparator(); cardMenu->addSeparator();
addRelatedCardActions(card, cardMenu); addRelatedCardActions(card, cardMenu);