[TLA] Implement Allies at Last

This commit is contained in:
theelk801 2025-11-13 09:11:56 -05:00
parent ee77746db8
commit 13f4a314a7
3 changed files with 41 additions and 0 deletions

View file

@ -0,0 +1,39 @@
package mage.cards.a;
import mage.abilities.effects.common.TargetsDamageTargetsEffect;
import mage.abilities.keyword.AffinityAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AffinityType;
import mage.constants.CardType;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetOpponentsCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class AlliesAtLast extends CardImpl {
public AlliesAtLast(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{G}");
// Affinity for Allies
this.addAbility(new AffinityAbility(AffinityType.ALLIES));
// Up to two target creatures you control each deal damage equal to their power to target creature an opponent controls.
this.getSpellAbility().addEffect(new TargetsDamageTargetsEffect(true));
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent(0, 2).setTargetTag(1));
this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent().setTargetTag(3));
}
private AlliesAtLast(final AlliesAtLast card) {
super(card);
}
@Override
public AlliesAtLast copy() {
return new AlliesAtLast(this);
}
}

View file

@ -50,6 +50,7 @@ public final class AvatarTheLastAirbender extends ExpansionSet {
cards.add(new SetCardInfo("Airbender's Reversal", 7, Rarity.UNCOMMON, mage.cards.a.AirbendersReversal.class)); cards.add(new SetCardInfo("Airbender's Reversal", 7, Rarity.UNCOMMON, mage.cards.a.AirbendersReversal.class));
cards.add(new SetCardInfo("Airbending Lesson", 8, Rarity.COMMON, mage.cards.a.AirbendingLesson.class)); cards.add(new SetCardInfo("Airbending Lesson", 8, Rarity.COMMON, mage.cards.a.AirbendingLesson.class));
cards.add(new SetCardInfo("Airship Engine Room", 265, Rarity.COMMON, mage.cards.a.AirshipEngineRoom.class)); cards.add(new SetCardInfo("Airship Engine Room", 265, Rarity.COMMON, mage.cards.a.AirshipEngineRoom.class));
cards.add(new SetCardInfo("Allies at Last", 164, Rarity.UNCOMMON, mage.cards.a.AlliesAtLast.class));
cards.add(new SetCardInfo("Appa, Loyal Sky Bison", 9, Rarity.UNCOMMON, mage.cards.a.AppaLoyalSkyBison.class)); cards.add(new SetCardInfo("Appa, Loyal Sky Bison", 9, Rarity.UNCOMMON, mage.cards.a.AppaLoyalSkyBison.class));
cards.add(new SetCardInfo("Appa, Steadfast Guardian", 10, Rarity.MYTHIC, mage.cards.a.AppaSteadfastGuardian.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Appa, Steadfast Guardian", 10, Rarity.MYTHIC, mage.cards.a.AppaSteadfastGuardian.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Appa, Steadfast Guardian", 316, Rarity.MYTHIC, mage.cards.a.AppaSteadfastGuardian.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Appa, Steadfast Guardian", 316, Rarity.MYTHIC, mage.cards.a.AppaSteadfastGuardian.class, NON_FULL_USE_VARIOUS));

View file

@ -42,6 +42,7 @@ public enum AffinityType {
BIRDS(new FilterControlledPermanent(SubType.BIRD, "Birds")), BIRDS(new FilterControlledPermanent(SubType.BIRD, "Birds")),
CITIZENS(new FilterControlledPermanent(SubType.CITIZEN, "Citizens")), CITIZENS(new FilterControlledPermanent(SubType.CITIZEN, "Citizens")),
SLIVERS(new FilterControlledPermanent(SubType.SLIVER, "Slivers")), SLIVERS(new FilterControlledPermanent(SubType.SLIVER, "Slivers")),
ALLIES(new FilterControlledPermanent(SubType.ALLY, "Allies"), "Ally"),
TOWNS(new FilterControlledPermanent(SubType.TOWN, "Towns")), TOWNS(new FilterControlledPermanent(SubType.TOWN, "Towns")),
GATES(new FilterControlledPermanent(SubType.GATE, "Gates"), GatesYouControlHint.instance), GATES(new FilterControlledPermanent(SubType.GATE, "Gates"), GatesYouControlHint.instance),
SNOW_LANDS(AffinityFilters.SNOW_LANDS), SNOW_LANDS(AffinityFilters.SNOW_LANDS),