From e60423e8c0cb54abc2c5538a1144b8c42635f23d Mon Sep 17 00:00:00 2001 From: Timothy Stiles Date: Tue, 16 Feb 2021 12:31:52 +1100 Subject: [PATCH] oh add_press_ready can happen before OR after on_begin, that's annoying I'll just have to make it so transmuting a trap to non-trap then back to trap might leave it in a weird amount-of-presses state if you do Shenanigans until I can think of a better solution --- js/tiletypes.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/js/tiletypes.js b/js/tiletypes.js index bb30545..8c41407 100644 --- a/js/tiletypes.js +++ b/js/tiletypes.js @@ -1489,11 +1489,13 @@ const TILE_TYPES = { trap: { layer: LAYERS.terrain, on_begin(me, level) { - level._set_tile_prop(me, 'presses', 0); + if (me.presses === undefined) { + level._set_tile_prop(me, 'presses', 0); + } }, add_press_ready(me, level, other) { // Same as below, but without ejection - level._set_tile_prop(me, 'presses', me.presses + 1); + level._set_tile_prop(me, 'presses', (me.presses ?? 0) + 1); }, // Lynx (not cc2): open traps immediately eject their contents on arrival, if possible add_press(me, level, is_wire = false) {