[ZNR] Implemented Relic Robber

This commit is contained in:
Evan Kranzler 2020-09-06 15:06:35 -04:00
parent 719fa9a978
commit f977decf6e
3 changed files with 89 additions and 0 deletions

View file

@ -0,0 +1,45 @@
package mage.cards.r;
import mage.MageInt;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.effects.common.CreateTokenTargetEffect;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.RelicRobberToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class RelicRobber extends CardImpl {
public RelicRobber(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.GOBLIN);
this.subtype.add(SubType.ROGUE);
this.power = new MageInt(2);
this.toughness = new MageInt(2);
// Haste
this.addAbility(HasteAbility.getInstance());
// Whenever Relic Robber deals combat damage to a player, that player creates a 0/1 colorless Goblin Construct artifact creature token with "This creature can't block" and "At the beginning of your upkeep, this creature deals 1 damage to you."
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
new CreateTokenTargetEffect(new RelicRobberToken()), false, true
));
}
private RelicRobber(final RelicRobber card) {
super(card);
}
@Override
public RelicRobber copy() {
return new RelicRobber(this);
}
}

View file

@ -194,6 +194,7 @@ public final class ZendikarRising extends ExpansionSet {
cards.add(new SetCardInfo("Prowling Felidar", 34, Rarity.COMMON, mage.cards.p.ProwlingFelidar.class));
cards.add(new SetCardInfo("Rabid Bite", 199, Rarity.COMMON, mage.cards.r.RabidBite.class));
cards.add(new SetCardInfo("Ravager's Mace", 235, Rarity.UNCOMMON, mage.cards.r.RavagersMace.class));
cards.add(new SetCardInfo("Relic Robber", 153, Rarity.RARE, mage.cards.r.RelicRobber.class));
cards.add(new SetCardInfo("Risen Riptide", 73, Rarity.COMMON, mage.cards.r.RisenRiptide.class));
cards.add(new SetCardInfo("Riverglide Pathway", 264, Rarity.RARE, mage.cards.r.RiverglidePathway.class));
cards.add(new SetCardInfo("Rockslide Sorcerer", 154, Rarity.UNCOMMON, mage.cards.r.RockslideSorcerer.class));

View file

@ -0,0 +1,43 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.abilities.effects.common.combat.CantBlockSourceEffect;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.TargetController;
import java.util.ArrayList;
import java.util.List;
public final class RelicRobberToken extends TokenImpl {
static final private List<String> tokenImageSets = new ArrayList<>();
public RelicRobberToken() {
super("Goblin Construct", "0/1 colorless Goblin Construct artifact creature token with \"This creature can't block\" and \"At the beginning of your upkeep, this creature deals 1 damage to you.\"");
cardType.add(CardType.ARTIFACT);
cardType.add(CardType.CREATURE);
subtype.add(SubType.GOBLIN);
subtype.add(SubType.CONSTRUCT);
power = new MageInt(0);
toughness = new MageInt(1);
this.addAbility(new SimpleStaticAbility(
new CantBlockSourceEffect(Duration.WhileOnBattlefield).setText("this creature can't block")
));
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(
1, "this creature"
), TargetController.YOU, false));
}
public RelicRobberToken(final RelicRobberToken token) {
super(token);
}
public RelicRobberToken copy() {
return new RelicRobberToken(this);
}
}