From fd876724317796623c50df1c574e5d78d11105e2 Mon Sep 17 00:00:00 2001
From: Daniel Bomar <dbdaniel42@gmail.com>
Date: Mon, 5 Jul 2021 10:18:33 -0500
Subject: [PATCH] [AFR] Implemented Treasure Vault

---
 Mage.Sets/src/mage/cards/t/TreasureVault.java | 48 +++++++++++++++++++
 .../sets/AdventuresInTheForgottenRealms.java  |  1 +
 2 files changed, 49 insertions(+)
 create mode 100644 Mage.Sets/src/mage/cards/t/TreasureVault.java

diff --git a/Mage.Sets/src/mage/cards/t/TreasureVault.java b/Mage.Sets/src/mage/cards/t/TreasureVault.java
new file mode 100644
index 0000000000..d0f6bf2893
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/t/TreasureVault.java
@@ -0,0 +1,48 @@
+package mage.cards.t;
+
+import java.util.UUID;
+
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.SacrificeSourceCost;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.dynamicvalue.common.ManacostVariableValue;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.mana.ColorlessManaAbility;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.game.permanent.token.TreasureToken;
+
+/**
+ *
+ * @author weirddan455
+ */
+public final class TreasureVault extends CardImpl {
+
+    public TreasureVault(UUID ownerId, CardSetInfo setInfo) {
+        super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.LAND}, "");
+
+        // {T}: Add {C}.
+        this.addAbility(new ColorlessManaAbility());
+
+        // {X}{X}, {T}, Sacrifice Treasure Vault: Create X Treasure tokens.
+        Ability ability = new SimpleActivatedAbility(
+                new CreateTokenEffect(new TreasureToken(), ManacostVariableValue.REGULAR),
+                new ManaCostsImpl("{X}{X}")
+        );
+        ability.addCost(new TapSourceCost());
+        ability.addCost(new SacrificeSourceCost());
+        this.addAbility(ability);
+    }
+
+    private TreasureVault(final TreasureVault card) {
+        super(card);
+    }
+
+    @Override
+    public TreasureVault copy() {
+        return new TreasureVault(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java
index d192e88de8..7a5f1e7b24 100644
--- a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java
+++ b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java
@@ -139,6 +139,7 @@ public final class AdventuresInTheForgottenRealms extends ExpansionSet {
         cards.add(new SetCardInfo("The Deck of Many Things", 241, Rarity.MYTHIC, mage.cards.t.TheDeckOfManyThings.class));
         cards.add(new SetCardInfo("Tiamat", 235, Rarity.MYTHIC, mage.cards.t.Tiamat.class));
         cards.add(new SetCardInfo("Treasure Chest", 252, Rarity.RARE, mage.cards.t.TreasureChest.class));
+        cards.add(new SetCardInfo("Treasure Vault", 261, Rarity.RARE, mage.cards.t.TreasureVault.class));
         cards.add(new SetCardInfo("Trelasarra Moon Dancer", 236, Rarity.UNCOMMON, mage.cards.t.TrelasarraMoonDancer.class));
         cards.add(new SetCardInfo("Varis, Silverymoon Ranger", 209, Rarity.RARE, mage.cards.v.VarisSilverymoonRanger.class));
         cards.add(new SetCardInfo("Veteran Dungeoneer", 40, Rarity.COMMON, mage.cards.v.VeteranDungeoneer.class));