[EOE] Implement Rust Harvester

This commit is contained in:
theelk801 2025-07-10 10:06:58 -04:00
parent 0513012606
commit eaa835eb4e
2 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,61 @@
package mage.cards.r;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.ExileFromGraveCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.dynamicvalue.common.SourcePermanentPowerValue;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.MenaceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.StaticFilters;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCardInYourGraveyard;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class RustHarvester extends CardImpl {
public RustHarvester(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{R}");
this.subtype.add(SubType.ROBOT);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
// Menace
this.addAbility(new MenaceAbility());
// {2}, {T}, Exile an artifact card from your graveyard: Put a +1/+1 counter on this creature, then it deals damage equal to its power to any target.
Ability ability = new SimpleActivatedAbility(
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new GenericManaCost(2)
);
ability.addCost(new TapSourceCost());
ability.addCost(new ExileFromGraveCost(
new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD)
));
ability.addEffect(new DamageTargetEffect(SourcePermanentPowerValue.NOT_NEGATIVE)
.setText(", then it deals damage equal to its power to any target"));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}
private RustHarvester(final RustHarvester card) {
super(card);
}
@Override
public RustHarvester copy() {
return new RustHarvester(this);
}
}

View file

@ -110,6 +110,8 @@ public final class EdgeOfEternities extends ExpansionSet {
cards.add(new SetCardInfo("Ragost, Deft Gastronaut", 224, Rarity.RARE, mage.cards.r.RagostDeftGastronaut.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Ragost, Deft Gastronaut", 300, Rarity.RARE, mage.cards.r.RagostDeftGastronaut.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Red Tiger Mechan", 154, Rarity.COMMON, mage.cards.r.RedTigerMechan.class));
cards.add(new SetCardInfo("Rust Harvester", 159, Rarity.RARE, mage.cards.r.RustHarvester.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Rust Harvester", 310, Rarity.RARE, mage.cards.r.RustHarvester.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Sacred Foundry", 256, Rarity.RARE, mage.cards.s.SacredFoundry.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Sacred Foundry", 282, Rarity.RARE, mage.cards.s.SacredFoundry.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Sacred Foundry", 377, Rarity.RARE, mage.cards.s.SacredFoundry.class, NON_FULL_USE_VARIOUS));