Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added hints about number of lands to some cards #12800

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Mage.Sets/src/mage/cards/a/AspectOfWolf.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
Expand All @@ -26,6 +29,9 @@
*/
public final class AspectOfWolf extends CardImpl {

private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.FOREST));
private static final Hint hint = new ValueHint("Forests you control", xValue);

public AspectOfWolf(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}");
this.subtype.add(SubType.AURA);
Expand All @@ -41,6 +47,7 @@ public AspectOfWolf(UUID ownerId, CardSetInfo setInfo) {
AspectOfWolfValue.UP, AspectOfWolfValue.DOWN, Duration.WhileOnBattlefield
).setText("enchanted creature gets +X/+Y, where X is half the number of Forests you control, " +
"rounded down, and Y is half the number of Forests you control, rounded up")));
this.getSpellAbility().addHint(hint);
}

private AspectOfWolf(final AspectOfWolf card) {
Expand Down
13 changes: 10 additions & 3 deletions Mage.Sets/src/mage/cards/b/BeaconOfCreation.java
Original file line number Diff line number Diff line change
@@ -1,37 +1,44 @@

package mage.cards.b;

import java.util.UUID;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.ShuffleSpellEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.game.permanent.token.InsectToken;

import java.util.UUID;

/**
*
* @author North
*/
public final class BeaconOfCreation extends CardImpl {

private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.FOREST));
private static final Hint hint = new ValueHint("Forests you control", xValue);

private static final FilterControlledPermanent filter = new FilterControlledPermanent("Forest you control");

static {
filter.add(SubType.FOREST.getPredicate());
}

public BeaconOfCreation(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{G}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}");


// Create a 1/1 green Insect creature token for each Forest you control.
this.getSpellAbility().addEffect(new CreateTokenEffect(new InsectToken(), new PermanentsOnBattlefieldCount(filter)));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If possible then must use shared xValue in both hint and effect:

shot_240904_155253

// Shuffle Beacon of Creation into its owner's library.
this.getSpellAbility().addEffect(ShuffleSpellEffect.getInstance());
this.getSpellAbility().addHint(hint);
}

private BeaconOfCreation(final BeaconOfCreation card) {
Expand Down
13 changes: 10 additions & 3 deletions Mage.Sets/src/mage/cards/b/BlanchwoodArmor.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@

package mage.cards.b;

import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
Expand All @@ -15,20 +17,24 @@
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;

import java.util.UUID;

/**
*
* @author Loki
*/
public final class BlanchwoodArmor extends CardImpl {

private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.FOREST));
private static final Hint hint = new ValueHint("Forests you control", xValue);

private static final FilterControlledPermanent filter = new FilterControlledPermanent("Forest you control");

static {
filter.add(SubType.FOREST.getPredicate());
}

public BlanchwoodArmor(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}");
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}");
this.subtype.add(SubType.AURA);

TargetPermanent auraTarget = new TargetCreaturePermanent();
Expand All @@ -37,6 +43,7 @@ public BlanchwoodArmor(UUID ownerId, CardSetInfo setInfo) {
Ability ability = new EnchantAbility(auraTarget);
this.addAbility(ability);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(new PermanentsOnBattlefieldCount(filter), new PermanentsOnBattlefieldCount(filter), Duration.WhileOnBattlefield)));
this.getSpellAbility().addHint(hint);
}

private BlanchwoodArmor(final BlanchwoodArmor card) {
Expand Down
7 changes: 7 additions & 0 deletions Mage.Sets/src/mage/cards/c/CharixTheRagingIsle.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.cost.SpellsCostModificationThatTargetSourceEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
Expand All @@ -23,6 +25,10 @@
*/
public final class CharixTheRagingIsle extends CardImpl {

private static final DynamicValue xValue3 = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.ISLAND));
private static final Hint hint = new ValueHint("Islands you control", xValue3);


private static final FilterCard filter = new FilterCard("Spells");
private static final FilterPermanent filter2 = new FilterControlledPermanent(SubType.ISLAND);
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter2);
Expand All @@ -46,6 +52,7 @@ public CharixTheRagingIsle(UUID ownerId, CardSetInfo setInfo) {
this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(
xValue, xValue2, Duration.EndOfTurn
).setText("{this} gets +X/-X until end of turn, where X is the number of Islands you control"), new GenericManaCost(3)));
this.getSpellAbility().addHint(hint);
}

private CharixTheRagingIsle(final CharixTheRagingIsle card) {
Expand Down
10 changes: 10 additions & 0 deletions Mage.Sets/src/mage/cards/c/Corrupt.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
package mage.cards.c;

import mage.abilities.Ability;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterLandPermanent;
import mage.game.Game;
import mage.game.permanent.Permanent;
Expand All @@ -21,12 +26,17 @@
*/
public final class Corrupt extends CardImpl {

private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.SWAMP));
private static final Hint hint = new ValueHint("Swamps you control", xValue);


public Corrupt(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{B}");

// Corrupt deals damage to any target equal to the number of Swamps you control. You gain life equal to the damage dealt this way.
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new CorruptEffect());
this.getSpellAbility().addHint(hint);
}

