From b095cfd5a135060a68df601ef27af923e18a491d Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 3 Nov 2023 08:55:16 -0400 Subject: [PATCH] [LCI] Implement Basking Capybara --- .../src/mage/cards/b/BaskingCapybara.java | 44 +++++++++++++++++++ .../src/mage/sets/TheLostCavernsOfIxalan.java | 1 + .../src/main/java/mage/constants/SubType.java | 1 + 3 files changed, 46 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BaskingCapybara.java diff --git a/Mage.Sets/src/mage/cards/b/BaskingCapybara.java b/Mage.Sets/src/mage/cards/b/BaskingCapybara.java new file mode 100644 index 00000000000..30310ada8cb --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BaskingCapybara.java @@ -0,0 +1,44 @@ +package mage.cards.b; + +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.DescendCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AbilityWord; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class BaskingCapybara extends CardImpl { + + public BaskingCapybara(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); + + this.subtype.add(SubType.CAPYBARA); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // Descend 4 -- Basking Capybara gets +3/+0 as long as there are four or more permanent cards in your graveyard. + this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect( + new BoostSourceEffect(3, 0, Duration.WhileOnBattlefield), DescendCondition.FOUR, + "{this} gets +3/+0 as long as there are four or more permanent cards in your graveyard" + )).setAbilityWord(AbilityWord.DESCEND_4).addHint(DescendCondition.getHint())); + } + + private BaskingCapybara(final BaskingCapybara card) { + super(card); + } + + @Override + public BaskingCapybara copy() { + return new BaskingCapybara(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java index c5ae15e7b7c..35d45b9b004 100644 --- a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java +++ b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java @@ -28,6 +28,7 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet { 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("Basking Capybara", 175, Rarity.COMMON, mage.cards.b.BaskingCapybara.class)); cards.add(new SetCardInfo("Bedrock Tortoise", 176, Rarity.RARE, mage.cards.b.BedrockTortoise.class)); cards.add(new SetCardInfo("Belligerent Yearling", 133, Rarity.UNCOMMON, mage.cards.b.BelligerentYearling.class)); cards.add(new SetCardInfo("Bitter Triumph", 91, Rarity.UNCOMMON, mage.cards.b.BitterTriumph.class)); diff --git a/Mage/src/main/java/mage/constants/SubType.java b/Mage/src/main/java/mage/constants/SubType.java index 01c17a9ca85..42deb20bca8 100644 --- a/Mage/src/main/java/mage/constants/SubType.java +++ b/Mage/src/main/java/mage/constants/SubType.java @@ -109,6 +109,7 @@ public enum SubType { CALAMARI("Calamari", SubTypeSet.CreatureType, true), // Star Wars CAMARID("Camarid", SubTypeSet.CreatureType), CAMEL("Camel", SubTypeSet.CreatureType), + CAPYBARA("Capybara", SubTypeSet.CreatureType), CARIBOU("Caribou", SubTypeSet.CreatureType), CARRIER("Carrier", SubTypeSet.CreatureType), CAT("Cat", SubTypeSet.CreatureType),