If you do, untap - added auto-answer support to skip yes/no dialog for already untapped permanent (right click on yes/no buttons, example: Mana Vault, #2656)

This commit is contained in:
Oleg Agafonov 2025-01-16 14:33:54 +04:00
parent d3d4e2c908
commit ccb8ff3715
5 changed files with 18 additions and 2 deletions

View file

@ -3,6 +3,8 @@ package mage.cards.b;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.condition.common.SourceTappedCondition;
import mage.abilities.hint.ConditionHint;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.GenericManaCost;
@ -35,6 +37,7 @@ public final class BrassGnat extends CardImpl {
// At the beginning of your upkeep, you may pay {1}. If you do, untap Brass Gnat. // At the beginning of your upkeep, you may pay {1}. If you do, untap Brass Gnat.
this.addAbility(new BeginningOfUpkeepTriggeredAbility( this.addAbility(new BeginningOfUpkeepTriggeredAbility(
new DoIfCostPaid(new UntapSourceEffect(), new GenericManaCost(1)) new DoIfCostPaid(new UntapSourceEffect(), new GenericManaCost(1))
.withChooseHint(new ConditionHint(SourceTappedCondition.UNTAPPED))
)); ));
} }

View file

@ -3,6 +3,8 @@ package mage.cards.b;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.condition.common.SourceTappedCondition;
import mage.abilities.hint.ConditionHint;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.GenericManaCost;
@ -33,6 +35,7 @@ public final class BrassMan extends CardImpl {
// At the beginning of your upkeep, you may pay {1}. If you do, untap Brass Man. // At the beginning of your upkeep, you may pay {1}. If you do, untap Brass Man.
this.addAbility(new BeginningOfUpkeepTriggeredAbility( this.addAbility(new BeginningOfUpkeepTriggeredAbility(
new DoIfCostPaid(new UntapSourceEffect(), new GenericManaCost(1)) new DoIfCostPaid(new UntapSourceEffect(), new GenericManaCost(1))
.withChooseHint(new ConditionHint(SourceTappedCondition.UNTAPPED))
)); ));
} }

View file

@ -3,6 +3,8 @@ package mage.cards.g;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.condition.common.SourceTappedCondition;
import mage.abilities.hint.ConditionHint;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -34,7 +36,9 @@ public final class GoblinDirigible extends CardImpl {
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect())); this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
// At the beginning of your upkeep, you may pay {4}. If you do, untap Goblin Dirigible. // At the beginning of your upkeep, you may pay {4}. If you do, untap Goblin Dirigible.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid( this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(
new UntapSourceEffect(), new ManaCostsImpl<>("{4}")))); new UntapSourceEffect(), new ManaCostsImpl<>("{4}"))
.withChooseHint(new ConditionHint(SourceTappedCondition.UNTAPPED))
));
} }
private GoblinDirigible(final GoblinDirigible card) { private GoblinDirigible(final GoblinDirigible card) {

View file

@ -3,6 +3,8 @@ package mage.cards.g;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.condition.common.SourceTappedCondition;
import mage.abilities.hint.ConditionHint;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -31,7 +33,8 @@ public final class GoblinWarWagon extends CardImpl {
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect())); this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
// At the beginning of your upkeep, you may pay {2}. If you do, untap Goblin War Wagon. // At the beginning of your upkeep, you may pay {2}. If you do, untap Goblin War Wagon.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid( this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(
new UntapSourceEffect(), new ManaCostsImpl<>("{2}")))); new UntapSourceEffect(), new ManaCostsImpl<>("{2}"))
.withChooseHint(new ConditionHint(SourceTappedCondition.UNTAPPED))));
} }
private GoblinWarWagon(final GoblinWarWagon card) { private GoblinWarWagon(final GoblinWarWagon card) {

View file

@ -3,6 +3,8 @@ package mage.cards.i;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.condition.common.SourceTappedCondition;
import mage.abilities.hint.ConditionHint;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.ControlsPermanentsControllerTriggeredAbility; import mage.abilities.common.ControlsPermanentsControllerTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -35,6 +37,7 @@ public final class IslandFishJasconius extends CardImpl {
// At the beginning of your upkeep, you may pay {U}{U}{U}. If you do, untap Island Fish Jasconius. // At the beginning of your upkeep, you may pay {U}{U}{U}. If you do, untap Island Fish Jasconius.
this.addAbility(new BeginningOfUpkeepTriggeredAbility( this.addAbility(new BeginningOfUpkeepTriggeredAbility(
new DoIfCostPaid(new UntapSourceEffect(), new ManaCostsImpl<>("{U}{U}{U}")) new DoIfCostPaid(new UntapSourceEffect(), new ManaCostsImpl<>("{U}{U}{U}"))
.withChooseHint(new ConditionHint(SourceTappedCondition.UNTAPPED))
)); ));
// Island Fish Jasconius can't attack unless defending player controls an Island. // Island Fish Jasconius can't attack unless defending player controls an Island.