aboutsummaryrefslogtreecommitdiff
path: root/go/game/effect.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-08-22 11:56:46 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2025-08-22 11:56:46 +0200
commit0667db9e5a765cbd1eec90b63fb8cd0a6e0a2dc7 (patch)
tree155a8e692b6eed924e4b735bd8e1444cd08ba83d /go/game/effect.go
parent157a8601c10b06ab14a216372b0c06fc47f4de31 (diff)
downloadmuhqs-game-0667db9e5a765cbd1eec90b63fb8cd0a6e0a2dc7.tar.gz
muhqs-game-0667db9e5a765cbd1eec90b63fb8cd0a6e0a2dc7.zip
implement banner
Diffstat (limited to 'go/game/effect.go')
-rw-r--r--go/game/effect.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/go/game/effect.go b/go/game/effect.go
index 4d89eea5..184f2013 100644
--- a/go/game/effect.go
+++ b/go/game/effect.go
@@ -24,6 +24,21 @@ func (e *dynamicEffect) end(s *LocalState) {
e._end(s)
}
+func newCombinedEffect(effects []effect) *dynamicEffect {
+ return &dynamicEffect{
+ _apply: func(s *LocalState) {
+ for _, e := range effects {
+ e.apply(s)
+ }
+ },
+ _end: func(s *LocalState) {
+ for _, e := range effects {
+ e.end(s)
+ }
+ },
+ }
+}
+
func newAdjustmentEffect(adjust func(Permanent, int), u *Unit, delta int) effect {
apply := func(*LocalState) { adjust(u, delta) }
end := func(*LocalState) { adjust(u, -delta) }