diff --git a/Mage.Sets/src/mage/cards/m/MoxLotus.java b/Mage.Sets/src/mage/cards/m/MoxLotus.java
new file mode 100644
index 0000000000..ced2a724b6
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/m/MoxLotus.java
@@ -0,0 +1,70 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.cards.m;
+
+import java.util.UUID;
+import mage.Mana;
+import mage.abilities.Ability;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.common.AddManaOfAnyColorEffect;
+import mage.abilities.mana.SimpleManaAbility;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.constants.Zone;
+
+/**
+ *
+ * @author spjspj/psjpsj
+ */
+public class MoxLotus extends CardImpl {
+
+    public MoxLotus(UUID ownerId, CardSetInfo setInfo) {
+        super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{15}");
+
+        // {t}: Add infinity (or 1*10^9 to account for a potential mana reflection) to your mana pool.        
+        this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(1000000000), new TapSourceCost()));
+
+        // {100}: Add one mana of any color to your mana pool.
+        Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(1), new ManaCostsImpl("{100}"));
+        this.addAbility(ability);
+
+        // You don't lose life due to mana burn.
+        // Situation normal??
+    }
+
+    public MoxLotus(final MoxLotus card) {
+        super(card);
+    }
+
+    @Override
+    public MoxLotus copy() {
+        return new MoxLotus(this);
+    }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/Unhinged.java b/Mage.Sets/src/mage/sets/Unhinged.java
index 222281febe..b4e4aedb0d 100644
--- a/Mage.Sets/src/mage/sets/Unhinged.java
+++ b/Mage.Sets/src/mage/sets/Unhinged.java
@@ -20,10 +20,12 @@ public class Unhinged extends ExpansionSet {
 
     private Unhinged() {
         super("Unhinged", "UNH", ExpansionSet.buildDate(2004, 11, 20), SetType.JOKESET);
+
         cards.add(new SetCardInfo("Forest", 140, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(FrameStyle.UNH_FULL_ART_BASIC, false)));
         cards.add(new SetCardInfo("Island", 137, Rarity.LAND, mage.cards.basiclands.Island.class, new CardGraphicInfo(FrameStyle.UNH_FULL_ART_BASIC, false)));
         cards.add(new SetCardInfo("Johnny, Combo Player", 35, Rarity.RARE, mage.cards.j.JohnnyComboPlayer.class));
         cards.add(new SetCardInfo("Mountain", 139, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(FrameStyle.UNH_FULL_ART_BASIC, false)));
+        cards.add(new SetCardInfo("Mox Lotus", 124, Rarity.RARE, mage.cards.m.MoxLotus.class));
         cards.add(new SetCardInfo("Plains", 136, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(FrameStyle.UNH_FULL_ART_BASIC, false)));
         cards.add(new SetCardInfo("Swamp", 138, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(FrameStyle.UNH_FULL_ART_BASIC, false)));
     }
diff --git a/Mage/src/main/java/mage/Mana.java b/Mage/src/main/java/mage/Mana.java
index 0e9aaf2825..32e57e8d45 100644
--- a/Mage/src/main/java/mage/Mana.java
+++ b/Mage/src/main/java/mage/Mana.java
@@ -518,25 +518,46 @@ public class Mana implements Comparable<Mana>, Serializable, Copyable<Mana> {
         if (generic > 0) {
             sbMana.append('{').append(Integer.toString(generic)).append('}');
         }
-        for (int i = 0; i < colorless; i++) {
+        if (colorless >= 20) { 
+            sbMana.append(Integer.toString(colorless)).append("{C}");
+        }
+        if (white >= 20) { 
+            sbMana.append(Integer.toString(white)).append("{W}");
+        }
+        if (blue >= 20) { 
+            sbMana.append(Integer.toString(blue)).append("{U}");
+        }
+        if (black >= 20) { 
+            sbMana.append(Integer.toString(black)).append("{B}");
+        }
+        if (red >= 20) { 
+            sbMana.append(Integer.toString(red)).append("{R}");
+        }
+        if (green >= 20) { 
+            sbMana.append(Integer.toString(green)).append("{G}");
+        }
+        if (any >= 20) { 
+            sbMana.append(Integer.toString(any)).append("{Any}");
+        }
+        for (int i = 0; i < colorless && colorless < 20; i++) {
             sbMana.append("{C}");
         }
-        for (int i = 0; i < white; i++) {
+        for (int i = 0; i < white && white < 20; i++) {
             sbMana.append("{W}");
         }
-        for (int i = 0; i < blue; i++) {
+        for (int i = 0; i < blue && blue < 20; i++) {
             sbMana.append("{U}");
         }
-        for (int i = 0; i < black; i++) {
+        for (int i = 0; i < black && black < 20; i++) {
             sbMana.append("{B}");
         }
-        for (int i = 0; i < red; i++) {
+        for (int i = 0; i < red && red < 20; i++) {
             sbMana.append("{R}");
         }
-        for (int i = 0; i < green; i++) {
+        for (int i = 0; i < green && green < 20; i++) {
             sbMana.append("{G}");
         }
-        for (int i = 0; i < any; i++) {
+        for (int i = 0; i < any && any < 20; i++) {
             sbMana.append("{Any}");
         }
         return sbMana.toString();
diff --git a/Mage/src/main/java/mage/abilities/mana/SimpleManaAbility.java b/Mage/src/main/java/mage/abilities/mana/SimpleManaAbility.java
index 093dedb048..0163abd7a6 100644
--- a/Mage/src/main/java/mage/abilities/mana/SimpleManaAbility.java
+++ b/Mage/src/main/java/mage/abilities/mana/SimpleManaAbility.java
@@ -53,7 +53,7 @@ public class SimpleManaAbility extends ActivatedManaAbilityImpl {
      * @param zone
      * @param effect
      * @param cost
-     * @param predictable set to false if definig the mana type or amount needs
+     * @param predictable set to false if defining the mana type or amount needs
      * to reveal information and can't be predicted
      */
     public SimpleManaAbility(Zone zone, ManaEffect effect, Cost cost, boolean predictable) {
diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt
index 5ffce6bc34..f17930b11c 100644
--- a/Utils/mtg-cards-data.txt
+++ b/Utils/mtg-cards-data.txt
@@ -33077,3 +33077,4 @@ Urza's Science Fair Project|Unglued|83|U|{6}|Artifact Creature - Construct|4|4|
 Snow Mercy|Happy Holidays|10|R|{2}{W}{W}|Snow Enchantment|||Whenever a creature deals damage to you, put a globe counter on it.${t},{untap},{t},{untap},{t}: Tap all creatures with globe counters on them.|
 Fruitcake Elemental|Happy Holidays|6|R|{1}{G}{G}|Creature - Elemental|7|7|Fruitcake Elemental is indestructible.$At the end of your turn, Fruitcake Elemental deals 7 damage to you.${3}: Target player gains control of Fruitcake Elemental.|
 Season's Beatings|Happy Holidays|9|R|{R}{R}{R}{R}|Sorcery|||Family gathering - Each creature target player controls deals damage equal to its power to another random creature that player controls.|
+Mox Lotus|Unhinged|124|R|{15}|Artifact|||{t}: Add infinity to your mana pool.${100}: Add one mana of any color to your mana pool.&You don't lose life due to mana burn.|