diff --git a/release/Magarena/scripts/Argent_Sphinx.groovy b/release/Magarena/scripts/Argent_Sphinx.groovy index dd04ad21aa..8b196e58a7 100644 --- a/release/Magarena/scripts/Argent_Sphinx.groovy +++ b/release/Magarena/scripts/Argent_Sphinx.groovy @@ -3,7 +3,7 @@ [ MagicCondition.METALCRAFT_CONDITION ], - new MagicActivationHints(MagicTiming.Removal,1), + new MagicActivationHints(MagicTiming.Removal), "Exile" ) { @Override diff --git a/release/Magarena/scripts/Chimeric_Mass.groovy b/release/Magarena/scripts/Chimeric_Mass.groovy index 43544886bb..b2fc606559 100644 --- a/release/Magarena/scripts/Chimeric_Mass.groovy +++ b/release/Magarena/scripts/Chimeric_Mass.groovy @@ -19,7 +19,7 @@ def ST = new MagicStatic(MagicLayer.Type, MagicStatic.UntilEOT) { [ new MagicPermanentActivation( [MagicCondition.NOT_EXCLUDE_COMBAT_CONDITION], - new MagicActivationHints(MagicTiming.Animate,1), + new MagicActivationHints(MagicTiming.Animate), "Becomes" ) { diff --git a/release/Magarena/scripts/Cranial_Plating.groovy b/release/Magarena/scripts/Cranial_Plating.groovy index 2df9915941..36d1d999a2 100644 --- a/release/Magarena/scripts/Cranial_Plating.groovy +++ b/release/Magarena/scripts/Cranial_Plating.groovy @@ -3,7 +3,7 @@ def equip = new MagicEquipActivation(MagicRegularCostEvent.build("{B}{B}")); [ new MagicPermanentActivation( [MagicCondition.NOT_CREATURE_CONDITION], - new MagicActivationHints(MagicTiming.Equipment,2), + new MagicActivationHints(MagicTiming.Equipment), "Attach" ) { @Override diff --git a/release/Magarena/scripts/Mirror_Entity.groovy b/release/Magarena/scripts/Mirror_Entity.groovy index 1b7754474b..725664a640 100644 --- a/release/Magarena/scripts/Mirror_Entity.groovy +++ b/release/Magarena/scripts/Mirror_Entity.groovy @@ -1,6 +1,6 @@ [ new MagicPermanentActivation( - new MagicActivationHints(MagicTiming.Pump,true,1), + new MagicActivationHints(MagicTiming.Pump, true), "X/X" ) { @Override diff --git a/release/Magarena/scripts/Rainbow_Crow.groovy b/release/Magarena/scripts/Rainbow_Crow.groovy index a769ed7f9c..08fb2bc47a 100644 --- a/release/Magarena/scripts/Rainbow_Crow.groovy +++ b/release/Magarena/scripts/Rainbow_Crow.groovy @@ -1,12 +1,13 @@ [ new MagicPermanentActivation( - new MagicActivationHints(MagicTiming.Pump,1), + new MagicActivationHints(MagicTiming.Pump), "Color" ) { @Override public Iterable getCostEvent(final MagicPermanent source) { return [ new MagicPayManaCostEvent(source,"{1}"), + new MagicPlayAbilityEvent(source) ]; } @Override diff --git a/release/Magarena/scripts/Spiritmonger.groovy b/release/Magarena/scripts/Spiritmonger.groovy index d98eae0b7c..62244514d6 100644 --- a/release/Magarena/scripts/Spiritmonger.groovy +++ b/release/Magarena/scripts/Spiritmonger.groovy @@ -1,12 +1,13 @@ [ new MagicPermanentActivation( - new MagicActivationHints(MagicTiming.Pump,1), + new MagicActivationHints(MagicTiming.Pump), "Color" ) { @Override public Iterable getCostEvent(final MagicPermanent source) { return [ new MagicPayManaCostEvent(source,"{G}"), + new MagicPlayAbilityEvent(source) ]; } @Override diff --git a/release/Magarena/scripts/Stronghold_Overseer.groovy b/release/Magarena/scripts/Stronghold_Overseer.groovy index 42289b17d8..8590d12c71 100644 --- a/release/Magarena/scripts/Stronghold_Overseer.groovy +++ b/release/Magarena/scripts/Stronghold_Overseer.groovy @@ -1,13 +1,13 @@ [ new MagicPermanentActivation( - new MagicActivationHints(MagicTiming.Pump,1), + new MagicActivationHints(MagicTiming.Pump), "Pump" ) { @Override public Iterable getCostEvent(final MagicPermanent source) { return [ - new MagicPayManaCostEvent(source,"{B}{B}"), + new MagicPayManaCostEvent(source,"{B}{B}") ]; } diff --git a/release/Magarena/scripts/_therling.groovy b/release/Magarena/scripts/_therling.groovy index 94783eb4f8..b5b560887f 100644 --- a/release/Magarena/scripts/_therling.groovy +++ b/release/Magarena/scripts/_therling.groovy @@ -1,6 +1,6 @@ [ new MagicPermanentActivation( - new MagicActivationHints(MagicTiming.Removal,1), + new MagicActivationHints(MagicTiming.Removal), "Exile" ) { @Override diff --git a/src/magic/model/MagicGame.java b/src/magic/model/MagicGame.java index c3bbbc1e94..766a0b840a 100644 --- a/src/magic/model/MagicGame.java +++ b/src/magic/model/MagicGame.java @@ -112,7 +112,6 @@ public class MagicGame { private boolean fastBlocker = false; private boolean hintTiming = true; private boolean hintPriority = true; - private boolean hintMaximum = true; private boolean hintTarget = true; public static MagicGame getInstance() { @@ -212,7 +211,6 @@ public class MagicGame { //immediate //hintTiming //hintPriority - //hintMaximum //hintTarget //skipTurnTill //mainPhaseCount @@ -411,14 +409,6 @@ public class MagicGame { hintPriority = v; } - public boolean getHintMaximum() { - return hintMaximum; - } - - public void setHintMaximum(final boolean v) { - hintMaximum = v; - } - public boolean getHintTarget() { return hintTarget; } diff --git a/src/magic/model/event/MagicActivation.java b/src/magic/model/event/MagicActivation.java index 785a4c6047..90d8b00fe0 100644 --- a/src/magic/model/event/MagicActivation.java +++ b/src/magic/model/event/MagicActivation.java @@ -70,10 +70,6 @@ public abstract class MagicActivation implements MagicEve return false; } - if (isAI && game.getHintMaximum() && hints.isMaximum(source)) { - return false; - } - if (source.isPermanent() && ((MagicPermanent)source).hasAbility(MagicAbility.CantActivateAbilities)) { return false; } diff --git a/src/magic/model/event/MagicActivationHints.java b/src/magic/model/event/MagicActivationHints.java index 96f39bec93..5f20f2cd80 100644 --- a/src/magic/model/event/MagicActivationHints.java +++ b/src/magic/model/event/MagicActivationHints.java @@ -7,27 +7,17 @@ public class MagicActivationHints { /** timing */ private final MagicTiming timing; + /** source independent */ private final boolean independent; - /** maximum number of ability activations each turn */ - private final int maximum; - public MagicActivationHints(final MagicTiming aTiming,final boolean aIndependent,final int aMaximum) { + public MagicActivationHints(final MagicTiming aTiming, final boolean aIndependent) { timing = aTiming; independent = aIndependent; - maximum = aMaximum; - } - - public MagicActivationHints(final MagicTiming timing,final int maximum) { - this(timing,false,maximum); - } - - public MagicActivationHints(final MagicTiming timing,final boolean independent) { - this(timing,independent,0); } public MagicActivationHints(final MagicTiming timing) { - this(timing,false, 0); + this(timing, false); } public MagicTiming getTiming() { @@ -37,12 +27,4 @@ public class MagicActivationHints { public boolean isIndependent() { return independent; } - - public boolean isMaximum(final MagicSource source) { - if (maximum==0) { - return false; - } - final MagicPermanent permanent=(MagicPermanent)source; - return permanent.getAbilityPlayedThisTurn()>=maximum; - } } diff --git a/src/magic/model/event/MagicEquipActivation.java b/src/magic/model/event/MagicEquipActivation.java index 9009490082..54ec01ebde 100644 --- a/src/magic/model/event/MagicEquipActivation.java +++ b/src/magic/model/event/MagicEquipActivation.java @@ -6,7 +6,6 @@ import magic.model.MagicPayedCost; import magic.model.MagicPermanent; import magic.model.action.AttachAction; import magic.model.action.MagicPermanentAction; -import magic.model.action.PlayAbilityAction; import magic.model.choice.MagicTargetChoice; import magic.model.condition.MagicCondition; import magic.model.target.MagicEquipTargetPicker; @@ -32,7 +31,7 @@ public class MagicEquipActivation extends MagicPermanentActivation { MagicCondition.SORCERY_CONDITION, MagicCondition.NOT_CREATURE_CONDITION, }, - new MagicActivationHints(MagicTiming.Equipment,2), + new MagicActivationHints(MagicTiming.Equipment), description ); costs = aCosts; @@ -44,6 +43,7 @@ public class MagicEquipActivation extends MagicPermanentActivation { for (final MagicMatchedCostEvent matched : costs) { costEvents.add(matched.getEvent(source)); } + costEvents.add(new MagicPlayAbilityEvent(source, MagicCondition.ABILITY_TWICE_CONDITION)); return costEvents; } @@ -70,7 +70,6 @@ public class MagicEquipActivation extends MagicPermanentActivation { public void executeEvent(final MagicGame game, final MagicEvent event) { event.processTargetPermanent(game,new MagicPermanentAction() { public void doAction(final MagicPermanent creature) { - game.doAction(new PlayAbilityAction(event.getPermanent())); game.doAction(new AttachAction(event.getPermanent(),creature)); } });