mirror of
https://github.com/correl/mage.git
synced 2024-11-15 03:00:16 +00:00
[MOM] Implement Scrappy Bruiser
This commit is contained in:
parent
8b7e615747
commit
b120ce0fa9
3 changed files with 59 additions and 2 deletions
52
Mage.Sets/src/mage/cards/s/ScrappyBruiser.java
Normal file
52
Mage.Sets/src/mage/cards/s/ScrappyBruiser.java
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
package mage.cards.s;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
|
import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
||||||
|
import mage.abilities.effects.common.ReturnToHandTargetEffect;
|
||||||
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.target.common.TargetAttackingCreature;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class ScrappyBruiser extends CardImpl {
|
||||||
|
|
||||||
|
public ScrappyBruiser(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.RACCOON);
|
||||||
|
this.subtype.add(SubType.WARRIOR);
|
||||||
|
this.power = new MageInt(3);
|
||||||
|
this.toughness = new MageInt(4);
|
||||||
|
|
||||||
|
// Whenever Scrappy Bruiser attacks, up to one target attacking creature gets +2/+0 and gains trample until end of turn. Return that creature to its owner's hand at end of combat.
|
||||||
|
Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(2, 0));
|
||||||
|
ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance())
|
||||||
|
.setText("and gains trample until end of turn"));
|
||||||
|
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheEndOfCombatDelayedTriggeredAbility(
|
||||||
|
new ReturnToHandTargetEffect().setText("Return that creature to its owner's hand at end of combat")
|
||||||
|
).setTriggerPhrase(null), true));
|
||||||
|
ability.addTarget(new TargetAttackingCreature(0, 1));
|
||||||
|
this.addAbility(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ScrappyBruiser(final ScrappyBruiser card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ScrappyBruiser copy() {
|
||||||
|
return new ScrappyBruiser(this);
|
||||||
|
}
|
||||||
|
}
|
|
@ -255,6 +255,7 @@ public final class MarchOfTheMachine extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Saiba Cryptomancer", 76, Rarity.COMMON, mage.cards.s.SaibaCryptomancer.class));
|
cards.add(new SetCardInfo("Saiba Cryptomancer", 76, Rarity.COMMON, mage.cards.s.SaibaCryptomancer.class));
|
||||||
cards.add(new SetCardInfo("Scorn-Blade Berserker", 124, Rarity.UNCOMMON, mage.cards.s.ScornBladeBerserker.class));
|
cards.add(new SetCardInfo("Scorn-Blade Berserker", 124, Rarity.UNCOMMON, mage.cards.s.ScornBladeBerserker.class));
|
||||||
cards.add(new SetCardInfo("Scoured Barrens", 272, Rarity.COMMON, mage.cards.s.ScouredBarrens.class));
|
cards.add(new SetCardInfo("Scoured Barrens", 272, Rarity.COMMON, mage.cards.s.ScouredBarrens.class));
|
||||||
|
cards.add(new SetCardInfo("Scrappy Bruiser", 162, Rarity.UNCOMMON, mage.cards.s.ScrappyBruiser.class));
|
||||||
cards.add(new SetCardInfo("Scrollshift", 34, Rarity.COMMON, mage.cards.s.Scrollshift.class));
|
cards.add(new SetCardInfo("Scrollshift", 34, Rarity.COMMON, mage.cards.s.Scrollshift.class));
|
||||||
cards.add(new SetCardInfo("Sculpted Perfection", 253, Rarity.UNCOMMON, mage.cards.s.SculptedPerfection.class));
|
cards.add(new SetCardInfo("Sculpted Perfection", 253, Rarity.UNCOMMON, mage.cards.s.SculptedPerfection.class));
|
||||||
cards.add(new SetCardInfo("Seal from Existence", 35, Rarity.UNCOMMON, mage.cards.s.SealFromExistence.class));
|
cards.add(new SetCardInfo("Seal from Existence", 35, Rarity.UNCOMMON, mage.cards.s.SealFromExistence.class));
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.abilities;
|
package mage.abilities;
|
||||||
|
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
|
@ -7,7 +6,6 @@ import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author BetaSteward_at_googlemail.com
|
* @author BetaSteward_at_googlemail.com
|
||||||
*/
|
*/
|
||||||
public abstract class DelayedTriggeredAbility extends TriggeredAbilityImpl {
|
public abstract class DelayedTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
@ -59,6 +57,12 @@ public abstract class DelayedTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
public void init(Game game) {
|
public void init(Game game) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DelayedTriggeredAbility setTriggerPhrase(String triggerPhrase) {
|
||||||
|
super.setTriggerPhrase(triggerPhrase);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isInactive(Game game) {
|
public boolean isInactive(Game game) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue