From d9a941f7721b42f3d496a21f3b8f9f9e408f1ddb Mon Sep 17 00:00:00 2001
From: Evan Kranzler <theelk801@gmail.com>
Date: Mon, 5 Jul 2021 19:44:17 -0400
Subject: [PATCH] [AFR] Implemented Krydle of Baldur's Gate

---
 .../src/mage/cards/k/KrydleOfBaldursGate.java | 63 +++++++++++++++++++
 .../sets/AdventuresInTheForgottenRealms.java  |  1 +
 2 files changed, 64 insertions(+)
 create mode 100644 Mage.Sets/src/mage/cards/k/KrydleOfBaldursGate.java

diff --git a/Mage.Sets/src/mage/cards/k/KrydleOfBaldursGate.java b/Mage.Sets/src/mage/cards/k/KrydleOfBaldursGate.java
new file mode 100644
index 0000000000..3c28150347
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/k/KrydleOfBaldursGate.java
@@ -0,0 +1,63 @@
+package mage.cards.k;
+
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.AttacksWithCreaturesTriggeredAbility;
+import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
+import mage.abilities.costs.mana.GenericManaCost;
+import mage.abilities.effects.common.DoIfCostPaid;
+import mage.abilities.effects.common.GainLifeEffect;
+import mage.abilities.effects.common.LoseLifeTargetEffect;
+import mage.abilities.effects.common.MillCardsTargetEffect;
+import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect;
+import mage.abilities.effects.keyword.ScryEffect;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.constants.SubType;
+import mage.constants.SuperType;
+import mage.target.common.TargetCreaturePermanent;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class KrydleOfBaldursGate extends CardImpl {
+
+    public KrydleOfBaldursGate(UUID ownerId, CardSetInfo setInfo) {
+        super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{B}");
+
+        this.addSuperType(SuperType.LEGENDARY);
+        this.subtype.add(SubType.HUMAN);
+        this.subtype.add(SubType.ELF);
+        this.subtype.add(SubType.ROGUE);
+        this.power = new MageInt(1);
+        this.toughness = new MageInt(3);
+
+        // Whenever Krydle of Baldur's Gate deals combat damage to a player, that player loses 1 life and mills a card, then you gain 1 life and scry 1.
+        Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(
+                new LoseLifeTargetEffect(1), false, true
+        );
+        ability.addEffect(new MillCardsTargetEffect(1).setText("and mills a card"));
+        ability.addEffect(new GainLifeEffect(1).concatBy(", then"));
+        ability.addEffect(new ScryEffect(1, false).concatBy("and"));
+        this.addAbility(ability);
+
+        // Whenever you attack, you may pay {2}. If you do, target creature can't be blocked this turn.
+        ability = new AttacksWithCreaturesTriggeredAbility(new DoIfCostPaid(
+                new CantBeBlockedTargetEffect(), new GenericManaCost(2)
+        ), 0);
+        ability.addTarget(new TargetCreaturePermanent());
+        this.addAbility(ability);
+    }
+
+    private KrydleOfBaldursGate(final KrydleOfBaldursGate card) {
+        super(card);
+    }
+
+    @Override
+    public KrydleOfBaldursGate copy() {
+        return new KrydleOfBaldursGate(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java
index c4623c27c2..ac78385ffb 100644
--- a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java
+++ b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java
@@ -108,6 +108,7 @@ public final class AdventuresInTheForgottenRealms extends ExpansionSet {
         cards.add(new SetCardInfo("Island", 266, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
         cards.add(new SetCardInfo("Iymrith, Desert Doom", 62, Rarity.MYTHIC, mage.cards.i.IymrithDesertDoom.class));
         cards.add(new SetCardInfo("Kick in the Door", 153, Rarity.COMMON, mage.cards.k.KickInTheDoor.class));
+        cards.add(new SetCardInfo("Krydle of Baldur's Gate", 226, Rarity.UNCOMMON, mage.cards.k.KrydleOfBaldursGate.class));
         cards.add(new SetCardInfo("Lightfoot Rogue", 111, Rarity.UNCOMMON, mage.cards.l.LightfootRogue.class));
         cards.add(new SetCardInfo("Lolth, Spider Queen", 112, Rarity.MYTHIC, mage.cards.l.LolthSpiderQueen.class));
         cards.add(new SetCardInfo("Manticore", 113, Rarity.COMMON, mage.cards.m.Manticore.class));