diff --git a/Mage.Sets/src/mage/cards/r/ResurrectionOrb.java b/Mage.Sets/src/mage/cards/r/ResurrectionOrb.java new file mode 100644 index 0000000000..dd5b4faa58 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/ResurrectionOrb.java @@ -0,0 +1,54 @@ +package mage.cards.r; + +import mage.abilities.common.DiesAttachedTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; +import mage.abilities.keyword.EquipAbility; +import mage.abilities.keyword.LifelinkAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ResurrectionOrb extends CardImpl { + + public ResurrectionOrb(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); + + this.subtype.add(SubType.EQUIPMENT); + + // Equipped creature has lifelink. + this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect( + LifelinkAbility.getInstance(), AttachmentType.EQUIPMENT + ))); + + // Whenever equipped creature dies, return that card to the battlefield under its owner's control at the beginning of the next end step. + this.addAbility(new DiesAttachedTriggeredAbility(new CreateDelayedTriggeredAbilityEffect( + new AtTheBeginOfNextEndStepDelayedTriggeredAbility( + new ReturnFromGraveyardToBattlefieldTargetEffect(), TargetController.ANY + ), true + ).setText("return that card to the battlefield under its owner's control at the beginning of the next end step"), "equipped creature")); + + // Equip {4} + this.addAbility(new EquipAbility(4)); + } + + private ResurrectionOrb(final ResurrectionOrb card) { + super(card); + } + + @Override + public ResurrectionOrb copy() { + return new ResurrectionOrb(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Warhammer40000.java b/Mage.Sets/src/mage/sets/Warhammer40000.java index 41ba2e0406..cf478bcac6 100644 --- a/Mage.Sets/src/mage/sets/Warhammer40000.java +++ b/Mage.Sets/src/mage/sets/Warhammer40000.java @@ -207,6 +207,7 @@ public final class Warhammer40000 extends ExpansionSet { cards.add(new SetCardInfo("Reaver Titan", 163, Rarity.RARE, mage.cards.r.ReaverTitan.class)); cards.add(new SetCardInfo("Reconnaissance Mission", 193, Rarity.UNCOMMON, mage.cards.r.ReconnaissanceMission.class)); cards.add(new SetCardInfo("Reliquary Tower", 291, Rarity.UNCOMMON, mage.cards.r.ReliquaryTower.class)); + cards.add(new SetCardInfo("Resurrection Orb", 165, Rarity.RARE, mage.cards.r.ResurrectionOrb.class)); cards.add(new SetCardInfo("Reverberate", 207, Rarity.RARE, mage.cards.r.Reverberate.class)); cards.add(new SetCardInfo("Royal Warden", 52, Rarity.RARE, mage.cards.r.RoyalWarden.class)); cards.add(new SetCardInfo("Rugged Highlands", 292, Rarity.COMMON, mage.cards.r.RuggedHighlands.class));