public void CleanTrash(ActionDice dice) { if (dice.IsUsed == false) { var colony = (Colony)StateController.Instance.Locations.Find(l => l.GetType() == typeof(Colony)); colony.Clean(); dice.Use(); } else { throw new InvalidActionException(); } }
public Card Search(ActionDice die) { var canSearch = die.Value >= AttackAbility; Card card = null; if (canSearch) { card = CurrentLocation.SearchCard(); die.Use(); } else { throw new InvalidActionException(); } return(card); }
public void Attack(ActionDice die) { var canAttack = die.Value >= AttackAbility; if (canAttack && CurrentLocation.OutsideArea.Zombies > 0) { die.Use(); CurrentLocation.RemoveImage(CurrentLocation.ZombieImage); StateController.Instance.RollExposureDice(this); if (Health <= 0) { CanMove = true; Move(StateController.Instance.Locations.Find(l => l.Name == "Graveyard")); } } else { throw new InvalidActionException(); } }