Grist, the Hunger Tide and other - added card hints (#13354)

Grist, the Hunger Tide
Songs of the Damned
Season of Loss
This commit is contained in:
Johannes Wolf 2025-02-16 18:52:20 +01:00 committed by GitHub
parent 3be8e3879c
commit 2853cf1b99
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 14 additions and 8 deletions

View file

@ -13,6 +13,7 @@ import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.DoWhenCostPaid;
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
@ -34,9 +35,6 @@ import java.util.UUID;
* @author TheElk801
*/
public final class GristTheHungerTide extends CardImpl {
private static final DynamicValue xValue = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURES);
public GristTheHungerTide(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{B}{G}");
@ -61,7 +59,10 @@ public final class GristTheHungerTide extends CardImpl {
), -2));
// 5: Each opponent loses life equal to the number of creature cards in your graveyard.
this.addAbility(new LoyaltyAbility(new LoseLifeOpponentsEffect(xValue).setText("each opponent loses life equal to the number of creature cards in your graveyard"), -5));
DynamicValue creatureCardsInGraveyard = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURES);
this.addAbility(new LoyaltyAbility(new LoseLifeOpponentsEffect(creatureCardsInGraveyard)
.setText("each opponent loses life equal to the number of creature cards in your graveyard"), -5)
.addHint(new ValueHint("Creature cards in your graveyard", creatureCardsInGraveyard)));
}
private GristTheHungerTide(final GristTheHungerTide card) {

View file

@ -8,6 +8,7 @@ import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
import mage.abilities.effects.common.SacrificeAllEffect;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@ -22,7 +23,6 @@ import java.util.UUID;
* @author jimga150
*/
public final class SeasonOfLoss extends CardImpl {
public SeasonOfLoss(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}{B}");
@ -41,9 +41,11 @@ public final class SeasonOfLoss extends CardImpl {
this.getSpellAbility().addMode(mode2.withPawPrintValue(2));
// {P}{P}{P} -- Each opponent loses X life, where X is the number of creature cards in your graveyard.
Mode mode3 = new Mode(new LoseLifeOpponentsEffect(new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURES))
DynamicValue creatureCardsInGraveyard = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURES);
Mode mode3 = new Mode(new LoseLifeOpponentsEffect(creatureCardsInGraveyard)
.setText("Each opponent loses X life, where X is the number of creature cards in your graveyard."));
this.getSpellAbility().addMode(mode3.withPawPrintValue(3));
this.getSpellAbility().addHint(new ValueHint("Creature cards in your graveyard", creatureCardsInGraveyard));
}
private SeasonOfLoss(final SeasonOfLoss card) {

View file

@ -2,8 +2,10 @@ package mage.cards.s;
import java.util.UUID;
import mage.Mana;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
import mage.abilities.effects.mana.DynamicManaEffect;
import mage.abilities.hint.ValueHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@ -14,13 +16,14 @@ import mage.filter.StaticFilters;
* @author fireshoes
*/
public final class SongsOfTheDamned extends CardImpl {
public SongsOfTheDamned(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{B}");
// Add {B} for each creature card in your graveyard.
DynamicManaEffect effect = new DynamicManaEffect(Mana.BlackMana(1), new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURE));
DynamicValue creatureCardsInGraveyard = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURES);
DynamicManaEffect effect = new DynamicManaEffect(Mana.BlackMana(1), creatureCardsInGraveyard);
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addHint(new ValueHint("Creature cards in your graveyard", creatureCardsInGraveyard));
}
private SongsOfTheDamned(final SongsOfTheDamned card) {