diff --git a/Mage.Sets/src/mage/cards/k/KnightOfMalice.java b/Mage.Sets/src/mage/cards/k/KnightOfMalice.java index e44e4410527..3639a7263fd 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfMalice.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfMalice.java @@ -1,13 +1,13 @@ package mage.cards.k; +import java.util.UUID; import mage.MageInt; import mage.ObjectColor; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.AnyPlayerControlsCondition; import mage.abilities.decorator.ConditionalContinuousEffect; -import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.abilities.keyword.FirstStrikeAbility; -import mage.abilities.keyword.HexproofFromBlackAbility; import mage.abilities.keyword.HexproofFromWhiteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -18,8 +18,6 @@ import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.ColorPredicate; -import java.util.UUID; - public class KnightOfMalice extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("white permanent"); @@ -37,26 +35,20 @@ public class KnightOfMalice extends CardImpl { addAbility(FirstStrikeAbility.getInstance()); addAbility(HexproofFromWhiteAbility.getInstance()); - //Knight of Malice gets +1/+0 as long as any player controls a white permanent. addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( - new BoostControlledEffect(1, 0, Duration.WhileOnBattlefield), + new BoostSourceEffect(1, 0, Duration.WhileOnBattlefield), new AnyPlayerControlsCondition(filter), "{this} gets +1/+0 as long as any player controls a white permanent."))); - - - - } - public KnightOfMalice(final KnightOfMalice knightOfGrace){ + public KnightOfMalice(final KnightOfMalice knightOfGrace) { super(knightOfGrace); } - public KnightOfMalice copy(){ + public KnightOfMalice copy() { return new KnightOfMalice(this); } - } diff --git a/Mage/src/main/java/mage/abilities/condition/common/AnyPlayerControlsCondition.java b/Mage/src/main/java/mage/abilities/condition/common/AnyPlayerControlsCondition.java index 7a82029a152..e1f987096f2 100644 --- a/Mage/src/main/java/mage/abilities/condition/common/AnyPlayerControlsCondition.java +++ b/Mage/src/main/java/mage/abilities/condition/common/AnyPlayerControlsCondition.java @@ -27,11 +27,11 @@ */ package mage.abilities.condition.common; +import java.util.UUID; import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.filter.FilterPermanent; import mage.game.Game; -import java.util.UUID; /** * @author North @@ -47,12 +47,12 @@ public class AnyPlayerControlsCondition implements Condition { @Override public boolean apply(Game game, Ability source) { - for (UUID player : game.getPlayers().keySet()) { - if(player != null && game.getBattlefield().countAll(filter, player, game)> 0){ - return true; + for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { + if (game.getBattlefield().countAll(filter, playerId, game) == 0) { + return false; } } - return false; + return true; } }