* Knight of Malice - Fixed that all controlled creatures were boost instead of only the Knight.

This commit is contained in:
LevelX2 2018-04-19 22:33:51 +02:00
parent 2d8d02c315
commit 19ad6da608
2 changed files with 10 additions and 18 deletions

View file

@ -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);
}
}

View file

@ -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;
}
}