From a40f7cdde702ea4ac0b85bdf52f9293c93fd002c Mon Sep 17 00:00:00 2001 From: xCrystal Date: Sun, 31 Dec 2023 13:39:00 +0100 Subject: [PATCH] Implement Waterfall technique (#34) --- constants/map_constants.asm | 2 +- constants/technique_constants.asm | 2 ++ data/maps/attributes.asm | 4 +-- data/tilesets/board_debug_2_collision.asm | 10 ++++---- data/tilesets/board_debug_2_metatiles.bin | 2 +- engine/events/overworld.asm | 31 ++++++++++++++++------- engine/overworld/events.asm | 16 ++++++++++++ engine/overworld/player_movement.asm | 9 ++++++- maps/DebugLevel2_Map1.asm | 2 +- maps/DebugLevel2_Map2.asm | 18 ++++++++----- maps/DebugLevel2_Map2.blk | 2 +- 11 files changed, 71 insertions(+), 27 deletions(-) diff --git a/constants/map_constants.asm b/constants/map_constants.asm index dc6ce31c1..e66f467e5 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -51,7 +51,7 @@ if DEF(_DEBUG) newgroup DEBUGLEVEL_2 map_const DEBUGLEVEL_2_MAP_1, 15, 10 ; 1 - map_const DEBUGLEVEL_2_MAP_2, 5, 5 ; 2 + map_const DEBUGLEVEL_2_MAP_2, 5, 8 ; 2 endgroup newgroup DEBUGLEVEL_3 diff --git a/constants/technique_constants.asm b/constants/technique_constants.asm index 5a014f926..ac1522d99 100755 --- a/constants/technique_constants.asm +++ b/constants/technique_constants.asm @@ -4,9 +4,11 @@ const TECHNIQUE_FLASH_F const TECHNIQUE_SURF_F const TECHNIQUE_ROCK_SMASH_F + const TECHNIQUE_WATERFALL_F DEF NUM_TECHNIQUES EQU const_value DEF TECHNIQUE_CUT EQU 1 << TECHNIQUE_CUT_F DEF TECHNIQUE_FLASH EQU 1 << TECHNIQUE_FLASH_F DEF TECHNIQUE_SURF EQU 1 << TECHNIQUE_SURF_F DEF TECHNIQUE_ROCK_SMASH EQU 1 << TECHNIQUE_ROCK_SMASH_F +DEF TECHNIQUE_WATERFALL EQU 1 << TECHNIQUE_WATERFALL_F diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 4f34b4c95..adb046c73 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -112,10 +112,10 @@ if DEF(_DEBUG) connection north, DebugLevel1_Map1, DEBUGLEVEL_1_MAP_1, 0 map_attributes DebugLevel2_Map1, DEBUGLEVEL_2_MAP_1, $00, WEST - connection west, DebugLevel2_Map2, DEBUGLEVEL_2_MAP_2, 3 + connection west, DebugLevel2_Map2, DEBUGLEVEL_2_MAP_2, 0 map_attributes DebugLevel2_Map2, DEBUGLEVEL_2_MAP_2, $00, EAST - connection east, DebugLevel2_Map1, DEBUGLEVEL_2_MAP_1, -3 + connection east, DebugLevel2_Map1, DEBUGLEVEL_2_MAP_1, 0 map_attributes DebugLevel3_Map1, DEBUGLEVEL_3_MAP_1, $00, 0 diff --git a/data/tilesets/board_debug_2_collision.asm b/data/tilesets/board_debug_2_collision.asm index 4f4eb33fd..b4888aad5 100755 --- a/data/tilesets/board_debug_2_collision.asm +++ b/data/tilesets/board_debug_2_collision.asm @@ -130,7 +130,7 @@ tilecoll BLUE_SPACE, FLOOR, WARP_CARPET_DOWN, FLOOR ; 81 tilecoll BLUE_SPACE, FLOOR, FLOOR, FLOOR ; 82 tilecoll BLUE_SPACE, FLOOR, FLOOR, FLOOR ; 83 - tilecoll BLUE_SPACE, FLOOR, FLOOR, FLOOR ; 84 + tilecoll BLUE_SPACE, WATER, WATER, WATER ; 84 tilecoll BLUE_SPACE, FLOOR, FLOOR, FLOOR ; 85 tilecoll BLUE_SPACE, FLOOR, FLOOR, FLOOR ; 86 tilecoll BLUE_SPACE, FLOOR, FLOOR, FLOOR ; 87 @@ -162,7 +162,7 @@ tilecoll POKEMON_SPACE, FLOOR, WARP_CARPET_DOWN, FLOOR ; a1 tilecoll POKEMON_SPACE, FLOOR, FLOOR, FLOOR ; a2 tilecoll POKEMON_SPACE, FLOOR, FLOOR, FLOOR ; a3 - tilecoll POKEMON_SPACE, FLOOR, FLOOR, FLOOR ; a4 + tilecoll POKEMON_SPACE, WATER, WATER, WATER ; a4 tilecoll POKEMON_SPACE, FLOOR, FLOOR, FLOOR ; a5 tilecoll POKEMON_SPACE, FLOOR, FLOOR, FLOOR ; a6 tilecoll POKEMON_SPACE, FLOOR, FLOOR, FLOOR ; a7 @@ -194,7 +194,7 @@ tilecoll GREEN_SPACE, FLOOR, WARP_CARPET_DOWN, FLOOR ; c1 tilecoll ITEM_SPACE, FLOOR, FLOOR, FLOOR ; c2 tilecoll MINIGAME_SPACE, FLOOR, FLOOR, FLOOR ; c3 - tilecoll GREEN_SPACE, FLOOR, FLOOR, FLOOR ; c4 + tilecoll GREEN_SPACE, WATER, WATER, WATER ; c4 tilecoll GREEN_SPACE, FLOOR, FLOOR, FLOOR ; c5 tilecoll ITEM_SPACE, FLOOR, FLOOR, FLOOR ; c6 tilecoll MINIGAME_SPACE, FLOOR, FLOOR, FLOOR ; c7 @@ -205,7 +205,7 @@ tilecoll GREEN_SPACE, FLOOR, FLOOR, FLOOR ; cc tilecoll GREEN_SPACE, FLOOR, FLOOR, FLOOR ; cd tilecoll ITEM_SPACE, FLOOR, FLOOR, FLOOR ; ce - tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; cf + tilecoll MINIGAME_SPACE, FLOOR, FLOOR, FLOOR ; cf tilecoll END_SPACE, FLOOR, FLOOR, FLOOR ; d0 tilecoll GREEN_SPACE, FLOOR, FLOOR, FLOOR ; d1 tilecoll ITEM_SPACE, FLOOR, FLOOR, FLOOR ; d2 @@ -226,7 +226,7 @@ tilecoll GREY_SPACE, FLOOR, WARP_CARPET_DOWN, FLOOR ; e1 tilecoll GREY_SPACE, FLOOR, FLOOR, FLOOR ; e2 tilecoll GREY_SPACE, FLOOR, FLOOR, FLOOR ; e3 - tilecoll GREY_SPACE, FLOOR, FLOOR, FLOOR ; e4 + tilecoll GREY_SPACE, WATER, WATER, WATER ; e4 tilecoll GREY_SPACE, FLOOR, FLOOR, FLOOR ; e5 tilecoll GREY_SPACE, FLOOR, FLOOR, FLOOR ; e6 tilecoll GREY_SPACE, FLOOR, FLOOR, FLOOR ; e7 diff --git a/data/tilesets/board_debug_2_metatiles.bin b/data/tilesets/board_debug_2_metatiles.bin index fb65e5162..96b1d737a 100755 --- a/data/tilesets/board_debug_2_metatiles.bin +++ b/data/tilesets/board_debug_2_metatiles.bin @@ -3,4 +3,4 @@ &  &&67&&67&&&&$$$$*+:;$$$$"#23     ()89       !01     $$&&&&    @@@@@@@@@@@@@@@@%&&&%&&&%&&&%&&&&&&&&&&&&&&&&&&&&&&'&&&'&&&'&&&'67&&67&&$$%&&'%' &&&&&&&&  & 67'67&'&&&&&&&&&&&&%&&&&&&&&&&'&&&  -&&&$$()89IIIIJJJJNO^_JJJJNO^_JJZZZZYYYYZZZZYYYYJJZZZZYYYYLL;;;;====;;;;====;;;KLLL===LLLM;;;KLLL===LLLM\LLL===LLL];;;LLLLLLLL====;;;;LL>?E>?>?>?>?>?>?>?>?>?E>?>?>?>?>?>?>?>?E>?>?>?>?>?>?>?>?>?E>?;;<<;;<<;;<<;;<<<<==<<==<<==<<==<+,,+;<<;;<<;;<<,,-<<<=-<<==<<==;;<<;;<<;KLLKLLL<<==<<==LLM=LLLM<<<<<<<?E>?>?>?>?>?>?>?>?>?E>?>?>?>?>?>?>?>?E>?>?>?>?>?>?>?>?>?E>?;;<<;;<<;;<<;;<<<<==<<==<<==<<==<+,,+;<<;;<<;;<<,,-<<<=-<<==<<==;;<<;;<<;KLLKLLL<<==<<==LLM=LLLM<<<<<<<