From e0004fb840ff2547df14980ae4cec69b62ea493f Mon Sep 17 00:00:00 2001 From: Timothy Stiles Date: Tue, 16 Feb 2021 15:10:05 +1100 Subject: [PATCH] Implement Dash Floor Anything walking on it moves at double speed. --- js/format-c2g.js | 4 ++++ js/main-editor.js | 5 +++++ js/tileset.js | 1 + js/tiletypes.js | 4 ++++ tileset-lexy.png | Bin 178490 -> 180277 bytes 5 files changed, 14 insertions(+) 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 8083fcc5a2a08fe1a5bd83f0f4ab3378b9c5e362..9c9f4f81d02280137bfa6ac32b22df4f38970de4 100644 GIT binary patch delta 3162 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 delta 1361 zcmV-X1+MzFfD5|v3Xm5HfCvTv001v<{;Yu^wIKoJ{{p!lwFm+Zw0{*RvM3JUh8`Fh z1jUUD#c5oqfe~G}kXcPPgBXm^xRTk&2bgAB-=SYXU%;i{xbAs?*$Fnf6kQ40f=D|c zXujCLo|Bt%Z&js|t_16YBDwYFoZQ&vch0%@R`u_UiBK6KiqFFawysOul0KH9w+`hRzBj0FK+MlaE~!XJx2wySGWHv*T(???U=Gbf_E)QxK*N0wZ)+AZk9p2lFgQ8Sby5u+8X(XKqTHTp9)uw zTny)KpAJtR+z%($KJFi_hQ#N^!&l+oy{F;W=hua{7QsImY<#O;Z>ixT_8*a6KJ_Ua zx%gYSefmUraQ{hI`#65On>M@%y~*6;;pQmV^jjT+h1yZzwY!$U?K3q#KND>oEWzGn~9$XAFnO< z#3WVf_k@)Q|`rO+3RJLz}1n=|K@$cD7mHIv5hiUacmF?Rgp-%r(A`jj%yDxXG z2ma5ltSlkMv4C47+EppCIoKNgzu)2v0U!_v1%iQa)PKbjAFl+xNdEcJM(|Hw7@R-Y za`zcnl>VzEk3b{T2sXlKax5(x{$LQlJj_~(fITM+uVA~1>g=P1+vSmy z^!M;}5&g?nO8j9_`oG@$*4FHNmFrX4e_3KX@-Khad%fBGGM40zYq!3rtdBTLz%_x7 z*I$3R5I(%w4ex$fJ~#$c0lduL!UKWgv3_7bfq%i}->;5kpq5-V3aSKn;x7?PiBBp6 z7Wf9wzbXN_;ejIIEAkIT{Z}Qx6aQKEUzLE|@W3?sZz+@ESE&Mc6#y&L-o7dn*&J+* z{@-tj<^XigcSbVNy5a-Y4z_b*xoG~em9q!4^k0T5{?B(hBb9)<;t$piwu`>6!^W=F zXMYS|;vSFB6CfySx5xCJSGx(W6ZRPU<0Xb32*{s*Z61hOjF