From 1e69eda943c68ef8271dc422557badcde8a27909 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sun, 26 Feb 2023 10:58:48 +0100 Subject: reset an action's targets after broadcasting its resolution --- go/game/stack.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'go') diff --git a/go/game/stack.go b/go/game/stack.go index 60f041b3..5d71eae3 100644 --- a/go/game/stack.go +++ b/go/game/stack.go @@ -33,14 +33,16 @@ func (s *Stack) pop() { err := s.gameState.ValidateAction(a) if err == nil { a.resolve(s.gameState) - // Some action may be reused like full actions of permanents. - // Reset their target selection to allow possible reuse. - if t := a.Targets(); t != nil { - t.ClearSelections() - } } + log.Println("Resolved", a, err) s.gameState.broadcastNotification(newResolvedActionNotification(a, err)) + + // Some action may be reused like full actions of permanents. + // Reset their target selection to allow possible reuse. + if t := a.Targets(); err == nil && t != nil { + t.ClearSelections() + } } func (s *Stack) resolve() { -- cgit v1.2.3