From ee00efafe4f32fe7cc1897e383643975708ac5d1 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Mon, 30 Oct 2023 21:48:34 -0400 Subject: [PATCH] [LCI] Implement Akawalli, the Seething Tower --- .../cards/a/AkawalliTheSeethingTower.java | 62 +++++++++++++++++++ .../src/mage/sets/TheLostCavernsOfIxalan.java | 1 + .../main/java/mage/constants/AbilityWord.java | 1 + Utils/mtg-cards-data.txt | 1 + 4 files changed, 65 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/a/AkawalliTheSeethingTower.java diff --git a/Mage.Sets/src/mage/cards/a/AkawalliTheSeethingTower.java b/Mage.Sets/src/mage/cards/a/AkawalliTheSeethingTower.java new file mode 100644 index 00000000000..a3354cf0e7d --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/AkawalliTheSeethingTower.java @@ -0,0 +1,62 @@ +package mage.cards.a; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.DescendCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.combat.CantBeBlockedByMoreThanOneSourceEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class AkawalliTheSeethingTower extends CardImpl { + + public AkawalliTheSeethingTower(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{G}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.FUNGUS); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Descend 4 -- As long as there are four or more permanent cards in your graveyard, Akawalli, the Seething Tower gets +2/+2 and has trample. + Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect( + new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield), DescendCondition.FOUR, + "as long as there are four or more permanent cards in your graveyard, {this} gets +2/+2" + )); + ability.addEffect(new ConditionalContinuousEffect( + new GainAbilitySourceEffect(TrampleAbility.getInstance()), + DescendCondition.FOUR, "and has trample" + )); + this.addAbility(ability.addHint(DescendCondition.getHint()).setAbilityWord(AbilityWord.DESCEND_4)); + + // Descend 8 -- As long as there are eight or more permanent cards in your graveyard, Akawalli gets an additional +2/+2 and can't be blocked by more than one creature. + ability = new SimpleStaticAbility(new ConditionalContinuousEffect( + new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield), DescendCondition.EIGHT, + "as long as there are eight or more permanent cards in your graveyard, {this} gets an additional +2/+2" + )); + ability.addEffect(new ConditionalContinuousEffect( + new CantBeBlockedByMoreThanOneSourceEffect(), DescendCondition.EIGHT, + "and can't be blocked by more than one creature" + )); + this.addAbility(ability.setAbilityWord(AbilityWord.DESCEND_8)); + } + + private AkawalliTheSeethingTower(final AkawalliTheSeethingTower card) { + super(card); + } + + @Override + public AkawalliTheSeethingTower copy() { + return new AkawalliTheSeethingTower(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java index bd9e81056bb..edfe9137f12 100644 --- a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java +++ b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java @@ -23,6 +23,7 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet { cards.add(new SetCardInfo("Abuelo, Ancestral Echo", 219, Rarity.RARE, mage.cards.a.AbueloAncestralEcho.class)); cards.add(new SetCardInfo("Abyssal Gorestalker", 87, Rarity.UNCOMMON, mage.cards.a.AbyssalGorestalker.class)); cards.add(new SetCardInfo("Aclazotz, Deepest Betrayal", 88, Rarity.MYTHIC, mage.cards.a.AclazotzDeepestBetrayal.class)); + cards.add(new SetCardInfo("Akawalli, the Seething Tower", 220, Rarity.UNCOMMON, mage.cards.a.AkawalliTheSeethingTower.class)); cards.add(new SetCardInfo("Amalia Benavides Aguirre", 221, Rarity.RARE, mage.cards.a.AmaliaBenavidesAguirre.class)); cards.add(new SetCardInfo("Bartolome del Presidio", 224, Rarity.UNCOMMON, mage.cards.b.BartolomeDelPresidio.class)); cards.add(new SetCardInfo("Bedrock Tortoise", 176, Rarity.RARE, mage.cards.b.BedrockTortoise.class)); diff --git a/Mage/src/main/java/mage/constants/AbilityWord.java b/Mage/src/main/java/mage/constants/AbilityWord.java index 3ab034a0ce9..7298b460843 100644 --- a/Mage/src/main/java/mage/constants/AbilityWord.java +++ b/Mage/src/main/java/mage/constants/AbilityWord.java @@ -23,6 +23,7 @@ public enum AbilityWord { COVEN("Coven"), DELIRIUM("Delirium"), DESCEND_4("Descend 4"), + DESCEND_8("Descend 8"), DOMAIN("Domain"), EMINENCE("Eminence"), ENRAGE("Enrage"), diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 5d35ad0720a..6bc5f2b877c 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -12217,6 +12217,7 @@ Thrashing Brontodon|The Lost Caverns of Ixalan|216|U|{1}{G}{G}|Creature - Dinosa Twists and Turns|The Lost Caverns of Ixalan|217|U|{G}|Enchantment|||If a creature you control would explore, instead you scry 1, then that creature explores.$When Twists and Turns enters the battlefield, target creature you control explores.$When a land enters the battlefield under your contro if you control seven or more lands, transform Twists and Turns.| Mycoid Maze|The Lost Caverns of Ixalan|217|U||Land - Cave|||(Transforms from Twists and Turns.)${T}: Add {G}.${3}{G}, {T}: Look at the top four cards of$your library. You may reveal a creature$card from among them and put that$card into your hand. Put the rest on$the bottom of your library in a random$order.| Abuelo, Ancestral Echo|The Lost Caverns of Ixalan|219|R|{1}{W}{U}|Legendary Creature - Spirit|2|2|Flying, ward {2}${1}{W}{U}: Exile another target creature or artifact you control. Return it to the battlefield under its owner's control at the beginning of the next end step.| +Akawalli, the Seething Tower|The Lost Caverns of Ixalan|220|U|{1}{B}{G}|Legendary Creature - Fungus|3|3|Descend 4 -- As long as there are four or more permanent cards in your graveyard, Akawalli, the Seething Tower gets +2/+2 and has trample.$Descend 8 -- As long as there are eight or more permanent cards in your graveyard, Akawalli gets an additional +2/+2 and can't be blocked by more than one creature.| Amalia Benavides Aguirre|The Lost Caverns of Ixalan|221|R|{W}{B}|Legendary Creature - Vampire Scout|2|2|Ward--Pay 3 life.$Whenever you gain life, Amalia Benavides Aguirre explores. Then, destroy all other creatures if its power is exactly 20.| Bartolome del Presidio|The Lost Caverns of Ixalan|224|U|{W}{B}|Legendary Creature - Vampire Knight|2|1|Sacrifice another creature or artifact: Put a +1/+1 counter on Bartolome del Presidio.| The Belligerent|The Lost Caverns of Ixalan|225|R|{2}{U}{R}|Legendary Artifact - Vehicle|5|5|Whenever The Belligerent attacks, create a Treasure token. Until end of turn, you may look at the top card of your library any time, and you may play lands and cast spells from the top of your library.$Crew 3|