Example #1
0
 public static int Cmc(this ManaCostAtom shard)
 {
     if (shard.HasFlag(ManaCostAtom.IsX))
     {
         return(0);
     }
     return(shard.HasFlag(ManaCostAtom.Or2Mana) ? 2 : 1);
 }
Example #2
0
        public static float GetComparableCost(this ManaCostAtom shard)
        {
            if (shard.HasFlag(ManaCostAtom.IsX))
            {
                return(0.0001f);
            }

            float cost = shard.HasFlag(ManaCostAtom.Or2Mana) ? 2 : 1;

            if (shard.HasFlag(ManaCostAtom.White))
            {
                cost += 0.0005f;
            }
            if (shard.HasFlag(ManaCostAtom.Blue))
            {
                cost += 0.0020f;
            }
            if (shard.HasFlag(ManaCostAtom.Black))
            {
                cost += 0.0080f;
            }
            if (shard.HasFlag(ManaCostAtom.Red))
            {
                cost += 0.0320f;
            }
            if (shard.HasFlag(ManaCostAtom.Green))
            {
                cost += 0.1280f;
            }
            if (shard.HasFlag(ManaCostAtom.Phyrexian))
            {
                cost += 0.00003f;
            }

            return(cost);
        }