mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-01-23 09:16:20 -08:00
Split out event scripting specials.
This commit is contained in:
parent
943ddf6db0
commit
92e2ed3e61
642
engine/specials.asm
Normal file
642
engine/specials.asm
Normal file
@ -0,0 +1,642 @@
|
||||
|
||||
Special:: ; c01b
|
||||
; Run script special de.
|
||||
ld hl, SpecialsPointers
|
||||
add hl, de
|
||||
add hl, de
|
||||
add hl, de
|
||||
ld b, [hl]
|
||||
inc hl
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld a, b
|
||||
rst FarCall
|
||||
ret
|
||||
; c029
|
||||
|
||||
SpecialsPointers:: ; c029
|
||||
add_special Function97c28
|
||||
add_special Function29ce8
|
||||
add_special Function29d11
|
||||
add_special Function29d92
|
||||
add_special Function29e66
|
||||
add_special Function29e82
|
||||
add_special Function29efa
|
||||
add_special Function29eee
|
||||
add_special Function29c92
|
||||
add_special Function29cf1
|
||||
add_special Function29cfa
|
||||
add_special Function29bfb
|
||||
add_special Function29c7b
|
||||
add_special Function29ec4
|
||||
add_special Function29ed9
|
||||
add_special Function29eaf
|
||||
add_special Function29f47
|
||||
add_special Functionc2f6
|
||||
add_special Functionc309
|
||||
add_special Function1050b9
|
||||
add_special Functionc34a
|
||||
add_special Function4d9e5
|
||||
add_special Function13a12
|
||||
add_special Function13a31
|
||||
add_special Function135db
|
||||
add_special Functionfbb32
|
||||
add_special Functionfbcd2
|
||||
add_special Functionc658
|
||||
add_special Function1559a
|
||||
add_special Functionc2e7
|
||||
add_special Function166d6
|
||||
add_special Function1672a
|
||||
add_special Function16936
|
||||
add_special Function2c547
|
||||
add_special Function16218
|
||||
add_special Function8cc04
|
||||
add_special SpecialNameRival
|
||||
add_special Function90913
|
||||
add_special Functionc2c0
|
||||
add_special Functionc2cd
|
||||
add_special Functionc355
|
||||
add_special Functionc360
|
||||
add_special Functionc373
|
||||
add_special Functionc380
|
||||
add_special Functionc38d
|
||||
add_special Functionc3db
|
||||
add_special Function8c084
|
||||
add_special Function8c092
|
||||
add_special Function8c0b6
|
||||
add_special Function8c079
|
||||
add_special Function8c0ab
|
||||
add_special Functiond91
|
||||
add_special WhiteBGMap
|
||||
add_special UpdateTimePals
|
||||
add_special ClearTileMap
|
||||
add_special Function1ad2
|
||||
add_special Functione4a
|
||||
add_special Functionc230
|
||||
add_special SpecialSeenMon
|
||||
add_special WaitSFX
|
||||
add_special PlayMapMusic
|
||||
add_special RestartMapMusic
|
||||
add_special Function12324
|
||||
add_special Function8379
|
||||
add_special Functionc25a
|
||||
add_special Functionc268
|
||||
add_special Functionc276
|
||||
add_special Functionc284
|
||||
add_special Functionc3ef
|
||||
add_special Function17421
|
||||
add_special Function17440
|
||||
add_special Function139a8
|
||||
add_special Functionc3fc
|
||||
add_special Function26feb
|
||||
add_special Function27043
|
||||
add_special SpecialGiveShuckle
|
||||
add_special SpecialReturnShuckle
|
||||
add_special Function73f7
|
||||
add_special SpecialCheckPokerus
|
||||
add_special Function24b25
|
||||
add_special Function24b4e
|
||||
add_special Function24ae8
|
||||
add_special Function4d87a
|
||||
add_special Functionc434
|
||||
add_special Functionc422
|
||||
add_special Function4d9d3
|
||||
add_special Function88018
|
||||
add_special SpecialNameRater
|
||||
add_special Functionc2da
|
||||
add_special Function718d
|
||||
add_special Function71ac
|
||||
add_special Function2a4ab
|
||||
add_special Function2a51f
|
||||
add_special RandomPhoneMon
|
||||
add_special Function14209
|
||||
add_special Functionfb841
|
||||
add_special SpecialSnorlaxAwake
|
||||
add_special Function7413
|
||||
add_special Function7418
|
||||
add_special Function741d
|
||||
add_special Functionc472
|
||||
add_special ProfOaksPCBoot
|
||||
add_special SpecialGameboyCheck
|
||||
add_special SpecialTrainerHouse
|
||||
add_special Function16dc7
|
||||
add_special InitRoamMons
|
||||
add_special Functionc48f
|
||||
add_special Functionc49f
|
||||
add_special Functionc4ac
|
||||
add_special Function11ac3e
|
||||
add_special Function11b444
|
||||
add_special Function11b5e8
|
||||
add_special Function11b7e5
|
||||
add_special Function11b879
|
||||
add_special Function11b920
|
||||
add_special Function11b93b
|
||||
add_special Function1700b0
|
||||
add_special Function1700ba
|
||||
add_special Function170114
|
||||
add_special Function170215
|
||||
add_special Function1704e1
|
||||
add_special Function17021d
|
||||
add_special Function170b44
|
||||
add_special Function11ba38
|
||||
add_special Function170bd3
|
||||
add_special Function117656
|
||||
add_special Reset
|
||||
add_special Function1011f1
|
||||
add_special Function101220
|
||||
add_special Function101225
|
||||
add_special Function101231
|
||||
add_special Function4925b
|
||||
add_special Function8adef
|
||||
add_special Function11c1ab
|
||||
add_special Function170687
|
||||
add_special Function8ae68
|
||||
add_special Function17d224
|
||||
add_special Function17d2b6
|
||||
add_special Function17d2ce
|
||||
add_special Function17f53d
|
||||
add_special Function103612
|
||||
add_special SpecialHoOhChamber
|
||||
add_special Function102142
|
||||
add_special Function4989a
|
||||
add_special Function49bf9
|
||||
add_special SpecialPokeSeer
|
||||
add_special SpecialBuenasPassword
|
||||
add_special SpecialBuenaPrize
|
||||
add_special SpecialDratini
|
||||
add_special Function11485
|
||||
add_special SpecialBeastsCheck
|
||||
add_special SpecialMonCheck
|
||||
add_special Functionc225
|
||||
add_special Function170bd2
|
||||
add_special Function10366e
|
||||
add_special Function1037eb
|
||||
add_special Function10383c
|
||||
add_special Function1060a2
|
||||
add_special Function14168
|
||||
add_special Function1037c2
|
||||
add_special Function10630f
|
||||
add_special Function103780
|
||||
add_special Function10387b
|
||||
add_special Function4ae12
|
||||
add_special Function1047eb
|
||||
add_special Function4a927
|
||||
add_special Function90a54
|
||||
add_special Function90a88
|
||||
add_special SpecialNone
|
||||
; c224
|
||||
|
||||
SpecialNone: ; c224
|
||||
ret
|
||||
; c225
|
||||
|
||||
Functionc225: ; c225
|
||||
ld a, [ScriptVar]
|
||||
ld d, a
|
||||
callba Function57e2
|
||||
ret
|
||||
; c230
|
||||
|
||||
Functionc230: ; c230
|
||||
ld a, [ScriptVar]
|
||||
dec a
|
||||
call CheckCaughtMon
|
||||
ret nz
|
||||
ld a, [ScriptVar]
|
||||
dec a
|
||||
call SetSeenAndCaughtMon
|
||||
call FadeToMenu
|
||||
ld a, [ScriptVar]
|
||||
ld [wd265], a
|
||||
callba Functionfb877
|
||||
call Function2b4d
|
||||
ret
|
||||
; c252
|
||||
|
||||
SpecialSeenMon: ; c252
|
||||
ld a, [ScriptVar]
|
||||
dec a
|
||||
call SetSeenMon
|
||||
ret
|
||||
; c25a
|
||||
|
||||
Functionc25a: ; c25a
|
||||
ld a, [ScriptVar]
|
||||
ld b, a
|
||||
callba Function4dbd2
|
||||
jr z, Functionc298
|
||||
jr Functionc292
|
||||
|
||||
Functionc268: ; c268
|
||||
ld a, [ScriptVar]
|
||||
ld b, a
|
||||
callba Function4dbd9
|
||||
jr z, Functionc298
|
||||
jr Functionc292
|
||||
|
||||
Functionc276: ; c276
|
||||
ld a, [ScriptVar]
|
||||
ld b, a
|
||||
callba Function4dbe0
|
||||
jr z, Functionc298
|
||||
jr Functionc292
|
||||
|
||||
Functionc284: ; c284
|
||||
ld a, [ScriptVar]
|
||||
ld b, a
|
||||
callba Function4dbe6
|
||||
jr z, Functionc298
|
||||
jr Functionc292
|
||||
|
||||
Functionc292: ; c292
|
||||
ld a, $1
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
|
||||
Functionc298: ; c298
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c29d
|
||||
|
||||
SpecialNameRival: ; 0xc29d
|
||||
ld b, $2 ; rival
|
||||
ld de, RivalName
|
||||
callba Function116b7
|
||||
; default to "SILVER"
|
||||
ld hl, RivalName
|
||||
ld de, DefaultRivalName
|
||||
call InitName
|
||||
ret
|
||||
; 0xc2b2
|
||||
|
||||
DefaultRivalName: ; 0xc2b2
|
||||
db "SILVER@"
|
||||
|
||||
SpecialNameRater: ; c2b9
|
||||
callba NameRater
|
||||
ret
|
||||
; c2c0
|
||||
|
||||
Functionc2c0: ; c2c0
|
||||
call FadeToMenu
|
||||
callba Function9191c
|
||||
call Function2b4d
|
||||
ret
|
||||
; c2cd
|
||||
|
||||
Functionc2cd: ; c2cd
|
||||
call FadeToMenu
|
||||
callba Function16be4
|
||||
call Function2b4d
|
||||
ret
|
||||
; c2da
|
||||
|
||||
Functionc2da: ; c2da
|
||||
call FadeToMenu
|
||||
callba Function3f836
|
||||
call Function2b4d
|
||||
ret
|
||||
; c2e7
|
||||
|
||||
Functionc2e7: ; c2e7
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
callba Function156d9
|
||||
ld a, c
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c2f6
|
||||
|
||||
Functionc2f6: ; c2f6
|
||||
ld a, $0
|
||||
call GetSRAMBank
|
||||
ld a, [$abe2]
|
||||
and a
|
||||
jr z, .asm_c302
|
||||
inc a
|
||||
|
||||
.asm_c302
|
||||
ld [ScriptVar], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
; c309
|
||||
|
||||
Functionc309: ; c309
|
||||
ld a, $0
|
||||
call GetSRAMBank
|
||||
ld a, [$abe2]
|
||||
ld [CurItem], a
|
||||
ld a, $1
|
||||
ld [wd10c], a
|
||||
ld hl, NumItems
|
||||
call ReceiveItem
|
||||
jr nc, .asm_c33d
|
||||
xor a
|
||||
ld [$abe2], a
|
||||
call CloseSRAM
|
||||
ld a, [CurItem]
|
||||
ld [wd265], a
|
||||
call GetItemName
|
||||
ld hl, UnknownText_0xc345
|
||||
call PrintText
|
||||
ld a, $1
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
|
||||
.asm_c33d
|
||||
call CloseSRAM
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c345
|
||||
|
||||
UnknownText_0xc345: ; 0xc345
|
||||
; received item
|
||||
text_jump UnknownText_0x1bd3be
|
||||
db "@"
|
||||
; 0xc34a
|
||||
|
||||
Functionc34a: ; c34a
|
||||
callba Function1369d
|
||||
ld a, b
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c355
|
||||
|
||||
Functionc355: ; c355
|
||||
ld a, [ScriptVar]
|
||||
ld e, a
|
||||
callba Function91a53
|
||||
ret
|
||||
; c360
|
||||
|
||||
Functionc360: ; c360
|
||||
call FadeToMenu
|
||||
callba Functione1190
|
||||
ld a, [wd0ec]
|
||||
ld [ScriptVar], a
|
||||
call Function2b4d
|
||||
ret
|
||||
; c373
|
||||
|
||||
Functionc373: ; c373
|
||||
call Functionc3ae
|
||||
ret c
|
||||
ld a, BANK(Function926c7)
|
||||
ld hl, Function926c7
|
||||
call Functionc39a
|
||||
ret
|
||||
; c380
|
||||
|
||||
Functionc380: ; c380
|
||||
call Functionc3ae
|
||||
ret c
|
||||
ld a, BANK(Functione00ee)
|
||||
ld hl, Functione00ee
|
||||
call Functionc39a
|
||||
ret
|
||||
; c38d
|
||||
|
||||
Functionc38d: ; c38d
|
||||
call Functionc3ae
|
||||
ret c
|
||||
ld a, BANK(Functione1e5b)
|
||||
ld hl, Functione1e5b
|
||||
call Functionc39a
|
||||
ret
|
||||
; c39a
|
||||
|
||||
Functionc39a: ; c39a
|
||||
call Function31cf
|
||||
call FadeToMenu
|
||||
ld hl, wd0e8
|
||||
ld a, [hli]
|
||||
push af
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
pop af
|
||||
rst FarCall
|
||||
call Function2b4d
|
||||
ret
|
||||
; c3ae
|
||||
|
||||
Functionc3ae: ; c3ae
|
||||
ld hl, Coins
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
jr z, .asm_c3c4
|
||||
ld a, COIN_CASE
|
||||
ld [CurItem], a
|
||||
ld hl, NumItems
|
||||
call CheckItem
|
||||
jr nc, .asm_c3c9
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_c3c4
|
||||
ld hl, UnknownText_0xc3d1
|
||||
jr .asm_c3cc
|
||||
|
||||
.asm_c3c9
|
||||
ld hl, UnknownText_0xc3d6
|
||||
|
||||
.asm_c3cc
|
||||
call PrintText
|
||||
scf
|
||||
ret
|
||||
; c3d1
|
||||
|
||||
UnknownText_0xc3d1: ; 0xc3d1
|
||||
; You have no coins.
|
||||
text_jump UnknownText_0x1bd3d7
|
||||
db "@"
|
||||
; 0xc3d6
|
||||
|
||||
UnknownText_0xc3d6: ; 0xc3d6
|
||||
; You don't have a COIN CASE.
|
||||
text_jump UnknownText_0x1bd3eb
|
||||
db "@"
|
||||
; 0xc3db
|
||||
|
||||
Functionc3db: ; c3db
|
||||
call WhiteBGMap
|
||||
call Function2879
|
||||
ret
|
||||
; c3e2
|
||||
|
||||
ScriptReturnCarry: ; c3e2
|
||||
jr c, .carry
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
.carry
|
||||
ld a, 1
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c3ef
|
||||
|
||||
Functionc3ef: ; c3ef
|
||||
callba Function1150c
|
||||
ld a, [wdc3a]
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c3fc
|
||||
|
||||
Functionc3fc: ; c3fc
|
||||
ld a, [ScriptVar]
|
||||
ld [wdfce], a
|
||||
ret
|
||||
; c403
|
||||
|
||||
|
||||
Functionc403:: ; c403
|
||||
ld a, c
|
||||
and a
|
||||
jr nz, .asm_c410
|
||||
ld a, d
|
||||
ld [wdfcc], a
|
||||
ld a, e
|
||||
ld [wdfcd], a
|
||||
ret
|
||||
|
||||
.asm_c410
|
||||
ld a, d
|
||||
ld [wdc5a], a
|
||||
ld a, e
|
||||
ld [wdc5b], a
|
||||
ret
|
||||
; c419
|
||||
|
||||
|
||||
SpecialCheckPokerus: ; c419
|
||||
; Check if a monster in your party has Pokerus
|
||||
callba CheckPokerus
|
||||
jp ScriptReturnCarry
|
||||
; c422
|
||||
|
||||
Functionc422: ; c422
|
||||
callba Function1152b
|
||||
ld hl, wdc9d
|
||||
res 0, [hl]
|
||||
callba Function5d33
|
||||
ret
|
||||
; c434
|
||||
|
||||
Functionc434: ; c434
|
||||
callba Function11542
|
||||
jp ScriptReturnCarry
|
||||
; c43d
|
||||
|
||||
SpecialSnorlaxAwake: ; 0xc43d
|
||||
; Check if the Poké Flute channel is playing, and if the player is standing
|
||||
; next to Snorlax.
|
||||
|
||||
; outputs:
|
||||
; ScriptVar is 1 if the conditions are met, otherwise 0.
|
||||
|
||||
; check background music
|
||||
ld a, [wMapMusic]
|
||||
cp MUSIC_POKE_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 [ScriptVar], a
|
||||
ret
|
||||
|
||||
.ProximityCoords
|
||||
; x, y
|
||||
db 33, 8 ; left
|
||||
db 34, 10 ; below
|
||||
db 35, 10 ; below
|
||||
db 36, 8 ; right
|
||||
db 36, 9 ; right
|
||||
db $ff
|
||||
|
||||
|
||||
Functionc472: ; c472
|
||||
ld a, [CurPartySpecies]
|
||||
jp PlayCry
|
||||
; c478
|
||||
|
||||
|
||||
SpecialGameboyCheck: ; c478
|
||||
ld a, [hCGB]
|
||||
and a
|
||||
jr nz, .cgb
|
||||
|
||||
ld a, [hSGB]
|
||||
and a
|
||||
jr nz, .sgb
|
||||
|
||||
.gb
|
||||
xor a
|
||||
jr .done
|
||||
.sgb
|
||||
ld a, 1
|
||||
jr .done
|
||||
.cgb
|
||||
ld a, 2
|
||||
.done
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
|
||||
|
||||
Functionc48f: ; c48f
|
||||
ld a, MUSIC_NONE % $100
|
||||
ld [MusicFadeIDLo], a
|
||||
ld a, MUSIC_NONE / $100
|
||||
ld [MusicFadeIDHi], a
|
||||
ld a, $2
|
||||
ld [MusicFade], a
|
||||
ret
|
||||
; c49f
|
||||
|
||||
Functionc49f: ; c49f
|
||||
call FadeToMenu
|
||||
callba Function1dd702
|
||||
call Function2b4d
|
||||
ret
|
||||
; c4ac
|
||||
|
||||
Functionc4ac: ; c4ac
|
||||
call FadeToMenu
|
||||
callba Function84688
|
||||
call Function2b4d
|
||||
ret
|
||||
; c4b9
|
||||
|
||||
SpecialTrainerHouse: ; 0xc4b9
|
||||
ld a, 0
|
||||
call GetSRAMBank
|
||||
ld a, [$abfd] ; XXX what is this memory location?
|
||||
ld [ScriptVar], a
|
||||
jp CloseSRAM
|
||||
|
641
main.asm
641
main.asm
@ -4186,646 +4186,7 @@ Datac012: ; c012
|
||||
; c01b
|
||||
|
||||
|
||||
Special:: ; c01b
|
||||
; Run script special de.
|
||||
ld hl, SpecialsPointers
|
||||
add hl, de
|
||||
add hl, de
|
||||
add hl, de
|
||||
ld b, [hl]
|
||||
inc hl
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld a, b
|
||||
rst FarCall
|
||||
ret
|
||||
; c029
|
||||
|
||||
SpecialsPointers:: ; c029
|
||||
add_special Function97c28
|
||||
add_special Function29ce8
|
||||
add_special Function29d11
|
||||
add_special Function29d92
|
||||
add_special Function29e66
|
||||
add_special Function29e82
|
||||
add_special Function29efa
|
||||
add_special Function29eee
|
||||
add_special Function29c92
|
||||
add_special Function29cf1
|
||||
add_special Function29cfa
|
||||
add_special Function29bfb
|
||||
add_special Function29c7b
|
||||
add_special Function29ec4
|
||||
add_special Function29ed9
|
||||
add_special Function29eaf
|
||||
add_special Function29f47
|
||||
add_special Functionc2f6
|
||||
add_special Functionc309
|
||||
add_special Function1050b9
|
||||
add_special Functionc34a
|
||||
add_special Function4d9e5
|
||||
add_special Function13a12
|
||||
add_special Function13a31
|
||||
add_special Function135db
|
||||
add_special Functionfbb32
|
||||
add_special Functionfbcd2
|
||||
add_special Functionc658
|
||||
add_special Function1559a
|
||||
add_special Functionc2e7
|
||||
add_special Function166d6
|
||||
add_special Function1672a
|
||||
add_special Function16936
|
||||
add_special Function2c547
|
||||
add_special Function16218
|
||||
add_special Function8cc04
|
||||
add_special SpecialNameRival
|
||||
add_special Function90913
|
||||
add_special Functionc2c0
|
||||
add_special Functionc2cd
|
||||
add_special Functionc355
|
||||
add_special Functionc360
|
||||
add_special Functionc373
|
||||
add_special Functionc380
|
||||
add_special Functionc38d
|
||||
add_special Functionc3db
|
||||
add_special Function8c084
|
||||
add_special Function8c092
|
||||
add_special Function8c0b6
|
||||
add_special Function8c079
|
||||
add_special Function8c0ab
|
||||
add_special Functiond91
|
||||
add_special WhiteBGMap
|
||||
add_special UpdateTimePals
|
||||
add_special ClearTileMap
|
||||
add_special Function1ad2
|
||||
add_special Functione4a
|
||||
add_special Functionc230
|
||||
add_special SpecialSeenMon
|
||||
add_special WaitSFX
|
||||
add_special PlayMapMusic
|
||||
add_special RestartMapMusic
|
||||
add_special Function12324
|
||||
add_special Function8379
|
||||
add_special Functionc25a
|
||||
add_special Functionc268
|
||||
add_special Functionc276
|
||||
add_special Functionc284
|
||||
add_special Functionc3ef
|
||||
add_special Function17421
|
||||
add_special Function17440
|
||||
add_special Function139a8
|
||||
add_special Functionc3fc
|
||||
add_special Function26feb
|
||||
add_special Function27043
|
||||
add_special SpecialGiveShuckle
|
||||
add_special SpecialReturnShuckle
|
||||
add_special Function73f7
|
||||
add_special SpecialCheckPokerus
|
||||
add_special Function24b25
|
||||
add_special Function24b4e
|
||||
add_special Function24ae8
|
||||
add_special Function4d87a
|
||||
add_special Functionc434
|
||||
add_special Functionc422
|
||||
add_special Function4d9d3
|
||||
add_special Function88018
|
||||
add_special SpecialNameRater
|
||||
add_special Functionc2da
|
||||
add_special Function718d
|
||||
add_special Function71ac
|
||||
add_special Function2a4ab
|
||||
add_special Function2a51f
|
||||
add_special RandomPhoneMon
|
||||
add_special Function14209
|
||||
add_special Functionfb841
|
||||
add_special SpecialSnorlaxAwake
|
||||
add_special Function7413
|
||||
add_special Function7418
|
||||
add_special Function741d
|
||||
add_special Functionc472
|
||||
add_special ProfOaksPCBoot
|
||||
add_special SpecialGameboyCheck
|
||||
add_special SpecialTrainerHouse
|
||||
add_special Function16dc7
|
||||
add_special InitRoamMons
|
||||
add_special Functionc48f
|
||||
add_special Functionc49f
|
||||
add_special Functionc4ac
|
||||
add_special Function11ac3e
|
||||
add_special Function11b444
|
||||
add_special Function11b5e8
|
||||
add_special Function11b7e5
|
||||
add_special Function11b879
|
||||
add_special Function11b920
|
||||
add_special Function11b93b
|
||||
add_special Function1700b0
|
||||
add_special Function1700ba
|
||||
add_special Function170114
|
||||
add_special Function170215
|
||||
add_special Function1704e1
|
||||
add_special Function17021d
|
||||
add_special Function170b44
|
||||
add_special Function11ba38
|
||||
add_special Function170bd3
|
||||
add_special Function117656
|
||||
add_special Reset
|
||||
add_special Function1011f1
|
||||
add_special Function101220
|
||||
add_special Function101225
|
||||
add_special Function101231
|
||||
add_special Function4925b
|
||||
add_special Function8adef
|
||||
add_special Function11c1ab
|
||||
add_special Function170687
|
||||
add_special Function8ae68
|
||||
add_special Function17d224
|
||||
add_special Function17d2b6
|
||||
add_special Function17d2ce
|
||||
add_special Function17f53d
|
||||
add_special Function103612
|
||||
add_special SpecialHoOhChamber
|
||||
add_special Function102142
|
||||
add_special Function4989a
|
||||
add_special Function49bf9
|
||||
add_special SpecialPokeSeer
|
||||
add_special SpecialBuenasPassword
|
||||
add_special SpecialBuenaPrize
|
||||
add_special SpecialDratini
|
||||
add_special Function11485
|
||||
add_special SpecialBeastsCheck
|
||||
add_special SpecialMonCheck
|
||||
add_special Functionc225
|
||||
add_special Function170bd2
|
||||
add_special Function10366e
|
||||
add_special Function1037eb
|
||||
add_special Function10383c
|
||||
add_special Function1060a2
|
||||
add_special Function14168
|
||||
add_special Function1037c2
|
||||
add_special Function10630f
|
||||
add_special Function103780
|
||||
add_special Function10387b
|
||||
add_special Function4ae12
|
||||
add_special Function1047eb
|
||||
add_special Function4a927
|
||||
add_special Function90a54
|
||||
add_special Function90a88
|
||||
add_special SpecialNone
|
||||
; c224
|
||||
|
||||
SpecialNone: ; c224
|
||||
ret
|
||||
; c225
|
||||
|
||||
Functionc225: ; c225
|
||||
ld a, [ScriptVar]
|
||||
ld d, a
|
||||
callba Function57e2
|
||||
ret
|
||||
; c230
|
||||
|
||||
Functionc230: ; c230
|
||||
ld a, [ScriptVar]
|
||||
dec a
|
||||
call CheckCaughtMon
|
||||
ret nz
|
||||
ld a, [ScriptVar]
|
||||
dec a
|
||||
call SetSeenAndCaughtMon
|
||||
call FadeToMenu
|
||||
ld a, [ScriptVar]
|
||||
ld [wd265], a
|
||||
callba Functionfb877
|
||||
call Function2b4d
|
||||
ret
|
||||
; c252
|
||||
|
||||
SpecialSeenMon: ; c252
|
||||
ld a, [ScriptVar]
|
||||
dec a
|
||||
call SetSeenMon
|
||||
ret
|
||||
; c25a
|
||||
|
||||
Functionc25a: ; c25a
|
||||
ld a, [ScriptVar]
|
||||
ld b, a
|
||||
callba Function4dbd2
|
||||
jr z, Functionc298
|
||||
jr Functionc292
|
||||
|
||||
Functionc268: ; c268
|
||||
ld a, [ScriptVar]
|
||||
ld b, a
|
||||
callba Function4dbd9
|
||||
jr z, Functionc298
|
||||
jr Functionc292
|
||||
|
||||
Functionc276: ; c276
|
||||
ld a, [ScriptVar]
|
||||
ld b, a
|
||||
callba Function4dbe0
|
||||
jr z, Functionc298
|
||||
jr Functionc292
|
||||
|
||||
Functionc284: ; c284
|
||||
ld a, [ScriptVar]
|
||||
ld b, a
|
||||
callba Function4dbe6
|
||||
jr z, Functionc298
|
||||
jr Functionc292
|
||||
|
||||
Functionc292: ; c292
|
||||
ld a, $1
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
|
||||
Functionc298: ; c298
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c29d
|
||||
|
||||
SpecialNameRival: ; 0xc29d
|
||||
ld b, $2 ; rival
|
||||
ld de, RivalName
|
||||
callba Function116b7
|
||||
; default to "SILVER"
|
||||
ld hl, RivalName
|
||||
ld de, DefaultRivalName
|
||||
call InitName
|
||||
ret
|
||||
; 0xc2b2
|
||||
|
||||
DefaultRivalName: ; 0xc2b2
|
||||
db "SILVER@"
|
||||
|
||||
SpecialNameRater: ; c2b9
|
||||
callba NameRater
|
||||
ret
|
||||
; c2c0
|
||||
|
||||
Functionc2c0: ; c2c0
|
||||
call FadeToMenu
|
||||
callba Function9191c
|
||||
call Function2b4d
|
||||
ret
|
||||
; c2cd
|
||||
|
||||
Functionc2cd: ; c2cd
|
||||
call FadeToMenu
|
||||
callba Function16be4
|
||||
call Function2b4d
|
||||
ret
|
||||
; c2da
|
||||
|
||||
Functionc2da: ; c2da
|
||||
call FadeToMenu
|
||||
callba Function3f836
|
||||
call Function2b4d
|
||||
ret
|
||||
; c2e7
|
||||
|
||||
Functionc2e7: ; c2e7
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
callba Function156d9
|
||||
ld a, c
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c2f6
|
||||
|
||||
Functionc2f6: ; c2f6
|
||||
ld a, $0
|
||||
call GetSRAMBank
|
||||
ld a, [$abe2]
|
||||
and a
|
||||
jr z, .asm_c302
|
||||
inc a
|
||||
|
||||
.asm_c302
|
||||
ld [ScriptVar], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
; c309
|
||||
|
||||
Functionc309: ; c309
|
||||
ld a, $0
|
||||
call GetSRAMBank
|
||||
ld a, [$abe2]
|
||||
ld [CurItem], a
|
||||
ld a, $1
|
||||
ld [wd10c], a
|
||||
ld hl, NumItems
|
||||
call ReceiveItem
|
||||
jr nc, .asm_c33d
|
||||
xor a
|
||||
ld [$abe2], a
|
||||
call CloseSRAM
|
||||
ld a, [CurItem]
|
||||
ld [wd265], a
|
||||
call GetItemName
|
||||
ld hl, UnknownText_0xc345
|
||||
call PrintText
|
||||
ld a, $1
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
|
||||
.asm_c33d
|
||||
call CloseSRAM
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c345
|
||||
|
||||
UnknownText_0xc345: ; 0xc345
|
||||
; received item
|
||||
text_jump UnknownText_0x1bd3be
|
||||
db "@"
|
||||
; 0xc34a
|
||||
|
||||
Functionc34a: ; c34a
|
||||
callba Function1369d
|
||||
ld a, b
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c355
|
||||
|
||||
Functionc355: ; c355
|
||||
ld a, [ScriptVar]
|
||||
ld e, a
|
||||
callba Function91a53
|
||||
ret
|
||||
; c360
|
||||
|
||||
Functionc360: ; c360
|
||||
call FadeToMenu
|
||||
callba Functione1190
|
||||
ld a, [wd0ec]
|
||||
ld [ScriptVar], a
|
||||
call Function2b4d
|
||||
ret
|
||||
; c373
|
||||
|
||||
Functionc373: ; c373
|
||||
call Functionc3ae
|
||||
ret c
|
||||
ld a, BANK(Function926c7)
|
||||
ld hl, Function926c7
|
||||
call Functionc39a
|
||||
ret
|
||||
; c380
|
||||
|
||||
Functionc380: ; c380
|
||||
call Functionc3ae
|
||||
ret c
|
||||
ld a, BANK(Functione00ee)
|
||||
ld hl, Functione00ee
|
||||
call Functionc39a
|
||||
ret
|
||||
; c38d
|
||||
|
||||
Functionc38d: ; c38d
|
||||
call Functionc3ae
|
||||
ret c
|
||||
ld a, BANK(Functione1e5b)
|
||||
ld hl, Functione1e5b
|
||||
call Functionc39a
|
||||
ret
|
||||
; c39a
|
||||
|
||||
Functionc39a: ; c39a
|
||||
call Function31cf
|
||||
call FadeToMenu
|
||||
ld hl, wd0e8
|
||||
ld a, [hli]
|
||||
push af
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
pop af
|
||||
rst FarCall
|
||||
call Function2b4d
|
||||
ret
|
||||
; c3ae
|
||||
|
||||
Functionc3ae: ; c3ae
|
||||
ld hl, Coins
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
jr z, .asm_c3c4
|
||||
ld a, COIN_CASE
|
||||
ld [CurItem], a
|
||||
ld hl, NumItems
|
||||
call CheckItem
|
||||
jr nc, .asm_c3c9
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_c3c4
|
||||
ld hl, UnknownText_0xc3d1
|
||||
jr .asm_c3cc
|
||||
|
||||
.asm_c3c9
|
||||
ld hl, UnknownText_0xc3d6
|
||||
|
||||
.asm_c3cc
|
||||
call PrintText
|
||||
scf
|
||||
ret
|
||||
; c3d1
|
||||
|
||||
UnknownText_0xc3d1: ; 0xc3d1
|
||||
; You have no coins.
|
||||
text_jump UnknownText_0x1bd3d7
|
||||
db "@"
|
||||
; 0xc3d6
|
||||
|
||||
UnknownText_0xc3d6: ; 0xc3d6
|
||||
; You don't have a COIN CASE.
|
||||
text_jump UnknownText_0x1bd3eb
|
||||
db "@"
|
||||
; 0xc3db
|
||||
|
||||
Functionc3db: ; c3db
|
||||
call WhiteBGMap
|
||||
call Function2879
|
||||
ret
|
||||
; c3e2
|
||||
|
||||
ScriptReturnCarry: ; c3e2
|
||||
jr c, .carry
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
.carry
|
||||
ld a, 1
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c3ef
|
||||
|
||||
Functionc3ef: ; c3ef
|
||||
callba Function1150c
|
||||
ld a, [wdc3a]
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; c3fc
|
||||
|
||||
Functionc3fc: ; c3fc
|
||||
ld a, [ScriptVar]
|
||||
ld [wdfce], a
|
||||
ret
|
||||
; c403
|
||||
|
||||
|
||||
Functionc403:: ; c403
|
||||
ld a, c
|
||||
and a
|
||||
jr nz, .asm_c410
|
||||
ld a, d
|
||||
ld [wdfcc], a
|
||||
ld a, e
|
||||
ld [wdfcd], a
|
||||
ret
|
||||
|
||||
.asm_c410
|
||||
ld a, d
|
||||
ld [wdc5a], a
|
||||
ld a, e
|
||||
ld [wdc5b], a
|
||||
ret
|
||||
; c419
|
||||
|
||||
|
||||
SpecialCheckPokerus: ; c419
|
||||
; Check if a monster in your party has Pokerus
|
||||
callba CheckPokerus
|
||||
jp ScriptReturnCarry
|
||||
; c422
|
||||
|
||||
Functionc422: ; c422
|
||||
callba Function1152b
|
||||
ld hl, wdc9d
|
||||
res 0, [hl]
|
||||
callba Function5d33
|
||||
ret
|
||||
; c434
|
||||
|
||||
Functionc434: ; c434
|
||||
callba Function11542
|
||||
jp ScriptReturnCarry
|
||||
; c43d
|
||||
|
||||
SpecialSnorlaxAwake: ; 0xc43d
|
||||
; Check if the Poké Flute channel is playing, and if the player is standing
|
||||
; next to Snorlax.
|
||||
|
||||
; outputs:
|
||||
; ScriptVar is 1 if the conditions are met, otherwise 0.
|
||||
|
||||
; check background music
|
||||
ld a, [wMapMusic]
|
||||
cp MUSIC_POKE_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 [ScriptVar], a
|
||||
ret
|
||||
|
||||
.ProximityCoords
|
||||
; x, y
|
||||
db 33, 8 ; left
|
||||
db 34, 10 ; below
|
||||
db 35, 10 ; below
|
||||
db 36, 8 ; right
|
||||
db 36, 9 ; right
|
||||
db $ff
|
||||
|
||||
|
||||
Functionc472: ; c472
|
||||
ld a, [CurPartySpecies]
|
||||
jp PlayCry
|
||||
; c478
|
||||
|
||||
|
||||
SpecialGameboyCheck: ; c478
|
||||
ld a, [hCGB]
|
||||
and a
|
||||
jr nz, .cgb
|
||||
|
||||
ld a, [hSGB]
|
||||
and a
|
||||
jr nz, .sgb
|
||||
|
||||
.gb
|
||||
xor a
|
||||
jr .done
|
||||
.sgb
|
||||
ld a, 1
|
||||
jr .done
|
||||
.cgb
|
||||
ld a, 2
|
||||
.done
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
|
||||
|
||||
Functionc48f: ; c48f
|
||||
ld a, MUSIC_NONE % $100
|
||||
ld [MusicFadeIDLo], a
|
||||
ld a, MUSIC_NONE / $100
|
||||
ld [MusicFadeIDHi], a
|
||||
ld a, $2
|
||||
ld [MusicFade], a
|
||||
ret
|
||||
; c49f
|
||||
|
||||
Functionc49f: ; c49f
|
||||
call FadeToMenu
|
||||
callba Function1dd702
|
||||
call Function2b4d
|
||||
ret
|
||||
; c4ac
|
||||
|
||||
Functionc4ac: ; c4ac
|
||||
call FadeToMenu
|
||||
callba Function84688
|
||||
call Function2b4d
|
||||
ret
|
||||
; c4b9
|
||||
|
||||
SpecialTrainerHouse: ; 0xc4b9
|
||||
ld a, 0
|
||||
call GetSRAMBank
|
||||
ld a, [$abfd] ; XXX what is this memory location?
|
||||
ld [ScriptVar], a
|
||||
jp CloseSRAM
|
||||
INCLUDE "engine/specials.asm"
|
||||
|
||||
|
||||
_PrintNum:: ; c4c7
|
||||
|
Loading…
x
Reference in New Issue
Block a user