aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-02-08 13:59:57 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2023-02-08 13:59:57 +0100
commitbd558df11dbe60c0bd310b95b26bf17ba06cab35 (patch)
tree7d0b78c344f0d2525abb81265be738054ea87bb8
parent60ca4cd6a047a966201e61b98acb43e3121c5350 (diff)
downloadmuhqs-game-bd558df11dbe60c0bd310b95b26bf17ba06cab35.tar.gz
muhqs-game-bd558df11dbe60c0bd310b95b26bf17ba06cab35.zip
remove card from hand when declaring a play action
-rw-r--r--go/game/action.go2
-rw-r--r--go/game/state.go3
2 files changed, 3 insertions, 2 deletions
diff --git a/go/game/action.go b/go/game/action.go
index a283bbfb..5002f58a 100644
--- a/go/game/action.go
+++ b/go/game/action.go
@@ -115,8 +115,6 @@ func NewPlayAction(p *Player, c *Card, args ...interface{}) *PlayAction {
a.targets = newTargets(s, []string{}, a)
}
- p.Hand.RemoveCard(c)
-
a.resolveFunc = func(s *State) {
s.resolvePlay(p, c, a.targets)
}
diff --git a/go/game/state.go b/go/game/state.go
index 7a54ddc0..98ac9c31 100644
--- a/go/game/state.go
+++ b/go/game/state.go
@@ -243,6 +243,9 @@ func (s *State) DeclareAction(a Action) {
}
if err == nil {
+ if pa, ok := a.(*PlayAction); ok {
+ pa.Source().(*Player).Hand.RemoveCard(pa.Card)
+ }
s.pushAction(a)
}