[OTJ] Implement Inventive Wingsmith

This commit is contained in:
Susucre 2024-03-30 17:03:30 +01:00
parent ef6ee4d0ea
commit 1ee0586bb7
3 changed files with 55 additions and 1 deletions

View file

@ -0,0 +1,53 @@
package mage.cards.i;
import mage.MageInt;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.CompoundCondition;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.HaventCastSpellFromHandThisTurnCondition;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.counters.CounterType;
import java.util.UUID;
/**
* @author Susucr
*/
public final class InventiveWingsmith extends CardImpl {
private static final Condition condition = new CompoundCondition(
HaventCastSpellFromHandThisTurnCondition.instance,
new SourceHasCounterCondition(CounterType.FLYING, 0, 0)
);
public InventiveWingsmith(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}");
this.subtype.add(SubType.DWARF);
this.subtype.add(SubType.ARTIFICER);
this.power = new MageInt(2);
this.toughness = new MageInt(4);
// At the beginning of your end step, if you haven't cast a spell from your hand this turn and Inventive Wingsmith doesn't have a flying counter on it, put a flying counter on it.
this.addAbility(new BeginningOfEndStepTriggeredAbility(
Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.FLYING.createInstance()),
TargetController.YOU, condition, false
).addHint(HaventCastSpellFromHandThisTurnCondition.hint));
}
private InventiveWingsmith(final InventiveWingsmith card) {
super(card);
}
@Override
public InventiveWingsmith copy() {
return new InventiveWingsmith(this);
}
}

View file

@ -89,6 +89,7 @@ public final class OutlawsOfThunderJunction extends ExpansionSet {
cards.add(new SetCardInfo("Inspiring Vantage", 269, Rarity.RARE, mage.cards.i.InspiringVantage.class));
cards.add(new SetCardInfo("Intimidation Campaign", 208, Rarity.UNCOMMON, mage.cards.i.IntimidationCampaign.class));
cards.add(new SetCardInfo("Intrepid Stablemaster", 169, Rarity.UNCOMMON, mage.cards.i.IntrepidStablemaster.class));
cards.add(new SetCardInfo("Inventive Wingsmith", 17, Rarity.COMMON, mage.cards.i.InventiveWingsmith.class));
cards.add(new SetCardInfo("Irascible Wolverine", 130, Rarity.COMMON, mage.cards.i.IrascibleWolverine.class));
cards.add(new SetCardInfo("Island", 273, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Jagged Barrens", 259, Rarity.COMMON, mage.cards.j.JaggedBarrens.class));

View file

@ -16,7 +16,7 @@ import java.util.Objects;
public enum HaventCastSpellFromHandThisTurnCondition implements Condition {
instance;
public static final Hint hint = new ConditionHint(instance, "No cast from hand this turn", null, "Have cast from hand this turn", null, true);
public static final Hint hint = new ConditionHint(instance, "No spell cast from hand this turn", null, "Have cast spell from hand this turn", null, true);
@Override
public boolean apply(Game game, Ability source) {