From 56c52af4fe585fc3610e3b40c56d2e767b41bd49 Mon Sep 17 00:00:00 2001
From: Susucre <34709007+Susucre@users.noreply.github.com>
Date: Sat, 4 Nov 2023 18:41:24 +0100
Subject: [PATCH] [LCI] Implement Join the Dead
---
Mage.Sets/src/mage/cards/j/JoinTheDead.java | 44 +++++++++++++++++++
.../src/mage/sets/TheLostCavernsOfIxalan.java | 1 +
2 files changed, 45 insertions(+)
create mode 100644 Mage.Sets/src/mage/cards/j/JoinTheDead.java
diff --git a/Mage.Sets/src/mage/cards/j/JoinTheDead.java b/Mage.Sets/src/mage/cards/j/JoinTheDead.java
new file mode 100644
index 00000000000..698b201d41e
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/j/JoinTheDead.java
@@ -0,0 +1,44 @@
+package mage.cards.j;
+
+import mage.abilities.condition.common.DescendCondition;
+import mage.abilities.decorator.ConditionalOneShotEffect;
+import mage.abilities.effects.common.AddContinuousEffectToGame;
+import mage.abilities.effects.common.continuous.BoostTargetEffect;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.target.common.TargetCreaturePermanent;
+
+import java.util.UUID;
+
+/**
+ * @author Susucr
+ */
+public final class JoinTheDead extends CardImpl {
+
+ public JoinTheDead(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}{B}");
+
+ // Target creature gets -5/-5 until end of turn.
+ // Descend 4 -- That creature gets -10/-10 until end of turn instead if there are four or more permanent cards in your graveyard.
+ this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
+ new AddContinuousEffectToGame(new BoostTargetEffect(-10, -10)),
+ new AddContinuousEffectToGame(new BoostTargetEffect(-5, -5)),
+ DescendCondition.FOUR,
+ "Target creature gets -5/-5 until end of turn."
+ + "
Descend 4 — That creature gets -10/-10 until end of turn instead "
+ + "if there are four or more permanent cards in your graveyard."
+ ));
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+ this.getSpellAbility().addHint(DescendCondition.getHint());
+ }
+
+ private JoinTheDead(final JoinTheDead card) {
+ super(card);
+ }
+
+ @Override
+ public JoinTheDead copy() {
+ return new JoinTheDead(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java
index 8aa16f9bee8..965ede16e0f 100644
--- a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java
+++ b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java
@@ -153,6 +153,7 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet {
cards.add(new SetCardInfo("Itzquinth, Firstborn of Gishath", 230, Rarity.UNCOMMON, mage.cards.i.ItzquinthFirstbornOfGishath.class));
cards.add(new SetCardInfo("Ixalli's Lorekeeper", 194, Rarity.UNCOMMON, mage.cards.i.IxallisLorekeeper.class));
cards.add(new SetCardInfo("Jadelight Spelunker", 196, Rarity.RARE, mage.cards.j.JadelightSpelunker.class));
+ cards.add(new SetCardInfo("Join the Dead", 110, Rarity.COMMON, mage.cards.j.JoinTheDead.class));
cards.add(new SetCardInfo("Kaslem's Stonetree", 197, Rarity.COMMON, mage.cards.k.KaslemsStonetree.class));
cards.add(new SetCardInfo("Kaslem's Strider", 197, Rarity.COMMON, mage.cards.k.KaslemsStrider.class));
cards.add(new SetCardInfo("Kellan, Daring Traveler", 231, Rarity.RARE, mage.cards.k.KellanDaringTraveler.class));