diff --git a/forge-ai/src/main/java/forge/ai/ability/MillAi.java b/forge-ai/src/main/java/forge/ai/ability/MillAi.java index 7ee0f1d4568..637ccee79ad 100644 --- a/forge-ai/src/main/java/forge/ai/ability/MillAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/MillAi.java @@ -44,6 +44,9 @@ public class MillAi extends SpellAbilityAi { @Override protected boolean checkPhaseRestrictions(final Player ai, final SpellAbility sa, final PhaseHandler ph) { + if ("ExileAndPlayUntilEOT".equals(sa.getParam("AILogic"))) { + return ph.is(PhaseType.MAIN1) && ph.isPlayerTurn(ai); + } if ("You".equals(sa.getParam("Defined")) && !(!SpellAbilityAi.isSorcerySpeed(sa) && ph.is(PhaseType.END_OF_TURN) && ph.getNextTurn().equals(ai))) { return false; // only self-mill at opponent EOT diff --git a/forge-gui/res/cardsfolder/a/aerial_caravan.txt b/forge-gui/res/cardsfolder/a/aerial_caravan.txt index d972196d077..200930504fc 100644 --- a/forge-gui/res/cardsfolder/a/aerial_caravan.txt +++ b/forge-gui/res/cardsfolder/a/aerial_caravan.txt @@ -3,7 +3,7 @@ ManaCost:4 U U Types:Creature Human Soldier PT:4/3 K:Flying -A:AB$ Mill | Cost$ 1 U U | Defined$ You | NumCards$ 1 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top card of your library. Until end of turn, you may play that card. (Reveal the card as you exile it.) +A:AB$ Mill | Cost$ 1 U U | Defined$ You | NumCards$ 1 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBEffect | AILogic$ ExileAndPlayUntilEOT | SpellDescription$ Exile the top card of your library. Until end of turn, you may play that card. (Reveal the card as you exile it.) SVar:DBEffect:DB$Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | SubAbility$ DBCleanup | ExileOnMoved$ Exile SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play remembered card. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/e/elkin_bottle.txt b/forge-gui/res/cardsfolder/e/elkin_bottle.txt index 4dbf1169a67..15db60f71c1 100644 --- a/forge-gui/res/cardsfolder/e/elkin_bottle.txt +++ b/forge-gui/res/cardsfolder/e/elkin_bottle.txt @@ -1,7 +1,7 @@ Name:Elkin Bottle ManaCost:3 Types:Artifact -A:AB$ Mill | Cost$ 3 T | Defined$ You | NumCards$ 1 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top card of your library. Until the beginning of your next upkeep, you may play that card. +A:AB$ Mill | Cost$ 3 T | Defined$ You | NumCards$ 1 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBEffect | AILogic$ ExileAndPlayUntiEOT | SpellDescription$ Exile the top card of your library. Until the beginning of your next upkeep, you may play that card. SVar:DBEffect:DB$Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | SubAbility$ DBCleanup | ExileOnMoved$ Exile SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play remembered card. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/upcoming/oracles_vault.txt b/forge-gui/res/cardsfolder/upcoming/oracles_vault.txt index daff8d6e73e..b025f1a1345 100644 --- a/forge-gui/res/cardsfolder/upcoming/oracles_vault.txt +++ b/forge-gui/res/cardsfolder/upcoming/oracles_vault.txt @@ -1,11 +1,11 @@ Name:Oracle's Vault ManaCost:4 Types:Artifact -A:AB$ Mill | Cost$ 2 T | Defined$ You | NumCards$ 1 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBEffect1 | SpellDescription$ Exile the top card of your library. Until end of turn, you may play that card. Put a brick counter on CARDNAME. +A:AB$ Mill | Cost$ 2 T | Defined$ You | NumCards$ 1 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBEffect1 | AILogic$ ExileAndPlayUntilEOT | SpellDescription$ Exile the top card of your library. Until end of turn, you may play that card. Put a brick counter on CARDNAME. SVar:DBEffect1:DB$Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play1 | SubAbility$ DBPutCounter | ExileOnMoved$ Exile SVar:DBPutCounter:DB$PutCounter | Defined$ Self | CounterType$ BRICK | CounterNum$ 1 | SubAbility$ DBCleanup SVar:Play1:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play remembered card. -A:AB$ Mill | Cost$ T | Defined$ You | NumCards$ 1 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBEffect2 | CheckSVar$ X | SVarCompare$ GE3 | References$ X | SpellDescription$ Exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. Activate this ability only if there are three or more brick counters on CARDNAME. +A:AB$ Mill | Cost$ T | Defined$ You | NumCards$ 1 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBEffect2 | CheckSVar$ X | SVarCompare$ GE3 | References$ X | AILogic$ ExilePlayUntilEOT | SpellDescription$ Exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. Activate this ability only if there are three or more brick counters on CARDNAME. SVar:DBEffect2:DB$Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play2 | SubAbility$ DBCleanup | ExileOnMoved$ Exile SVar:Play2:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | MayPlayWithoutManaCost$ True | AffectedZone$ Exile | Description$ You may play remembered card without paying its mana cost. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True