From fcb38517b3bb0002c5beae11c864e883baa62187 Mon Sep 17 00:00:00 2001 From: Ada Joule Date: Wed, 16 Jan 2019 17:27:05 +0700 Subject: [PATCH] Add Addendum condition --- src/magic/model/condition/MagicCondition.java | 10 ++++++++++ src/magic/model/condition/MagicConditionParser.java | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/src/magic/model/condition/MagicCondition.java b/src/magic/model/condition/MagicCondition.java index 867e001aff..74695d3a4c 100644 --- a/src/magic/model/condition/MagicCondition.java +++ b/src/magic/model/condition/MagicCondition.java @@ -950,4 +950,14 @@ public abstract class MagicCondition implements MagicMatchedCostEvent { return player.controlsPermanent(MagicTargetFilterFactory.LEGENDARY_CREATURE_OR_PLANESWALKER); } }; + + public static MagicCondition ADDENDUM = new MagicCondition() { + @Override + public boolean accept(final MagicSource source) { + final MagicCardOnStack spell = (MagicCardOnStack)source; + final MagicGame game = source.getGame(); + final MagicPhaseType phaseType = game.getPhase().getType(); + return spell.isCast() && spell.isController(game.getTurnPlayer()) && (phaseType == MagicPhaseType.FirstMain || phaseType == MagicPhaseType.SecondMain); + } + }; } diff --git a/src/magic/model/condition/MagicConditionParser.java b/src/magic/model/condition/MagicConditionParser.java index 6ec542b8c6..db115dbe0d 100644 --- a/src/magic/model/condition/MagicConditionParser.java +++ b/src/magic/model/condition/MagicConditionParser.java @@ -799,6 +799,12 @@ public enum MagicConditionParser { return MagicCondition.HAS_THE_CITYS_BLESSING; } }, + Addendum("you cast this spell during your main phase") { + @Override + public MagicCondition toCondition(final Matcher arg) { + return MagicCondition.ADDENDUM; + } + }, ; private final Pattern pattern;