mirror of
https://github.com/magefree/mage.git
synced 2025-12-23 12:02:01 -08:00
Merge pull request #9008 from Grath/grath/refactor-hondens-with-hints
Add hints to Go-Shintai of Boundless Vigor and all five Hondens.
This commit is contained in:
commit
062e38a08f
6 changed files with 45 additions and 31 deletions
|
|
@ -8,6 +8,8 @@ import mage.abilities.dynamicvalue.DynamicValue;
|
|||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.DoWhenCostPaid;
|
||||
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
|
@ -31,6 +33,7 @@ public final class GoShintaiOfBoundlessVigor extends CardImpl {
|
|||
= new FilterPermanent(SubType.SHRINE, "Shrine");
|
||||
private static final DynamicValue xValue
|
||||
= new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.SHRINE));
|
||||
private static final Hint hint = new ValueHint("Shrines you control", xValue);
|
||||
|
||||
public GoShintaiOfBoundlessVigor(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{1}{G}");
|
||||
|
|
@ -52,7 +55,7 @@ public final class GoShintaiOfBoundlessVigor extends CardImpl {
|
|||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(new BeginningOfEndStepTriggeredAbility(new DoWhenCostPaid(
|
||||
ability, new GenericManaCost(1), "Pay {1}?"
|
||||
), TargetController.YOU, false));
|
||||
), TargetController.YOU, false).addHint(hint));
|
||||
}
|
||||
|
||||
private GoShintaiOfBoundlessVigor(final GoShintaiOfBoundlessVigor card) {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,12 @@
|
|||
package mage.cards.h;
|
||||
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.MultipliedValue;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
|
@ -20,11 +24,10 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class HondenOfCleansingFire extends CardImpl {
|
||||
|
||||
static final FilterControlledPermanent filter = new FilterControlledPermanent("Shrine");
|
||||
|
||||
static {
|
||||
filter.add(SubType.SHRINE.getPredicate());
|
||||
}
|
||||
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(
|
||||
new FilterControlledPermanent(SubType.SHRINE)
|
||||
);
|
||||
private static final Hint hint = new ValueHint("Shrines you control", xValue);
|
||||
|
||||
public HondenOfCleansingFire(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}");
|
||||
|
|
@ -33,7 +36,7 @@ public final class HondenOfCleansingFire extends CardImpl {
|
|||
|
||||
|
||||
// At the beginning of your upkeep, you gain 2 life for each Shrine you control.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(new PermanentsOnBattlefieldCount(filter, 2)), TargetController.YOU, false));
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(new MultipliedValue(xValue, 2)), TargetController.YOU, false).addHint(hint));
|
||||
}
|
||||
|
||||
private HondenOfCleansingFire(final HondenOfCleansingFire card) {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,11 @@ package mage.cards.h;
|
|||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
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;
|
||||
|
|
@ -20,11 +23,10 @@ import mage.target.common.TargetAnyTarget;
|
|||
*/
|
||||
public final class HondenOfInfiniteRage extends CardImpl {
|
||||
|
||||
static final FilterControlledPermanent filter = new FilterControlledPermanent("Shrine you control");
|
||||
|
||||
static {
|
||||
filter.add(SubType.SHRINE.getPredicate());
|
||||
}
|
||||
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(
|
||||
new FilterControlledPermanent(SubType.SHRINE)
|
||||
);
|
||||
private static final Hint hint = new ValueHint("Shrines you control", xValue);
|
||||
|
||||
public HondenOfInfiniteRage(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}");
|
||||
|
|
@ -32,7 +34,7 @@ public final class HondenOfInfiniteRage extends CardImpl {
|
|||
this.subtype.add(SubType.SHRINE);
|
||||
|
||||
// At the beginning of your upkeep, Honden of Infinite Rage deals damage to any target equal to the number of Shrines you control.
|
||||
Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false);
|
||||
Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(xValue), TargetController.YOU, false).addHint(hint);
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,11 @@
|
|||
package mage.cards.h;
|
||||
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
|
@ -21,18 +24,17 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class HondenOfLifesWeb extends CardImpl {
|
||||
|
||||
static final FilterControlledPermanent filter = new FilterControlledPermanent("Shrine");
|
||||
|
||||
static {
|
||||
filter.add(SubType.SHRINE.getPredicate());
|
||||
}
|
||||
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(
|
||||
new FilterControlledPermanent(SubType.SHRINE)
|
||||
);
|
||||
private static final Hint hint = new ValueHint("Shrines you control", xValue);
|
||||
|
||||
public HondenOfLifesWeb(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}");
|
||||
addSuperType(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.SHRINE);
|
||||
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SpiritToken(), new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false));
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SpiritToken(), xValue), TargetController.YOU, false).addHint(hint));
|
||||
}
|
||||
|
||||
private HondenOfLifesWeb(final HondenOfLifesWeb card) {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,11 @@ package mage.cards.h;
|
|||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.discard.DiscardTargetEffect;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
|
@ -19,11 +22,10 @@ import mage.target.common.TargetOpponent;
|
|||
*/
|
||||
public final class HondenOfNightsReach extends CardImpl {
|
||||
|
||||
static final FilterControlledPermanent filter = new FilterControlledPermanent("Shrine you control");
|
||||
|
||||
static {
|
||||
filter.add(SubType.SHRINE.getPredicate());
|
||||
}
|
||||
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(
|
||||
new FilterControlledPermanent(SubType.SHRINE)
|
||||
);
|
||||
private static final Hint hint = new ValueHint("Shrines you control", xValue);
|
||||
|
||||
public HondenOfNightsReach(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}");
|
||||
|
|
@ -31,7 +33,7 @@ public final class HondenOfNightsReach extends CardImpl {
|
|||
this.subtype.add(SubType.SHRINE);
|
||||
|
||||
// At the beginning of your upkeep, target opponent discards a card for each Shrine you control.
|
||||
Ability ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false);
|
||||
Ability ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(xValue), TargetController.YOU, false).addHint(hint);
|
||||
ability.addTarget(new TargetOpponent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,11 @@
|
|||
package mage.cards.h;
|
||||
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
|
@ -20,11 +23,10 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class HondenOfSeeingWinds extends CardImpl {
|
||||
|
||||
static final FilterControlledPermanent filter = new FilterControlledPermanent("Shrine");
|
||||
|
||||
static {
|
||||
filter.add(SubType.SHRINE.getPredicate());
|
||||
}
|
||||
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(
|
||||
new FilterControlledPermanent(SubType.SHRINE)
|
||||
);
|
||||
private static final Hint hint = new ValueHint("Shrines you control", xValue);
|
||||
|
||||
public HondenOfSeeingWinds(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{U}");
|
||||
|
|
@ -33,7 +35,7 @@ public final class HondenOfSeeingWinds extends CardImpl {
|
|||
|
||||
|
||||
// At the beginning of your upkeep, draw a card for each Shrine you control.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false));
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(xValue), TargetController.YOU, false).addHint(hint));
|
||||
}
|
||||
|
||||
private HondenOfSeeingWinds(final HondenOfSeeingWinds card) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue