implement [MH3] Cranial Ram

This commit is contained in:
Susucre 2024-05-25 13:23:09 +02:00
parent 79da448a88
commit f0005f03ad
3 changed files with 57 additions and 4 deletions

View file

@ -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);

View file

@ -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);
}
}

View file

@ -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));