[ECC] Implement Belonging

This commit is contained in:
theelk801 2026-01-06 20:42:54 -05:00
parent 17553f2c2d
commit b27d595b61
5 changed files with 61 additions and 15 deletions

View file

@ -0,0 +1,44 @@
package mage.cards.b;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.EncoreAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.ShapeshifterColorlessToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class Belonging extends CardImpl {
public Belonging(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}");
this.subtype.add(SubType.ELEMENTAL);
this.subtype.add(SubType.INCARNATION);
this.power = new MageInt(6);
this.toughness = new MageInt(6);
// When this creature enters, create three 1/1 colorless Shapeshifter creature tokens with changeling.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ShapeshifterColorlessToken(), 3)));
// Encore {6}{W}{W}
this.addAbility(new EncoreAbility(new ManaCostsImpl<>("{6}{W}{W}")));
}
private Belonging(final Belonging card) {
super(card);
}
@Override
public Belonging copy() {
return new Belonging(this);
}
}

View file

@ -8,7 +8,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.CribSwapShapeshifterWhiteToken;
import mage.game.permanent.token.ShapeshifterColorlessToken;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
@ -26,7 +26,7 @@ public final class CribSwap extends CardImpl {
this.addAbility(new ChangelingAbility());
// Exile target creature. Its controller creates a 1/1 colorless Shapeshifter creature token with changeling.
this.getSpellAbility().addEffect(new ExileTargetEffect());
this.getSpellAbility().addEffect(new CreateTokenControllerTargetEffect(new CribSwapShapeshifterWhiteToken()));
this.getSpellAbility().addEffect(new CreateTokenControllerTargetEffect(new ShapeshifterColorlessToken()));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
@ -39,4 +39,4 @@ public final class CribSwap extends CardImpl {
public CribSwap copy() {
return new CribSwap(this);
}
}
}

View file

