summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlibjet <libj3t@gmail.com>2019-12-09 22:20:03 +0000
committerlibjet <libj3t@gmail.com>2019-12-09 22:20:03 +0000
commitcc8fc02a9467307f1494946fd08b4e57d4ffdac5 (patch)
treefa37c8c82262b5a0d5db6d76d7edf9d78bbf25da
parentcfe6e295746996e64198b2a4b0f0eba1420ca8eb (diff)
Added engine/events stuff and cleaned up contest related code
-rw-r--r--constants.asm3
-rwxr-xr-xconstants/collision_constants.asm129
-rw-r--r--constants/item_constants.asm3
-rw-r--r--constants/script_constants.asm2
-rw-r--r--constants/tilemap_constants.asm6
-rwxr-xr-xdata/collision_permissions.asm261
-rwxr-xr-xdata/events/collision_stdscripts.asm13
-rw-r--r--data/text/common_1.asm12
-rw-r--r--data/text/common_2.asm6
-rwxr-xr-xengine/events/bug_contest/contest.asm41
-rwxr-xr-xengine/events/misc_scripts.asm44
-rwxr-xr-xengine/events/misc_scripts_2.asm48
-rwxr-xr-xengine/events/std_collision.asm29
-rw-r--r--main.asm5
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
diff --git a/main.asm b/main.asm
index 9c4a0423..00d272f9 100644
--- a/main.asm
+++ b/main.asm
@@ -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: