public static int Cmc(this ManaCostAtom shard) { if (shard.HasFlag(ManaCostAtom.IsX)) { return(0); } return(shard.HasFlag(ManaCostAtom.Or2Mana) ? 2 : 1); }
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); }