private Corrupt(final Corrupt card) {
Expand Down
10 changes: 8 additions & 2 deletions Mage.Sets/src/mage/cards/c/CrashLanding.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@

package mage.cards.c;

import java.util.UUID;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.continuous.LoseAbilityTargetEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
Expand All @@ -17,12 +18,16 @@
import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.target.common.TargetCreaturePermanent;

import java.util.UUID;

/**
*
* @author TheElk801
*/
public final class CrashLanding extends CardImpl {

private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.FOREST));
private static final Hint hint = new ValueHint("Forests you control", xValue);

private static final FilterControlledPermanent filter = new FilterControlledPermanent("Forests you control");
private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("creature with flying");

Expand All @@ -40,6 +45,7 @@ public CrashLanding(UUID ownerId, CardSetInfo setInfo) {
FlyingAbility.getInstance(), Duration.EndOfTurn));
this.getSpellAbility().addEffect(new DamageTargetEffect(amount).setText("{this} deals damage to that creature equal to the number of Forests you control"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter2));
this.getSpellAbility().addHint(hint);
}

private CrashLanding(final CrashLanding card) {
Expand Down
11 changes: 8 additions & 3 deletions Mage.Sets/src/mage/cards/d/DownhillCharge.java
Original file line number Diff line number Diff line change
@@ -1,28 +1,32 @@
package mage.cards.d;

import java.util.UUID;
import mage.abilities.costs.AlternativeCostSourceAbility;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;

import java.util.UUID;

/**
*
* @author LoneFox
*/
public final class DownhillCharge extends CardImpl {

private static final DynamicValue xValue2 = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.MOUNTAIN));
private static final Hint hint = new ValueHint("Mountains you control", xValue2);

private static final FilterControlledPermanent filter = new FilterControlledPermanent(SubType.MOUNTAIN, "a Mountain");
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(
new FilterControlledPermanent(SubType.MOUNTAIN, "Mountains you control"), null
Expand All @@ -37,6 +41,7 @@ public DownhillCharge(UUID ownerId, CardSetInfo setInfo) {
// Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control.
this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, StaticValue.get(0), Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addHint(hint);
}

private DownhillCharge(final DownhillCharge card) {
Expand Down
8 changes: 8 additions & 0 deletions Mage.Sets/src/mage/cards/e/EngulfTheShore.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
import java.util.Set;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.cards.Card;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
Expand All @@ -24,11 +28,15 @@
*/
public final class EngulfTheShore extends CardImpl {

private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.ISLAND));
private static final Hint hint = new ValueHint("Islands you control", xValue);

public EngulfTheShore(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{U}");

// Return to their owners' hands all creatures with toughness less than or equal to the number of Islands you control.
getSpellAbility().addEffect(new EngulfTheShoreEffect());
this.getSpellAbility().addHint(hint);
}

private EngulfTheShore(final EngulfTheShore card) {
Expand Down
11 changes: 9 additions & 2 deletions Mage.Sets/src/mage/cards/e/EternalFlame.java
Original file line number Diff line number Diff line change
@@ -1,24 +1,30 @@

package mage.cards.e;

import java.util.UUID;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.HalfValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.target.common.TargetOpponentOrPlaneswalker;

import java.util.UUID;

/**
*
* @author L_J
*/
public final class EternalFlame extends CardImpl {

private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.MOUNTAIN));
private static final Hint hint = new ValueHint("Mountains you control", xValue);

private static final FilterControlledPermanent filter = new FilterControlledPermanent("Mountains you control");

static {
Expand All @@ -32,6 +38,7 @@ public EternalFlame(UUID ownerId, CardSetInfo setInfo) {
this.getSpellAbility().addEffect(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)).setText("{this} deals X damage to target opponent, where X is the number of Mountains you control"));
this.getSpellAbility().addEffect(new DamageControllerEffect(new HalfValue(new PermanentsOnBattlefieldCount(filter), true)).setText("It deals half X damage, rounded up, to you"));
this.getSpellAbility().addTarget(new TargetOpponentOrPlaneswalker());
this.getSpellAbility().addHint(hint);
}

private EternalFlame(final EternalFlame card) {
Expand Down
7 changes: 7 additions & 0 deletions Mage.Sets/src/mage/cards/f/FireDragon.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
Expand All @@ -21,6 +24,9 @@
* @author fireshoes
*/
public final class FireDragon extends CardImpl {

private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.MOUNTAIN));
private static final Hint hint = new ValueHint("Mountains you control", xValue);

private static final FilterControlledPermanent filter = new FilterControlledPermanent("for each Mountain you control");

Expand All @@ -43,6 +49,7 @@ public FireDragon(UUID ownerId, CardSetInfo setInfo) {
Ability ability = new EntersBattlefieldTriggeredAbility(effect, false);
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
this.getSpellAbility().addHint(hint);
}

private FireDragon(final FireDragon card) {
Expand Down
Loading
Loading