diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-12-08 21:12:57 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-08-20 15:57:08 +0200 |
| commit | c7de0807d40b4c51c281c9fe8f7dd75547bb02cd (patch) | |
| tree | 5eee5cd9366fd336ad2739ba8d9c47ab1409269d | |
| parent | 0bf17a624f9aebd7881e40baede3bfe8788879c4 (diff) | |
| download | muhqs-game-c7de0807d40b4c51c281c9fe8f7dd75547bb02cd.tar.gz muhqs-game-c7de0807d40b4c51c281c9fe8f7dd75547bb02cd.zip | |
game: support actions without cost func
| -rw-r--r-- | go/game/action.go | 13 |
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 |
