diff --git a/js/format-c2g.js b/js/format-c2g.js index 4a4bdf5..3f5cc8c 100644 --- a/js/format-c2g.js +++ b/js/format-c2g.js @@ -825,6 +825,10 @@ const TILE_ENCODING = { has_next: true, is_extension: true, }, + 0xd8: { + name: 'dash_floor', + is_extension: true, + }, 0xe0: { name: 'gift_bow', has_next: true, diff --git a/js/main-editor.js b/js/main-editor.js index 08b03f9..10d13a2 100644 --- a/js/main-editor.js +++ b/js/main-editor.js @@ -1598,6 +1598,7 @@ const EDITOR_PALETTE = [{ 'gate_yellow', 'gate_green', 'sand', + 'dash_floor', 'spikes', 'cracked_ice', 'hole', @@ -2247,6 +2248,10 @@ const EDITOR_TILE_DESCRIPTIONS = { name: "Item Lock", desc: "When placed atop an item, you must have that item to enter the tile. When you do, pay the item and destroy the item lock. Also can be placed on top of a bonus, and you must pay that amount of bonus to enter.", }, + dash_floor: { + name: "Dash Floor", + desc: "Anything walking on it moves at double speed.", + }, }; const SPECIAL_PALETTE_ENTRIES = { diff --git a/js/tileset.js b/js/tileset.js index 9abe4b6..bd9a2b6 100644 --- a/js/tileset.js +++ b/js/tileset.js @@ -1072,6 +1072,7 @@ export const LL_TILESET_LAYOUT = Object.assign({}, CC2_TILESET_LAYOUT, { spikes: [5, 40], boulder: [8, 40], item_lock: [12, 43], + dash_floor: [[0, 44], [1, 44], [2, 44], [3, 44], [4, 44], [5, 44], [6, 44], [7, 44]], }); export const TILESET_LAYOUTS = { diff --git a/js/tiletypes.js b/js/tiletypes.js index f2dc064..ceb8ac5 100644 --- a/js/tiletypes.js +++ b/js/tiletypes.js @@ -710,6 +710,10 @@ const TILE_TYPES = { layer: LAYERS.terrain, blocks_collision: COLLISION.block_cc1 | COLLISION.block_cc2, speed_factor: 0.5, + }, + dash_floor: { + layer: LAYERS.terrain, + speed_factor: 2, }, spikes: { layer: LAYERS.terrain, diff --git a/tileset-lexy.png b/tileset-lexy.png index 8083fcc..9c9f4f8 100644 Binary files a/tileset-lexy.png and b/tileset-lexy.png differ