diff options
author | libjet <libj3t@gmail.com> | 2019-12-09 22:20:03 +0000 |
---|---|---|
committer | libjet <libj3t@gmail.com> | 2019-12-09 22:20:03 +0000 |
commit | cc8fc02a9467307f1494946fd08b4e57d4ffdac5 (patch) | |
tree | fa37c8c82262b5a0d5db6d76d7edf9d78bbf25da | |
parent | cfe6e295746996e64198b2a4b0f0eba1420ca8eb (diff) |
Added engine/events stuff and cleaned up contest related code
-rw-r--r-- | constants.asm | 3 | ||||
-rwxr-xr-x | constants/collision_constants.asm | 129 | ||||
-rw-r--r-- | constants/item_constants.asm | 3 | ||||
-rw-r--r-- | constants/script_constants.asm | 2 | ||||
-rw-r--r-- | constants/tilemap_constants.asm | 6 | ||||
-rwxr-xr-x | data/collision_permissions.asm | 261 | ||||
-rwxr-xr-x | data/events/collision_stdscripts.asm | 13 | ||||
-rw-r--r-- | data/text/common_1.asm | 12 | ||||
-rw-r--r-- | data/text/common_2.asm | 6 | ||||
-rwxr-xr-x | engine/events/bug_contest/contest.asm | 41 | ||||
-rwxr-xr-x | engine/events/misc_scripts.asm | 44 | ||||
-rwxr-xr-x | engine/events/misc_scripts_2.asm | 48 | ||||
-rwxr-xr-x | engine/events/std_collision.asm | 29 | ||||
-rw-r--r-- | main.asm | 5 |
14 files changed, 559 insertions, 43 deletions
diff --git a/constants.asm b/constants.asm index 855e2940..d42cbbe4 100644 --- a/constants.asm +++ b/constants.asm @@ -9,6 +9,7 @@ INCLUDE "constants/pokemon_constants.asm" INCLUDE "constants/type_constants.asm" INCLUDE "constants/move_constants.asm" INCLUDE "constants/battle_constants.asm" +INCLUDE "constants/collision_constants.asm" INCLUDE "constants/map_constants.asm" INCLUDE "constants/map_setup_constants.asm" INCLUDE "constants/landmark_constants.asm" @@ -44,4 +45,4 @@ INCLUDE "constants/sprite_data_constants.asm" INCLUDE "constants/serial_constants.asm" INCLUDE "constants/menu_constants.asm" INCLUDE "constants/scene_constants.asm" -INCLUDE "constants/npc_trade_constants.asm" +INCLUDE "constants/npc_trade_constants.asm"
\ No newline at end of file diff --git a/constants/collision_constants.asm b/constants/collision_constants.asm new file mode 100755 index 00000000..f9724da6 --- /dev/null +++ b/constants/collision_constants.asm @@ -0,0 +1,129 @@ +; collision permissions (see data/collision_permissions.asm) +LANDTILE EQU $00 +WATERTILE EQU $01 +WALLTILE EQU $0f +TALK EQU $10 + +; collision data types (see data/tilesets/*_collision.asm) +; TileCollisionTable indexes (see data/collision_permissions.asm) +COLL_FLOOR EQU $00 +COLL_01 EQU $01 ; garbage +COLL_03 EQU $03 ; garbage +COLL_04 EQU $04 ; garbage +COLL_WALL EQU $07 +COLL_CUT_08 EQU $08 ; unused +COLL_TALL_GRASS_10 EQU $10 ; unused +COLL_CUT_TREE EQU $12 +COLL_LONG_GRASS EQU $14 +COLL_HEADBUTT_TREE EQU $15 +COLL_TALL_GRASS EQU $18 +COLL_CUT_TREE_1A EQU $1a ; unused +COLL_LONG_GRASS_1C EQU $1c ; unused +COLL_HEADBUTT_TREE_1D EQU $1d ; unused +COLL_WATER_21 EQU $21 ; ??? +COLL_ICE EQU $23 +COLL_WHIRLPOOL EQU $24 +COLL_BUOY EQU $27 +COLL_CUT_28 EQU $28 ; garbage +COLL_WATER EQU $29 +COLL_ICE_2B EQU $2b ; unused +COLL_WHIRLPOOL_2C EQU $2c ; unused +COLL_WATERFALL_RIGHT EQU $30 ; unused +COLL_WATERFALL_LEFT EQU $31 ; unused +COLL_WATERFALL_UP EQU $32 ; unused +COLL_WATERFALL EQU $33 +COLL_CURRENT_RIGHT EQU $38 ; unused +COLL_CURRENT_LEFT EQU $39 ; unused +COLL_CURRENT_UP EQU $3a ; unused +COLL_CURRENT_DOWN EQU $3b ; unused +COLL_BRAKE EQU $40 ; unused +COLL_WALK_RIGHT EQU $41 ; unused +COLL_WALK_LEFT EQU $42 ; unused +COLL_WALK_UP EQU $43 ; unused +COLL_WALK_DOWN EQU $44 ; unused +COLL_BRAKE_45 EQU $45 ; garbage +COLL_BRAKE_46 EQU $46 ; unused +COLL_BRAKE_47 EQU $47 ; unused +COLL_GRASS_48 EQU $48 ; unused +COLL_GRASS_49 EQU $49 ; unused +COLL_GRASS_4A EQU $4a ; garbage +COLL_GRASS_4B EQU $4b ; garbage +COLL_GRASS_4C EQU $4c ; unused +COLL_WALK_RIGHT_ALT EQU $50 ; unused +COLL_WALK_LEFT_ALT EQU $51 ; unused +COLL_WALK_UP_ALT EQU $52 ; unused +COLL_WALK_DOWN_ALT EQU $53 ; unused +COLL_BRAKE_ALT EQU $54 ; unused +COLL_BRAKE_55 EQU $55 ; unused +COLL_BRAKE_56 EQU $56 ; unused +COLL_BRAKE_57 EQU $57 ; unused +COLL_5B EQU $5b ; garbage +COLL_PIT EQU $60 +COLL_VIRTUAL_BOY EQU $61 ; garbage +COLL_64 EQU $64 ; garbage +COLL_65 EQU $65 ; garbage +COLL_PIT_68 EQU $68 ; unused +COLL_WARP_CARPET_DOWN EQU $70 +COLL_DOOR EQU $71 +COLL_LADDER EQU $72 +COLL_STAIRCASE_73 EQU $73 ; unused +COLL_CAVE_74 EQU $74 ; unused +COLL_DOOR_75 EQU $75 ; unused +COLL_WARP_CARPET_LEFT EQU $76 +COLL_WARP_77 EQU $77 ; unused +COLL_WARP_CARPET_UP EQU $78 +COLL_DOOR_79 EQU $79 ; unused +COLL_STAIRCASE EQU $7a +COLL_CAVE EQU $7b +COLL_WARP_PANEL EQU $7c +COLL_DOOR_7D EQU $7d ; unused +COLL_WARP_CARPET_RIGHT EQU $7e +COLL_WARP_7F EQU $7f ; unused +COLL_COUNTER EQU $90 +COLL_BOOKSHELF EQU $91 +COLL_PC EQU $93 +COLL_RADIO EQU $94 +COLL_TOWN_MAP EQU $95 +COLL_MART_SHELF EQU $96 +COLL_TV EQU $97 +COLL_COUNTER_98 EQU $98 ; unused +COLL_9C EQU $9c ; garbage +COLL_WINDOW EQU $9d +COLL_INCENSE_BURNER EQU $9f +COLL_HOP_RIGHT EQU $a0 +COLL_HOP_LEFT EQU $a1 +COLL_HOP_UP EQU $a2 ; unused +COLL_HOP_DOWN EQU $a3 +COLL_HOP_DOWN_RIGHT EQU $a4 +COLL_HOP_DOWN_LEFT EQU $a5 +COLL_HOP_UP_RIGHT EQU $a6 ; unused +COLL_HOP_UP_LEFT EQU $a7 ; unused +COLL_RIGHT_WALL EQU $b0 +COLL_LEFT_WALL EQU $b1 +COLL_UP_WALL EQU $b2 +COLL_DOWN_WALL EQU $b3 ; unused +COLL_DOWN_RIGHT_WALL EQU $b4 ; unused +COLL_DOWN_LEFT_WALL EQU $b5 ; unused +COLL_UP_RIGHT_WALL EQU $b6 ; unused +COLL_UP_LEFT_WALL EQU $b7 ; unused +COLL_RIGHT_BUOY EQU $c0 ; unused +COLL_LEFT_BUOY EQU $c1 ; unused +COLL_UP_BUOY EQU $c2 ; unused +COLL_DOWN_BUOY EQU $c3 ; unused +COLL_DOWN_RIGHT_BUOY EQU $c4 ; unused +COLL_DOWN_LEFT_BUOY EQU $c5 ; unused +COLL_UP_RIGHT_BUOY EQU $c6 ; unused +COLL_UP_LEFT_BUOY EQU $c7 ; unused +COLL_FF EQU $ff ; garbage + +; collision data type nybbles +LO_NYBBLE_GRASS EQU $07 +HI_NYBBLE_TALL_GRASS EQU $10 +HI_NYBBLE_WATER EQU $20 +HI_NYBBLE_CURRENT EQU $30 +HI_NYBBLE_WALK EQU $40 +HI_NYBBLE_WALK_ALT EQU $50 +HI_NYBBLE_WARPS EQU $70 +HI_NYBBLE_LEDGES EQU $a0 +HI_NYBBLE_SIDE_WALLS EQU $b0 +HI_NYBBLE_SIDE_BUOYS EQU $c0 diff --git a/constants/item_constants.asm b/constants/item_constants.asm index f8429010..68220ea0 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -261,6 +261,7 @@ NUM_TMS = const_value - TM01 - 2 NUM_HMS = const_value - HM01 const HM_08 ; $FA +USE_SCRIPT_VAR EQU $00 ITEM_FROM_MEM EQU $ff @@ -311,4 +312,4 @@ MAIL_MAX_LENGTH EQU $20 const MART_SAFFRON const MART_MT_MOON const MART_INDIGO_PLATEAU - const MART_UNDERGROUND + const MART_UNDERGROUND
\ No newline at end of file diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 7870fc84..b0db4e70 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -270,4 +270,4 @@ NUM_UNOWN_PUZZLES EQU const_value const_def 1 const MOVETUTOR_FLAMETHROWER ; 1 const MOVETUTOR_THUNDERBOLT ; 2 - const MOVETUTOR_ICE_BEAM ; 3 + const MOVETUTOR_ICE_BEAM ; 3
\ No newline at end of file diff --git a/constants/tilemap_constants.asm b/constants/tilemap_constants.asm index 5fe2beb9..0ead1444 100644 --- a/constants/tilemap_constants.asm +++ b/constants/tilemap_constants.asm @@ -1,9 +1,3 @@ -LANDTILE EQU 0 -WALLTILE EQU 1 -WATRTILE EQU 15 - -TALK EQU 1 << 4 - const_value SET 1 const_def 1 const TILESET_JOHTO ; 01 diff --git a/data/collision_permissions.asm b/data/collision_permissions.asm new file mode 100755 index 00000000..82ebb770 --- /dev/null +++ b/data/collision_permissions.asm @@ -0,0 +1,261 @@ +NONTALKABLE EQUS "db" +TALKABLE EQUS "db TALK +" + +TileCollisionTable:: +; entries correspond to COLL_* constants + NONTALKABLE LANDTILE ; COLL_FLOOR + NONTALKABLE LANDTILE ; COLL_01 + NONTALKABLE LANDTILE ; 02 + NONTALKABLE LANDTILE ; COLL_03 + NONTALKABLE LANDTILE ; COLL_04 + NONTALKABLE LANDTILE ; 05 + NONTALKABLE LANDTILE ; 06 + NONTALKABLE WALLTILE ; COLL_WALL + NONTALKABLE LANDTILE ; COLL_CUT_08 + NONTALKABLE LANDTILE ; 09 + NONTALKABLE LANDTILE ; 0a + NONTALKABLE LANDTILE ; 0b + NONTALKABLE LANDTILE ; 0c + NONTALKABLE LANDTILE ; 0d + NONTALKABLE LANDTILE ; 0e + NONTALKABLE WALLTILE ; 0f + NONTALKABLE LANDTILE ; COLL_TALL_GRASS_10 + NONTALKABLE LANDTILE ; 11 + TALKABLE WALLTILE ; COLL_CUT_TREE + NONTALKABLE LANDTILE ; 13 + NONTALKABLE LANDTILE ; COLL_LONG_GRASS + TALKABLE WALLTILE ; COLL_HEADBUTT_TREE + NONTALKABLE LANDTILE ; 16 + NONTALKABLE LANDTILE ; 17 + NONTALKABLE LANDTILE ; COLL_TALL_GRASS + NONTALKABLE LANDTILE ; 19 + TALKABLE WALLTILE ; COLL_CUT_TREE_1A + NONTALKABLE LANDTILE ; 1b + NONTALKABLE LANDTILE ; COLL_LONG_GRASS_1C + TALKABLE WALLTILE ; COLL_HEADBUTT_TREE_1D + NONTALKABLE LANDTILE ; 1e + NONTALKABLE LANDTILE ; 1f + NONTALKABLE WATERTILE ; 20 + NONTALKABLE WATERTILE ; COLL_WATER_21 + TALKABLE WATERTILE ; 22 + NONTALKABLE LANDTILE ; COLL_ICE + TALKABLE WATERTILE ; COLL_WHIRLPOOL + NONTALKABLE WATERTILE ; 25 + NONTALKABLE WATERTILE ; 26 + NONTALKABLE WALLTILE ; COLL_BUOY + NONTALKABLE WATERTILE ; COLL_CUT_28 + NONTALKABLE WATERTILE ; COLL_WATER + TALKABLE WATERTILE ; 2a + NONTALKABLE LANDTILE ; COLL_ICE_2B + TALKABLE WATERTILE ; COLL_WHIRLPOOL_2C + NONTALKABLE WATERTILE ; 2d + NONTALKABLE WATERTILE ; 2e + NONTALKABLE WALLTILE ; 2f + NONTALKABLE WATERTILE ; COLL_WATERFALL_RIGHT + NONTALKABLE WATERTILE ; COLL_WATERFALL_LEFT + NONTALKABLE WATERTILE ; COLL_WATERFALL_UP + NONTALKABLE WATERTILE ; COLL_WATERFALL + NONTALKABLE WATERTILE ; 34 + NONTALKABLE WATERTILE ; 35 + NONTALKABLE WATERTILE ; 36 + NONTALKABLE WATERTILE ; 37 + NONTALKABLE WATERTILE ; COLL_CURRENT_RIGHT + NONTALKABLE WATERTILE ; COLL_CURRENT_LEFT + NONTALKABLE WATERTILE ; COLL_CURRENT_UP + NONTALKABLE WATERTILE ; COLL_CURRENT_DOWN + NONTALKABLE WATERTILE ; 3c + NONTALKABLE WATERTILE ; 3d + NONTALKABLE WATERTILE ; 3e + NONTALKABLE WATERTILE ; 3f + NONTALKABLE LANDTILE ; COLL_BRAKE + NONTALKABLE LANDTILE ; COLL_WALK_RIGHT + NONTALKABLE LANDTILE ; COLL_WALK_LEFT + NONTALKABLE LANDTILE ; COLL_WALK_UP + NONTALKABLE LANDTILE ; COLL_WALK_DOWN + NONTALKABLE LANDTILE ; COLL_BRAKE_45 + NONTALKABLE LANDTILE ; COLL_BRAKE_46 + NONTALKABLE LANDTILE ; COLL_BRAKE_47 + NONTALKABLE LANDTILE ; COLL_GRASS_48 + NONTALKABLE LANDTILE ; COLL_GRASS_49 + NONTALKABLE LANDTILE ; COLL_GRASS_4A + NONTALKABLE LANDTILE ; COLL_GRASS_4B + NONTALKABLE LANDTILE ; COLL_GRASS_4C + NONTALKABLE LANDTILE ; 4d + NONTALKABLE LANDTILE ; 4e + NONTALKABLE LANDTILE ; 4f + NONTALKABLE LANDTILE ; COLL_WALK_RIGHT_ALT + NONTALKABLE LANDTILE ; COLL_WALK_LEFT_ALT + NONTALKABLE LANDTILE ; COLL_WALK_UP_ALT + NONTALKABLE LANDTILE ; COLL_WALK_DOWN_ALT + NONTALKABLE LANDTILE ; COLL_BRAKE_ALT + NONTALKABLE LANDTILE ; COLL_BRAKE_55 + NONTALKABLE LANDTILE ; COLL_BRAKE_56 + NONTALKABLE LANDTILE ; COLL_BRAKE_57 + NONTALKABLE LANDTILE ; 58 + NONTALKABLE LANDTILE ; 59 + NONTALKABLE LANDTILE ; 5a + NONTALKABLE LANDTILE ; COLL_5B + NONTALKABLE LANDTILE ; 5c + NONTALKABLE LANDTILE ; 5d + NONTALKABLE LANDTILE ; 5e + NONTALKABLE LANDTILE ; 5f + NONTALKABLE LANDTILE ; COLL_PIT + NONTALKABLE LANDTILE ; COLL_VIRTUAL_BOY + NONTALKABLE WALLTILE ; 62 + NONTALKABLE LANDTILE ; 63 + NONTALKABLE LANDTILE ; COLL_64 + NONTALKABLE LANDTILE ; COLL_65 + NONTALKABLE LANDTILE ; 66 + NONTALKABLE LANDTILE ; 67 + NONTALKABLE LANDTILE ; COLL_PIT_68 + NONTALKABLE LANDTILE ; 69 + NONTALKABLE WALLTILE ; 6a + NONTALKABLE LANDTILE ; 6b + NONTALKABLE LANDTILE ; 6c + NONTALKABLE LANDTILE ; 6d + NONTALKABLE LANDTILE ; 6e + NONTALKABLE LANDTILE ; 6f + NONTALKABLE LANDTILE ; COLL_WARP_CARPET_DOWN + NONTALKABLE LANDTILE ; COLL_DOOR + NONTALKABLE LANDTILE ; COLL_LADDER + NONTALKABLE LANDTILE ; COLL_STAIRCASE_73 + NONTALKABLE LANDTILE ; COLL_CAVE_74 + NONTALKABLE LANDTILE ; COLL_DOOR_75 + NONTALKABLE LANDTILE ; COLL_WARP_CARPET_LEFT + NONTALKABLE LANDTILE ; COLL_WARP_77 + NONTALKABLE LANDTILE ; COLL_WARP_CARPET_UP + NONTALKABLE LANDTILE ; COLL_DOOR_79 + NONTALKABLE LANDTILE ; COLL_STAIRCASE + NONTALKABLE LANDTILE ; COLL_CAVE + NONTALKABLE LANDTILE ; COLL_WARP_PANEL + NONTALKABLE LANDTILE ; COLL_DOOR_7D + NONTALKABLE LANDTILE ; COLL_WARP_CARPET_RIGHT + NONTALKABLE LANDTILE ; COLL_WARP_7F + NONTALKABLE WALLTILE ; 80 + NONTALKABLE WALLTILE ; 81 + NONTALKABLE WALLTILE ; 82 + NONTALKABLE WALLTILE ; 83 + NONTALKABLE WALLTILE ; 84 + NONTALKABLE LANDTILE ; 85 + NONTALKABLE LANDTILE ; 86 + NONTALKABLE LANDTILE ; 87 + NONTALKABLE WALLTILE ; 88 + NONTALKABLE WALLTILE ; 89 + NONTALKABLE WALLTILE ; 8a + NONTALKABLE WALLTILE ; 8b + NONTALKABLE WALLTILE ; 8c + NONTALKABLE LANDTILE ; 8d + NONTALKABLE LANDTILE ; 8e + NONTALKABLE LANDTILE ; 8f + NONTALKABLE WALLTILE ; COLL_COUNTER + NONTALKABLE WALLTILE ; COLL_BOOKSHELF + NONTALKABLE WALLTILE ; 92 + NONTALKABLE WALLTILE ; COLL_PC + NONTALKABLE WALLTILE ; COLL_RADIO + NONTALKABLE WALLTILE ; COLL_TOWN_MAP + NONTALKABLE WALLTILE ; COLL_MART_SHELF + NONTALKABLE WALLTILE ; COLL_TV + NONTALKABLE WALLTILE ; COLL_COUNTER_98 + NONTALKABLE WALLTILE ; 99 + NONTALKABLE WALLTILE ; 9a + NONTALKABLE WALLTILE ; 9b + NONTALKABLE WALLTILE ; COLL_9C + NONTALKABLE WALLTILE ; COLL_WINDOW + NONTALKABLE WALLTILE ; 9e + NONTALKABLE WALLTILE ; COLL_INCENSE_BURNER + NONTALKABLE LANDTILE ; COLL_HOP_RIGHT + NONTALKABLE LANDTILE ; COLL_HOP_LEFT + NONTALKABLE LANDTILE ; COLL_HOP_UP + NONTALKABLE LANDTILE ; COLL_HOP_DOWN + NONTALKABLE LANDTILE ; COLL_HOP_DOWN_RIGHT + NONTALKABLE LANDTILE ; COLL_HOP_DOWN_LEFT + NONTALKABLE LANDTILE ; COLL_HOP_UP_RIGHT + NONTALKABLE LANDTILE ; COLL_HOP_UP_LEFT + NONTALKABLE LANDTILE ; a8 + NONTALKABLE LANDTILE ; a9 + NONTALKABLE LANDTILE ; aa + NONTALKABLE LANDTILE ; ab + NONTALKABLE LANDTILE ; ac + NONTALKABLE LANDTILE ; ad + NONTALKABLE LANDTILE ; ae + NONTALKABLE LANDTILE ; af + NONTALKABLE LANDTILE ; COLL_RIGHT_WALL + NONTALKABLE LANDTILE ; COLL_LEFT_WALL + NONTALKABLE LANDTILE ; COLL_UP_WALL + NONTALKABLE LANDTILE ; COLL_DOWN_WALL + NONTALKABLE LANDTILE ; COLL_DOWN_RIGHT_WALL + NONTALKABLE LANDTILE ; COLL_DOWN_LEFT_WALL + NONTALKABLE LANDTILE ; COLL_UP_RIGHT_WALL + NONTALKABLE LANDTILE ; COLL_UP_LEFT_WALL + NONTALKABLE LANDTILE ; b8 + NONTALKABLE LANDTILE ; b9 + NONTALKABLE LANDTILE ; ba + NONTALKABLE LANDTILE ; bb + NONTALKABLE LANDTILE ; bc + NONTALKABLE LANDTILE ; bd + NONTALKABLE LANDTILE ; be + NONTALKABLE LANDTILE ; bf + NONTALKABLE WATERTILE ; COLL_RIGHT_BUOY + NONTALKABLE WATERTILE ; COLL_LEFT_BUOY + NONTALKABLE WATERTILE ; COLL_UP_BUOY + NONTALKABLE WATERTILE ; COLL_DOWN_BUOY + NONTALKABLE WATERTILE ; COLL_DOWN_RIGHT_BUOY + NONTALKABLE WATERTILE ; COLL_DOWN_LEFT_BUOY + NONTALKABLE WATERTILE ; COLL_UP_RIGHT_BUOY + NONTALKABLE WATERTILE ; COLL_UP_LEFT_BUOY + NONTALKABLE WATERTILE ; c8 + NONTALKABLE WATERTILE ; c9 + NONTALKABLE WATERTILE ; ca + NONTALKABLE WATERTILE ; cb + NONTALKABLE WATERTILE ; cc + NONTALKABLE WATERTILE ; cd + NONTALKABLE WATERTILE ; ce + NONTALKABLE WATERTILE ; cf + NONTALKABLE LANDTILE ; d0 + NONTALKABLE LANDTILE ; d1 + NONTALKABLE LANDTILE ; d2 + NONTALKABLE LANDTILE ; d3 + NONTALKABLE LANDTILE ; d4 + NONTALKABLE LANDTILE ; d5 + NONTALKABLE LANDTILE ; d6 + NONTALKABLE LANDTILE ; d7 + NONTALKABLE LANDTILE ; d8 + NONTALKABLE LANDTILE ; d9 + NONTALKABLE LANDTILE ; da + NONTALKABLE LANDTILE ; db + NONTALKABLE LANDTILE ; dc + NONTALKABLE LANDTILE ; dd + NONTALKABLE LANDTILE ; de + NONTALKABLE LANDTILE ; df + NONTALKABLE LANDTILE ; e0 + NONTALKABLE LANDTILE ; e1 + NONTALKABLE LANDTILE ; e2 + NONTALKABLE LANDTILE ; e3 + NONTALKABLE LANDTILE ; e4 + NONTALKABLE LANDTILE ; e5 + NONTALKABLE LANDTILE ; e6 + NONTALKABLE LANDTILE ; e7 + NONTALKABLE LANDTILE ; e8 + NONTALKABLE LANDTILE ; e9 + NONTALKABLE LANDTILE ; ea + NONTALKABLE LANDTILE ; eb + NONTALKABLE LANDTILE ; ec + NONTALKABLE LANDTILE ; ed + NONTALKABLE LANDTILE ; ee + NONTALKABLE LANDTILE ; ef + NONTALKABLE LANDTILE ; f0 + NONTALKABLE LANDTILE ; f1 + NONTALKABLE LANDTILE ; f2 + NONTALKABLE LANDTILE ; f3 + NONTALKABLE LANDTILE ; f4 + NONTALKABLE LANDTILE ; f5 + NONTALKABLE LANDTILE ; f6 + NONTALKABLE LANDTILE ; f7 + NONTALKABLE LANDTILE ; f8 + NONTALKABLE LANDTILE ; f9 + NONTALKABLE LANDTILE ; fa + NONTALKABLE LANDTILE ; fb + NONTALKABLE LANDTILE ; fc + NONTALKABLE LANDTILE ; fd + NONTALKABLE LANDTILE ; fe + NONTALKABLE WALLTILE ; COLL_FF diff --git a/data/events/collision_stdscripts.asm b/data/events/collision_stdscripts.asm new file mode 100755 index 00000000..7e208d2f --- /dev/null +++ b/data/events/collision_stdscripts.asm @@ -0,0 +1,13 @@ +; stdscripts associated with tile collisions + +TileCollisionStdScripts: + ; collision type, stdscript + dbw COLL_BOOKSHELF, magazinebookshelf + dbw COLL_PC, pcscript + dbw COLL_RADIO, radio1 + dbw COLL_TOWN_MAP, townmap + dbw COLL_MART_SHELF, merchandiseshelf + dbw COLL_TV, tv + dbw COLL_WINDOW, window + dbw COLL_INCENSE_BURNER, incenseburner + db -1 ; end
\ No newline at end of file diff --git a/data/text/common_1.asm b/data/text/common_1.asm index 6012cdbc..4fb43989 100644 --- a/data/text/common_1.asm +++ b/data/text/common_1.asm @@ -965,30 +965,30 @@ UnknownText_0x1bd2bc:: text "Which floor?" done -UnknownText_0x1bd2ca:: +_BugCatchingContestTimeUpText:: text "ANNOUNCER: BEEEP!" para "Time's up!" done -UnknownText_0x1bd2e7:: +_BugCatchingContestIsOverText:: text "ANNOUNCER: The" line "Contest is over!" done -UnknownText_0x1bd308:: +_RepelWoreOffText:: text "REPEL's effect" line "wore off." done -UnknownText_0x1bd321:: +_PlayerFoundItemText:: text "<PLAYER> found" line "@" text_from_ram wStringBuffer3 text "." done -UnknownText_0x1bd331:: +_ButNoSpaceText:: text "But <PLAYER> has" line "no space left…" done @@ -1832,4 +1832,4 @@ UsedSurfText_:: text_from_ram wStringBuffer2 text " used" line "SURF!" - done + done
\ No newline at end of file diff --git a/data/text/common_2.asm b/data/text/common_2.asm index 4bffc8ed..d9d5fd6c 100644 --- a/data/text/common_2.asm +++ b/data/text/common_2.asm @@ -196,14 +196,14 @@ Text_MonCanCutThis_:: line "CUT!" done -UnknownText_0x1c0a1c:: +_FoundItemText:: text "<PLAYER> found" line "@" text_from_ram wStringBuffer3 text "!" done -UnknownText_0x1c0a2c:: +_CantCarryItemText:: text "But <PLAYER> can't" line "carry any more" cont "items!" @@ -1593,4 +1593,4 @@ UnknownText_0x1c502e:: UnknownText_0x1c5049:: text "Bet how many" line "coins?" - done + done
\ No newline at end of file diff --git a/engine/events/bug_contest/contest.asm b/engine/events/bug_contest/contest.asm new file mode 100755 index 00000000..56dca000 --- /dev/null +++ b/engine/events/bug_contest/contest.asm @@ -0,0 +1,41 @@ +GiveParkBalls: + xor a + ld [wContestMon], a + ld a, 20 + ld [wParkBalls], a + farcall StartBugContestTimer + ret + +BugCatchingContestBattleScript:: + writecode VAR_BATTLETYPE, BATTLETYPE_CONTEST + randomwildmon + startbattle + reloadmapafterbattle + copybytetovar wParkBalls + iffalse $79C5 + end + +BugCatchingContestOverScript:: + playsound SFX_ELEVATOR_END + opentext + writetext $79D1 + waitbutton + jump $79CD + +BugCatchingContestOutOfBallsScript: + playsound SFX_ELEVATOR_END + opentext + writetext $79D6 + waitbutton + +BugCatchingContestReturnToGateScript: + closetext + jumpstd bugcontestresultswarp + +BugCatchingContestTimeUpText: + text_jump _BugCatchingContestTimeUpText + db "@" + +BugCatchingContestIsOverText: + text_jump _BugCatchingContestIsOverText + db "@"
\ No newline at end of file diff --git a/engine/events/misc_scripts.asm b/engine/events/misc_scripts.asm index 6ac81da9..0a742812 100755 --- a/engine/events/misc_scripts.asm +++ b/engine/events/misc_scripts.asm @@ -11,7 +11,7 @@ FindItemInBallScript:: iffalse .no_room disappear LAST_TALKED opentext - writetext .text_found + writetext .FoundItemText playsound SFX_ITEM pause 60 itemnotify @@ -20,38 +20,36 @@ FindItemInBallScript:: .no_room opentext - writetext .text_found + writetext .FoundItemText waitbutton - writetext .text_bag_full + writetext .CantCarryItemText waitbutton closetext end -.text_found - ; found @ ! - text_jump UnknownText_0x1c0a1c +.FoundItemText: + text_jump _FoundItemText db "@" -.text_bag_full - ; But can't carry any more items. - text_jump UnknownText_0x1c0a2c +.CantCarryItemText: + text_jump _CantCarryItemText db "@" .TryReceiveItem: - xor a - ld [wScriptVar], a - ld a, [wcf29] - ld [wDeciramBuffer], a - call GetItemName - ld hl, wStringBuffer3 - call CopyName2 - ld a, [wcf29] - ld [wd002], a - ld a, [wcf2a] - ld [wItemQuantityChangeBuffer], a - ld hl, wNumItems - call ReceiveItem - ret nc + xor a + ld [wScriptVar], a + ld a, [wcf29] + ld [wDeciramBuffer], a + call GetItemName + ld hl, wStringBuffer3 + call CopyName2 + ld a, [wcf29] + ld [wd002], a + ld a, [wcf2a] + ld [wItemQuantityChangeBuffer], a + ld hl, wNumItems + call ReceiveItem + ret nc ld a, $1 ld [wScriptVar], a ret
\ No newline at end of file diff --git a/engine/events/misc_scripts_2.asm b/engine/events/misc_scripts_2.asm new file mode 100755 index 00000000..65d28b0a --- /dev/null +++ b/engine/events/misc_scripts_2.asm @@ -0,0 +1,48 @@ +RepelWoreOffScript:: + opentext + writetext .RepelWoreOffText + waitbutton + closetext + end + +.RepelWoreOffText: + text_jump _RepelWoreOffText + db "@" + +HiddenItemScript:: + opentext + copybytetovar $CF2B + itemtotext MEM_BUFFER_0, USE_SCRIPT_VAR + writetext .PlayerFoundItemText + giveitem ITEM_FROM_MEM + iffalse .bag_full + callasm SetMemEvent + specialsound + itemnotify + jump .finish + +.bag_full + buttonsound + writetext .ButNoSpaceText + waitbutton + +.finish + closetext + end + +.PlayerFoundItemText: + text_jump _PlayerFoundItemText + db "@" + +.ButNoSpaceText: + text_jump _ButNoSpaceText + db "@" + +SetMemEvent: + ld hl, wcf29 + ld a, [hli] + ld d, [hl] + ld e, a + ld b, SET_FLAG + call EventFlagAction + ret
\ No newline at end of file diff --git a/engine/events/std_collision.asm b/engine/events/std_collision.asm new file mode 100755 index 00000000..932f4db8 --- /dev/null +++ b/engine/events/std_collision.asm @@ -0,0 +1,29 @@ +CheckFacingTileForStdScript:: +; Checks to see if the tile you're facing has a std script associated with it. If so, executes the script and returns carry. + ld a, c + ld de, 3 + ld hl, TileCollisionStdScripts + call IsInArray + jr nc, .notintable + + ld a, jumpstd_command + ld [wcf2a], a + inc hl + ld a, [hli] + ld [wcf2b], a + ld a, [hli] + ld [wTempTrainerHeader], a + ld a, BANK(Script_JumpStdFromRAM) + ld hl, Script_JumpStdFromRAM + call CallScript + scf + ret + +.notintable + xor a + ret + +INCLUDE "data/events/collision_stdscripts.asm" + +Script_JumpStdFromRAM: + jump wcf2a
\ No newline at end of file @@ -651,8 +651,9 @@ PartyMonItemName:: dr $12e33, $12fa0 Function12fa0: dr $12fa0, $1399d -GiveParkBalls: - dr $1399d, $13a5f +INCLUDE "engine/events/bug_contest/contest.asm" +INCLUDE "engine/events/misc_scripts_2.asm" +INCLUDE "engine/events/std_collision.asm" Function13a5f: dr $13a5f, $13d44 ApplyPokerusTick: |