@ -28,6 +28,8 @@ public final class LorwynEclipsedCommander extends ExpansionSet {
cards.add(new SetCardInfo("Auntie Ool, Cursewretch", 2, Rarity.MYTHIC, mage.cards.a.AuntieOolCursewretch.class));
cards.add(new SetCardInfo("Avenger of Zendikar", 98, Rarity.MYTHIC, mage.cards.a.AvengerOfZendikar.class));
cards.add(new SetCardInfo("Bane of Progress", 99, Rarity.RARE, mage.cards.b.BaneOfProgress.class));
cards.add(new SetCardInfo("Belonging", 25, Rarity.RARE, mage.cards.b.Belonging.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Belonging", 5, Rarity.RARE, mage.cards.b.Belonging.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Binding the Old Gods", 120, Rarity.UNCOMMON, mage.cards.b.BindingTheOldGods.class));
cards.add(new SetCardInfo("Black Sun's Zenith", 71, Rarity.RARE, mage.cards.b.BlackSunsZenith.class));
cards.add(new SetCardInfo("Blasphemous Act", 89, Rarity.RARE, mage.cards.b.BlasphemousAct.class));

View file

@ -8,9 +8,9 @@ import mage.constants.SubType;
/**
* @author spjspj
*/
public final class CribSwapShapeshifterWhiteToken extends TokenImpl {
public final class ShapeshifterColorlessToken extends TokenImpl {
public CribSwapShapeshifterWhiteToken() {
public ShapeshifterColorlessToken() {
super("Shapeshifter Token", "1/1 colorless Shapeshifter creature token with changeling");
cardType.add(CardType.CREATURE);
subtype.add(SubType.SHAPESHIFTER);
@ -19,11 +19,11 @@ public final class CribSwapShapeshifterWhiteToken extends TokenImpl {
addAbility(new ChangelingAbility());
}
private CribSwapShapeshifterWhiteToken(final CribSwapShapeshifterWhiteToken token) {
private ShapeshifterColorlessToken(final ShapeshifterColorlessToken token) {
super(token);
}
public CribSwapShapeshifterWhiteToken copy() {
return new CribSwapShapeshifterWhiteToken(this);
public ShapeshifterColorlessToken copy() {
return new ShapeshifterColorlessToken(this);
}
}

View file

@ -319,7 +319,7 @@
|Generate|TOK:C15|Lightning Rager|||LightningRagerToken|
|Generate|TOK:C15|Phyrexian Germ|||PhyrexianGermToken|
|Generate|TOK:C15|Saproling|||SaprolingToken|
|Generate|TOK:C15|Shapeshifter|||CribSwapShapeshifterWhiteToken|
|Generate|TOK:C15|Shapeshifter|||ShapeshifterColorlessToken|
|Generate|TOK:C15|Snake|1||SnakeToken|
|Generate|TOK:C15|Snake|2||PatagiaViperSnakeToken|
|Generate|TOK:C15|Spider|||SpiderToken|
@ -381,7 +381,7 @@
|Generate|TOK:C18|Phyrexian Myr|||BrudicladTelchorMyrToken|
|Generate|TOK:C18|Plant|||PlantToken|
|Generate|TOK:C18|Servo|||ServoToken|
|Generate|TOK:C18|Shapeshifter|||CribSwapShapeshifterWhiteToken|
|Generate|TOK:C18|Shapeshifter|||ShapeshifterColorlessToken|
|Generate|TOK:C18|Soldier|||SoldierToken|
|Generate|TOK:C18|Survivor|||SurvivorToken|
|Generate|TOK:C18|Thopter|1||ThopterColorlessToken|
@ -698,7 +698,7 @@
|Generate|TOK:LRW|Goblin Rogue|||GoblinRogueToken|
|Generate|TOK:LRW|Kithkin Soldier|||KithkinSoldierToken|
|Generate|TOK:LRW|Merfolk Wizard|||MerfolkWizardToken|
|Generate|TOK:LRW|Shapeshifter|||CribSwapShapeshifterWhiteToken|
|Generate|TOK:LRW|Shapeshifter|||ShapeshifterColorlessToken|
|Generate|TOK:LRW|Wolf|||WolfToken|
# M10
@ -1589,7 +1589,7 @@
|Generate|TOK:2XM|Plant|||PlantToken|
|Generate|TOK:2XM|Saproling|||SaprolingToken|
|Generate|TOK:2XM|Servo|||ServoToken|
|Generate|TOK:2XM|Shapeshifter|||CribSwapShapeshifterWhiteToken|
|Generate|TOK:2XM|Shapeshifter|||ShapeshifterColorlessToken|
|Generate|TOK:2XM|Soldier|||SoldierToken|
|Generate|TOK:2XM|Squirrel|||SquirrelToken|
|Generate|TOK:2XM|Thopter|1||ThopterColorlessToken|
@ -1688,7 +1688,7 @@
|Generate|TOK:CM2|Phyrexian Wurm|1||WurmWithDeathtouchToken|
|Generate|TOK:CM2|Phyrexian Wurm|2||WurmWithLifelinkToken|
|Generate|TOK:CM2|Saproling|||SaprolingToken|
|Generate|TOK:CM2|Shapeshifter|||CribSwapShapeshifterWhiteToken|
|Generate|TOK:CM2|Shapeshifter|||ShapeshifterColorlessToken|
|Generate|TOK:CM2|Spirit|||SpiritWhiteToken|
|Generate|TOK:CM2|Triskelavite|||TriskelaviteToken|
|Generate|TOK:CM2|Tuktuk the Returned|||TuktukTheReturnedToken|
@ -1828,7 +1828,7 @@
|Generate|TOK:CLB|Rabbit|||RabbitToken|
|Generate|TOK:CLB|Saproling|||SaprolingToken|
|Generate|TOK:CLB|Satyr|||XenagosSatyrToken|
|Generate|TOK:CLB|Shapeshifter|1||CribSwapShapeshifterWhiteToken|
|Generate|TOK:CLB|Shapeshifter|1||ShapeshifterColorlessToken|
|Generate|TOK:CLB|Shapeshifter|2||ShapeshifterToken|
|Generate|TOK:CLB|Shapeshifter|3||Shapeshifter32Token|
|Generate|TOK:CLB|Shapeshifter|4||ShapeshifterBlueToken|
@ -2557,7 +2557,7 @@
|Generate|TOK:M3C|Phyrexian Myr|||BrudicladTelchorMyrToken|
|Generate|TOK:M3C|Sand Warrior|||SandWarriorToken|
|Generate|TOK:M3C|Saproling|||SaprolingToken|
|Generate|TOK:M3C|Shapeshifter|1||CribSwapShapeshifterWhiteToken|
|Generate|TOK:M3C|Shapeshifter|1||ShapeshifterColorlessToken|
|Generate|TOK:M3C|Shapeshifter|2||ShapeshifterBlueToken|
|Generate|TOK:M3C|Spirit|||UginTheIneffableToken|
|Generate|TOK:M3C|Tarmogoyf|||TarmogoyfToken|