mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
185b0a1c86
Replaced encounter rates with percent values Added new constants denoting the number of wild Pokemon in the grass and water wild constructs Annotated and relabeled the encounter generating functions Renamed a WRAM address associaed with the temporary storage of the wild Pokemon's species Moved spawn constants to constants/map_constants.asm for use anywhere in the disassembly
830 lines
12 KiB
NASM
830 lines
12 KiB
NASM
MovementPointers: ; 5075
|
|
dw Movement_turn_head_down
|
|
dw Movement_turn_head_up
|
|
dw Movement_turn_head_left
|
|
dw Movement_turn_head_right
|
|
dw Movement_half_step_down
|
|
dw Movement_half_step_up
|
|
dw Movement_half_step_left
|
|
dw Movement_half_step_right
|
|
dw Movement_slow_step_down
|
|
dw Movement_slow_step_up
|
|
dw Movement_slow_step_left
|
|
dw Movement_slow_step_right
|
|
dw Movement_step_down
|
|
dw Movement_step_up
|
|
dw Movement_step_left
|
|
dw Movement_step_right
|
|
dw Movement_big_step_down
|
|
dw Movement_big_step_up
|
|
dw Movement_big_step_left
|
|
dw Movement_big_step_right
|
|
dw Movement_slow_slide_step_down
|
|
dw Movement_slow_slide_step_up
|
|
dw Movement_slow_slide_step_left
|
|
dw Movement_slow_slide_step_right
|
|
dw Movement_slide_step_down
|
|
dw Movement_slide_step_up
|
|
dw Movement_slide_step_left
|
|
dw Movement_slide_step_right
|
|
dw Movement_fast_slide_step_down
|
|
dw Movement_fast_slide_step_up
|
|
dw Movement_fast_slide_step_left
|
|
dw Movement_fast_slide_step_right
|
|
dw Movement_turn_away_down
|
|
dw Movement_turn_away_up
|
|
dw Movement_turn_away_left
|
|
dw Movement_turn_away_right
|
|
dw Movement_turn_in_down
|
|
dw Movement_turn_in_up
|
|
dw Movement_turn_in_left
|
|
dw Movement_turn_in_right
|
|
dw Movement_turn_waterfall_down
|
|
dw Movement_turn_waterfall_up
|
|
dw Movement_turn_waterfall_left
|
|
dw Movement_turn_waterfall_right
|
|
dw Movement_slow_jump_step_down
|
|
dw Movement_slow_jump_step_up
|
|
dw Movement_slow_jump_step_left
|
|
dw Movement_slow_jump_step_right
|
|
dw Movement_jump_step_down
|
|
dw Movement_jump_step_up
|
|
dw Movement_jump_step_left
|
|
dw Movement_jump_step_right
|
|
dw Movement_fast_jump_step_down
|
|
dw Movement_fast_jump_step_up
|
|
dw Movement_fast_jump_step_left
|
|
dw Movement_fast_jump_step_right
|
|
dw Function5293
|
|
dw Function529c
|
|
dw Movement_remove_fixed_facing
|
|
dw Movement_fix_facing
|
|
dw Function52b7
|
|
dw Movement_hide_person
|
|
dw Movement_show_person
|
|
dw Function5226
|
|
dw Function522a
|
|
dw Function522e
|
|
dw Function5232
|
|
dw Function5236
|
|
dw Function523a
|
|
dw Movement_accelerate_last
|
|
dw Movement_step_sleep
|
|
dw Movement_step_end
|
|
dw Function51db
|
|
dw Movement_remove_person
|
|
dw Function51b8
|
|
dw Function5210
|
|
dw Movement_teleport_from
|
|
dw Movement_teleport_to
|
|
dw Movement_skyfall
|
|
dw Movement_step_wait5
|
|
dw Function525f
|
|
dw Function5189
|
|
dw Function51ab
|
|
dw Movement_hide_emote
|
|
dw Movement_show_emote
|
|
dw Movement_step_shake
|
|
dw Function5279
|
|
dw Function5196
|
|
dw Function516a
|
|
dw Function513e
|
|
; 5129
|
|
|
|
|
|
Movement_teleport_from: ; 5129
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $c
|
|
ret
|
|
; 5130
|
|
|
|
Movement_teleport_to: ; 5130
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $d
|
|
ret
|
|
; 5137
|
|
|
|
Movement_skyfall: ; 5137
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $e
|
|
ret
|
|
; 513e
|
|
|
|
Function513e: ; 513e
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $19
|
|
ret
|
|
; 5145
|
|
|
|
Movement_step_wait5: ; 5145
|
|
call GetSpriteDirection
|
|
rlca
|
|
rlca
|
|
ld hl, $000c
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $4
|
|
call GetMovementByte
|
|
ld hl, $000a
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $3
|
|
ld hl, $0007
|
|
add hl, bc
|
|
ld [hl], $ff
|
|
ret
|
|
; 516a
|
|
|
|
Function516a: ; 516a
|
|
call GetSpriteDirection
|
|
rlca
|
|
rlca
|
|
ld hl, $000c
|
|
add hl, bc
|
|
ld [hl], a
|
|
call GetMovementByte
|
|
ld hl, $000a
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $0007
|
|
add hl, bc
|
|
ld [hl], $ff
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $12
|
|
ret
|
|
; 5189
|
|
|
|
Function5189: ; 5189
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $6
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $10
|
|
ret
|
|
; 5196
|
|
|
|
Function5196: ; 5196
|
|
call GetMovementByte
|
|
ld hl, $000a
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $1
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $11
|
|
ret
|
|
; 51ab
|
|
|
|
Function51ab: ; 51ab
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $6
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $1
|
|
ret
|
|
; 51b8
|
|
|
|
Function51b8: ; 51b8
|
|
ld hl, $001b
|
|
add hl, bc
|
|
ld [hl], $0
|
|
jp Function5065
|
|
; 51c1
|
|
|
|
Movement_step_end: ; 51c1
|
|
call Function4769
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $001b
|
|
add hl, bc
|
|
ld [hl], $0
|
|
ld hl, VramState
|
|
res 7, [hl]
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $1
|
|
ret
|
|
; 51db
|
|
|
|
Function51db: ; 51db
|
|
call Function4769
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $001b
|
|
add hl, bc
|
|
ld [hl], $0
|
|
call GetMovementByte
|
|
ld hl, $000a
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $3
|
|
ld hl, VramState
|
|
res 7, [hl]
|
|
ret
|
|
; 51fd
|
|
|
|
Movement_remove_person: ; 51fd
|
|
call Function4357
|
|
ld hl, wd4cd
|
|
ld a, [hConnectionStripLength]
|
|
cp [hl]
|
|
jr nz, .asm_520a
|
|
ld [hl], $ff
|
|
|
|
.asm_520a
|
|
ld hl, VramState
|
|
res 7, [hl]
|
|
ret
|
|
; 5210
|
|
|
|
Function5210: ; 5210
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $1
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $4
|
|
ld hl, VramState
|
|
res 7, [hl]
|
|
ret
|
|
; 5222
|
|
|
|
Movement_show_person: ; 5222
|
|
ld a, $1
|
|
jr Function5247
|
|
|
|
Function5226: ; 5226
|
|
ld a, $2
|
|
jr Function5247
|
|
|
|
Function522a: ; 522a
|
|
ld a, $3
|
|
jr Function5247
|
|
|
|
Function522e: ; 522e
|
|
ld a, $4
|
|
jr Function5247
|
|
|
|
Function5232: ; 5232
|
|
ld a, $5
|
|
jr Function5247
|
|
|
|
Function5236: ; 5236
|
|
ld a, $6
|
|
jr Function5247
|
|
|
|
Function523a: ; 523a
|
|
ld a, $7
|
|
jr Function5247
|
|
|
|
Movement_accelerate_last: ; 523e
|
|
ld a, $8
|
|
jr Function5247
|
|
|
|
Movement_step_sleep: ; 5242
|
|
; parameters:
|
|
; duration (DecimalParam)
|
|
|
|
call GetMovementByte
|
|
jr Function5247
|
|
|
|
Function5247: ; 5247
|
|
ld hl, $000a
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $3
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $1
|
|
ld hl, $0007
|
|
add hl, bc
|
|
ld [hl], $ff
|
|
ret
|
|
; 525f
|
|
|
|
Function525f: ; 525f
|
|
ld a, $1
|
|
ld hl, $000a
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $b
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $3
|
|
ld hl, $0007
|
|
add hl, bc
|
|
ld [hl], $ff
|
|
ret
|
|
; 5279
|
|
|
|
Function5279: ; 5279
|
|
ld a, $18
|
|
ld hl, $000a
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $3
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $b
|
|
ld hl, $0007
|
|
add hl, bc
|
|
ld [hl], $ff
|
|
ret
|
|
; 5293
|
|
|
|
Function5293: ; 5293
|
|
ld hl, $0004
|
|
add hl, bc
|
|
res 3, [hl]
|
|
jp Function5065
|
|
; 529c
|
|
|
|
Function529c: ; 529c
|
|
ld hl, $0004
|
|
add hl, bc
|
|
set 3, [hl]
|
|
jp Function5065
|
|
; 52a5
|
|
|
|
Movement_remove_fixed_facing: ; 52a5
|
|
ld hl, $0004
|
|
add hl, bc
|
|
res 2, [hl]
|
|
jp Function5065
|
|
; 52ae
|
|
|
|
Movement_fix_facing: ; 52ae
|
|
ld hl, $0004
|
|
add hl, bc
|
|
set 2, [hl]
|
|
jp Function5065
|
|
; 52b7
|
|
|
|
Function52b7: ; 52b7
|
|
ld hl, $0004
|
|
add hl, bc
|
|
res 0, [hl]
|
|
jp Function5065
|
|
; 52c0
|
|
|
|
Movement_hide_person: ; 52c0
|
|
ld hl, $0004
|
|
add hl, bc
|
|
set 0, [hl]
|
|
jp Function5065
|
|
; 52c9
|
|
|
|
Movement_hide_emote: ; 52c9
|
|
call Function5579
|
|
jp Function5065
|
|
; 52cf
|
|
|
|
Movement_show_emote: ; 52cf
|
|
call Function5547
|
|
jp Function5065
|
|
; 52d5
|
|
|
|
Movement_step_shake: ; 52d5
|
|
; parameters:
|
|
; displacement (DecimalParam)
|
|
|
|
call GetMovementByte
|
|
call Function5565
|
|
jp Function5065
|
|
; 52de
|
|
|
|
Movement_turn_head_down: ; 52de
|
|
ld a, $0
|
|
jr Function52ee
|
|
|
|
Movement_turn_head_up: ; 52e2
|
|
ld a, $4
|
|
jr Function52ee
|
|
|
|
Movement_turn_head_left: ; 52e6
|
|
ld a, $8
|
|
jr Function52ee
|
|
|
|
Movement_turn_head_right: ; 52ea
|
|
ld a, $c
|
|
jr Function52ee
|
|
|
|
Function52ee: ; 52ee
|
|
ld hl, $0008
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $1
|
|
ld hl, $0007
|
|
add hl, bc
|
|
ld [hl], $ff
|
|
ret
|
|
; 5300
|
|
|
|
Movement_slow_step_down: ; 5300
|
|
ld a, $0
|
|
jp Function5412
|
|
; 5305
|
|
|
|
Movement_slow_step_up: ; 5305
|
|
ld a, $1
|
|
jp Function5412
|
|
; 530a
|
|
|
|
Movement_slow_step_left: ; 530a
|
|
ld a, $2
|
|
jp Function5412
|
|
; 530f
|
|
|
|
Movement_slow_step_right: ; 530f
|
|
ld a, $3
|
|
jp Function5412
|
|
; 5314
|
|
|
|
Movement_step_down: ; 5314
|
|
ld a, $4
|
|
jp Function5412
|
|
; 5319
|
|
|
|
Movement_step_up: ; 5319
|
|
ld a, $5
|
|
jp Function5412
|
|
; 531e
|
|
|
|
Movement_step_left: ; 531e
|
|
ld a, $6
|
|
jp Function5412
|
|
; 5323
|
|
|
|
Movement_step_right: ; 5323
|
|
ld a, $7
|
|
jp Function5412
|
|
; 5328
|
|
|
|
Movement_big_step_down: ; 5328
|
|
ld a, $8
|
|
jp Function5412
|
|
; 532d
|
|
|
|
Movement_big_step_up: ; 532d
|
|
ld a, $9
|
|
jp Function5412
|
|
; 5332
|
|
|
|
Movement_big_step_left: ; 5332
|
|
ld a, $a
|
|
jp Function5412
|
|
; 5337
|
|
|
|
Movement_big_step_right: ; 5337
|
|
ld a, $b
|
|
jp Function5412
|
|
; 533c
|
|
|
|
|
|
Movement_turn_away_down: ; 533c
|
|
ld a, $0
|
|
jp Function5446
|
|
; 5341
|
|
|
|
Movement_turn_away_up: ; 5341
|
|
ld a, $1
|
|
jp Function5446
|
|
; 5346
|
|
|
|
Movement_turn_away_left: ; 5346
|
|
ld a, $2
|
|
jp Function5446
|
|
; 534b
|
|
|
|
Movement_turn_away_right: ; 534b
|
|
ld a, $3
|
|
jp Function5446
|
|
; 5350
|
|
|
|
Movement_turn_in_down: ; 5350
|
|
ld a, $4
|
|
jp Function5446
|
|
; 5355
|
|
|
|
Movement_turn_in_up: ; 5355
|
|
ld a, $5
|
|
jp Function5446
|
|
; 535a
|
|
|
|
Movement_turn_in_left: ; 535a
|
|
ld a, $6
|
|
jp Function5446
|
|
; 535f
|
|
|
|
Movement_turn_in_right: ; 535f
|
|
ld a, $7
|
|
jp Function5446
|
|
; 5364
|
|
|
|
Movement_turn_waterfall_down: ; 5364
|
|
ld a, $8
|
|
jp Function5446
|
|
; 5369
|
|
|
|
Movement_turn_waterfall_up: ; 5369
|
|
ld a, $9
|
|
jp Function5446
|
|
; 536e
|
|
|
|
Movement_turn_waterfall_left: ; 536e
|
|
ld a, $a
|
|
jp Function5446
|
|
; 5373
|
|
|
|
Movement_turn_waterfall_right: ; 5373
|
|
ld a, $b
|
|
jp Function5446
|
|
; 5378
|
|
|
|
|
|
Movement_slow_slide_step_down: ; 5378
|
|
ld a, $0
|
|
jp Function5468
|
|
; 537d
|
|
|
|
Movement_slow_slide_step_up: ; 537d
|
|
ld a, $1
|
|
jp Function5468
|
|
; 5382
|
|
|
|
Movement_slow_slide_step_left: ; 5382
|
|
ld a, $2
|
|
jp Function5468
|
|
; 5387
|
|
|
|
Movement_slow_slide_step_right: ; 5387
|
|
ld a, $3
|
|
jp Function5468
|
|
; 538c
|
|
|
|
Movement_slide_step_down: ; 538c
|
|
ld a, $4
|
|
jp Function5468
|
|
; 5391
|
|
|
|
Movement_slide_step_up: ; 5391
|
|
ld a, $5
|
|
jp Function5468
|
|
; 5396
|
|
|
|
Movement_slide_step_left: ; 5396
|
|
ld a, $6
|
|
jp Function5468
|
|
; 539b
|
|
|
|
Movement_slide_step_right: ; 539b
|
|
ld a, $7
|
|
jp Function5468
|
|
; 53a0
|
|
|
|
Movement_fast_slide_step_down: ; 53a0
|
|
ld a, $8
|
|
jp Function5468
|
|
; 53a5
|
|
|
|
Movement_fast_slide_step_up: ; 53a5
|
|
ld a, $9
|
|
jp Function5468
|
|
; 53aa
|
|
|
|
Movement_fast_slide_step_left: ; 53aa
|
|
ld a, $a
|
|
jp Function5468
|
|
; 53af
|
|
|
|
Movement_fast_slide_step_right: ; 53af
|
|
ld a, $b
|
|
jp Function5468
|
|
; 53b4
|
|
|
|
|
|
Movement_slow_jump_step_down: ; 53b4
|
|
ld a, $0
|
|
jp Function548a
|
|
; 53b9
|
|
|
|
Movement_slow_jump_step_up: ; 53b9
|
|
ld a, $1
|
|
jp Function548a
|
|
; 53be
|
|
|
|
Movement_slow_jump_step_left: ; 53be
|
|
ld a, $2
|
|
jp Function548a
|
|
; 53c3
|
|
|
|
Movement_slow_jump_step_right: ; 53c3
|
|
ld a, $3
|
|
jp Function548a
|
|
; 53c8
|
|
|
|
Movement_jump_step_down: ; 53c8
|
|
ld a, $4
|
|
jp Function548a
|
|
; 53cd
|
|
|
|
Movement_jump_step_up: ; 53cd
|
|
ld a, $5
|
|
jp Function548a
|
|
; 53d2
|
|
|
|
Movement_jump_step_left: ; 53d2
|
|
ld a, $6
|
|
jp Function548a
|
|
; 53d7
|
|
|
|
Movement_jump_step_right: ; 53d7
|
|
ld a, $7
|
|
jp Function548a
|
|
; 53dc
|
|
|
|
Movement_fast_jump_step_down: ; 53dc
|
|
ld a, $8
|
|
jp Function548a
|
|
; 53e1
|
|
|
|
Movement_fast_jump_step_up: ; 53e1
|
|
ld a, $9
|
|
jp Function548a
|
|
; 53e6
|
|
|
|
Movement_fast_jump_step_left: ; 53e6
|
|
ld a, $a
|
|
jp Function548a
|
|
; 53eb
|
|
|
|
Movement_fast_jump_step_right: ; 53eb
|
|
ld a, $b
|
|
jp Function548a
|
|
; 53f0
|
|
|
|
|
|
Movement_half_step_down: ; 53f0
|
|
ld a, $0
|
|
jr Function5400
|
|
|
|
Movement_half_step_up: ; 53f4
|
|
ld a, $4
|
|
jr Function5400
|
|
|
|
Movement_half_step_left: ; 53f8
|
|
ld a, $8
|
|
jr Function5400
|
|
|
|
Movement_half_step_right: ; 53fc
|
|
ld a, $c
|
|
jr Function5400
|
|
|
|
Function5400: ; 5400
|
|
ld hl, $001d
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $2
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $a
|
|
ret
|
|
; 5412
|
|
|
|
Function5412: ; 5412
|
|
call Function4690
|
|
call Function463f
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $2
|
|
ld hl, OBJECT_STANDING_TILE
|
|
add hl, bc
|
|
ld a, [hl]
|
|
call CheckSuperTallGrassTile
|
|
jr z, .asm_542d
|
|
|
|
call Function1875
|
|
jr c, .asm_5430
|
|
|
|
.asm_542d
|
|
call Function5556
|
|
|
|
.asm_5430
|
|
ld hl, wd4cf
|
|
ld a, [hConnectionStripLength]
|
|
cp [hl]
|
|
jr z, .asm_543f
|
|
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $2
|
|
ret
|
|
|
|
.asm_543f
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $6
|
|
ret
|
|
; 5446
|
|
|
|
Function5446: ; 5446
|
|
call Function4690
|
|
call Function463f
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $4
|
|
ld hl, wd4cf
|
|
ld a, [hConnectionStripLength]
|
|
cp [hl]
|
|
jr z, .asm_5461
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $2
|
|
ret
|
|
|
|
.asm_5461
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $6
|
|
ret
|
|
; 5468
|
|
|
|
|
|
Function5468: ; 5468
|
|
call Function4690
|
|
call Function463f
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $1
|
|
ld hl, wd4cf
|
|
ld a, [hConnectionStripLength]
|
|
cp [hl]
|
|
jr z, .asm_5483
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $2
|
|
ret
|
|
|
|
.asm_5483
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $6
|
|
ret
|
|
; 548a
|
|
|
|
|
|
Function548a: ; 548a
|
|
call Function4690
|
|
ld hl, $001f
|
|
add hl, bc
|
|
ld [hl], $0
|
|
ld hl, $0005
|
|
add hl, bc
|
|
res 3, [hl]
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld [hl], $2
|
|
call Function5529
|
|
ld hl, wd4cf
|
|
ld a, [hConnectionStripLength]
|
|
cp [hl]
|
|
jr z, .asm_54b1
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $8
|
|
ret
|
|
|
|
.asm_54b1
|
|
ld hl, $0009
|
|
add hl, bc
|
|
ld [hl], $9
|
|
ret
|
|
; 54b8
|