public void PutOnBottomOfLibrary(Card card) { if (card.Is().Token) { PutCardToExile(card); return; } _library.PutOnBottom(card); }
public void PutCardToHand(Card card) { if (card.Is().Token) { PutCardToExile(card); return; } _hand.Add(card); }
public static int CalculatePermanentScore(Card permanent) { var score = 0; if (permanent.OverrideScore.Battlefield.HasValue) return permanent.OverrideScore.Battlefield.Value; if (permanent.Level > 0) score += 10 * permanent.Level.Value; if (permanent.ManaCost != null) { //score += CalculatePermanentScoreFromManaCost(permanent); if (permanent.Is().Creature) { score += (permanent.Power.Value * 10 + permanent.Toughness.Value * 3); if (permanent.HasSummoningSickness) score -= 1; } } else if (permanent.Is().Creature) { score += CalculatePermanentScoreFromPowerToughness(permanent.Power.Value, permanent.Toughness.Value); } else if (permanent.Is().Land) { score += GetLandOnBattlefieldScore(permanent); if (!permanent.Is().BasicLand) score += 10; } return score; }
public void PutCardToGraveyard(Card card) { if (card.Is().Token) { PutCardToExile(card); return; } _graveyard.AddToEnd(card); }
public static int CalculateTapPenalty(Card card, TurnInfo turnInfo) { if (card.Is().Land) { if (card.Controller.IsActive) { if (turnInfo.Step == Step.Upkeep) return 10; return 2; } } return 1; }