aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-07-24 17:35:20 -0400
committerFlorian Fischer <florian.fischer@muhq.space>2025-07-28 18:03:10 +0200
commit1f22de9e150283aa2d2ec19160258aa8685506cf (patch)
treea4845cd215115c90a9a278d2fd6eaaae09469781
parent50e861f2d500a230b874b0ecf0af846f78658cb1 (diff)
downloadmuhqs-game-1f22de9e150283aa2d2ec19160258aa8685506cf.tar.gz
muhqs-game-1f22de9e150283aa2d2ec19160258aa8685506cf.zip
reset an action's targets after resolving it
-rw-r--r--go/game/stack.go2
-rw-r--r--go/game/state.go2
2 files changed, 3 insertions, 1 deletions
diff --git a/go/game/stack.go b/go/game/stack.go
index 62783bf2..1ab4ccf8 100644
--- a/go/game/stack.go
+++ b/go/game/stack.go
@@ -32,7 +32,7 @@ func (s *Stack) pop() {
err := s.gameState.ValidateAction(a)
if err == nil {
- a.resolve(s.gameState)
+ s.gameState.ResolveAction(a)
}
log.Println("Resolved", a, err)
diff --git a/go/game/state.go b/go/game/state.go
index abad79a7..d16bd51d 100644
--- a/go/game/state.go
+++ b/go/game/state.go
@@ -885,6 +885,8 @@ func (s *LocalState) endOfTurn() []*Player {
// ResolveAction resolves an action without using the stack.
func (s *LocalState) ResolveAction(a Action) {
a.resolve(s)
+ // Clear selections to make the acrion reusable
+ a.Targets().ClearSelections()
}
func (s *LocalState) SetPhase(p PhaseType) {