From 2b788f517c1a4602610736239b8896cbf6f5cecb Mon Sep 17 00:00:00 2001 From: Kistaro Windrider Date: Sat, 15 Apr 2023 19:36:53 -0700 Subject: [PATCH] Add action counter spoofer. --- cardsim/player.go | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/cardsim/player.go b/cardsim/player.go index 041635c..40dc85b 100644 --- a/cardsim/player.go +++ b/cardsim/player.go @@ -178,6 +178,51 @@ func InitPlayer[C StatsCollection](stats C) *Player[C] { DebugActions: []Card[C]{ &DeckDebugger[C]{}, &PanelCard[C]{Panel: RuleDumper[C]{}}, + &BasicCard[C]{ + CardTitle: MsgStr("Adjust Action Counter"), + CardText: MsgStr("Change the number of actions you have available this turn."), + CardOptions: []CardOption[C]{ + &BasicOption[C]{ + Text: MsgStr("Get an extra action."), + Effect: func(p *Player[C]) error { + p.ActionsRemaining += 2 // counteract the one this costs + return nil + }, + Output: MsgStr("Gotten."), + }, + &BasicOption[C]{ + Text: MsgStr("Waste an action."), + Effect: func(p *Player[C]) error { + return nil + }, + Output: MsgStr("Wasted."), + }, + &BasicOption[C]{ + Text: MsgStr("Get a thousand actions."), + Effect: func(p *Player[C]) error { + p.ActionsRemaining = 1000 + return nil + }, + Output: MsgStr("ActionsRemaining set to 1000."), + }, + &BasicOption[C]{ + Text: MsgStr("Go to exactly 1 action remaining."), + Effect: func(p *Player[C]) error { + p.ActionsRemaining = 1 + return nil + }, + Output: MsgStr("ActionsRemaining set to 1."), + }, + &BasicOption[C]{ + Text: MsgStr("End the turn. (Set actions to 0.)"), + Effect: func(p *Player[C]) error { + p.ActionsRemaining = 0 + return nil + }, + Output: MsgStr("ActionsRemaining zeroed out."), + }, + }, + }, }, } }