From f0005f03ad603cd0b7cdcc7f8f3a4552f5c319d5 Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Sat, 25 May 2024 13:23:09 +0200 Subject: [PATCH] implement [MH3] Cranial Ram --- .../src/mage/cards/c/CranialPlating.java | 10 ++-- Mage.Sets/src/mage/cards/c/CranialRam.java | 50 +++++++++++++++++++ Mage.Sets/src/mage/sets/ModernHorizons3.java | 1 + 3 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 Mage.Sets/src/mage/cards/c/CranialRam.java diff --git a/Mage.Sets/src/mage/cards/c/CranialPlating.java b/Mage.Sets/src/mage/cards/c/CranialPlating.java index ae44e5e70c1..b8a81750351 100644 --- a/Mage.Sets/src/mage/cards/c/CranialPlating.java +++ b/Mage.Sets/src/mage/cards/c/CranialPlating.java @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; @@ -31,11 +30,14 @@ public final class CranialPlating extends CardImpl { this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+0 for each artifact you control. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(ArtifactYouControlCount.instance, StaticValue.get(0))) - .addHint(ArtifactYouControlHint.instance)); + this.addAbility(new SimpleStaticAbility( + new BoostEquippedEffect(ArtifactYouControlCount.instance, StaticValue.get(0)) + ).addHint(ArtifactYouControlHint.instance)); // {B}{B}: Attach Cranial Plating to target creature you control. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl<>("{B}{B}")); + Ability ability = new SimpleActivatedAbility( + new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl<>("{B}{B}") + ); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CranialRam.java b/Mage.Sets/src/mage/cards/c/CranialRam.java new file mode 100644 index 00000000000..3c772cf38d6 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CranialRam.java @@ -0,0 +1,50 @@ +package mage.cards.c; + +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.dynamicvalue.common.ArtifactYouControlCount; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.continuous.BoostEquippedEffect; +import mage.abilities.hint.common.ArtifactYouControlHint; +import mage.abilities.keyword.EquipAbility; +import mage.abilities.keyword.LivingWeaponAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class CranialRam extends CardImpl { + + public CranialRam(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{B}{R}"); + + this.subtype.add(SubType.EQUIPMENT); + + // Living weapon + this.addAbility(new LivingWeaponAbility()); + + // Equipped creature gets +X/+1, where X is the number of artifacts you control. + this.addAbility(new SimpleStaticAbility( + new BoostEquippedEffect(ArtifactYouControlCount.instance, StaticValue.get(1)) + .setText("equipped creature gets +X/+1, where X is the number of artifacts you control") + ).addHint(ArtifactYouControlHint.instance)); + + // Equip {2} + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), false)); + } + + private CranialRam(final CranialRam card) { + super(card); + } + + @Override + public CranialRam copy() { + return new CranialRam(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons3.java b/Mage.Sets/src/mage/sets/ModernHorizons3.java index b9f5ed32f75..17d6da822a8 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons3.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons3.java @@ -35,6 +35,7 @@ public final class ModernHorizons3 extends ExpansionSet { cards.add(new SetCardInfo("Chthonian Nightmare", 83, Rarity.RARE, mage.cards.c.ChthonianNightmare.class)); cards.add(new SetCardInfo("Collective Resistance", 147, Rarity.UNCOMMON, mage.cards.c.CollectiveResistance.class)); cards.add(new SetCardInfo("Conduit Goblin", 179, Rarity.COMMON, mage.cards.c.ConduitGoblin.class)); + cards.add(new SetCardInfo("Cranial Ram", 180, Rarity.COMMON, mage.cards.c.CranialRam.class)); cards.add(new SetCardInfo("Cursed Mirror", 279, Rarity.RARE, mage.cards.c.CursedMirror.class)); cards.add(new SetCardInfo("Deep Analysis", 268, Rarity.UNCOMMON, mage.cards.d.DeepAnalysis.class)); cards.add(new SetCardInfo("Deserted Temple", 301, Rarity.RARE, mage.cards.d.DesertedTemple.class));