Added engine/events stuff and cleaned up contest related code

This commit is contained in:
libjet
2019-12-09 22:20:03 +00:00
parent cfe6e29574
commit cc8fc02a94
14 changed files with 559 additions and 43 deletions

View File

@@ -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"

129
constants/collision_constants.asm Executable file
View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

261
data/collision_permissions.asm Executable file
View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 "@"

View File

@@ -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

View File

@@ -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

29
engine/events/std_collision.asm Executable file
View File

@@ -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

View 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: