From 7b5206b4b2f98e164667d9124045f4f18b7470e8 Mon Sep 17 00:00:00 2001 From: Juliana Sims Date: Sat, 25 May 2024 13:53:41 -0400 Subject: [PATCH] Allow bombs to be activated by switches --- modules/game/actors.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/game/actors.scm b/modules/game/actors.scm index 8fe0615..49c0022 100644 --- a/modules/game/actors.scm +++ b/modules/game/actors.scm @@ -357,6 +357,8 @@ (define alive? (spawn ^cell #t)) (define countdown (spawn ^cell -1)) (define pushed? (spawn ^cell)) + (define* (light-fuse #:optional (time 2)) + ($ countdown time)) (match-lambda* (('type) 'bomb) (('position) ($ position)) @@ -392,10 +394,12 @@ (('update-wire-state grid-info neighbor-grid) (when (and (< ($ countdown) 0) (grid-electrified? neighbor-grid)) - ($ countdown 2))) + (light-fuse))) (('alive?) ($ alive?)) (('describe) `(bomb ,($ position) ,($ countdown))) - (('explode) ($ countdown 2)) + (('explode) (light-fuse 1)) + (('activate grid-info) (light-fuse)) + (('deactivate grid-info) #f) (('collide other offset grid-info) (when (eq? ($ other 'type) 'player) (match ($ position)