Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DFT] Implement Aatchik, Emerald Radian #13254

Merged
merged 9 commits into from
Jan 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions Mage.Sets/src/mage/cards/a/AatchikEmeraldRadian.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package mage.cards.a;

import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.DiesCreatureTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SuperType;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.game.permanent.token.InsectToken;
import mage.constants.SubType;

/**
*
* @author jackd149
*/
public final class AatchikEmeraldRadian extends CardImpl {
private static final FilterCard filter1 = new FilterCard("artifact and/or creature card");
private static final FilterControlledPermanent filter2 = new FilterControlledPermanent(SubType.INSECT, "another Insect you control");
private static final CardsInControllerGraveyardCount count = new CardsInControllerGraveyardCount(filter1);

static {
filter1.add(Predicates.or(CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate()));
filter2.add(AnotherPredicate.instance);
}

public AatchikEmeraldRadian(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{G}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.INSECT);
this.subtype.add(SubType.DRUID);

this.power = new MageInt(3);
this.toughness = new MageInt(3);

// When Aatchik, Emerald Radian enters, create a 1/1 green Insect creature token for each actifact and/or creature card in your graveyard.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new InsectToken(), count)));

// Whenever another insect you control dies, put a +1/+1 counter on Aatchik. Each opponent loses 1 life.
DiesCreatureTriggeredAbility otherInsectDiesAbility = new DiesCreatureTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false, filter2);
otherInsectDiesAbility.addEffect(new LoseLifeOpponentsEffect(1));
this.addAbility(otherInsectDiesAbility);
}

private AatchikEmeraldRadian(final AatchikEmeraldRadian card) {
super(card);
}

@Override
public AatchikEmeraldRadian copy() {
return new AatchikEmeraldRadian(this);
}

}
1 change: 1 addition & 0 deletions Mage.Sets/src/mage/sets/Aetherdrift.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ private Aetherdrift() {
this.hasBasicLands = true;
this.hasBoosters = false; // temporary

cards.add(new SetCardInfo("Aatchik, Emerald Radian", 187, Rarity.RARE, mage.cards.a.AatchikEmeraldRadian.class));
cards.add(new SetCardInfo("Aether Syphon", 38, Rarity.UNCOMMON, mage.cards.a.AetherSyphon.class));
cards.add(new SetCardInfo("Air Response Unit", 1, Rarity.UNCOMMON, mage.cards.a.AirResponseUnit.class));
cards.add(new SetCardInfo("Amonkhet Raceway", 248, Rarity.UNCOMMON, mage.cards.a.AmonkhetRaceway.class));
Expand Down
Loading