aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-12-08 21:12:57 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2025-08-20 15:57:08 +0200
commitc7de0807d40b4c51c281c9fe8f7dd75547bb02cd (patch)
tree5eee5cd9366fd336ad2739ba8d9c47ab1409269d
parent0bf17a624f9aebd7881e40baede3bfe8788879c4 (diff)
downloadmuhqs-game-c7de0807d40b4c51c281c9fe8f7dd75547bb02cd.tar.gz
muhqs-game-c7de0807d40b4c51c281c9fe8f7dd75547bb02cd.zip
game: support actions without cost func
-rw-r--r--go/game/action.go13
1 files changed, 9 insertions, 4 deletions
diff --git a/go/game/action.go b/go/game/action.go
index a8b27314..0c372ab8 100644
--- a/go/game/action.go
+++ b/go/game/action.go
@@ -85,10 +85,15 @@ func (a *ActionBase) Controller() *Player {
return nil
}
-func (a *ActionBase) resolve(s *State) { a.resolveFunc(s) }
-func (a *ActionBase) PayCosts(s *State) bool { return a.costFunc(s) }
-func (a *ActionBase) Targets() *Targets { return a.targets }
-func (a *ActionBase) Target() *Target { return a.targets.ts[0] }
+func (a *ActionBase) resolve(s *State) { a.resolveFunc(s) }
+func (a *ActionBase) PayCosts(s *State) bool {
+ if a.costFunc != nil {
+ return a.costFunc(s)
+ }
+ return true
+}
+func (a *ActionBase) Targets() *Targets { return a.targets }
+func (a *ActionBase) Target() *Target { return a.targets.ts[0] }
func (a *ActionBase) CheckTargets(s *State) error {
if a.targets == nil {
return nil