* Artifact you control effects - added card hints;

This commit is contained in:
Oleg Agafonov 2020-06-29 09:28:46 +04:00
parent 621c144ac2
commit e4ebf50d42
19 changed files with 126 additions and 181 deletions

View file

@ -9,7 +9,7 @@ import mage.game.Game;
/**
* @author JayDi85
*/
public enum ArtifactsYouControlCount implements DynamicValue {
public enum ArtifactYouControlCount implements DynamicValue {
instance;
@ -19,17 +19,17 @@ public enum ArtifactsYouControlCount implements DynamicValue {
}
@Override
public ArtifactsYouControlCount copy() {
public ArtifactYouControlCount copy() {
return instance;
}
@Override
public String toString() {
return "X";
return "1"; // uses "for each" effects, so must be 1, not X
}
@Override
public String getMessage() {
return "artifacts you control";
return "artifact you control";
}
}

View file

@ -1,7 +1,7 @@
package mage.abilities.hint.common;
import mage.abilities.Ability;
import mage.abilities.dynamicvalue.common.ArtifactsYouControlCount;
import mage.abilities.dynamicvalue.common.ArtifactYouControlCount;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.game.Game;
@ -9,10 +9,10 @@ import mage.game.Game;
/**
* @author JayDi85
*/
public enum ArtifactsYouControlHint implements Hint {
public enum ArtifactYouControlHint implements Hint {
instance;
private static final Hint hint = new ValueHint("Artifacts you control", ArtifactsYouControlCount.instance);
private static final Hint hint = new ValueHint("Artifacts you control", ArtifactYouControlCount.instance);
@Override
public String getText(Game game, Ability ability) {

View file

@ -2,7 +2,7 @@ package mage.abilities.keyword;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.AffinityEffect;
import mage.abilities.hint.common.ArtifactsYouControlHint;
import mage.abilities.hint.common.ArtifactYouControlHint;
import mage.constants.Zone;
import mage.filter.StaticFilters;
@ -15,7 +15,7 @@ public class AffinityForArtifactsAbility extends SimpleStaticAbility {
super(Zone.ALL, new AffinityEffect(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT));
setRuleAtTheTop(true);
this.addHint(ArtifactsYouControlHint.instance);
this.addHint(ArtifactYouControlHint.instance);
}
public AffinityForArtifactsAbility(final AffinityForArtifactsAbility ability) {

View file

@ -2,14 +2,12 @@ package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.dynamicvalue.common.ArtifactYouControlCount;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterControlledPermanent;
import java.util.ArrayList;
import java.util.Arrays;
@ -20,12 +18,6 @@ import java.util.List;
*/
public final class KarnConstructToken extends TokenImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifacts you control");
static {
filter.add(CardType.ARTIFACT.getPredicate());
}
static final private List<String> tokenImageSets = new ArrayList<>();
static {
@ -41,10 +33,8 @@ public final class KarnConstructToken extends TokenImpl {
power = new MageInt(0);
toughness = new MageInt(0);
DynamicValue value = new PermanentsOnBattlefieldCount(filter);
this.addAbility(new SimpleStaticAbility(
Zone.BATTLEFIELD,
new BoostSourceEffect(value, value, Duration.WhileOnBattlefield)
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new BoostSourceEffect(ArtifactYouControlCount.instance, ArtifactYouControlCount.instance, Duration.WhileOnBattlefield)
.setText("This creature gets +1/+1 for each artifact you control")
));
}