public (IAction[], State.Player) Perform(State.Player player, State.Player active, State.IProvinces provinces) { if (player == active && player.Id == Debtor) { if (Debt > settings.DebtLimit) { return(Array.Empty <IAction>(), player.Pay(player.Money)); } return(new[] { new Loan(Debtor, (int)Math.Ceiling(Debt * (1 + settings.Interest)), settings) }, player); } return(new[] { this }, player); }
public (IAction[], State.Player) Perform(State.Player player, State.IProvinces provinces) { return(System.Array.Empty <IAction>(), player.Id == Player ? player.Pay(Amount) : player.Id == Recipient ? player.GainMoney(Amount) : player); }
public (IAction[], State.Player) Perform(State.Player player, State.IProvinces provinces) { return(player.Id == Player ? (new[] { new Actions.Reinforcement(Land, Army) }, player.Pay(Army.Soldiers.Price)) : (System.Array.Empty <IAction>(), player)); }
public (IAction[], State.Player) Perform(State.Player player, State.IProvinces provinces) { return(System.Array.Empty <IAction>(), player.Id == Debtor ? player.Pay(Amount) : player); }