[J25] Implement Slimy Piper

This commit is contained in:
theelk801 2024-11-12 12:09:02 -05:00
parent 8464814f03
commit 202edaa7f4
2 changed files with 61 additions and 0 deletions

View file

@ -0,0 +1,60 @@
package mage.cards.s;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.AddContinuousEffectToGame;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.hint.common.CreaturesYouControlHint;
import mage.abilities.keyword.IndestructibleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class SlimyPiper extends CardImpl {
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
StaticFilters.FILTER_CONTROLLED_CREATURE, ComparisonType.MORE_THAN, 3
);
public SlimyPiper(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
this.subtype.add(SubType.FUNGUS);
this.subtype.add(SubType.BARD);
this.power = new MageInt(2);
this.toughness = new MageInt(1);
// Whenever Slimy Piper attacks, it gets +1/+1 until end of turn. If you control four or more creatures, it gets +2/+2 and gains indestructible until end of turn instead.
this.addAbility(new AttacksTriggeredAbility(new ConditionalOneShotEffect(
new AddContinuousEffectToGame(
new BoostSourceEffect(2, 2, Duration.EndOfTurn),
new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn)
),
new AddContinuousEffectToGame(new BoostSourceEffect(1, 1, Duration.EndOfTurn)),
condition, "it gets +1/+1 until end of turn. If you control four or more creatures, " +
"it gets +2/+2 and gains indestructible until end of turn instead"
)).addHint(CreaturesYouControlHint.instance));
}
private SlimyPiper(final SlimyPiper card) {
super(card);
}
@Override
public SlimyPiper copy() {
return new SlimyPiper(this);
}
}

View file

@ -606,6 +606,7 @@ public final class FoundationsJumpstart extends ExpansionSet {
cards.add(new SetCardInfo("Skyclave Pick-Axe", 712, Rarity.UNCOMMON, mage.cards.s.SkyclavePickAxe.class));
cards.add(new SetCardInfo("Skymarch Bloodletter", 125, Rarity.COMMON, mage.cards.s.SkymarchBloodletter.class));
cards.add(new SetCardInfo("Slimebind", 360, Rarity.COMMON, mage.cards.s.Slimebind.class));
cards.add(new SetCardInfo("Slimy Piper", 25, Rarity.COMMON, mage.cards.s.SlimyPiper.class));
cards.add(new SetCardInfo("Smoke Shroud", 361, Rarity.COMMON, mage.cards.s.SmokeShroud.class));
cards.add(new SetCardInfo("Snakeskin Veil", 713, Rarity.COMMON, mage.cards.s.SnakeskinVeil.class));
cards.add(new SetCardInfo("Snapping Gnarlid", 714, Rarity.COMMON, mage.cards.s.SnappingGnarlid.class));