From 1d37aedd977eaee3d2dae0818075d27269269b0b Mon Sep 17 00:00:00 2001 From: melvin Date: Mon, 14 Oct 2013 10:03:14 +0800 Subject: [PATCH] break when we find a creature with higher cmc --- .../scripts/Favor_of_the_Mighty.groovy | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/release/Magarena/scripts/Favor_of_the_Mighty.groovy b/release/Magarena/scripts/Favor_of_the_Mighty.groovy index e315cdb123..90f644048d 100644 --- a/release/Magarena/scripts/Favor_of_the_Mighty.groovy +++ b/release/Magarena/scripts/Favor_of_the_Mighty.groovy @@ -1,29 +1,19 @@ [ new MagicStatic( MagicLayer.Ability, - MagicTargetFilter.TARGET_CREATURE) { + MagicTargetFilter.TARGET_CREATURE + ) { @Override - public void modAbilityFlags( - final MagicPermanent source, - final MagicPermanent permanent, - final Set flags) { - final MagicPlayer player = permanent.getController(); - final MagicGame game = player.getGame(); - final Collection targets = game.filterPermanents( - player, - MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL); - final Collection targets2 = game.filterPermanents( - player.getOpponent(), - MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL); - int highest = 0; - for (final MagicPermanent creature : targets) { - highest = Math.max(highest,creature.getConvertedCost()); + public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set flags) { + final Collection creatures = source.getGame().filterPermanents(MagicTargetFilter.TARGET_CREATURE); + int cmc = permanent.getConvertedCost(); + for (final MagicPermanent creature : creatures) { + if (creature.getConvertedCost() > cmc) { + cmc = creature.getConvertedCost(); + break; + } } - for (final MagicPermanent creature : targets2) { - highest = Math.max(highest,creature.getConvertedCost()); - } - - if (permanent.getConvertedCost() == highest) { + if (permanent.getConvertedCost() == cmc) { flags.add(MagicAbility.ProtectionFromAllColors); } }