break when we find a creature with higher cmc

master
melvin 2013-10-14 10:03:14 +08:00
parent 26543188e6
commit 1d37aedd97
1 changed files with 11 additions and 21 deletions

View File

@ -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<MagicAbility> flags) {
final MagicPlayer player = permanent.getController();
final MagicGame game = player.getGame();
final Collection<MagicPermanent> targets = game.filterPermanents(
player,
MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL);
final Collection<MagicPermanent> 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<MagicAbility> flags) {
final Collection<MagicPermanent> 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);
}
}