using RobotAndDonkey.Game; using RobotAndDonkey.Game.Board; using RobotAndDonkey.Game.Cards; using RobotAndDonkey.Game.Cards.Glitches; using RobotAndDonkey.Game.Execution.Results; using RobotAndDonkey.Game.GameState; using RobotAndDonkey.Game.Intents; using RobotAndDonkey.Game.Modifiers; public abstract record ModifyInstructionPermanently(EModifierId Modifier, ECard Id) : GlitchCard(Id) { public override void CreateIntents(Cell? avatarCell, CoreLoop coreLoop, Guid requestId, List intents, List results) { var victim = coreLoop.PatchDeck[coreLoop.Random.Next(coreLoop.PatchDeck.Count)]; intents.Add(new ModifyCard(victim, Modifier, EModifierDuration.Permanent, ECardLocation.Deck)); } public override string ToolTip => $"Adds {Modifier} to one instruction, permanently."; public override Modifier[] TooltipModifiers => [ModifyCard.Create(Modifier, EModifierDuration.Permanent)]; }