diff --git a/js/format-c2g.js b/js/format-c2g.js index 9916faa..683bdf1 100644 --- a/js/format-c2g.js +++ b/js/format-c2g.js @@ -906,10 +906,12 @@ const TILE_ENCODING = { }, 0xef: { name: 'turntable_cw', + modifier: modifier_wire, is_extension: true, }, 0xf0: { name: 'turntable_ccw', + modifier: modifier_wire, is_extension: true, }, }; diff --git a/js/main-editor.js b/js/main-editor.js index d9d90c2..8610d2b 100644 --- a/js/main-editor.js +++ b/js/main-editor.js @@ -1072,7 +1072,7 @@ class WireOperation extends DrawOperation { // TODO probably a better way to do this if (! tile) continue; - if (['floor', 'steel', 'button_pink', 'button_black', 'teleport_blue', 'teleport_red', 'light_switch_on', 'light_switch_off', 'circuit_block', 'teleport_blue_exit'].indexOf(tile.type.name) < 0) + if (['floor', 'steel', 'button_pink', 'button_black', 'teleport_blue', 'teleport_red', 'light_switch_on', 'light_switch_off', 'circuit_block', 'teleport_blue_exit', 'turntable_cw', 'turntable_ccw'].indexOf(tile.type.name) < 0) continue; tile = {...tile}; diff --git a/js/tileset.js b/js/tileset.js index 93849de..c2e25ef 100644 --- a/js/tileset.js +++ b/js/tileset.js @@ -1047,14 +1047,22 @@ export const LL_TILESET_LAYOUT = Object.assign({}, CC2_TILESET_LAYOUT, { halo: [5, 43], fire_sticks: [6, 43], turntable_cw: { - __special__: 'visual-state', - active: [7, 43], - inactive: [9, 43], + __special__: 'wires', + base: [0, 2], + wired: { + __special__: 'visual-state', + active: [7, 43], + inactive: [9, 43], + } }, turntable_ccw: { - __special__: 'visual-state', - active: [8, 43], - inactive: [10, 43], + __special__: 'wires', + base: [0, 2], + wired: { + __special__: 'visual-state', + active: [8, 43], + inactive: [10, 43], + } }, electrified_floor: { __special__: 'visual-state', diff --git a/js/tiletypes.js b/js/tiletypes.js index 59df6b3..fb12f0d 100644 --- a/js/tiletypes.js +++ b/js/tiletypes.js @@ -747,8 +747,7 @@ const TILE_TYPES = { }, turntable_cw: { layer: LAYERS.terrain, - //note: should be wireable in exactly the same way as a transmogrifier - wire_propagation_mode: 'none', + wire_propagation_mode: 'all', on_begin(me, level) { // TODO if wire destruction is ever allowed, this will need to update somehow me.is_wired = level.is_tile_wired(me, false); @@ -778,8 +777,7 @@ const TILE_TYPES = { }, turntable_ccw: { layer: LAYERS.terrain, - //note: should be wireable in exactly the same way as a transmogrifier - wire_propagation_mode: 'none', + wire_propagation_mode: 'all', on_begin(me, level) { // TODO if wire destruction is ever allowed, this will need to update somehow me.is_wired = level.is_tile_wired(me, false); diff --git a/tileset-lexy.png b/tileset-lexy.png index 9c9f4f8..96a0a66 100644 Binary files a/tileset-lexy.png and b/tileset-lexy.png differ