using System; using RobotAndDonkey.Game.Cards; using RobotAndDonkey.Game.Data; using RobotAndDonkey.Game.GameState; using RobotAndDonkey.Game.Modifiers; namespace RobotAndDonkey.Game.Robots; public record Courier : Robot { protected override Courier CreateInstance() => new(this); public Courier(MatchParameters matchParameters) : base(ERobotType.Courier, [ ECard.Move, ECard.Move, ECard.Move, ECard.Move, ECard.Move, ECard.TurnRight, ECard.TurnRight, ECard.TurnRight, ECard.TurnRight, ECard.TurnLeft, ECard.TurnLeft, ECard.TurnLeft, ECard.TurnLeft, ECard.Interact, ECard.Interact, ECard.Interact, ECard.Interact, ECard.NoOp, ECard.NoOp, ECard.NoOp, ], 5) { var currency = CreateCurrency(matchParameters); Currency = currency with { MaxCarry = currency.MaxCarry + 1, TapeLength = Math.Max(0, currency.TapeLength - 1) }; AddModifier(new CourierOverspillModifier(), []); } }