mirror of https://github.com/pret/pokecrystal.git
Add Special 0x60, which checks the conditions for Snorlax to wake up.
This commit is contained in:
parent
a99c75b7cd
commit
92e80be51b
55
main.asm
55
main.asm
|
@ -654,7 +654,7 @@ SpecialsPointers: ; 0xc029
|
||||||
dbw $0a,$6567
|
dbw $0a,$6567
|
||||||
dbw $05,$4209
|
dbw $05,$4209
|
||||||
dbw $3e,$7841
|
dbw $3e,$7841
|
||||||
dbw $03,$443d
|
dbw BANK(SpecialSnorlaxAwake),SpecialSnorlaxAwake
|
||||||
dbw $01,$7413
|
dbw $01,$7413
|
||||||
dbw $01,$7418
|
dbw $01,$7418
|
||||||
dbw $01,$741d
|
dbw $01,$741d
|
||||||
|
@ -728,7 +728,58 @@ SpecialsPointers: ; 0xc029
|
||||||
dbw $24,$4a88
|
dbw $24,$4a88
|
||||||
dbw $03,$4224
|
dbw $03,$4224
|
||||||
|
|
||||||
INCBIN "baserom.gbc",$c224,$c5d2 - $c224
|
INCBIN "baserom.gbc",$c224,$c43d - $c224
|
||||||
|
|
||||||
|
SpecialSnorlaxAwake: ; 0xc43d
|
||||||
|
; Check if the Poké Flute channel is playing, and if the player is standing
|
||||||
|
; next to Snorlax.
|
||||||
|
|
||||||
|
; outputs:
|
||||||
|
; $c2dd is 1 if the conditions are met, otherwise 0.
|
||||||
|
|
||||||
|
; check background music
|
||||||
|
ld a, [$c2c0]
|
||||||
|
cp $40 ; Poké Flute Channel
|
||||||
|
jr nz, .nope
|
||||||
|
|
||||||
|
ld a, [XCoord]
|
||||||
|
ld b, a
|
||||||
|
ld a, [YCoord]
|
||||||
|
ld c, a
|
||||||
|
|
||||||
|
ld hl, .ProximityCoords
|
||||||
|
.loop
|
||||||
|
ld a, [hli]
|
||||||
|
cp $ff
|
||||||
|
jr z, .nope
|
||||||
|
cp b
|
||||||
|
jr nz, .nextcoord
|
||||||
|
ld a, [hli]
|
||||||
|
cp c
|
||||||
|
jr nz, .loop
|
||||||
|
|
||||||
|
ld a, $1
|
||||||
|
jr .done
|
||||||
|
|
||||||
|
.nextcoord
|
||||||
|
inc hl
|
||||||
|
jr .loop
|
||||||
|
|
||||||
|
.nope
|
||||||
|
xor a
|
||||||
|
.done
|
||||||
|
ld [$c2dd], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.ProximityCoords
|
||||||
|
db $21,$08
|
||||||
|
db $22,$0a
|
||||||
|
db $23,$0a
|
||||||
|
db $24,$08
|
||||||
|
db $24,$09
|
||||||
|
db $ff
|
||||||
|
|
||||||
|
INCBIN "baserom.gbc",$c472,$c5d2 - $c472
|
||||||
|
|
||||||
PrintNumber_PrintDigit: ; c5d2
|
PrintNumber_PrintDigit: ; c5d2
|
||||||
INCBIN "baserom.gbc",$c5d2,$c644 - $c5d2
|
INCBIN "baserom.gbc",$c5d2,$c644 - $c5d2
|
||||||
|
|
13
wram.asm
13
wram.asm
|
@ -641,6 +641,19 @@ Box13Name: ; 0xdb31
|
||||||
Box14Name: ; 0xdb3a
|
Box14Name: ; 0xdb3a
|
||||||
ds 9
|
ds 9
|
||||||
|
|
||||||
|
SECTION "PlayerMapInfo", BSS[$dcb4]
|
||||||
|
|
||||||
|
WarpNumber: ; 0xdcb4
|
||||||
|
ds 1
|
||||||
|
MapGroup: ; 0xdcb5
|
||||||
|
ds 1 ; map group of current map
|
||||||
|
MapNumber: ; 0xdcb6
|
||||||
|
ds 1 ; map number of current map
|
||||||
|
YCoord: ; 0xdcb7
|
||||||
|
ds 1 ; current y coordinate relative to top-left corner of current map
|
||||||
|
XCoord: ; 0xdcb8
|
||||||
|
ds 1 ; current x coordinate relative to top-left corner of current map
|
||||||
|
|
||||||
SECTION "PlayerParty",BSS[$dcd7]
|
SECTION "PlayerParty",BSS[$dcd7]
|
||||||
|
|
||||||
PartyCount: ; 0xdcd7
|
PartyCount: ; 0xdcd7
|
||||||
|
|
Loading…
Reference in New Issue