[DSK] Implement Let's Play a Game

This commit is contained in:
theelk801 2024-09-11 14:07:50 -04:00
parent dc849bea4a
commit b97bb9b5df
2 changed files with 62 additions and 0 deletions

View file

@ -0,0 +1,61 @@
package mage.cards.l;
import mage.abilities.Mode;
import mage.abilities.condition.common.DeliriumCondition;
import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
import mage.abilities.effects.common.continuous.BoostAllEffect;
import mage.abilities.effects.common.discard.DiscardEachPlayerEffect;
import mage.abilities.hint.common.CardTypesInGraveyardHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.TargetController;
import mage.filter.StaticFilters;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class LetsPlayAGame extends CardImpl {
public LetsPlayAGame(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}");
// Delirium -- Choose one. If there are four or more card types among cards in your graveyard, choose one or more instead.
this.getSpellAbility().getModes().setChooseText(
"choose one. If there are four or more card types among cards in your graveyard, choose one or more instead."
);
this.getSpellAbility().getModes().setMoreCondition(DeliriumCondition.instance);
this.getSpellAbility().setAbilityWord(AbilityWord.DELIRIUM);
this.getSpellAbility().addHint(CardTypesInGraveyardHint.YOU);
// * Creatures your opponents control get -1/-1 until end of turn.
this.getSpellAbility().addEffect(new BoostAllEffect(
-1, -1, Duration.EndOfTurn,
StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURES, false
));
// * Each opponent discards two cards.
this.getSpellAbility().addMode(new Mode(new DiscardEachPlayerEffect(
StaticValue.get(2), false, TargetController.OPPONENT
)));
// * Each opponent loses 3 life and you gain 3 life.
this.getSpellAbility().addMode(new Mode(new LoseLifeOpponentsEffect(3))
.addEffect(new GainLifeEffect(3).concatBy("and")));
}
private LetsPlayAGame(final LetsPlayAGame card) {
super(card);
}
@Override
public LetsPlayAGame copy() {
return new LetsPlayAGame(this);
}
}

View file

@ -108,6 +108,7 @@ public final class DuskmournHouseOfHorror extends ExpansionSet {
cards.add(new SetCardInfo("Island", 273, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Kona, Rescue Beastie", 187, Rarity.RARE, mage.cards.k.KonaRescueBeastie.class));
cards.add(new SetCardInfo("Lakeside Shack", 262, Rarity.COMMON, mage.cards.l.LakesideShack.class));
cards.add(new SetCardInfo("Let's Play a Game", 105, Rarity.UNCOMMON, mage.cards.l.LetsPlayAGame.class));
cards.add(new SetCardInfo("Leyline of Hope", 18, Rarity.RARE, mage.cards.l.LeylineOfHope.class));
cards.add(new SetCardInfo("Leyline of Mutation", 188, Rarity.RARE, mage.cards.l.LeylineOfMutation.class));
cards.add(new SetCardInfo("Leyline of Resonance", 143, Rarity.RARE, mage.cards.l.LeylineOfResonance.class));