Pull map scripts out of main.asm

This commit is contained in:
U-Fish-PC\Daniel 2014-05-18 14:19:10 -04:00
parent 4e4e72d02a
commit 24c01b09bb
310 changed files with 29853 additions and 29630 deletions

View file

@ -608,7 +608,8 @@ Mansion1HiddenObjects: ; 46f2b (11:6f2b)
db $FF
Mansion2HiddenObjects: ; 46f38 (11:6f38)
db $0b,$02,$04 ; XXX, y, x
dbw Bank(Func_52037), Func_52037
db Bank(Mansion2Script_52037)
dw Mansion2Script_52037
db $FF
Mansion3HiddenObjects: ; 46f3f (11:6f3f)
db $09,$01,MAX_REVIVE

29429
main.asm

File diff suppressed because it is too large Load diff

157
scripts/agatha.asm Executable file
View file

@ -0,0 +1,157 @@
AgathaScript: ; 7642d (1d:642d)
call AgathaScript_76443
call EnableAutoTextBoxDrawing
ld hl, AgathaTrainerHeaders
ld de, AgathaScriptPointers
ld a, [W_AGATHACURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_AGATHACURSCRIPT], a
ret
AgathaScript_76443: ; 76443 (1d:6443)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld a, [$d865]
bit 1, a
jr z, .asm_76457
ld a, $e
jp AgathaScript_76459
.asm_76457
ld a, $3b
AgathaScript_76459: ; 76459 (1d:6459)
ld [$d09f], a
ld bc, $2
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
AgathaScript_76464: ; 76464 (1d:6464)
xor a
ld [W_AGATHACURSCRIPT], a
ret
AgathaScriptPointers: ; 76469 (1d:6469)
dw AgathaScript0
dw Func_324c
dw AgathaScript2
dw AgathaScript3
dw AgathaScript4
AgathaScript4: ; 76473 (1d:6473)
ret
asm_76474: ; 76474 (1d:6474)
ld hl, $ccd3
ld a, $40
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
ld a, $6
ld [$cd38], a
call Func_3486
ld a, $3
ld [W_AGATHACURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
AgathaScript0: ; 76490 (1d:6490)
ld hl, CoordsData_764d1
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
ld [H_NEWLYPRESSEDBUTTONS], a
ld [H_CURRENTPRESSEDBUTTONS], a
ld [$ccd3], a
ld [$cd38], a
ld a, [wWhichTrade] ; $cd3d
cp $3
jr c, .asm_764b4
ld hl, $d865
bit 6, [hl]
set 6, [hl]
jr z, asm_76474
.asm_764b4
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld a, $40
ld [$ccd3], a
ld a, $1
ld [$cd38], a
call Func_3486
ld a, $3
ld [W_AGATHACURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CoordsData_764d1: ; 764d1 (1d:64d1)
db $0A,$04
db $0A,$05
db $0B,$04
db $0B,$05
db $FF
AgathaScript3: ; 764da (1d:64da)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_AGATHACURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
AgathaScript2: ; 764ed (1d:64ed)
call EndTrainerBattle
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, AgathaScript_76464
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld a, $1
ld [W_GARYCURSCRIPT], a
ret
AgathaTextPointers: ; 76505 (1d:6505)
dw AgathaText1
dw AgathaText2
AgathaTrainerHeaders: ; 76509 (1d:6509)
AgathaTrainerHeader0: ; 76509 (1d:6509)
db $1 ; flag's bit
db ($0 << 4) ; trainer's view range
dw $d865 ; flag's byte
dw AgathaBeforeBattleText ; 0x6520 TextBeforeBattle
dw AgathaAfterBattleText ; 0x652a TextAfterBattle
dw AgathaEndBattleText ; 0x6525 TextEndBattle
dw AgathaEndBattleText ; 0x6525 TextEndBattle
db $ff
AgathaText1: ; 76516 (1d:6516)
db $08 ; asm
ld hl, AgathaTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
AgathaBeforeBattleText: ; 76520 (1d:6520)
TX_FAR _AgathaBeforeBattleText
db "@"
AgathaEndBattleText: ; 76525 (1d:6525)
TX_FAR _AgathaEndBattleText
db "@"
AgathaAfterBattleText: ; 7652a (1d:652a)
TX_FAR _AgathaAfterBattleText
db "@"
AgathaText2: ; 7652f (1d:652f)
TX_FAR _AgathaText2
db "@"

38
scripts/battlecenterm.asm Executable file
View file

@ -0,0 +1,38 @@
BattleCenterMScript: ; 4fd10 (13:7d10)
call EnableAutoTextBoxDrawing
ld a, [$ffaa]
cp $2
ld a, $8
jr z, .asm_4fd1d ; 0x4fd19 $2
ld a, $c
.asm_4fd1d
ld [$ff8d], a
ld a, $1
ld [$ff8c], a
call Func_34ae
ld hl, $d72d
bit 0, [hl]
set 0, [hl]
ret nz
ld hl, $c214
ld a, $8
ld [hli], a
ld a, $a
ld [hl], a
ld a, $8
ld [$c119], a
ld a, [$ffaa]
cp $2
ret z
ld a, $7
ld [$c215], a
ld a, $c
ld [$c119], a
ret
BattleCenterMTextPointers: ; 4fd4c (13:7d4c)
dw BattleCenterMText1
BattleCenterMText1: ; 4fd4e (13:7d4e)
TX_FAR _BattleCenterMText1
db "@"

153
scripts/bikeshop.asm Executable file
View file

@ -0,0 +1,153 @@
BikeShopScript: ; 1d73c (7:573c)
jp EnableAutoTextBoxDrawing
BikeShopTextPointers: ; 1d73f (7:573f)
dw BikeShopText1
dw BikeShopText2
dw BikeShopText3
BikeShopText1: ; 1d745 (7:5745)
db $08 ; asm
ld a, [$d75f]
bit 0, a
jr z, .asm_260d4 ; 0x1d74b
ld hl, BikeShopText_1d82f
call PrintText
jp .Done
.asm_260d4 ; 0x1d756
ld b, BIKE_VOUCHER
call IsItemInBag
jr z, .asm_41190 ; 0x1d75b
ld hl, BikeShopText_1d81f
call PrintText
ld bc, (BICYCLE << 8) | 1
call GiveItem
jr nc, .BagFull
ld a, BIKE_VOUCHER
ldh [$db], a
ld b, BANK(RemoveItemByID)
ld hl, RemoveItemByID
call Bankswitch
ld hl, $d75f
set 0, [hl]
ld hl, BikeShopText_1d824
call PrintText
jr .Done
.BagFull
ld hl, BikeShopText_1d834
call PrintText
jr .Done
.asm_41190 ; 0x1d78c
ld hl, BikeShopText_1d810
call PrintText
xor a
ld [$cc26], a
ld [$cc2a], a
ld a, $3
ld [$cc29], a
ld a, $1
ld [$cc28], a
ld a, $2
ld [$cc24], a
ld a, $1
ld [$cc25], a
ld hl, $d730
set 6, [hl]
ld hl, wTileMap
ld b, $4
ld c, $f
call TextBoxBorder
call UpdateSprites
FuncCoord 2, 2 ; $c3ca
ld hl, Coord
ld de, BikeShopMenuText
call PlaceString
FuncCoord 8, 3 ; $c3e4
ld hl, Coord
ld de, BikeShopMenuPrice
call PlaceString
ld hl, BikeShopText_1d815
call PrintText
call HandleMenuInput
bit 1, a
jr nz, .asm_b7579 ; 0x1d7dc
ld hl, $d730
res 6, [hl]
ld a, [$cc26]
and a
jr nz, .asm_b7579 ; 0x1d7e7
ld hl, BikeShopText_1d81a
call PrintText
.asm_b7579 ; 0x1d7ef
ld hl, BikeShopText_1d82a
call PrintText
.Done
jp TextScriptEnd
BikeShopMenuText: ; 1d7f8 (7:57f8)
db "BICYCLE"
next "CANCEL@"
BikeShopMenuPrice: ; 1d807 (7:5807)
db "¥1000000@"
BikeShopText_1d810: ; 1d810 (7:5810)
TX_FAR _BikeShopText_1d810
db "@"
BikeShopText_1d815: ; 1d815 (7:5815)
TX_FAR _BikeShopText_1d815
db "@"
BikeShopText_1d81a: ; 1d81a (7:581a)
TX_FAR _BikeShopText_1d81a
db "@"
BikeShopText_1d81f: ; 1d81f (7:581f)
TX_FAR _BikeShopText_1d81f
db "@"
BikeShopText_1d824: ; 1d824 (7:5824)
TX_FAR _BikeShopText_1d824 ; 0x98eb2
db $11, "@"
BikeShopText_1d82a: ; 1d82a (7:582a)
TX_FAR _BikeShopText_1d82a
db "@"
BikeShopText_1d82f: ; 1d82f (7:582f)
TX_FAR _BikeShopText_1d82f
db "@"
BikeShopText_1d834: ; 1d834 (7:5834)
TX_FAR _BikeShopText_1d834
db "@"
BikeShopText2: ; 1d839 (7:5839)
db $08 ; asm
ld hl, BikeShopText_1d843
call PrintText
jp TextScriptEnd
BikeShopText_1d843: ; 1d843 (7:5843)
TX_FAR _BikeShopText_1d843
db "@"
BikeShopText3: ; 1d848 (7:5848)
db $08 ; asm
ld a, [$d75f]
bit 0, a
ld hl, BikeShopText_1d861
jr nz, .asm_34d2d ; 0x1d851
ld hl, BikeShopText_1d85c
.asm_34d2d ; 0x1d856
call PrintText
jp TextScriptEnd
BikeShopText_1d85c: ; 1d85c (7:585c)
TX_FAR _BikeShopText_1d85c
db "@"
BikeShopText_1d861: ; 1d861 (7:5861)
TX_FAR _BikeShopText_1d861
db "@"

208
scripts/billshouse.asm Executable file
View file

@ -0,0 +1,208 @@
BillsHouseScript: ; 1e76a (7:676a)
call EnableAutoTextBoxDrawing
ld a, [W_BILLSHOUSECURSCRIPT]
ld hl, BillsHouseScriptPointers
jp CallFunctionInTable
BillsHouseScriptPointers: ; 1e776 (7:6776)
dw BillsHouseScript0
dw BillsHouseScript1
dw BillsHouseScript2
dw BillsHouseScript3
dw BillsHouseScript4
dw BillsHouseScript5
BillsHouseScript0: ; 1e782 (7:6782)
ret
BillsHouseScript1: ; 1e783 (7:6783)
ld a, [$c109]
and a
ld de, MovementData_1e79c
jr nz, .asm_1e78f ; 0x1e78a $3
ld de, MovementData_1e7a0
.asm_1e78f
ld a, $1
ld [$ff8c], a
call MoveSprite
ld a, $2
ld [W_BILLSHOUSECURSCRIPT], a
ret
MovementData_1e79c: ; 1e79c (7:679c)
db $40,$40,$40,$FF
MovementData_1e7a0: ; 1e7a0 (7:67a0)
db $C0,$40,$40,$80,$40,$FF
BillsHouseScript2: ; 1e7a6 (7:67a6)
ld a, [$d730]
bit 0, a
ret nz
ld a, $61
ld [$cc4d], a
ld a, $11
call Predef
ld hl, $d7f2
set 6, [hl]
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, $3
ld [W_BILLSHOUSECURSCRIPT], a
ret
BillsHouseScript3: ; 1e7c5 (7:67c5)
ld a, [$d7f2]
bit 3, a
ret z
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld a, $2
ld [$cf13], a
ld a, $c
ld [$ffeb], a
ld a, $40
ld [$ffec], a
ld a, $6
ld [$ffed], a
ld a, $5
ld [$ffee], a
call Func_32f9
ld a, $62
ld [$cc4d], a
ld a, $15
call Predef
ld c, $8
call DelayFrames
ld a, $2
ld [$ff8c], a
ld de, MovementData_1e807
call MoveSprite
ld a, $4
ld [W_BILLSHOUSECURSCRIPT], a
ret
MovementData_1e807: ; 1e807 (7:6807)
db $00,$C0,$C0,$C0,$00,$FF
BillsHouseScript4: ; 1e80d (7:680d)
ld a, [$d730]
bit 0, a
ret nz
xor a
ld [wJoypadForbiddenButtonsMask], a
ld hl, $d7f2
set 5, [hl]
ld hl, $d7f1
set 0, [hl]
ld a, $0
ld [W_BILLSHOUSECURSCRIPT], a
ret
BillsHouseScript5: ; 1e827 (7:6827)
ld a, $4
ld [$ff8c], a
call DisplayTextID
ld a, $0
ld [W_BILLSHOUSECURSCRIPT], a
ret
BillsHouseTextPointers: ; 1e834 (7:6834)
dw BillsHouseText1
dw BillsHouseText2
dw BillsHouseText3
dw BillsHouseText4
BillsHouseText4: ; 1e83c (7:683c)
db $fd
BillsHouseText1: ; 1e83d (7:683d)
db $8
ld hl, BillsHouseText_1e865
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, asm_6b196 ; 0x1e84b $d
asm_4d03c: ; 1e84d (7:684d)
ld hl, BillsHouseText_1e86a
call PrintText
ld a, $1
ld [W_BILLSHOUSECURSCRIPT], a
jr asm_fd4e2 ; 0x1e858 $8
asm_6b196: ; 1e85a (7:685a)
ld hl, BillsHouseText_1e86f
call PrintText
jr asm_4d03c ; 0x1e860 $eb
asm_fd4e2 ; 0x1e862
jp TextScriptEnd
BillsHouseText_1e865: ; 1e865 (7:6865)
TX_FAR _BillsHouseText_1e865 ; 0x8d267
db "@"
BillsHouseText_1e86a: ; 1e86a (7:686a)
TX_FAR _BillsHouseText_1e86a ; 0x8d345
db "@"
BillsHouseText_1e86f: ; 1e86f (7:686f)
TX_FAR _BillsHouseText_1e86f ; 0x8d391
db "@"
BillsHouseText2: ; 1e874 (7:6874)
db $08 ; asm
ld a, [$d7f2]
bit 4, a
jr nz, .asm_5491f ; 0x1e87a
ld hl, BillThankYouText
call PrintText
ld bc, (S_S__TICKET << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, SSTicketReceivedText
call PrintText
ld hl, $d7f2
set 4, [hl]
ld a, $7
ld [$cc4d], a
ld a, $15
call Predef
ld a, $9
ld [$cc4d], a
ld a, $11
call Predef
.asm_5491f ; 0x1e8a9
ld hl, BillsHouseText_1e8cb
call PrintText
jr .asm_bd408 ; 0x1e8af
.BagFull
ld hl, SSTicketNoRoomText
call PrintText
.asm_bd408 ; 0x1e8b7
jp TextScriptEnd
BillThankYouText: ; 1e8ba (7:68ba)
TX_FAR _BillThankYouText
db "@"
SSTicketReceivedText: ; 1e8bf (7:68bf)
TX_FAR _SSTicketReceivedText
db $11, $6, "@"
SSTicketNoRoomText: ; 1e8c6 (7:68c6)
TX_FAR _SSTicketNoRoomText
db "@"
BillsHouseText_1e8cb: ; 1e8cb (7:68cb)
TX_FAR _BillsHouseText_1e8cb
db "@"
BillsHouseText3: ; 1e8d0 (7:68d0)
db $08 ; asm
ld hl, BillsHouseText_1e8da
call PrintText
jp TextScriptEnd
BillsHouseText_1e8da: ; 1e8da (7:68da)
TX_FAR _BillsHouseText_1e8da
db "@"

90
scripts/blueshouse.asm Executable file
View file

@ -0,0 +1,90 @@
BluesHouseScript: ; 19b3b (6:5b3b)
call EnableAutoTextBoxDrawing
ld hl,BluesHouseScriptPointers
ld a,[W_BLUESHOUSECURSCRIPT]
jp CallFunctionInTable
BluesHouseScriptPointers: ; 19b47 (6:5b47)
dw BluesHouseScript0
dw BluesHouseScript1
BluesHouseScript0: ; 19b4b (6:5b4b)
ld hl,$D74A
set 1,[hl]
; trigger the next script
ld a,1
ld [W_BLUESHOUSECURSCRIPT],a
ret
BluesHouseScript1: ; 19b56 (6:5b56)
ret
BluesHouseTextPointers: ; 19b57 (6:5b57)
dw BluesHouseText1
dw BluesHouseText2
dw BluesHouseText3
BluesHouseText1: ; 19b5d (6:5b5d)
db 8
ld a,[$D74A]
bit 0,a
jr nz,.GotMap
ld a,[$D74B]
bit 5,a
jr nz,.GiveMap
ld hl,DaisyInitialText
call PrintText
jr .done
.GiveMap
ld hl,DaisyOfferMapText
call PrintText
ld bc,(TOWN_MAP << 8) | 1
call GiveItem
jr nc, .BagFull
ld a,$29
ld [$CC4D],a
ld a,$11
call Predef ; hide table map object
ld hl,GotMapText
call PrintText
ld hl,$D74A
set 0,[hl]
jr .done
.GotMap
ld hl,DaisyUseMapText
call PrintText
jr .done
.BagFull
ld hl,DaisyBagFullText
call PrintText
.done
jp TextScriptEnd
DaisyInitialText: ; 19baa (6:5baa)
TX_FAR _DaisyInitialText
db "@"
DaisyOfferMapText: ; 19baf (6:5baf)
TX_FAR _DaisyOfferMapText
db "@"
GotMapText: ; 19bb4 (6:5bb4)
TX_FAR _GotMapText
db $11,"@"
DaisyBagFullText: ; 19bba (6:5bba)
TX_FAR _DaisyBagFullText
db "@"
DaisyUseMapText: ; 19bbf (6:5bbf)
TX_FAR _DaisyUseMapText
db "@"
BluesHouseText2: ; 0x19bc4 Daisy, walking around
TX_FAR _BluesHouseText2
db "@"
BluesHouseText3: ; 0x19bc9 map on table
TX_FAR _BluesHouseText3
db "@"

154
scripts/bruno.asm Executable file
View file

@ -0,0 +1,154 @@
BrunoScript: ; 762d6 (1d:62d6)
call BrunoScript_762ec
call EnableAutoTextBoxDrawing
ld hl, BrunoTrainerHeaders
ld de, BrunoScriptPointers
ld a, [W_BRUNOCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_BRUNOCURSCRIPT], a
ret
BrunoScript_762ec: ; 762ec (1d:62ec)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld a, [$d864]
bit 1, a
jr z, .asm_76300
ld a, $5
jp BrunoScript_76302
.asm_76300
ld a, $24
BrunoScript_76302: ; 76302 (1d:6302)
ld [$d09f], a
ld bc, $2
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
BrunoScript_7630d: ; 7630d (1d:630d)
xor a
ld [W_BRUNOCURSCRIPT], a
ret
BrunoScriptPointers: ; 76312 (1d:6312)
dw BrunoScript0
dw Func_324c
dw BrunoScript2
dw BrunoScript3
dw BrunoScript4
BrunoScript4: ; 7631c (1d:631c)
ret
asm_7631d: ; 7631d (1d:631d)
ld hl, $ccd3
ld a, $40
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
ld a, $6
ld [$cd38], a
call Func_3486
ld a, $3
ld [W_BRUNOCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
BrunoScript0: ; 76339 (1d:6339)
ld hl, CoordsData_7637a
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
ld [H_NEWLYPRESSEDBUTTONS], a
ld [H_CURRENTPRESSEDBUTTONS], a
ld [$ccd3], a
ld [$cd38], a
ld a, [wWhichTrade] ; $cd3d
cp $3
jr c, .asm_7635d
ld hl, $d864
bit 6, [hl]
set 6, [hl]
jr z, asm_7631d
.asm_7635d
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld a, $40
ld [$ccd3], a
ld a, $1
ld [$cd38], a
call Func_3486
ld a, $3
ld [W_BRUNOCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CoordsData_7637a: ; 7637a (1d:637a)
db $0A,$04
db $0A,$05
db $0B,$04
db $0B,$05
db $FF
BrunoScript3: ; 76383 (1d:6383)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_BRUNOCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
BrunoScript2: ; 76396 (1d:6396)
call EndTrainerBattle
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, BrunoScript_7630d
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp DisplayTextID
BrunoTextPointers: ; 763a8 (1d:63a8)
dw BrunoText1
dw BrunoText2
BrunoTrainerHeaders: ; 763ac (1d:63ac)
BrunoTrainerHeader0: ; 763ac (1d:63ac)
db $1 ; flag's bit
db ($0 << 4) ; trainer's view range
dw $d864 ; flag's byte
dw BrunoBeforeBattleText ; 0x63c3 TextBeforeBattle
dw BrunoAfterBattleText ; 0x63cd TextAfterBattle
dw BrunoEndBattleText ; 0x63c8 TextEndBattle
dw BrunoEndBattleText ; 0x63c8 TextEndBattle
db $ff
BrunoText1: ; 763b9 (1d:63b9)
db $08 ; asm
ld hl, BrunoTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
BrunoBeforeBattleText: ; 763c3 (1d:63c3)
TX_FAR _BrunoBeforeBattleText
db "@"
BrunoEndBattleText: ; 763c8 (1d:63c8)
TX_FAR _BrunoEndBattleText
db "@"
BrunoAfterBattleText: ; 763cd (1d:63cd)
TX_FAR _BrunoAfterBattleText
db "@"
BrunoText2: ; 763d2 (1d:63d2)
TX_FAR _UnnamedText_763d2
db "@"

136
scripts/celadoncity.asm Executable file
View file

@ -0,0 +1,136 @@
CeladonCityScript: ; 19956 (6:5956)
call EnableAutoTextBoxDrawing
ld hl, $d77e
res 0, [hl]
res 7, [hl]
ld hl, $d816
res 7, [hl]
ret
CeladonCityTextPointers: ; 19966 (6:5966)
dw CeladonCityText1
dw CeladonCityText2
dw CeladonCityText3
dw CeladonCityText4
dw CeladonCityText5
dw CeladonCityText6
dw CeladonCityText7
dw CeladonCityText8
dw CeladonCityText9
dw CeladonCityText10
dw CeladonCityText11
dw PokeCenterSignText
dw CeladonCityText13
dw CeladonCityText14
dw CeladonCityText15
dw CeladonCityText16
dw CeladonCityText17
dw CeladonCityText18
CeladonCityText1: ; 1998a (6:598a)
TX_FAR _CeladonCityText1
db "@"
CeladonCityText2: ; 1998f (6:598f)
TX_FAR _CeladonCityText2
db "@"
CeladonCityText3: ; 19994 (6:5994)
TX_FAR _CeladonCityText3
db "@"
CeladonCityText4: ; 19999 (6:5999)
TX_FAR _CeladonCityText4
db "@"
CeladonCityText5: ; 1999e (6:599e)
db $08 ; asm
ld a, [$d777]
bit 0, a
jr nz, .asm_7053f ; 0x199a4
ld hl, TM41PreText
call PrintText
ld bc, (TM_41 << 8) | 1
call GiveItem
jr c, .Success
ld hl, TM41NoRoomText
call PrintText
jr .Done
.Success
ld hl, ReceivedTM41Text
call PrintText
ld hl, $d777
set 0, [hl]
jr .Done
.asm_7053f ; 0x199c9
ld hl, TM41ExplanationText
call PrintText
.Done
jp TextScriptEnd
TM41PreText: ; 199d2 (6:59d2)
TX_FAR _TM41PreText
db "@"
ReceivedTM41Text: ; 199d7 (6:59d7)
TX_FAR _ReceivedTM41Text
db $0B, "@"
TM41ExplanationText: ; 199dd (6:59dd)
TX_FAR _TM41ExplanationText
db "@"
TM41NoRoomText: ; 199e2 (6:59e2)
TX_FAR _TM41NoRoomText
db "@"
CeladonCityText6: ; 199e7 (6:59e7)
TX_FAR _CeladonCityText6
db "@"
CeladonCityText7: ; 199ec (6:59ec)
TX_FAR _CeladonCityText7
db $08 ; asm
ld a, POLIWRATH
call PlayCry
jp TextScriptEnd
CeladonCityText8: ; 199f9 (6:59f9)
TX_FAR _CeladonCityText8
db "@"
CeladonCityText9: ; 199fe (6:59fe)
TX_FAR _CeladonCityText9
db "@"
CeladonCityText10: ; 19a03 (6:5a03)
TX_FAR _CeladonCityText10
db "@"
CeladonCityText11: ; 19a08 (6:5a08)
TX_FAR _CeladonCityText11
db "@"
CeladonCityText13: ; 19a0d (6:5a0d)
TX_FAR _CeladonCityText13
db "@"
CeladonCityText14: ; 19a12 (6:5a12)
TX_FAR _CeladonCityText14
db "@"
CeladonCityText15: ; 19a17 (6:5a17)
TX_FAR _CeladonCityText15
db "@"
CeladonCityText16: ; 19a1c (6:5a1c)
TX_FAR _CeladonCityText16
db "@"
CeladonCityText17: ; 19a21 (6:5a21)
TX_FAR _CeladonCityText17
db "@"
CeladonCityText18: ; 19a26 (6:5a26)
TX_FAR _CeladonCityText18
db "@"

67
scripts/celadondiner.asm Executable file
View file

@ -0,0 +1,67 @@
CeladonDinerScript: ; 49151 (12:5151)
call EnableAutoTextBoxDrawing
ret
CeladonDinerTextPointers: ; 49155 (12:5155)
dw CeladonDinerText1
dw CeladonDinerText2
dw CeladonDinerText3
dw CeladonDinerText4
dw CeladonDinerText5
CeladonDinerText1: ; 4915f (12:515f)
TX_FAR _CeladonDinerText1
db "@"
CeladonDinerText2: ; 49164 (12:5164)
TX_FAR _CeladonDinerText2
db "@"
CeladonDinerText3: ; 49169 (12:5169)
TX_FAR _CeladonDinerText3
db "@"
CeladonDinerText4: ; 4916e (12:516e)
TX_FAR _CeladonDinerText4
db "@"
CeladonDinerText5: ; 49173 (12:5173)
db $08 ; asm
ld a, [$d783]
bit 0, a
jr nz, .asm_eb14d ; 0x49179
ld hl, CeladonDinerText_491a7
call PrintText
ld bc, (COIN_CASE << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, $d783
set 0, [hl]
ld hl, ReceivedCoinCaseText
call PrintText
jr .asm_68b61 ; 0x49194
.BagFull
ld hl, CoinCaseNoRoomText
call PrintText
jr .asm_68b61 ; 0x4919c
.asm_eb14d ; 0x4919e
ld hl, CeladonDinerText_491b7
call PrintText
.asm_68b61 ; 0x491a4
jp TextScriptEnd
CeladonDinerText_491a7: ; 491a7 (12:51a7)
TX_FAR _CeladonDinerText_491a7
db "@"
ReceivedCoinCaseText: ; 491ac (12:51ac)
TX_FAR _ReceivedCoinCaseText
db $11, "@"
CoinCaseNoRoomText: ; 491b2 (12:51b2)
TX_FAR _CoinCaseNoRoomText
db "@"
CeladonDinerText_491b7: ; 491b7 (12:51b7)
TX_FAR _CeladonDinerText_491b7
db "@"

536
scripts/celadongamecorner.asm Executable file
View file

@ -0,0 +1,536 @@
CeladonGameCornerScript: ; 48bbd (12:4bbd)
call CeladonGameCornerScript_48bcf
call CeladonGameCornerScript_48bec
call EnableAutoTextBoxDrawing
ld hl, CeladonGameCornerScriptPointers
ld a, [W_CELADONGAMECORNERCURSCRIPT]
jp CallFunctionInTable
CeladonGameCornerScript_48bcf: ; 48bcf (12:4bcf)
ld hl, $d126
bit 6, [hl]
res 6, [hl]
ret z
call GenRandom
ld a, [$ffd3]
cp $7
jr nc, .asm_48be2
ld a, $8
.asm_48be2
srl a
srl a
srl a
ld [$cd05], a
ret
CeladonGameCornerScript_48bec: ; 48bec (12:4bec)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld a, [$d77e]
bit 1, a
ret nz
ld a, $2a
ld [$d09f], a
ld bc, $0208
ld a, $17
jp Predef
CeladonGameCornerScript_48c07: ; 48c07 (12:4c07)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_CELADONGAMECORNERCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CeladonGameCornerScriptPointers: ; 48c12 (12:4c12)
dw CeladonGameCornerScript0
dw CeladonGameCornerScript1
dw CeladonGameCornerScript2
CeladonGameCornerScript0: ; 48c18 (12:4c18)
ret
CeladonGameCornerScript1: ; 48c19 (12:4c19)
ld a, [W_ISINBATTLE]
cp $ff
jp z, CeladonGameCornerScript_48c07
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld a, $d
ld [H_SPRITEHEIGHT], a
call DisplayTextID
ld a, $b
ld [H_SPRITEHEIGHT], a
call SetSpriteMovementBytesToFF
ld de, MovementData_48c5a
ld a, [W_YCOORD]
cp $6
jr nz, .asm_48c43
ld de, MovementData_48c63
jr .asm_48c4d
.asm_48c43
ld a, [W_XCOORD]
cp $8
jr nz, .asm_48c4d
ld de, MovementData_48c63
.asm_48c4d
ld a, $b
ld [H_DOWNARROWBLINKCNT2], a
call MoveSprite
ld a, $2
ld [W_CELADONGAMECORNERCURSCRIPT], a
ret
MovementData_48c5a: ; 48c5a (12:4c5a)
db $00,$C0,$C0,$40,$C0,$C0,$C0,$C0,$FF
MovementData_48c63: ; 48c63 (12:4c63)
db $C0,$C0,$C0,$C0,$C0,$FF
CeladonGameCornerScript2: ; 48c69 (12:4c69)
ld a, [$d730]
bit 0, a
ret nz
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, $46
ld [$cc4d], a
ld a, $11
call Predef
ld hl, $d126
set 5, [hl]
set 6, [hl]
ld a, $0
ld [W_CELADONGAMECORNERCURSCRIPT], a
ret
CeladonGameCornerTextPointers: ; 48c8a (12:4c8a)
dw CeladonGameCornerText1
dw CeladonGameCornerText2
dw CeladonGameCornerText3
dw CeladonGameCornerText4
dw CeladonGameCornerText5
dw CeladonGameCornerText6
dw CeladonGameCornerText7
dw CeladonGameCornerText8
dw CeladonGameCornerText9
dw CeladonGameCornerText10
dw CeladonGameCornerText11
dw CeladonGameCornerText12
dw CeladonGameCornerText13
CeladonGameCornerText1: ; 48ca4 (12:4ca4)
TX_FAR _CeladonGameCornerText1
db "@"
CeladonGameCornerText2: ; 48ca9 (12:4ca9)
db $08 ; asm
call CeladonGameCornerScript_48f1e
ld hl, CeladonGameCornerText_48d22
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .asm_c650b ; 0x48cba
ld b,COIN_CASE
call IsItemInBag
jr z, .asm_ed086 ; 0x48cc1
call Has9990Coins
jr nc, .asm_31338 ; 0x48cc6
xor a
ldh [$9f], a
ldh [$a1], a
ld a, $10
ldh [$a0], a
call HasEnoughMoney
jr nc, .asm_b6ef0 ; 0x48cd4
ld hl, CeladonGameCornerText_48d31 ; $4d31
jr .asm_e2afd ; 0x48cd9
.asm_b6ef0 ; 0x48cdb
xor a
ldh [$9f], a
ldh [$a1], a
ld a, $10
ldh [$a0], a
ld hl, $ffa1
ld de, $d349
ld c, $3
ld a, $c
call Predef
xor a
ldh [$9f], a
ldh [$a0], a
ld a, $50
ldh [$a1], a
ld de, $d5a5
ld hl, $ffa1
ld c, $2
ld a, $b
call Predef
call CeladonGameCornerScript_48f1e
ld hl, CeladonGameCornerText_48d27
jr .asm_e2afd ; 0x48d0d
.asm_c650b ; 0x48d0f
ld hl, CeladonGameCornerText_48d2c
jr .asm_e2afd ; 0x48d12
.asm_31338 ; 0x48d14
ld hl, CeladonGameCornerText_48d36
jr .asm_e2afd ; 0x48d17
.asm_ed086 ; 0x48d19
ld hl, CeladonGameCornerText_48d3b
.asm_e2afd ; 0x48d1c
call PrintText
jp TextScriptEnd
CeladonGameCornerText_48d22: ; 48d22 (12:4d22)
TX_FAR _CeladonGameCornerText_48d22
db "@"
CeladonGameCornerText_48d27: ; 48d27 (12:4d27)
TX_FAR _CeladonGameCornerText_48d27
db "@"
CeladonGameCornerText_48d2c: ; 48d2c (12:4d2c)
TX_FAR _CeladonGameCornerText_48d2c
db "@"
CeladonGameCornerText_48d31: ; 48d31 (12:4d31)
TX_FAR _CeladonGameCornerText_48d31
db "@"
CeladonGameCornerText_48d36: ; 48d36 (12:4d36)
TX_FAR _CeladonGameCornerText_48d36
db "@"
CeladonGameCornerText_48d3b: ; 48d3b (12:4d3b)
TX_FAR _CeladonGameCornerText_48d3b
db "@"
CeladonGameCornerText3: ; 48d40 (12:4d40)
TX_FAR _CeladonGameCornerText3
db "@"
CeladonGameCornerText4: ; 48d45 (12:4d45)
TX_FAR _CeladonGameCornerText4
db "@"
CeladonGameCornerText5: ; 48d4a (12:4d4a)
db $08 ; asm
ld a, [$d77e]
bit 2, a
jr nz, .asm_d0957 ; 0x48d50
ld hl, CeladonGameCornerText_48d9c
call PrintText
ld b, COIN_CASE
call IsItemInBag
jr z, .asm_5aef9 ; 0x48d5d
call Has9990Coins
jr nc, .asm_98546 ; 0x48d62
xor a
ldh [$9f], a
ldh [$a0], a
ld a, $10
ldh [$a1], a
ld de, $d5a5
ld hl, $ffa1
ld c, $2
ld a, $b
call Predef
ld hl, $d77e
set 2, [hl]
ld a, $1
ld [$cc3c], a
ld hl, Received10CoinsText
jr .asm_c7d1a ; 0x48d87
.asm_d0957 ; 0x48d89
ld hl, CeladonGameCornerText_48dac
jr .asm_c7d1a ; 0x48d8c
.asm_98546 ; 0x48d8e
ld hl, CeladonGameCornerText_48da7
jr .asm_c7d1a ; 0x48d91
.asm_5aef9 ; 0x48d93
ld hl, CeladonGameCornerText_48f19
.asm_c7d1a ; 0x48d96
call PrintText
jp TextScriptEnd
CeladonGameCornerText_48d9c: ; 48d9c (12:4d9c)
TX_FAR _CeladonGameCornerText_48d9c
db "@"
Received10CoinsText: ; 48da1 (12:4da1)
TX_FAR _Received10CoinsText
db $0B, "@"
CeladonGameCornerText_48da7: ; 48da7 (12:4da7)
TX_FAR _CeladonGameCornerText_48da7
db "@"
CeladonGameCornerText_48dac: ; 48dac (12:4dac)
TX_FAR _CeladonGameCornerText_48dac
db "@"
CeladonGameCornerText6: ; 48db1 (12:4db1)
TX_FAR _CeladonGameCornerText6
db "@"
CeladonGameCornerText7: ; 48db6 (12:4db6)
db $08 ; asm
ld a, [$d77c]
bit 1, a
ld hl, CeladonGameCornerText_48dca ; $4dca
jr z, .asm_be3fd ; 0x48dbf
ld hl, CeladonGameCornerText_48dcf ; $4dcf
.asm_be3fd ; 0x48dc4
call PrintText
jp TextScriptEnd
CeladonGameCornerText_48dca: ; 48dca (12:4dca)
TX_FAR _CeladonGameCornerText_48dca
db "@"
CeladonGameCornerText_48dcf: ; 48dcf (12:4dcf)
TX_FAR _CeladonGameCornerText_48dcf
db "@"
CeladonGameCornerText8: ; 48dd4 (12:4dd4)
TX_FAR _CeladonGameCornerText8
db "@"
CeladonGameCornerText9: ; 48dd9 (12:4dd9)
db $08 ; asm
ld a, [$d77e]
bit 4, a
jr nz, .asm_ed8bc ; 0x48ddf
ld hl, CeladonGameCornerText_48e26
call PrintText
ld b, COIN_CASE
call IsItemInBag
jr z, .asm_df794 ; 0x48dec
call Has9990Coins
jr nc, .asm_f17c3 ; 0x48df1
xor a
ldh [$9f], a
ldh [$a0], a
ld a, $20
ldh [$a1], a
ld de, $d5a5
ld hl, $ffa1
ld c, $2
ld a, $b
call Predef
ld hl, $d77e
set 4, [hl]
ld hl, Received20CoinsText
jr .asm_0ddc2 ; 0x48e11
.asm_ed8bc ; 0x48e13
ld hl, CeladonGameCornerText_48e36
jr .asm_0ddc2 ; 0x48e16
.asm_f17c3 ; 0x48e18
ld hl, CeladonGameCornerText_48e31
jr .asm_0ddc2 ; 0x48e1b
.asm_df794 ; 0x48e1d
ld hl, CeladonGameCornerText_48f19
.asm_0ddc2 ; 0x48e20
call PrintText
jp TextScriptEnd
CeladonGameCornerText_48e26: ; 48e26 (12:4e26)
TX_FAR _CeladonGameCornerText_48e26
db "@"
Received20CoinsText: ; 48e2b (12:4e2b)
TX_FAR _Received20CoinsText
db $0B, "@"
CeladonGameCornerText_48e31: ; 48e31 (12:4e31)
TX_FAR _CeladonGameCornerText_48e31
db "@"
CeladonGameCornerText_48e36: ; 48e36 (12:4e36)
TX_FAR _CeladonGameCornerText_48e36
db "@"
CeladonGameCornerText10: ; 48e3b (12:4e3b)
db $08 ; asm
ld a, [$d77e]
bit 3, a
jr nz, .asm_ff080 ; 0x48e41
ld hl, CeladonGameCornerText_48e88 ; $4e88
call PrintText
ld b,COIN_CASE
call IsItemInBag
jr z, .asm_4fb0c ; 0x48e4e
call Has9990Coins
jr z, .asm_9505a ; 0x48e53
xor a
ldh [$9f], a
ldh [$a0], a
ld a, $20
ldh [$a1], a
ld de, $d5a5
ld hl, $ffa1
ld c, $2
ld a, $b
call Predef
ld hl, $d77e
set 3, [hl]
ld hl, CeladonGameCornerText_48e8d
jr .asm_78d65 ; 0x48e73
.asm_ff080 ; 0x48e75
ld hl, CeladonGameCornerText_48e98
jr .asm_78d65 ; 0x48e78
.asm_9505a ; 0x48e7a
ld hl, CeladonGameCornerText_48e93
jr .asm_78d65 ; 0x48e7d
.asm_4fb0c ; 0x48e7f
ld hl, CeladonGameCornerText_48f19
.asm_78d65 ; 0x48e82
call PrintText
jp TextScriptEnd
CeladonGameCornerText_48e88: ; 48e88 (12:4e88)
TX_FAR _CeladonGameCornerText_48e88
db "@"
CeladonGameCornerText_48e8d: ; 48e8d (12:4e8d)
TX_FAR _CeladonGameCornerText_48e8d ; 0x9dceb
db $0B, "@"
CeladonGameCornerText_48e93: ; 48e93 (12:4e93)
TX_FAR _CeladonGameCornerText_48e93
db "@"
CeladonGameCornerText_48e98: ; 48e98 (12:4e98)
TX_FAR _CeladonGameCornerText_48e98
db "@"
CeladonGameCornerText11: ; 48e9d (12:4e9d)
db $08 ; asm
ld hl, CeladonGameCornerText_48ece
call PrintText
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, CeladonGameCornerText_48ed3
ld de, CeladonGameCornerText_48ed3
call PreBattleSaveRegisters
ldh a, [$8c]
ld [$cf13], a
call EngageMapTrainer
call InitBattleEnemyParameters
xor a
ldh [$b4], a
ldh [$b3], a
ldh [$b2], a
ld a, $1
ld [W_CELADONGAMECORNERCURSCRIPT], a
jp TextScriptEnd
CeladonGameCornerText_48ece: ; 48ece (12:4ece)
TX_FAR _CeladonGameCornerText_48ece
db "@"
CeladonGameCornerText_48ed3: ; 48ed3 (12:4ed3)
TX_FAR _CeladonGameCornerText_48ed3
db "@"
CeladonGameCornerText13: ; 48ed8 (12:4ed8)
TX_FAR _CeladonGameCornerText_48ed8
db "@"
CeladonGameCornerText12: ; 48edd (12:4edd)
db $08 ; asm
ld a, $1
ld [$cc3c], a
ld hl, CeladonGameCornerText_48f09
call PrintText
call WaitForSoundToFinish
ld a, (SFX_02_57 - SFX_Headers_02) / 3
call PlaySound
call WaitForSoundToFinish
ld hl, $d77e
set 1, [hl]
ld a, $43
ld [$d09f], a
ld bc, $0208
ld a, $17
call Predef
jp TextScriptEnd
CeladonGameCornerText_48f09: ; 48f09 (12:4f09)
TX_FAR _CeladonGameCornerText_48f09 ; 0x9ddb0
db $8
ld a, (SFX_02_49 - SFX_Headers_02) / 3
call PlaySound
call WaitForSoundToFinish
jp TextScriptEnd
CeladonGameCornerText_48f19: ; 48f19 (12:4f19)
TX_FAR _CeladonGameCornerText_48f19
db "@"
CeladonGameCornerScript_48f1e: ; 48f1e (12:4f1e)
ld hl, $d730
set 6, [hl]
FuncCoord 11, 0 ; $c3ab
ld hl, Coord
ld b, $5
ld c, $7
call TextBoxBorder
call UpdateSprites
FuncCoord 12, 1 ; $c3c0
ld hl, Coord
ld b, $4
ld c, $7
call ClearScreenArea
FuncCoord 12, 2 ; $c3d4
ld hl, Coord
ld de, GameCornerMoneyText
call PlaceString
FuncCoord 12, 3 ; $c3e8
ld hl, Coord
ld de, GameCornerBlankText1
call PlaceString
FuncCoord 12, 3 ; $c3e8
ld hl, Coord
ld de, $d347
ld c, $a3
call PrintBCDNumber
FuncCoord 12, 4 ; $c3fc
ld hl, Coord
ld de, GameCornerCoinText
call PlaceString
FuncCoord 12, 5 ; $c410
ld hl, Coord
ld de, GameCornerBlankText2
call PlaceString
FuncCoord 15, 5 ; $c413
ld hl, Coord
ld de, $d5a4
ld c, $82
call PrintBCDNumber
ld hl, $d730
res 6, [hl]
ret
GameCornerMoneyText: ; 48f7a (12:4f7a)
db "MONEY@"
GameCornerCoinText: ; 48f80 (12:4f80)
db "COIN@"
GameCornerBlankText1: ; 48f85 (12:4f85)
db " @"
GameCornerBlankText2: ; 48f8d (12:4f8d)
db " @"
Has9990Coins: ; 48f95 (12:4f95)
ld a, $99
ld [$ffa0], a
ld a, $90
ld [$ffa1], a
jp HasEnoughCoins

343
scripts/celadongym.asm Executable file
View file

@ -0,0 +1,343 @@
CeladonGymScript: ; 4890a (12:490a)
ld hl, $d126
bit 6, [hl]
res 6, [hl]
call nz, CeladonGymScript_48927
call EnableAutoTextBoxDrawing
ld hl, CeladonGymTrainerHeaders
ld de, CeladonGymScriptPointers
ld a, [W_CELADONGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_CELADONGYMCURSCRIPT], a
ret
CeladonGymScript_48927: ; 48927 (12:4927)
ld hl, Gym4CityName ; $4930
ld de, Gym4LeaderName ; $493d
jp LoadGymLeaderAndCityName
Gym4CityName: ; 48930 (12:4930)
db "CELADON CITY@"
Gym4LeaderName: ; 4893d (12:493d)
db "ERIKA@"
CeladonGymText_48943: ; 48943 (12:4943)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_CELADONGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CeladonGymScriptPointers: ; 4894e (12:494e)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
dw CeladonGymScript3
CeladonGymScript3: ; 48956 (12:4956)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, CeladonGymText_48943
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
CeladonGymText_48963: ; 48963 (12:4963)
ld a, $9
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld hl, $d77c
set 1, [hl]
ld bc, (TM_21 << 8) | 1
call GiveItem
jr nc, .BagFull
ld a, $a
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld hl, $d77c
set 0, [hl]
jr .asm_4898c
.BagFull
ld a, $b
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
.asm_4898c
ld hl, W_OBTAINEDBADGES
set 3, [hl]
ld hl, $d72a
set 3, [hl]
; deactivate gym trainers
ld a, [$d77c]
or %11111100
ld [$d77c], a
ld hl, $d77d
set 0, [hl]
jp CeladonGymText_48943
CeladonGymTextPointers: ; 489a6 (12:49a6)
dw CeladonGymText1
dw CeladonGymText2
dw CeladonGymText3
dw CeladonGymText4
dw CeladonGymText5
dw CeladonGymText6
dw CeladonGymText7
dw CeladonGymText8
dw CeladonGymText9
dw TM21Text
dw TM21NoRoomText
CeladonGymTrainerHeaders: ; 489bc (12:49bc)
CeladonGymTrainerHeader0: ; 489bc (12:49bc)
db $2 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText2 ; 0x4a8b TextBeforeBattle
dw CeladonGymAfterBattleText2 ; 0x4a95 TextAfterBattle
dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle
dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle
CeladonGymTrainerHeader2: ; 489c8 (12:49c8)
db $3 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText3 ; 0x4aa4 TextBeforeBattle
dw CeladonGymAfterBattleText3 ; 0x4aae TextAfterBattle
dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle
dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle
CeladonGymTrainerHeader3: ; 489d4 (12:49d4)
db $4 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText4 ; 0x4abd TextBeforeBattle
dw CeladonGymAfterBattleText4 ; 0x4ac7 TextAfterBattle
dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle
dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle
CeladonGymTrainerHeader4: ; 489e0 (12:49e0)
db $5 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText5 ; 0x4ad6 TextBeforeBattle
dw CeladonGymAfterBattleText5 ; 0x4ae0 TextAfterBattle
dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle
dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle
CeladonGymTrainerHeader5: ; 489ec (12:49ec)
db $6 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText6 ; 0x4aef TextBeforeBattle
dw CeladonGymAfterBattleText6 ; 0x4af9 TextAfterBattle
dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle
dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle
CeladonGymTrainerHeader6: ; 489f8 (12:49f8)
db $7 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText7 ; 0x4b08 TextBeforeBattle
dw CeladonGymAfterBattleText7 ; 0x4b12 TextAfterBattle
dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle
dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle
CeladonGymTrainerHeader7: ; 48a04 (12:4a04)
db $8 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText8 ; 0x4b21 TextBeforeBattle
dw CeladonGymAfterBattleText8 ; 0x4b2b TextAfterBattle
dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle
dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle
db $ff
CeladonGymText1: ; 48a11 (12:4a11)
db $08 ; asm
ld a, [$d77c]
bit 1, a
jr z, .asm_16064 ; 0x48a17
bit 0, a
jr nz, .asm_3b22c ; 0x48a1b
call z, CeladonGymText_48963
call DisableWaitingAfterTextDisplay
jr .asm_96252 ; 0x48a23
.asm_3b22c ; 0x48a25
ld hl, CeladonGymText_48a68
call PrintText
jr .asm_96252 ; 0x48a2b
.asm_16064 ; 0x48a2d
ld hl, CeladonGymText_48a5e
call PrintText
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, CeladonGymText_48a63
ld de, CeladonGymText_48a63
call PreBattleSaveRegisters
ldh a, [$8c]
ld [$cf13], a
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $4
ld [$d05c], a
ld a, $3
ld [W_CELADONGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
.asm_96252 ; 0x48a5b
jp TextScriptEnd
CeladonGymText_48a5e: ; 48a5e (12:4a5e)
TX_FAR _CeladonGymText_48a5e
db "@"
CeladonGymText_48a63: ; 48a63 (12:4a63)
TX_FAR _CeladonGymText_48a63
db "@"
CeladonGymText_48a68: ; 48a68 (12:4a68)
TX_FAR _CeladonGymText_48a68
db "@"
CeladonGymText9: ; 48a6d (12:4a6d)
TX_FAR _CeladonGymText9
db "@"
TM21Text: ; 48a72 (12:4a72)
TX_FAR _ReceivedTM21Text
db $0B
TX_FAR _TM21ExplanationText
db "@"
TM21NoRoomText: ; 48a7c (12:4a7c)
TX_FAR _TM21NoRoomText
db "@"
CeladonGymText2: ; 48a81 (12:4a81)
db $08 ; asm
ld hl, CeladonGymTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
CeladonGymBattleText2: ; 48a8b (12:4a8b)
TX_FAR _CeladonGymBattleText2
db "@"
CeladonGymEndBattleText2: ; 48a90 (12:4a90)
TX_FAR _CeladonGymEndBattleText2
db "@"
CeladonGymAfterBattleText2: ; 48a95 (12:4a95)
TX_FAR _CeladonGymAfterBattleText2
db "@"
CeladonGymText3: ; 48a9a (12:4a9a)
db $08 ; asm
ld hl, CeladonGymTrainerHeader2
call TalkToTrainer
jp TextScriptEnd
CeladonGymBattleText3: ; 48aa4 (12:4aa4)
TX_FAR _CeladonGymBattleText3
db "@"
CeladonGymEndBattleText3: ; 48aa9 (12:4aa9)
TX_FAR _CeladonGymEndBattleText3
db "@"
CeladonGymAfterBattleText3: ; 48aae (12:4aae)
TX_FAR _CeladonGymAfterBattleText3
db "@"
CeladonGymText4: ; 48ab3 (12:4ab3)
db $08 ; asm
ld hl, CeladonGymTrainerHeader3
call TalkToTrainer
jp TextScriptEnd
CeladonGymBattleText4: ; 48abd (12:4abd)
TX_FAR _CeladonGymBattleText4
db "@"
CeladonGymEndBattleText4: ; 48ac2 (12:4ac2)
TX_FAR _CeladonGymEndBattleText4
db "@"
CeladonGymAfterBattleText4: ; 48ac7 (12:4ac7)
TX_FAR _CeladonGymAfterBattleText4
db "@"
CeladonGymText5: ; 48acc (12:4acc)
db $08 ; asm
ld hl, CeladonGymTrainerHeader4
call TalkToTrainer
jp TextScriptEnd
CeladonGymBattleText5: ; 48ad6 (12:4ad6)
TX_FAR _CeladonGymBattleText5
db "@"
CeladonGymEndBattleText5: ; 48adb (12:4adb)
TX_FAR _CeladonGymEndBattleText5
db "@"
CeladonGymAfterBattleText5: ; 48ae0 (12:4ae0)
TX_FAR _CeladonGymAfterBattleText5
db "@"
CeladonGymText6: ; 48ae5 (12:4ae5)
db $08 ; asm
ld hl, CeladonGymTrainerHeader5
call TalkToTrainer
jp TextScriptEnd
CeladonGymBattleText6: ; 48aef (12:4aef)
TX_FAR _CeladonGymBattleText6
db "@"
CeladonGymEndBattleText6: ; 48af4 (12:4af4)
TX_FAR _CeladonGymEndBattleText6
db "@"
CeladonGymAfterBattleText6: ; 48af9 (12:4af9)
TX_FAR _CeladonGymAfterBattleText6
db "@"
CeladonGymText7: ; 48afe (12:4afe)
db $08 ; asm
ld hl, CeladonGymTrainerHeader6
call TalkToTrainer
jp TextScriptEnd
CeladonGymBattleText7: ; 48b08 (12:4b08)
TX_FAR _CeladonGymBattleText7
db "@"
CeladonGymEndBattleText7: ; 48b0d (12:4b0d)
TX_FAR _CeladonGymEndBattleText7
db "@"
CeladonGymAfterBattleText7: ; 48b12 (12:4b12)
TX_FAR _CeladonGymAfterBattleText7
db "@"
CeladonGymText8: ; 48b17 (12:4b17)
db $08 ; asm
ld hl, CeladonGymTrainerHeader7
call TalkToTrainer
jp TextScriptEnd
CeladonGymBattleText8: ; 48b21 (12:4b21)
TX_FAR _CeladonGymBattleText8
db "@"
CeladonGymEndBattleText8: ; 48b26 (12:4b26)
TX_FAR _CeladonGymEndBattleText8
db "@"
CeladonGymAfterBattleText8: ; 48b2b (12:4b2b)
TX_FAR _CeladonGymAfterBattleText8
db "@"

19
scripts/celadonhotel.asm Executable file
View file

@ -0,0 +1,19 @@
CeladonHotelScript: ; 49269 (12:5269)
jp EnableAutoTextBoxDrawing
CeladonHotelTextPointers: ; 4926c (12:526c)
dw CeladonHotelText1
dw CeladonHotelText2
dw CeladonHotelText3
CeladonHotelText1: ; 49272 (12:5272)
TX_FAR _CeladonHotelText1
db "@"
CeladonHotelText2: ; 49277 (12:5277)
TX_FAR _CeladonHotelText2
db "@"
CeladonHotelText3: ; 4927c (12:527c)
TX_FAR _CeladonHotelText3
db "@"

20
scripts/celadonhouse.asm Executable file
View file

@ -0,0 +1,20 @@
CeladonHouseScript: ; 4920e (12:520e)
call EnableAutoTextBoxDrawing
ret
CeladonHouseTextPointers: ; 49212 (12:5212)
dw CeladonHouseText1
dw CeladonHouseText2
dw CeladonHouseText3
CeladonHouseText1: ; 49218 (12:5218)
TX_FAR _CeladonHouseText1
db "@"
CeladonHouseText2: ; 4921d (12:521d)
TX_FAR _CeladonHouseText2
db "@"
CeladonHouseText3: ; 49222 (12:5222)
TX_FAR _CeladonHouseText3
db "@"

39
scripts/celadonmansion1.asm Executable file
View file

@ -0,0 +1,39 @@
CeladonMansion1Script: ; 48694 (12:4694)
jp EnableAutoTextBoxDrawing
CeladonMansion1TextPointers: ; 48697 (12:4697)
dw CeladonMansion1Text1
dw CeladonMansion1Text2
dw CeladonMansion1Text3
dw CeladonMansion1Text4
dw CeladonMansion1Text5
CeladonMansion1_486a1: ; 486a1 (12:46a1)
call PlayCry
jp TextScriptEnd
CeladonMansion1Text1: ; 486a7 (12:46a7)
TX_FAR _CeladonMansion1Text1
db $08 ; asm
ld a, MEOWTH
jp CeladonMansion1_486a1
CeladonMansion1Text2: ; 486b1 (12:46b1)
TX_FAR _CeladonMansion1Text2
db "@"
CeladonMansion1Text3: ; 486b6 (12:46b6)
TX_FAR _CeladonMansion1Text3
db $8
ld a, CLEFAIRY
jp CeladonMansion1_486a1
CeladonMansion1Text4: ; 486c0 (12:46c0)
TX_FAR _CeladonMansion1Text4
db $8
ld a, NIDORAN_F
jp CeladonMansion1_486a1
CeladonMansion1Text5: ; 486ca (12:46ca)
TX_FAR _CeladonMansion1Text5
db "@"

10
scripts/celadonmansion2.asm Executable file
View file

@ -0,0 +1,10 @@
CeladonMansion2Script: ; 4873a (12:473a)
call EnableAutoTextBoxDrawing
ret
CeladonMansion2TextPointers: ; 4873e (12:473e)
dw CeladonMansion2Text1
CeladonMansion2Text1: ; 48740 (12:4740)
TX_FAR _CeladonMansion2Text1
db "@"

73
scripts/celadonmansion3.asm Executable file
View file

@ -0,0 +1,73 @@
CeladonMansion3Script: ; 48790 (12:4790)
jp EnableAutoTextBoxDrawing
CeladonMansion3TextPointers: ; 48793 (12:4793)
dw ProgrammerText
dw GraphicArtistText
dw WriterText
dw DirectorText
dw GameFreakPCText1
dw GameFreakPCText2
dw GameFreakPCText3
dw GameFreakSignText
ProgrammerText: ; 487a3 (12:47a3)
TX_FAR _ProgrammerText
db "@"
GraphicArtistText: ; 487a8 (12:47a8)
TX_FAR _GraphicArtistText
db "@"
WriterText: ; 487ad (12:47ad)
TX_FAR _WriterText
db "@"
DirectorText: ; 487b2 (12:47b2)
db $08 ; asm
; check pokédex
ld hl, wPokedexOwned
ld b, wPokedexOwnedEnd - wPokedexOwned
call CountSetBits
ld a, [$d11e]
cp 150
jr nc, .CompletedDex
ld hl, .GameDesigner
jr .done
.CompletedDex
ld hl, .CompletedDexText
.done
call PrintText
jp TextScriptEnd
.GameDesigner ; 487d0 (12:47d0)
TX_FAR _GameDesignerText
db "@"
.CompletedDexText
TX_FAR _CompletedDexText
db $6
db $8 ; asm
ld hl, DisplayDiploma
ld b, BANK(DisplayDiploma)
call Bankswitch
ld a, $1
ld [$cc3c], a
jp TextScriptEnd
GameFreakPCText1: ; 487eb (12:47eb)
TX_FAR _CeladonMansion3Text5
db "@"
GameFreakPCText2: ; 487f0 (12:47f0)
TX_FAR _CeladonMansion3Text6
db "@"
GameFreakPCText3: ; 487f5 (12:47f5)
TX_FAR _CeladonMansion3Text7
db "@"
GameFreakSignText: ; 487fa (12:47fa)
TX_FAR _CeladonMansion3Text8
db "@"

9
scripts/celadonmansion4.asm Executable file
View file

@ -0,0 +1,9 @@
CeladonMansion4Script: ; 4886b (12:486b)
jp EnableAutoTextBoxDrawing
CeladonMansion4TextPointers: ; 4886e (12:486e)
dw CeladonMansion4Text1
CeladonMansion4Text1: ; 48870 (12:4870)
TX_FAR _CeladonMansion4Text1
db "@"

22
scripts/celadonmansion5.asm Executable file
View file

@ -0,0 +1,22 @@
CeladonMansion5Script: ; 1dd3a (7:5d3a)
jp EnableAutoTextBoxDrawing
CeladonMansion5TextPointers: ; 1dd3d (7:5d3d)
dw CeladonMansion5Text1
dw CeladonMansion5Text2
CeladonMansion5Text1: ; 1dd41 (7:5d41)
TX_FAR _CeladonMansion5Text1
db "@"
CeladonMansion5Text2: ; 1dd46 (7:5d46)
db $08 ; asm
ld bc,(EEVEE << 8) | 25
call GivePokemon
jr nc, .asm_24365 ; 0x1dd4d
ld a, $45
ld [$cc4d], a
ld a, $11
call Predef
.asm_24365 ; 0x1dd59
jp TextScriptEnd

19
scripts/celadonmart1.asm Executable file
View file

@ -0,0 +1,19 @@
CeladonMart1Script: ; 60f86 (18:4f86)
jp EnableAutoTextBoxDrawing
CeladonMart1TextPointers: ; 60f89 (18:4f89)
dw CeladonMart1Text1
dw CeladonMart1Text2
dw CeladonMart1Text3
CeladonMart1Text1: ; 60f8f (18:4f8f)
TX_FAR _CeladonMart1Text1
db "@"
CeladonMart1Text2: ; 60f94 (18:4f94)
TX_FAR _CeladonMart1Text2
db "@"
CeladonMart1Text3: ; 60f99 (18:4f99)
TX_FAR _CeladonMart1Text3
db "@"

21
scripts/celadonmart2.asm Executable file
View file

@ -0,0 +1,21 @@
CeladonMart2Script: ; 560f5 (15:60f5)
jp EnableAutoTextBoxDrawing
CeladonMart2TextPointers: ; 560f8 (15:60f8)
dw CeladonMart2Text1
dw CeladonMart2Text2
dw CeladonMart2Text3
dw CeladonMart2Text4
dw CeladonMart2Text5
CeladonMart2Text3: ; 56102 (15:6102)
TX_FAR _CeladonMart2Text3
db "@"
CeladonMart2Text4: ; 56107 (15:6107)
TX_FAR _CeladonMart2Text4
db "@"
CeladonMart2Text5: ; 5610c (15:610c)
TX_FAR _CeladonMart2Text5
db "@"

109
scripts/celadonmart3.asm Executable file
View file

@ -0,0 +1,109 @@
CeladonMart3Script: ; 48225 (12:4225)
jp EnableAutoTextBoxDrawing
CeladonMart3TextPointers: ; 48228 (12:4228)
dw CeladonMart3Text1
dw CeladonMart3Text2
dw CeladonMart3Text3
dw CeladonMart3Text4
dw CeladonMart3Text5
dw CeladonMart3Text6
dw CeladonMart3Text7
dw CeladonMart3Text8
dw CeladonMart3Text9
dw CeladonMart3Text10
dw CeladonMart3Text11
dw CeladonMart3Text12
dw CeladonMart3Text13
dw CeladonMart3Text14
dw CeladonMart3Text15
dw CeladonMart3Text16
dw CeladonMart3Text17
CeladonMart3Text1: ; 4824a (12:424a)
db $08 ; asm
ld a, [$d778]
bit 7, a
jr nz, .asm_a5463 ; 0x48250
ld hl, TM18PreReceiveText
call PrintText
ld bc, (TM_18 << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, $d778
set 7, [hl]
ld hl, ReceivedTM18Text
jr .asm_81359 ; 0x48268
.BagFull
ld hl, TM18NoRoomText
jr .asm_81359 ; 0x4826d
.asm_a5463 ; 0x4826f
ld hl, TM18ExplanationText
.asm_81359 ; 0x48272
call PrintText
jp TextScriptEnd
TM18PreReceiveText: ; 48278 (12:4278)
TX_FAR _TM18PreReceiveText
db "@"
ReceivedTM18Text: ; 4827d (12:427d)
TX_FAR _ReceivedTM18Text
db $0B, "@"
TM18ExplanationText: ; 48283 (12:4283)
TX_FAR _TM18ExplanationText
db "@"
TM18NoRoomText: ; 48288 (12:4288)
TX_FAR _TM18NoRoomText
db "@"
CeladonMart3Text2: ; 4828d (12:428d)
TX_FAR _CeladonMart3Text2
db "@"
CeladonMart3Text3: ; 48292 (12:4292)
TX_FAR _CeladonMart3Text3
db "@"
CeladonMart3Text4: ; 48297 (12:4297)
TX_FAR _CeladonMart3Text4
db "@"
CeladonMart3Text5: ; 4829c (12:429c)
TX_FAR _CeladonMart3Text5
db "@"
CeladonMart3Text12
CeladonMart3Text10: ; 482a1 (12:42a1)
CeladonMart3Text8: ; 482a1 (12:42a1)
CeladonMart3Text6: ; 482a1 (12:42a1)
TX_FAR _CeladonMart3Text6
db "@"
CeladonMart3Text7: ; 482a6 (12:42a6)
TX_FAR _CeladonMart3Text7
db "@"
CeladonMart3Text9: ; 482ab (12:42ab)
TX_FAR _CeladonMart3Text9
db "@"
CeladonMart3Text11: ; 482b0 (12:42b0)
TX_FAR _CeladonMart3Text11
db "@"
CeladonMart3Text13: ; 482b5 (12:42b5)
TX_FAR _CeladonMart3Text13
db "@"
CeladonMart3Text14: ; 482ba (12:42ba)
TX_FAR _CeladonMart3Text14
db "@"
CeladonMart3Text17: ; 482bf (12:42bf)
CeladonMart3Text16: ; 482bf (12:42bf)
CeladonMart3Text15: ; 482bf (12:42bf)
TX_FAR _CeladonMart3Text15
db "@"

20
scripts/celadonmart4.asm Executable file
View file

@ -0,0 +1,20 @@
CeladonMart4Script: ; 48356 (12:4356)
jp EnableAutoTextBoxDrawing
CeladonMart4TextPointers: ; 48359 (12:4359)
dw CeladonMart4Text1
dw CeladonMart4Text2
dw CeladonMart4Text3
dw CeladonMart4Text4
CeladonMart4Text2: ; 48361 (12:4361)
TX_FAR _CeladonMart4Text2
db "@"
CeladonMart4Text3: ; 48366 (12:4366)
TX_FAR _CeladonMart4Text3
db "@"
CeladonMart4Text4: ; 4836b (12:436b)
TX_FAR _CeladonMart4Text4
db "@"

21
scripts/celadonmart5.asm Executable file
View file

@ -0,0 +1,21 @@
CeladonMart5Script: ; 49069 (12:5069)
jp EnableAutoTextBoxDrawing
CeladonMart5TextPointers: ; 4906c (12:506c)
dw CeladonMart5Text1
dw CeladonMart5Text2
dw CeladonMart5Text3
dw CeladonMart5Text4
dw CeladonMart5Text5
CeladonMart5Text1: ; 49076 (12:5076)
TX_FAR _CeladonMart5Text1
db "@"
CeladonMart5Text2: ; 4907b (12:507b)
TX_FAR _CeladonMart5Text2
db "@"
CeladonMart5Text5: ; 49080 (12:5080)
TX_FAR _CeladonMart5Text5
db "@"

71
scripts/celadonmartelevator.asm Executable file
View file

@ -0,0 +1,71 @@
CeladonMartElevatorScript: ; 48600 (12:4600)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
push hl
call nz, CeladonMartElevatorScript_4861c
pop hl
bit 7, [hl]
res 7, [hl]
call nz, CeladonMartElevatorScript_48654
xor a
ld [$cf0c], a
inc a
ld [$cc3c], a
ret
CeladonMartElevatorScript_4861c: ; 4861c (12:461c)
ld hl, $d3af
ld a, [$d73b]
ld b, a
ld a, [$d73c]
ld c, a
call CeladonMartElevatorScript_4862a
CeladonMartElevatorScript_4862a: ; 4862a (12:462a)
inc hl
inc hl
ld a, b
ld [hli], a
ld a, c
ld [hli], a
ret
CeladonMartElevatorScript_48631: ; 48631 (12:4631)
ld hl, CeladonMartElavatorFloors ; $4643
call LoadItemList
ld hl, CeldaonMartElevatorWarpMaps ; $464a
ld de, $cc5b
ld bc, $000a
jp CopyData
CeladonMartElavatorFloors: ; 48643 (12:4643)
db $05 ; num elements in list
db $56, $57, $58, $59, $5A ; "1F", "2F", "3F", "4F, "5F"
db $FF ; terminator
CeldaonMartElevatorWarpMaps: ; 4864a (12:464a)
; first byte is warp number
; second byte is map number
; These specify where the player goes after getting out of the elevator.
db $05, CELADON_MART_1
db $02, CELADON_MART_2
db $02, CELADON_MART_3
db $02, CELADON_MART_4
db $02, CELADON_MART_5
CeladonMartElevatorScript_48654: ; 48654 (12:4654)
ld b, BANK(ShakeElevator)
ld hl, ShakeElevator
jp Bankswitch
CeladonMartElevatorTextPointers: ; 4865c (12:465c)
dw CeladonMartElevatorText1
CeladonMartElevatorText1: ; 4865e (12:465e)
db $08 ; asm
call CeladonMartElevatorScript_48631
ld hl, CeldaonMartElevatorWarpMaps ; $464a
ld a, $61
call Predef
jp TextScriptEnd

263
scripts/celadonmartroof.asm Executable file
View file

@ -0,0 +1,263 @@
CeladonMartRoofScript: ; 483d5 (12:43d5)
jp EnableAutoTextBoxDrawing
CeladonMartRoofScript_483d8: ; 483d8 (12:43d8)
xor a
ld [$cd37], a
ld de, $cc5b
ld hl, CeladonMartRoofDrinkList ; $4408
.asm_483e2
ld a, [hli]
and a
jr z, .asm_48404
push hl
push de
ld [$d11e], a
ld b, a
ld a, $1c
call Predef ; indirect jump to Func_f8a5 (f8a5 (3:78a5))
pop de
pop hl
ld a, b
and a
jr z, .asm_483e2
ld a, [$d11e]
ld [de], a
inc de
push hl
ld hl, $cd37
inc [hl]
pop hl
jr .asm_483e2
.asm_48404
ld a, $ff
ld [de], a
ret
CeladonMartRoofDrinkList: ; 48408 (12:4408)
db FRESH_WATER
db SODA_POP
db LEMONADE
db $00
CeladonMartRoofScript_4840c: ; 4840c (12:440c)
ld hl, $d730
set 6, [hl]
ld hl, CeladonMartRoofText_484ee ; $44ee
call PrintText
xor a
ld [wCurrentMenuItem], a ; $cc26
ld a, $3
ld [wMenuWatchedKeys], a ; $cc29
ld a, [$cd37]
dec a
ld [wMaxMenuItem], a ; $cc28
ld a, $2
ld [wTopMenuItemY], a ; $cc24
ld a, $1
ld [wTopMenuItemX], a ; $cc25
ld a, [$cd37]
dec a
ld bc, $2
ld hl, $3
call AddNTimes
dec l
ld b, l
ld c, $c
ld hl, wTileMap
call TextBoxBorder
call UpdateSprites
call CeladonMartRoofScript_48532
ld hl, $d730
res 6, [hl]
call HandleMenuInput
bit 1, a
ret nz
ld hl, $cc5b
ld a, [wCurrentMenuItem] ; $cc26
ld d, $0
ld e, a
add hl, de
ld a, [hl]
ld [$ffdb], a
cp FRESH_WATER
jr z, .asm_484b6
cp SODA_POP
jr z, .asm_48492
ld a, [$d778]
bit 6, a
jr nz, .asm_484e0
ld hl, CeladonMartRoofText_48515 ; $4515
call PrintText
call RemoveItemByIDBank12
ld bc, (TM_49 << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, ReceivedTM49Text
call PrintText
ld hl, $d778
set 6, [hl]
ret
.asm_48492
ld a, [$d778]
bit 5, a
jr nz, .asm_484e0
ld hl, CeladonMartRoofText_48504 ; $4504
call PrintText
call RemoveItemByIDBank12
ld bc, (TM_48 << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, CeladonMartRoofText_4850a ; $450a
call PrintText
ld hl, $d778
set 5, [hl]
ret
.asm_484b6
ld a, [$d778]
bit 4, a
jr nz, .asm_484e0
ld hl, CeladonMartRoofText_484f3 ; $44f3
call PrintText
call RemoveItemByIDBank12
ld bc, (TM_13 << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, CeladonMartRoofText_484f9 ; $44f9
call PrintText
ld hl, $d778
set 4, [hl]
ret
.BagFull
ld hl, CeladonMartRoofText_48526 ; $4526
jp PrintText
.asm_484e0
ld hl, CeladonMartRoofText_4852c ; $452c
jp PrintText
RemoveItemByIDBank12: ; 484e6 (12:44e6)
ld b, BANK(RemoveItemByID)
ld hl, RemoveItemByID
jp Bankswitch
CeladonMartRoofText_484ee: ; 484ee (12:44ee)
TX_FAR _CeladonMartRoofText_484ee
db "@"
CeladonMartRoofText_484f3: ; 484f3 (12:44f3)
TX_FAR _CeladonMartRoofText_484f3
db $0d
db "@"
CeladonMartRoofText_484f9: ; 484f9 (12:44f9)
TX_FAR _CeladonMartRoofText_484f9
db $0b
TX_FAR _CeladonMartRoofText_484fe
db $0d
db "@"
CeladonMartRoofText_48504: ; 48504 (12:4504)
TX_FAR _CeladonMartRoofText_48504
db $0d
db "@"
CeladonMartRoofText_4850a: ; 4850a (12:450a)
TX_FAR _CeladonMartRoofText_4850a
db $0b
TX_FAR _CeladonMartRoofText_4850f
db $0d
db "@"
CeladonMartRoofText_48515: ; 48515 (12:4515)
TX_FAR _CeladonMartRoofText_48515
db $0d
db "@"
ReceivedTM49Text: ; 4851b (12:451b)
TX_FAR _ReceivedTM49Text
db $0b
TX_FAR _CeladonMartRoofText_48520
db $0d
db "@"
CeladonMartRoofText_48526: ; 48526 (12:4526)
TX_FAR _CeladonMartRoofText_48526
db $0d
db "@"
CeladonMartRoofText_4852c: ; 4852c (12:452c)
TX_FAR _CeladonMartRoofText_4852c
db $0d
db "@"
CeladonMartRoofScript_48532: ; 48532 (12:4532)
ld hl, $cc5b
xor a
ld [$ffdb], a
.asm_48538
ld a, [hli]
cp $ff
ret z
push hl
ld [$d11e], a
call GetItemName
FuncCoord 2, 2 ; $c3ca
ld hl, Coord
ld a, [$ffdb]
ld bc, $28
call AddNTimes
ld de, $cd6d
call PlaceString
ld hl, $ffdb
inc [hl]
pop hl
jr .asm_48538
CeladonMartRoofTextPointers: ; 4855b (12:455b)
dw CeladonMartRoofText1
dw CeladonMartRoofText2
dw CeladonMartRoofText5
dw CeladonMartRoofText5
dw CeladonMartRoofText5
dw CeladonMartRoofText6
CeladonMartRoofText1: ; 48567 (12:4567)
TX_FAR _CeladonMartRoofText1
db "@"
CeladonMartRoofText2: ; 4856c (12:456c)
db $08 ; asm
call CeladonMartRoofScript_483d8
ld a, [$cd37]
and a
jr z, .asm_914b9 ; 0x48574
ld a, $1
ld [$cc3c], a
ld hl, CeladonMartRoofText4
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .asm_05aa4 ; 0x48588
call CeladonMartRoofScript_4840c
jr .asm_05aa4 ; 0x4858d
.asm_914b9 ; 0x4858f
ld hl, CeladonMartRoofText3
call PrintText
.asm_05aa4 ; 0x48595
jp TextScriptEnd
CeladonMartRoofText3: ; 48598 (12:4598)
TX_FAR _CeladonMartRoofText_48598
db "@"
CeladonMartRoofText4: ; 4859d (12:459d)
TX_FAR _CeladonMartRoofText4
db "@"
CeladonMartRoofText5: ; 485a2 (12:45a2)
db $f5
CeladonMartRoofText6: ; 485a3 (12:45a3)
TX_FAR _CeladonMartRoofText6
db "@"

23
scripts/celadonpokecenter.asm Executable file
View file

@ -0,0 +1,23 @@
CeladonPokecenterScript: ; 488b8 (12:48b8)
call Func_22fa
jp EnableAutoTextBoxDrawing
CeladonPokecenterTextPointers: ; 488be (12:48be)
dw CeladonPokecenterText1
dw CeladonPokecenterText2
dw CeladonPokecenterText3
dw CeladonPokecenterText4
CeladonPokecenterText4: ; 488c6 (12:48c6)
db $f6
CeladonPokecenterText1: ; 488c7 (12:48c7)
db $ff
CeladonPokecenterText2: ; 488c8 (12:48c8)
TX_FAR _CeladonPokecenterText2
db "@"
CeladonPokecenterText3: ; 488cd (12:48cd)
TX_FAR _CeladonPokecenterText3
db "@"

20
scripts/celadonprizeroom.asm Executable file
View file

@ -0,0 +1,20 @@
CeladonPrizeRoomScript: ; 490f0 (12:50f0)
jp EnableAutoTextBoxDrawing
CeladonPrizeRoomTextPointers: ; 490f3 (12:50f3)
dw CeladonPrizeRoomText1
dw CeladonPrizeRoomText2
dw CeladonPrizeRoomText3
dw CeladonPrizeRoomText3
dw CeladonPrizeRoomText3
CeladonPrizeRoomText1: ; 490fd (12:50fd)
TX_FAR _CeladonPrizeRoomText1
db "@"
CeladonPrizeRoomText2: ; 49102 (12:5102)
TX_FAR _CeladonPrizeRoomText2
db "@"
CeladonPrizeRoomText3: ; 49107 (12:5107)
db $f7

448
scripts/ceruleancity.asm Executable file
View file

@ -0,0 +1,448 @@
CeruleanCityScript: ; 19480 (6:5480)
call EnableAutoTextBoxDrawing
ld hl, CeruleanCityScriptPointers
ld a, [W_CERULEANCITYCURSCRIPT]
jp CallFunctionInTable
CeruleanCityScript_1948c: ; 1948c (6:548c)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_CERULEANCITYCURSCRIPT], a
ld a, $5
ld [$cc4d], a
ld a, $11
jp Predef
CeruleanCityScriptPointers: ; 1949d (6:549d)
dw CeruleanCityScript0
dw CeruleanCityScript1
dw CeruleanCityScript2
dw CeruleanCityScript3
dw CeruleanCityScript4
CeruleanCityScript4: ; 194a7 (6:54a7)
ld a, [W_ISINBATTLE]
cp $ff
jp z, CeruleanCityScript_1948c
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld hl, $d75b
set 7, [hl]
ld a, $2
ld [$ff8c], a
call DisplayTextID
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_CERULEANCITYCURSCRIPT], a
ret
CeruleanCityScript0: ; 194c8 (6:54c8)
ld a, [$d75b]
bit 7, a
jr nz, .asm_194f7 ; 0x194cd $28
ld hl, CeruleanCityCoords1
call ArePlayerCoordsInArray
jr nc, .asm_194f7 ; 0x194d5 $20
ld a, [$cd3d]
cp $1
ld a, $8
ld b, $0
jr nz, .asm_194e6 ; 0x194e0 $4
ld a, $4
ld b, $4
.asm_194e6
ld [$d528], a
ld a, b
ld [$c129], a
call Delay3
ld a, $2
ld [$ff8c], a
jp DisplayTextID
.asm_194f7
ld a, [$d75a]
bit 0, a
ret nz
ld hl, CeruleanCityCoords2
call ArePlayerCoordsInArray
ret nc
ld a, [$d700]
and a
jr z, .asm_19512 ; 0x19508 $8
ld a, $ff
ld [$c0ee], a
call PlaySound
.asm_19512
ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL
call PlayMusic
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld a, [W_XCOORD]
cp $14
jr z, .asm_19535 ; 0x19526 $d
ld a, $1
ld [$ff8c], a
ld a, $5
ld [$ff8b], a
call Func_3500
ld [hl], $19
.asm_19535
ld a, $5
ld [$cc4d], a
ld a, $15
call Predef
ld de, CeruleanCityMovement1
ld a, $1
ld [$ff8c], a
call MoveSprite
ld a, $1
ld [W_CERULEANCITYCURSCRIPT], a
ret
CeruleanCityCoords1: ; 1954f (6:554f)
db $07,$1e
db $09,$1e
db $ff
CeruleanCityCoords2: ; 19554 (6:5554)
db $06,$14
db $06,$15
db $ff
CeruleanCityMovement1: ; 19559 (6:5559)
db $00,$00,$00,$FF
CeruleanCityScript_1955d: ; 1955d (6:555d)
ld a,1
ld [$ff8c],a
xor a
ld [$ff8d],a
jp Func_34a6 ; face object
CeruleanCityScript1: ; 19567 (6:5567)
ld a, [$d730]
bit 0, a
ret nz
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [$ff8c], a
call DisplayTextID
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, CeruleanCityText_1966d
ld de, CeruleanCityText_19672
call PreBattleSaveRegisters
ld a, SONY1 + $c8
ld [W_CUROPPONENT], a
; select which team to use during the encounter
ld a, [W_RIVALSTARTER]
cp SQUIRTLE
jr nz, .NotSquirtle ; 0x19592 $4
ld a, $7
jr .done
.NotSquirtle
cp BULBASAUR
jr nz, .Charmander ; 0x1959a $4
ld a, $8
jr .done
.Charmander
ld a, $9
.done
ld [W_TRAINERNO], a
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
call CeruleanCityScript_1955d
ld a, $2
ld [W_CERULEANCITYCURSCRIPT], a
ret
CeruleanCityScript2: ; 195b1 (6:55b1)
ld a, [$d057]
cp $ff
jp z, CeruleanCityScript_1948c
call CeruleanCityScript_1955d
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld hl, $d75a
set 0, [hl]
ld a, $1
ld [$ff8c], a
call DisplayTextID
ld a, $ff
ld [$c0ee], a
call PlaySound
ld b, BANK(Music_RivalAlternateStart)
ld hl, Music_RivalAlternateStart
call Bankswitch
ld a, $1
ld [$ff8c], a
call SetSpriteMovementBytesToFF
ld a, [W_XCOORD]
cp $14
jr nz, .asm_195f0 ; 0x195e9 $5
ld de, CeruleanCityMovement4
jr .asm_195f3 ; 0x195ee $3
.asm_195f0
ld de, CeruleanCityMovement3
.asm_195f3
ld a, $1
ld [$ff8c], a
call MoveSprite
ld a, $3
ld [W_CERULEANCITYCURSCRIPT], a
ret
CeruleanCityMovement3: ; 19600 (6:5600)
db $80,$00,$00,$00,$00,$00,$00,$FF
CeruleanCityMovement4: ; 19608 (6:5608)
db $c0,$00,$00,$00,$00,$00,$00,$FF
CeruleanCityScript3: ; 19610 (6:5610)
ld a, [$d730]
bit 0, a
ret nz
ld a, $5
ld [$cc4d], a
ld a, $11
call Predef
xor a
ld [wJoypadForbiddenButtonsMask], a
call Func_2307
ld a, $0
ld [W_CERULEANCITYCURSCRIPT], a
ret
CeruleanCityTextPointers: ; 1962d (6:562d)
dw CeruleanCityText1
dw CeruleanCityText2
dw CeruleanCityText3
dw CeruleanCityText4
dw CeruleanCityText5
dw CeruleanCityText6
dw CeruleanCityText7
dw CeruleanCityText8
dw CeruleanCityText9
dw CeruleanCityText10
dw CeruleanCityText11
dw CeruleanCityText12
dw CeruleanCityText13
dw MartSignText
dw PokeCenterSignText
dw CeruleanCityText16
dw CeruleanCityText17
CeruleanCityText1: ; 1964f (6:564f)
db $08 ; asm
ld a, [$d75a] ; rival battle flag
bit 0, a
; do pre-battle text
jr z, .PreBattleText
; or talk about bill
ld hl, CeruleanCityText_19677
call PrintText
jr .end ; 0x1965d
.PreBattleText ; 0x1965f
ld hl, CeruleanCityText_19668
call PrintText
.end ; 0x19665
jp TextScriptEnd
CeruleanCityText_19668: ; 19668 (6:5668)
TX_FAR _CeruleanCityText_19668
db "@"
CeruleanCityText_1966d: ; 1966d (6:566d)
TX_FAR _CeruleanCityText_1966d
db "@"
CeruleanCityText_19672: ; 19672 (6:5672)
TX_FAR _CeruleanCityText_19672
db "@"
CeruleanCityText_19677: ; 19677 (6:5677)
TX_FAR _CeruleanCityText_19677
db "@"
CeruleanCityText2: ; 1967c (6:567c)
db $8
ld a, [$d75b]
bit 7, a
jr nz, .asm_4ca20 ; 0x19682 $29
ld hl, CeruleanCityText_196d9
call PrintText
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, CeruleanCityText_196ee
ld de, CeruleanCityText_196ee
call PreBattleSaveRegisters
ld a, [$ff8c]
ld [$cf13], a
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $4
ld [W_CERULEANCITYCURSCRIPT], a
jp TextScriptEnd
.asm_4ca20 ; 0x196ad
ld hl, CeruleanCityText_196f3
call PrintText
ld bc, $e401
call GiveItem
jr c, .Success
ld hl, TM28NoRoomText
call PrintText
jr .Done
.Success
ld a, $1
ld [$cc3c], a
ld hl, ReceivedTM28Text
call PrintText
ld b, BANK(Func_74872)
ld hl, Func_74872
call Bankswitch
.Done
jp TextScriptEnd
CeruleanCityText_196d9: ; 196d9 (6:56d9)
TX_FAR _CeruleanCityText_196d9
db "@"
ReceivedTM28Text: ; 196de (6:56de)
TX_FAR _ReceivedTM28Text
db $0B
TX_FAR _ReceivedTM28Text2
db $0D, "@"
TM28NoRoomText: ; 196e9 (6:56e9)
TX_FAR _TM28NoRoomText
db "@"
CeruleanCityText_196ee: ; 196ee (6:56ee)
TX_FAR _CeruleanCityText_196ee
db "@"
CeruleanCityText_196f3: ; 196f3 (6:56f3)
TX_FAR _CeruleanCityText_196f3
db "@"
CeruleanCityText3: ; 196f8 (6:56f8)
TX_FAR _CeruleanCityText3
db "@"
CeruleanCityText4: ; 196fd (6:56fd)
TX_FAR _CeruleanCityText4
db "@"
CeruleanCityText5: ; 19702 (6:5702)
TX_FAR _CeruleanCityText5
db "@"
CeruleanCityText11: ; 19707 (6:5707)
CeruleanCityText6: ; 19707 (6:5707)
TX_FAR _CeruleanCityText6
db "@"
CeruleanCityText7: ; 1970c (6:570c)
db $08 ; asm
ldh a, [$d3]
cp $b4
jr c, .asm_e9fc9 ; 0x19711
ld hl, CeruleanCityText_19730
call PrintText
jr .asm_d486e ; 0x19719
.asm_e9fc9 ; 0x1971b
cp $64
jr c, .asm_df99b ; 0x1971d
ld hl, CeruleanCityText_19735
call PrintText
jr .asm_d486e ; 0x19725
.asm_df99b ; 0x19727
ld hl, CeruleanCityText_1973a
call PrintText
.asm_d486e ; 0x1972d
jp TextScriptEnd
CeruleanCityText_19730: ; 19730 (6:5730)
TX_FAR _CeruleanCityText_19730
db "@"
CeruleanCityText_19735: ; 19735 (6:5735)
TX_FAR _CeruleanCityText_19735
db "@"
CeruleanCityText_1973a: ; 1973a (6:573a)
TX_FAR _CeruleanCityText_1973a
db "@"
CeruleanCityText8: ; 1973f (6:573f)
db $08 ; asm
ldh a, [$d3]
cp $b4
jr c, .asm_e28da ; 0x19744
ld hl, CeruleanCityText_1976f
call PrintText
jr .asm_f2f38 ; 0x1974c
.asm_e28da ; 0x1974e
cp $78
jr c, .asm_15d08 ; 0x19750
ld hl, CeruleanCityText_19774
call PrintText
jr .asm_f2f38 ; 0x19758
.asm_15d08 ; 0x1975a
cp $3c
jr c, .asm_d7fea ; 0x1975c
ld hl, CeruleanCityText_19779
call PrintText
jr .asm_f2f38 ; 0x19764
.asm_d7fea ; 0x19766
ld hl, CeruleanCityText_1977e
call PrintText
.asm_f2f38 ; 0x1976c
jp TextScriptEnd
CeruleanCityText_1976f: ; 1976f (6:576f)
TX_FAR _CeruleanCityText_1976f
db "@"
CeruleanCityText_19774: ; 19774 (6:5774)
TX_FAR _CeruleanCityText_19774
db "@"
CeruleanCityText_19779: ; 19779 (6:5779)
TX_FAR _CeruleanCityText_19779
db "@"
CeruleanCityText_1977e: ; 1977e (6:577e)
TX_FAR _CeruleanCityText_1977e
db "@"
CeruleanCityText9: ; 19783 (6:5783)
TX_FAR _CeruleanCityText9
db "@"
CeruleanCityText10: ; 19788 (6:5788)
TX_FAR _CeruleanCityText10
db "@"
CeruleanCityText12: ; 1978d (6:578d)
TX_FAR _CeruleanCityText12
db "@"
CeruleanCityText13: ; 19792 (6:5792)
TX_FAR _CeruleanCityText13
db "@"
CeruleanCityText16: ; 19797 (6:5797)
TX_FAR _CeruleanCityText16
db "@"
CeruleanCityText17: ; 1979c (6:579c)
TX_FAR _CeruleanCityText17
db "@"

224
scripts/ceruleangym.asm Executable file
View file

@ -0,0 +1,224 @@
CeruleanGymScript: ; 5c6b3 (17:46b3)
ld hl, $d126
bit 6, [hl]
res 6, [hl]
call nz, CeruleanGymScript_5c6d0
call EnableAutoTextBoxDrawing
ld hl, CeruleanGymTrainerHeaders
ld de, CeruleanGymScriptPointers
ld a, [W_CERULEANGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_CERULEANGYMCURSCRIPT], a
ret
CeruleanGymScript_5c6d0: ; 5c6d0 (17:46d0)
ld hl, Gym2CityName ; $46d9
ld de, Gym2LeaderName ; $46e7
jp LoadGymLeaderAndCityName
Gym2CityName: ; 5c6d9 (17:46d9)
db "CERULEAN CITY@"
Gym2LeaderName: ; 5c6e7 (17:46e7)
db "MISTY@"
CeruleanGymScript_5c6ed: ; 5c6ed (17:46ed)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_CERULEANGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CeruleanGymScriptPointers: ; 5c6f8 (17:46f8)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
dw CeruleanGymScript3
CeruleanGymScript3: ; 5c700 (17:4700)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, CeruleanGymScript_5c6ed
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
CeruleanGymScript_5c70d: ; 5c70d (17:470d)
ld a, $5
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld hl, $d75e
set 7, [hl]
ld bc, (TM_11 << 8) | 1
call GiveItem
jr nc, .BagFull
ld a, $6
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld hl, $d75e
set 6, [hl]
jr .asm_5c736
.BagFull
ld a, $7
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
.asm_5c736
ld hl, W_OBTAINEDBADGES
set 1, [hl]
ld hl, $d72a
set 1, [hl]
; deactivate gym trainers
ld hl, $d75e
set 2, [hl]
set 3, [hl]
jp CeruleanGymScript_5c6ed
CeruleanGymTextPointers: ; 5c74a (17:474a)
dw CeruleanGymText1
dw CeruleanGymText2
dw CeruleanGymText3
dw CeruleanGymText4
dw CeruleanGymText5
dw CeruleanGymText6
dw CeruleanGymText7
CeruleanGymTrainerHeaders: ; 5c758 (17:4758)
CeruleanGymTrainerHeader0: ; 5c758 (17:4758)
db $2 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d75e ; flag's byte
dw CeruleanGymBattleText1 ; 0x47e9 TextBeforeBattle
dw CeruleanGymAfterBattleText1 ; 0x47f3 TextAfterBattle
dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle
dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle
CeruleanGymTrainerHeader1: ; 5c764 (17:4764)
db $3 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d75e ; flag's byte
dw CeruleanGymBattleText2 ; 0x4802 TextBeforeBattle
dw CeruleanGymAfterBattleText2 ; 0x480c TextAfterBattle
dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle
dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle
db $ff
CeruleanGymText1: ; 5c771 (17:4771)
db $08 ; asm
ld a, [$d75e]
bit 7, a
jr z, .asm_10854 ; 0x5c777
bit 6, a
jr nz, .asm_37a1b ; 0x5c77b
call z, CeruleanGymScript_5c70d
call DisableWaitingAfterTextDisplay
jr .asm_95b04 ; 0x5c783
.asm_37a1b ; 0x5c785
ld hl, CeruleanGymText_5c7c3
call PrintText
jr .asm_95b04 ; 0x5c78b
.asm_10854 ; 0x5c78d
ld hl, CeruleanGymText_5c7be
call PrintText
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, CeruleanGymText_5c7d8
ld de, CeruleanGymText_5c7d8
call PreBattleSaveRegisters
ldh a, [$8c]
ld [$cf13], a
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $2
ld [$d05c], a
xor a
ldh [$b4], a
ld a, $3
ld [W_CERULEANGYMCURSCRIPT], a
.asm_95b04 ; 0x5c7bb
jp TextScriptEnd
CeruleanGymText_5c7be: ; 5c7be (17:47be)
TX_FAR _CeruleanGymText_5c7be
db "@"
CeruleanGymText_5c7c3: ; 5c7c3 (17:47c3)
TX_FAR _CeruleanGymText_5c7c3
db "@"
CeruleanGymText5: ; 5c7c8 (17:47c8)
TX_FAR _CeruleanGymText_5c7c8
db "@"
CeruleanGymText6: ; 5c7cd (17:47cd)
ReceivedTM11Text: ; 5c7cd (17:47cd)
TX_FAR _ReceivedTM11Text
db $0B, "@"
CeruleanGymText7: ; 5c7d3 (17:47d3)
TX_FAR _CeruleanGymText_5c7d3
db "@"
CeruleanGymText_5c7d8: ; 5c7d8 (17:47d8)
TX_FAR _CeruleanGymText_5c7d8
db $11, $6, "@"
CeruleanGymText2: ; 5c7df (17:47df)
db $08 ; asm
ld hl, CeruleanGymTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
CeruleanGymBattleText1: ; 5c7e9 (17:47e9)
TX_FAR _CeruleanGymBattleText1
db "@"
CeruleanGymEndBattleText1: ; 5c7ee (17:47ee)
TX_FAR _CeruleanGymEndBattleText1
db "@"
CeruleanGymAfterBattleText1: ; 5c7f3 (17:47f3)
TX_FAR _CeruleanGymAfterBattleText1
db "@"
CeruleanGymText3: ; 5c7f8 (17:47f8)
db $08 ; asm
ld hl, CeruleanGymTrainerHeader1
call TalkToTrainer
jp TextScriptEnd
CeruleanGymBattleText2: ; 5c802 (17:4802)
TX_FAR _CeruleanGymBattleText2
db "@"
CeruleanGymEndBattleText2: ; 5c807 (17:4807)
TX_FAR _CeruleanGymEndBattleText2
db "@"
CeruleanGymAfterBattleText2: ; 5c80c (17:480c)
TX_FAR _CeruleanGymAfterBattleText2
db "@"
CeruleanGymText4: ; 5c811 (17:4811)
db $08 ; asm
ld a, [$d75e]
bit 7, a
jr nz, .asm_f80ce ; 0x5c817
ld hl, CeruleanGymText_5c82a
call PrintText
jr .asm_18a31 ; 0x5c81f
.asm_f80ce ; 0x5c821
ld hl, CeruleanGymText_5c82f
call PrintText
.asm_18a31 ; 0x5c827
jp TextScriptEnd
CeruleanGymText_5c82a: ; 5c82a (17:482a)
TX_FAR _CeruleanGymText_5c82a
db "@"
CeruleanGymText_5c82f: ; 5c82f (17:482f)
TX_FAR _CeruleanGymText_5c82f
db "@"

18
scripts/ceruleanhouse1.asm Executable file
View file

@ -0,0 +1,18 @@
CeruleanHouse1Script: ; 1d6f6 (7:56f6)
jp EnableAutoTextBoxDrawing
CeruleanHouse1TextPointers: ; 1d6f9 (7:56f9)
dw CeruleanHouse1Text1
dw CeruleanHouse1Text2
CeruleanHouse1Text1: ; 1d6fd (7:56fd)
TX_FAR _CeruleanHouse1Text1
db "@"
CeruleanHouse1Text2: ; 1d702 (7:5702)
db $08 ; asm
ld a, $6
ld [wWhichTrade], a
ld a, $54
call Predef
jp TextScriptEnd

109
scripts/ceruleanhouse2.asm Executable file
View file

@ -0,0 +1,109 @@
CeruleanHouse2Script: ; 74e09 (1d:4e09)
ld a, $1
ld [$cf0c], a
dec a
ld [$cc3c], a
ret
CeruleanHouse2TextPointers: ; 74e13 (1d:4e13)
dw CeruleanHouse2Text1
CeruleanHouse2Text1: ; 74e15 (1d:4e15)
db $8
ld hl, CeruleanHouse2Text_74e77
call PrintText
xor a
ld [wCurrentMenuItem], a
ld [wListScrollOffset], a
.asm_74e23
ld hl, CeruleanHouse2Text_74e7c
call PrintText
ld hl, BadgeItemList
call LoadItemList
ld hl, $cf7b
ld a, l
ld [$cf8b], a
ld a, h
ld [$cf8c], a
xor a
ld [$cf93], a
ld [$cc35], a
ld a, SPECIALLISTMENU
ld [wListMenuID], a
call DisplayListMenuID
jr c, .asm_74e60 ; 0x74e49 $15
ld hl, TextPointers_74e86
ld a, [$cf91]
sub $15
add a
ld d, $0
ld e, a
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
call PrintText
jr .asm_74e23 ; 0x74e5e $c3
.asm_74e60
xor a
ld [wListScrollOffset], a
ld hl, CeruleanHouse2Text_74e81
call PrintText
jp TextScriptEnd
BadgeItemList: ; 74e6d (1d:4e6d)
db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF
CeruleanHouse2Text_74e77: ; 74e77 (1d:4e77)
TX_FAR _CeruleanHouse2Text_74e77
db "@"
CeruleanHouse2Text_74e7c: ; 74e7c (1d:4e7c)
TX_FAR _CeruleanHouse2Text_74e7c
db "@"
CeruleanHouse2Text_74e81: ; 74e81 (1d:4e81)
TX_FAR _CeruleanHouse2Text_74e81
db "@"
TextPointers_74e86: ; 74e86 (1d:4e86)
dw CeruleanHouse2Text_74e96
dw CeruleanHouse2Text_74e9b
dw CeruleanHouse2Text_74ea0
dw CeruleanHouse2Text_74ea5
dw CeruleanHouse2Text_74eaa
dw CeruleanHouse2Text_74eaf
dw CeruleanHouse2Text_74eb4
dw CeruleanHouse2Text_74eb9
CeruleanHouse2Text_74e96: ; 74e96 (1d:4e96)
TX_FAR _CeruleanHouse2Text_74e96
db "@"
CeruleanHouse2Text_74e9b: ; 74e9b (1d:4e9b)
TX_FAR _CeruleanHouse2Text_74e9b
db "@"
CeruleanHouse2Text_74ea0: ; 74ea0 (1d:4ea0)
TX_FAR _CeruleanHouse2Text_74ea0
db "@"
CeruleanHouse2Text_74ea5: ; 74ea5 (1d:4ea5)
TX_FAR _CeruleanHouse2Text_74ea5
db "@"
CeruleanHouse2Text_74eaa: ; 74eaa (1d:4eaa)
TX_FAR _CeruleanHouse2Text_74eaa
db "@"
CeruleanHouse2Text_74eaf: ; 74eaf (1d:4eaf)
TX_FAR _CeruleanHouse2Text_74eaf
db "@"
CeruleanHouse2Text_74eb4: ; 74eb4 (1d:4eb4)
TX_FAR _CeruleanHouse2Text_74eb4
db "@"
CeruleanHouse2Text_74eb9: ; 74eb9 (1d:4eb9)
TX_FAR _CeruleanHouse2Text_74eb9
db "@"

View file

@ -0,0 +1,40 @@
CeruleanHouseTrashedScript: ; 1d685 (7:5685)
call EnableAutoTextBoxDrawing
ret
CeruleanHouseTrashedTextPointers: ; 1d689 (7:5689)
dw CeruleanHouseTrashedText1
dw CeruleanHouseTrashedText2
dw CeruleanHouseTrashedText3
CeruleanHouseTrashedText1: ; 1d68f (7:568f)
db $08 ; asm
ld b, $e4
ld a, $1c
call Predef
and b
jr z, .asm_f8734 ; 0x1d698
ld hl, CeruleanHouseTrashedText_1d6b0
call PrintText
jr .asm_8dfe9 ; 0x1d6a0
.asm_f8734 ; 0x1d6a2
ld hl, CeruleanHouseTrashedText_1d6ab
call PrintText
.asm_8dfe9 ; 0x1d6a8
jp TextScriptEnd
CeruleanHouseTrashedText_1d6ab: ; 1d6ab (7:56ab)
TX_FAR _CeruleanTrashedText_1d6ab
db "@"
CeruleanHouseTrashedText_1d6b0: ; 1d6b0 (7:56b0)
TX_FAR _CeruleanTrashedText_1d6b0
db "@"
CeruleanHouseTrashedText2: ; 1d6b5 (7:56b5)
TX_FAR _CeruleanHouseTrashedText2
db "@"
CeruleanHouseTrashedText3: ; 1d6ba (7:56ba)
TX_FAR _CeruleanHouseTrashedText3
db "@"

15
scripts/ceruleanmart.asm Executable file
View file

@ -0,0 +1,15 @@
CeruleanMartScript: ; 5c895 (17:4895)
jp EnableAutoTextBoxDrawing
CeruleanMartTextPointers: ; 5c898 (17:4898)
dw CeruleanMartText1
dw CeruleanMartText2
dw CeruleanMartText3
CeruleanMartText2: ; 5c89e (17:489e)
TX_FAR _CeruleanMartText2
db "@"
CeruleanMartText3: ; 5c8a3 (17:48a3)
TX_FAR _CeruleanMartText3
db "@"

23
scripts/ceruleanpokecenter.asm Executable file
View file

@ -0,0 +1,23 @@
CeruleanPokecenterScript: ; 5c645 (17:4645)
call Func_22fa
jp EnableAutoTextBoxDrawing
CeruleanPokecenterTextPointers: ; 5c64b (17:464b)
dw CeruleanPokecenterText1
dw CeruleanPokecenterText2
dw CeruleanPokecenterText3
dw CeruleanPokecenterText4
CeruleanPokecenterText4: ; 5c653 (17:4653)
db $f6
CeruleanPokecenterText1: ; 5c654 (17:4654)
db $ff
CeruleanPokecenterText2: ; 5c655 (17:4655)
TX_FAR _CeruleanPokecenterText1
db "@"
CeruleanPokecenterText3: ; 5c65a (17:465a)
TX_FAR _CeruleanPokecenterText3
db "@"

483
scripts/cinnabargym.asm Executable file
View file

@ -0,0 +1,483 @@
CinnabarGymScript: ; 7574a (1d:574a)
call CinnabarGymScript_75759
call EnableAutoTextBoxDrawing
ld hl, CinnabarGymScriptPointers
ld a, [W_CINNABARGYMCURSCRIPT]
jp CallFunctionInTable
CinnabarGymScript_75759: ; 75759 (1d:5759)
ld hl, $D126
bit 6, [hl]
res 6, [hl]
push hl
call nz, CinnabarGymScript_75772
pop hl
bit 5, [hl]
res 5, [hl]
call nz, Func_3ead
ld hl, $D79B
res 7, [hl]
ret
CinnabarGymScript_75772: ; 75772 (1d:5772)
ld hl, Gym7CityName
ld de, Gym7LeaderName
jp LoadGymLeaderAndCityName
Gym7CityName: ; 7577b (1d:577b)
db "CINNABAR ISLAND@"
Gym7LeaderName: ; 7578b (1d:578b)
db "BLAINE@"
CinnabarGymScript_75792: ; 75792 (1d:5792)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_CINNABARGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ld [$da38], a
ret
CinnabarGymScript_757a0: ; 757a0 (1d:57a0)
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
ld [wTrainerHeaderFlagBit], a
ret
CinnabarGymScriptPointers: ; 757a6 (1d:57a6)
dw CinnabarGymScript0
dw CinnabarGymScript1
dw CinnabarGymScript2
dw CinnabarGymScript3
CinnabarGymScript0: ; 757ae (1d:57ae)
ld a, [$da38]
and a
ret z
ld [$ff8c], a
cp $4
jr nz, .asm_757c3 ; 0x757b7 $a
ld a, $4
ld [$d528], a
ld de, MovementData_757d7
jr .asm_757cb ; 0x757c1 $8
.asm_757c3
ld de, MovementData_757da
ld a, $1
ld [$d528], a
.asm_757cb
call MoveSprite
ld a, $1
ld [W_CINNABARGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
MovementData_757d7: ; 757d7 (1d:57d7)
db $80,$40,$FF
MovementData_757da: ; 757da (1d:57da)
db $80,$FF
CinnabarGymScript1: ; 757dc (1d:57dc)
ld a, [$d730]
bit 0, a
ret nz
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, [$da38]
ld [wTrainerHeaderFlagBit], a
ld [$ff8c], a
jp DisplayTextID
CinnabarGymScript_757f1: ; 757f1 (1d:57f1)
ld a, $10
jp Predef ; indirect jump to HandleBitArray (f666 (3:7666))
CinnabarGymScript2: ; 757f6 (1d:57f6)
ld a, [$d057]
cp $ff
jp z, CinnabarGymScript_75792
ld a, [wTrainerHeaderFlagBit]
ld [$ffdb], a
ld c, a
ld b, $2
ld hl, $d79a
call CinnabarGymScript_757f1
ld a, c
and a
jr nz, .asm_7581b ; 0x7580e $b
call WaitForSoundToFinish
ld a, (SFX_02_57 - SFX_Headers_02) / 3
call PlaySound
call WaitForSoundToFinish
.asm_7581b
ld a, [wTrainerHeaderFlagBit]
ld [$ffdb], a
ld c, a
ld b, $1
ld hl, $d79a
call CinnabarGymScript_757f1
ld a, [wTrainerHeaderFlagBit]
sub $2
ld c, a
ld b, $1
ld hl, $d79c
call CinnabarGymScript_757f1
call Func_3ead
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [$da38], a
ld a, $0
ld [W_CINNABARGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CinnabarGymScript3: ; 7584a (1d:584a)
ld a, [$d057]
cp $ff
jp z, CinnabarGymScript_75792
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
CinnabarGymScript3_75857: ; 75857 (1d:5857)
ld a, $a
ld [$ff8c], a
call DisplayTextID
ld hl, $d79a
set 1, [hl]
ld bc, (TM_38 << 8) | 1
call GiveItem
jr nc, .BagFull
ld a, $b
ld [$ff8c], a
call DisplayTextID
ld hl, $d79a
set 0, [hl]
jr .asm_75880 ; 0x75877 $7
.BagFull
ld a, $c
ld [$ff8c], a
call DisplayTextID
.asm_75880
ld hl, W_OBTAINEDBADGES
set 6, [hl]
ld hl, $d72a
set 6, [hl]
; deactivate gym trainers
ld a, [$d79a]
or %11111100
ld [$d79a], a
ld hl, $d79b
set 0, [hl]
ld hl, $d126
set 5, [hl]
jp CinnabarGymScript_75792
CinnabarGymTextPointers: ; 7589f (1d:589f)
dw CinnabarGymText1
dw CinnabarGymText2
dw CinnabarGymText3
dw CinnabarGymText4
dw CinnabarGymText5
dw CinnabarGymText6
dw CinnabarGymText7
dw CinnabarGymText8
dw CinnabarGymText9
dw BlaineBadgeText
dw ReceivedTM38Text
dw TM38NoRoomText
CinnabarGymScript_758b7: ; 758b7 (1d:58b7)
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
ld [$cf13], a
call EngageMapTrainer
call InitBattleEnemyParameters
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld a, [$cf13]
cp $1
jr z, .asm_758d4
ld a, $2
jr .asm_758d6
.asm_758d4
ld a, $3
.asm_758d6
ld [W_CINNABARGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
jp TextScriptEnd
CinnabarGymText1: ; 758df (1d:58df)
db $8
ld a, [$d79a]
bit 1, a
jr z, .asm_d9332 ; 0x758e5 $16
bit 0, a
jr nz, .asm_3012f ; 0x758e9 $9
call z, CinnabarGymScript3_75857
call DisableWaitingAfterTextDisplay
jp TextScriptEnd
.asm_3012f ; 0x758f4
ld hl, BlaineFireBlastText
call PrintText
jp TextScriptEnd
.asm_d9332 ; 0x758fd
ld hl, BlaineBattleText
call PrintText
ld hl, BlaineEndBattleText
ld de, BlaineEndBattleText
call PreBattleSaveRegisters
ld a, $7
ld [$d05c], a
jp CinnabarGymScript_758b7
BlaineBattleText: ; 75914 (1d:5914)
TX_FAR _BlaineBattleText
db "@"
BlaineEndBattleText: ; 75919 (1d:5919)
TX_FAR _BlaineEndBattleText
db $11
db $d
db "@"
BlaineFireBlastText: ; 75920 (1d:5920)
TX_FAR _BlaineFireBlastText
db "@"
BlaineBadgeText: ; 75925 (1d:5925)
TX_FAR _BlaineBadgeText
db "@"
ReceivedTM38Text: ; 7592a (1d:592a)
TX_FAR _ReceivedTM38Text
db $0B
TX_FAR _TM38ExplanationText
db "@"
TM38NoRoomText: ; 75934 (1d:5934)
TX_FAR _TM38NoRoomText
db "@"
CinnabarGymText2: ; 75939 (1d:5939)
db $08 ; asm
call CinnabarGymScript_757a0
ld a, [$d79a]
bit 2, a
jr nz, .asm_46bb4 ; 0x75942
ld hl, CinnabarGymText_7595f
call PrintText
ld hl, CinnabarGymText_75964
ld de, CinnabarGymText_75964 ; $5964 XXX
call PreBattleSaveRegisters
jp CinnabarGymScript_758b7
.asm_46bb4 ; 0x75956
ld hl, CinnabarGymText_75969
call PrintText
jp TextScriptEnd
CinnabarGymText_7595f: ; 7595f (1d:595f)
TX_FAR _CinnabarGymText_7595f
db "@"
CinnabarGymText_75964: ; 75964 (1d:5964)
TX_FAR _CinnabarGymText_75964
db "@"
CinnabarGymText_75969: ; 75969 (1d:5969)
TX_FAR _CinnabarGymText_75969
db "@"
CinnabarGymText3: ; 7596e (1d:596e)
db $08 ; asm
call CinnabarGymScript_757a0
ld a, [$d79a]
bit 3, a
jr nz, .asm_4b406 ; 0x75977
ld hl, CinnabarGymText_75994
call PrintText
ld hl, CinnabarGymText_75999
ld de, CinnabarGymText_75999 ; $5999 XXX
call PreBattleSaveRegisters
jp CinnabarGymScript_758b7
.asm_4b406 ; 0x7598b
ld hl, CinnabarGymText_7599e
call PrintText
jp TextScriptEnd
CinnabarGymText_75994: ; 75994 (1d:5994)
TX_FAR _CinnabarGymText_75994
db "@"
CinnabarGymText_75999: ; 75999 (1d:5999)
TX_FAR _CinnabarGymText_75999
db "@"
CinnabarGymText_7599e: ; 7599e (1d:599e)
TX_FAR _CinnabarGymText_7599e
db "@"
CinnabarGymText4: ; 759a3 (1d:59a3)
db $08 ; asm
call CinnabarGymScript_757a0
ld a, [$d79a]
bit 4, a
jr nz, .asm_c0673 ; 0x759ac
ld hl, CinnabarGymText_759c9
call PrintText
ld hl, CinnabarGymText_759ce
ld de, CinnabarGymText_759ce ; $59ce XXX
call PreBattleSaveRegisters
jp CinnabarGymScript_758b7
.asm_c0673 ; 0x759c0
ld hl, CinnabarGymText_759d3
call PrintText
jp TextScriptEnd
CinnabarGymText_759c9: ; 759c9 (1d:59c9)
TX_FAR _CinnabarGymText_759c9
db "@"
CinnabarGymText_759ce: ; 759ce (1d:59ce)
TX_FAR _CinnabarGymText_759ce
db "@"
CinnabarGymText_759d3: ; 759d3 (1d:59d3)
TX_FAR _CinnabarGymText_759d3
db "@"
CinnabarGymText5: ; 759d8 (1d:59d8)
db $08 ; asm
call CinnabarGymScript_757a0
ld a, [$d79a]
bit 5, a
jr nz, .asm_5cfd7 ; 0x759e1
ld hl, CinnabarGymText_759fe
call PrintText
ld hl, CinnabarGymText_75a03
ld de, CinnabarGymText_75a03 ; $5a03 XXX
call PreBattleSaveRegisters
jp CinnabarGymScript_758b7
.asm_5cfd7 ; 0x759f5
ld hl, CinnabarGymText_75a08
call PrintText
jp TextScriptEnd
CinnabarGymText_759fe: ; 759fe (1d:59fe)
TX_FAR _CinnabarGymText_759fe
db "@"
CinnabarGymText_75a03: ; 75a03 (1d:5a03)
TX_FAR _CinnabarGymText_75a03
db "@"
CinnabarGymText_75a08: ; 75a08 (1d:5a08)
TX_FAR _CinnabarGymText_75a08
db "@"
CinnabarGymText6: ; 75a0d (1d:5a0d)
db $08 ; asm
call CinnabarGymScript_757a0
ld a, [$d79a]
bit 6, a
jr nz, .asm_776b4 ; 0x75a16
ld hl, CinnabarGymText_75a33
call PrintText
ld hl, CinnabarGymText_75a38
ld de, CinnabarGymText_75a38
call PreBattleSaveRegisters
jp CinnabarGymScript_758b7
.asm_776b4 ; 0x75a2a
ld hl, CinnabarGymText_75a3d
call PrintText
jp TextScriptEnd
CinnabarGymText_75a33: ; 75a33 (1d:5a33)
TX_FAR _CinnabarGymText_75a33
db "@"
CinnabarGymText_75a38: ; 75a38 (1d:5a38)
TX_FAR _CinnabarGymText_75a38
db "@"
CinnabarGymText_75a3d: ; 75a3d (1d:5a3d)
TX_FAR _CinnabarGymText_75a3d
db "@"
CinnabarGymText7: ; 75a42 (1d:5a42)
db $08 ; asm
call CinnabarGymScript_757a0
ld a, [$d79a]
bit 7, a
jr nz, .asm_2f755 ; 0x75a4b
ld hl, CinnabarGymText_75a68
call PrintText
ld hl, CinnabarGymText_75a6d
ld de, CinnabarGymText_75a6d
call PreBattleSaveRegisters
jp CinnabarGymScript_758b7
.asm_2f755 ; 0x75a5f
ld hl, CinnabarGymText_75a72
call PrintText
jp TextScriptEnd
CinnabarGymText_75a68: ; 75a68 (1d:5a68)
TX_FAR _CinnabarGymText_75a68
db "@"
CinnabarGymText_75a6d: ; 75a6d (1d:5a6d)
TX_FAR _CinnabarGymText_75a6d
db "@"
CinnabarGymText_75a72: ; 75a72 (1d:5a72)
TX_FAR _CinnabarGymText_75a72
db "@"
CinnabarGymText8: ; 75a77 (1d:5a77)
db $08 ; asm
call CinnabarGymScript_757a0
ld a, [$d79b]
bit 0, a
jr nz, .asm_d87be ; 0x75a80
ld hl, CinnabarGymText_75a9d
call PrintText
ld hl, CinnabarGymText_75aa2
ld de, CinnabarGymText_75aa2 ; $5aa2 XXX
call PreBattleSaveRegisters
jp CinnabarGymScript_758b7
.asm_d87be ; 0x75a94
ld hl, CinnabarGymText_75aa7
call PrintText
jp TextScriptEnd
CinnabarGymText_75a9d: ; 75a9d (1d:5a9d)
TX_FAR _CinnabarGymText_75a9d
db "@"
CinnabarGymText_75aa2: ; 75aa2 (1d:5aa2)
TX_FAR _CinnabarGymText_75aa2
db "@"
CinnabarGymText_75aa7: ; 75aa7 (1d:5aa7)
TX_FAR _CinnabarGymText_75aa7
db "@"
CinnabarGymText9: ; 75aac (1d:5aac)
db $08 ; asm
ld a, [$d79a]
bit 1, a
jr nz, .asm_627d9 ; 0x75ab2
ld hl, CinnabarGymText_75ac2
jr .asm_0b11d ; 0x75ab7
.asm_627d9 ; 0x75ab9
ld hl, CinnabarGymText_75ac7
.asm_0b11d ; 0x75abc
call PrintText
jp TextScriptEnd
CinnabarGymText_75ac2: ; 75ac2 (1d:5ac2)
TX_FAR _CinnabarGymText_75ac2
db "@"
CinnabarGymText_75ac7: ; 75ac7 (1d:5ac7)
TX_FAR _CinnabarGymText_75ac7
db "@"

87
scripts/cinnabarisland.asm Executable file
View file

@ -0,0 +1,87 @@
CinnabarIslandScript: ; 1ca19 (7:4a19)
call EnableAutoTextBoxDrawing
ld hl, $d126
set 5, [hl]
ld hl, $d796
res 0, [hl]
ld hl, $d7a3
res 1, [hl]
ld hl, CinnabarIslandScriptPointers
ld a, [W_CINNABARISLANDCURSCRIPT]
jp CallFunctionInTable
CinnabarIslandScriptPointers: ; 1ca34 (7:4a34)
dw CinnabarIslandScript0
dw CinnabarIslandScript1
CinnabarIslandScript0: ; 1ca38 (7:4a38)
ld b, SECRET_KEY
call IsItemInBag
ret nz
ld a, [W_YCOORD]
cp $4
ret nz
ld a, [W_XCOORD]
cp $12
ret nz
ld a, $8
ld [$d528], a
ld a, $8
ld [$ff8c], a
call DisplayTextID
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $1
ld [$cd38], a
ld a, $80
ld [$ccd3], a
call Func_3486
xor a
ld [$c109], a
ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [W_CINNABARISLANDCURSCRIPT], a
ret
CinnabarIslandScript1: ; 1ca73 (7:4a73)
ld a, [$cd38]
and a
ret nz
call Delay3
ld a, $0
ld [W_CINNABARISLANDCURSCRIPT], a
ret
CinnabarIslandTextPointers: ; 1ca81 (7:4a81)
dw CinnabarIslandText1
dw CinnabarIslandText2
dw CinnabarIslandText3
dw MartSignText
dw PokeCenterSignText
dw CinnabarIslandText6
dw CinnabarIslandText7
dw CinnabarIslandText8
CinnabarIslandText8: ; 1ca91 (7:4a91)
TX_FAR _CinnabarIslandText8
db "@"
CinnabarIslandText1: ; 1ca96 (7:4a96)
TX_FAR _CinnabarIslandText1
db "@"
CinnabarIslandText2: ; 1ca9b (7:4a9b)
TX_FAR _CinnabarIslandText2
db "@"
CinnabarIslandText3: ; 1caa0 (7:4aa0)
TX_FAR _CinnabarIslandText3
db "@"
CinnabarIslandText6: ; 1caa5 (7:4aa5)
TX_FAR _CinnabarIslandText6
db "@"
CinnabarIslandText7: ; 1caaa (7:4aaa)
TX_FAR _CinnabarIslandText7
db "@"

15
scripts/cinnabarmart.asm Executable file
View file

@ -0,0 +1,15 @@
CinnabarMartScript: ; 75e7e (1d:5e7e)
jp EnableAutoTextBoxDrawing
CinnabarMartTextPointers: ; 75e81 (1d:5e81)
dw CinnabarMartText1
dw CinnabarMartText2
dw CinnabarMartText3
CinnabarMartText2: ; 75e87 (1d:5e87)
TX_FAR _CinnabarMartText2
db "@"
CinnabarMartText3: ; 75e8c (1d:5e8c)
TX_FAR _CinnabarMartText3
db "@"

23
scripts/cinnabarpokecenter.asm Executable file
View file

@ -0,0 +1,23 @@
CinnabarPokecenterScript: ; 75e2c (1d:5e2c)
call Func_22fa
jp EnableAutoTextBoxDrawing
CinnabarPokecenterTextPointers: ; 75e32 (1d:5e32)
dw CinnabarPokecenterText1
dw CinnabarPokecenterText2
dw CinnabarPokecenterText3
dw CinnabarPokecenterText4
CinnabarPokecenterText1: ; 75e3a (1d:5e3a)
db $ff
CinnabarPokecenterText2: ; 75e3b (1d:5e3b)
TX_FAR _CinnabarPokecenterText1
db "@"
CinnabarPokecenterText3: ; 75e40 (1d:5e40)
TX_FAR _CinnabarPokecenterText3
db "@"
CinnabarPokecenterText4: ; 75e45 (1d:5e45)
db $f6

22
scripts/copycatshouse1f.asm Executable file
View file

@ -0,0 +1,22 @@
CopycatsHouse1FScript: ; 75ec3 (1d:5ec3)
jp EnableAutoTextBoxDrawing
CopycatsHouse1FTextPointers: ; 75ec6 (1d:5ec6)
dw CopycatsHouse1FText1
dw CopycatsHouse1FText2
dw CopycatsHouse1FText3
CopycatsHouse1FText1: ; 75ecc (1d:5ecc)
TX_FAR _CopycatsHouse1FText1
db "@"
CopycatsHouse1FText2: ; 75ed1 (1d:5ed1)
TX_FAR _CopycatsHouse1FText2
db "@"
CopycatsHouse1FText3: ; 75ed6 (1d:5ed6)
TX_FAR _CopycatsHouse1FText3
db $8
ld a, CHANSEY
call PlayCry
jp TextScriptEnd

104
scripts/copycatshouse2f.asm Executable file
View file

@ -0,0 +1,104 @@
CopycatsHouse2FScript: ; 5cc71 (17:4c71)
jp EnableAutoTextBoxDrawing
CopycatsHouse2FTextPointers: ; 5cc74 (17:4c74)
dw CopycatsHouse2FText1
dw CopycatsHouse2FText2
dw CopycatsHouse2FText3
dw CopycatsHouse2FText4
dw CopycatsHouse2FText5
dw CopycatsHouse2FText6
dw CopycatsHouse2FText7
CopycatsHouse2FText1: ; 5cc82 (17:4c82)
db $08 ; asm
ld a, [$d7af]
bit 0, a
jr nz, .asm_7ccf3 ; 0x5cc88
ld a, $1
ld [$cc3c], a
ld hl, CopycatsHouse2FText_5ccd4
call PrintText
ld b, POKE_DOLL
call IsItemInBag
jr z, .asm_62ecd ; 0x5cc9a
ld hl, TM31PreReceiveText
call PrintText
ld bc, (TM_31 << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, ReceivedTM31Text
call PrintText
ld a, POKE_DOLL
ldh [$db], a
ld b, BANK(RemoveItemByID)
ld hl, RemoveItemByID
call Bankswitch
ld hl, $d7af
set 0, [hl]
jr .asm_62ecd ; 0x5ccc1
.BagFull
ld hl, TM31NoRoomText
call PrintText
jr .asm_62ecd ; 0x5ccc9
.asm_7ccf3 ; 0x5cccb
ld hl, TM31ExplanationText2
call PrintText
.asm_62ecd ; 0x5ccd1
jp TextScriptEnd
CopycatsHouse2FText_5ccd4: ; 5ccd4 (17:4cd4)
TX_FAR _CopycatsHouse2FText_5ccd4
db "@"
TM31PreReceiveText: ; 5ccd9 (17:4cd9)
TX_FAR _TM31PreReceiveText
db "@"
ReceivedTM31Text: ; 5ccde (17:4cde)
TX_FAR _ReceivedTM31Text
db $0B
TM31ExplanationText1: ; 5cce3 (17:4ce3)
TX_FAR _TM31ExplanationText1
db $d, "@"
TM31ExplanationText2: ; 5cce9 (17:4ce9)
TX_FAR _TM31ExplanationText2
db "@"
TM31NoRoomText: ; 5ccee (17:4cee)
TX_FAR _TM31NoRoomText
db $d, "@"
CopycatsHouse2FText2: ; 5ccf4 (17:4cf4)
TX_FAR _CopycatsHouse2FText2
db "@"
CopycatsHouse2FText5: ; 5ccf9 (17:4cf9)
CopycatsHouse2FText4: ; 5ccf9 (17:4cf9)
CopycatsHouse2FText3: ; 5ccf9 (17:4cf9)
TX_FAR _CopycatsHouse2FText3
db "@"
CopycatsHouse2FText6: ; 5ccfe (17:4cfe)
TX_FAR _CopycatsHouse2FText6
db "@"
CopycatsHouse2FText7: ; 5cd03 (17:4d03)
db $08 ; asm
ld a, [$c109]
cp $4
ld hl, CopycatsHouse2FText_5cd1c
jr nz, .asm_399a4 ; 0x5cd0c
ld hl, CopycatsHouse2FText_5cd17
.asm_399a4 ; 0x5cd11
call PrintText
jp TextScriptEnd
CopycatsHouse2FText_5cd17: ; 5cd17 (17:4d17)
TX_FAR _CopycatsHouse2FText_5cd17
db "@"
CopycatsHouse2FText_5cd1c: ; 5cd1c (17:4d1c)
TX_FAR _CopycatsHouse2FText_5cd1c
db "@"

274
scripts/daycarem.asm Executable file
View file

@ -0,0 +1,274 @@
DayCareMScript: ; 5624f (15:624f)
jp EnableAutoTextBoxDrawing
DayCareMTextPointers: ; 56252 (15:6252)
dw DayCareMText1
DayCareMText1: ; 56254 (15:6254)
db $8
call SaveScreenTilesToBuffer2
ld a, [W_DAYCARE_IN_USE]
and a
jp nz, DayCareMScript_562e1
ld hl, DayCareMText_5640f
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
ld hl, DayCareMText_5643b
jp nz, DayCareMScript_56409
ld a, [$d163]
dec a
ld hl, DayCareMText_56445
jp z, DayCareMScript_56409
ld hl, DayCareMText_56414
call PrintText
xor a
ld [$cfcb], a
ld [$d07d], a
ld [$cc35], a
call DisplayPartyMenu
push af
call GBPalWhiteOutWithDelay3
call Func_3dbe
call LoadGBPal
pop af
ld hl, DayCareMText_56437
jp c, DayCareMScript_56409
ld hl, Func_2171b
ld b, BANK(Func_2171b)
call Bankswitch
ld hl, DayCareMText_5644a
jp c, DayCareMScript_56409
xor a
ld [$cc2b], a
ld a, [wWhichPokemon]
ld hl, $d2b5
call GetPartyMonName
ld hl, DayCareMText_56419
call PrintText
ld a, $1
ld [W_DAYCARE_IN_USE], a
ld a, $3
ld [$cf95], a
call Func_3a68
xor a
ld [$cf95], a
call RemovePokemon
ld a, [$cf91]
call PlayCry
ld hl, DayCareMText_5641e
jp DayCareMScript_56409
DayCareMScript_562e1: ; 562e1 (15:62e1)
xor a
ld hl, W_DAYCAREMONNAME
call GetPartyMonName
ld a, $3
ld [$cc49], a
call LoadMonData
ld hl, Func_58f43
ld b, BANK(Func_58f43)
call Bankswitch
ld a, d
cp $64
jr c, .asm_56315
ld d, $64
ld hl, CalcExperience
ld b, BANK(CalcExperience)
call Bankswitch
ld hl, $da6d
ld a, [H_NUMTOPRINT]
ld [hli], a
ld a, [$ff97]
ld [hli], a
ld a, [$ff98]
ld [hl], a
ld d, $64
.asm_56315
xor a
ld [wTrainerEngageDistance], a
ld hl, $da62
ld a, [hl]
ld [wTrainerSpriteOffset], a
cp d
ld [hl], d
ld hl, DayCareMText_56432
jr z, .asm_56333
ld a, [wTrainerSpriteOffset]
ld b, a
ld a, d
sub b
ld [wTrainerEngageDistance], a
ld hl, DayCareMText_56423
.asm_56333
call PrintText
ld a, [W_NUMINPARTY]
cp $6
ld hl, DayCareMText_56440
jp z, .asm_56403
ld de, wTrainerFacingDirection
xor a
ld [de], a
inc de
ld [de], a
ld hl, wTrainerScreenX
ld a, $1
ld [hli], a
ld [hl], $0
ld a, [wTrainerEngageDistance]
inc a
ld b, a
ld c, $2
.asm_56357
push hl
push de
push bc
ld a, $b
call Predef
pop bc
pop de
pop hl
dec b
jr nz, .asm_56357
ld hl, DayCareMText_56428
call PrintText
ld a, $13
ld [$d125], a
call DisplayTextBoxID
call YesNoChoice
ld hl, DayCareMText_56437
ld a, [wCurrentMenuItem]
and a
jp nz, .asm_56403
ld hl, wTrainerFacingDirection
ld [$ff9f], a
ld a, [hli]
ld [$ffa0], a
ld a, [hl]
ld [$ffa1], a
call HasEnoughMoney
jr nc, .asm_56396
ld hl, DayCareMText_56454
jp .asm_56403
.asm_56396
xor a
ld [W_DAYCARE_IN_USE], a
ld hl, wTrainerEngageDistance
ld [hli], a
inc hl
ld de, $d349
ld c, $3
ld a, $c
call Predef
ld a, (SFX_02_5a - SFX_Headers_02) / 3
call PlaySoundWaitForCurrent
ld a, $13
ld [$d125], a
call DisplayTextBoxID
ld hl, DayCareMText_5644f
call PrintText
ld a, $2
ld [$cf95], a
call Func_3a68
ld a, [W_DAYCAREMONDATA]
ld [$cf91], a
ld a, [W_NUMINPARTY]
dec a
push af
ld bc, $002c
push bc
ld hl, W_PARTYMON1_MOVE1
call AddNTimes
ld d, h
ld e, l
ld a, $1
ld [wHPBarMaxHP], a
ld a, $3e
call Predef
pop bc
pop af
ld hl, W_PARTYMON1_HP
call AddNTimes
ld d, h
ld e, l
ld bc, $0021
add hl, bc
ld a, [hli]
ld [de], a
inc de
ld a, [hl]
ld [de], a
ld a, [$cf91]
call PlayCry
ld hl, DayCareMText_5642d
jr DayCareMScript_56409
.asm_56403
ld a, [wTrainerSpriteOffset]
ld [$da62], a
DayCareMScript_56409: ; 56409 (15:6409)
call PrintText
jp TextScriptEnd
DayCareMText_5640f: ; 5640f (15:640f)
TX_FAR _DayCareMText_5640f
db "@"
DayCareMText_56414: ; 56414 (15:6414)
TX_FAR _DayCareMText_56414
db "@"
DayCareMText_56419: ; 56419 (15:6419)
TX_FAR _DayCareMText_56419
db "@"
DayCareMText_5641e: ; 5641e (15:641e)
TX_FAR _DayCareMText_5641e
db "@"
DayCareMText_56423: ; 56423 (15:6423)
TX_FAR _DayCareMText_56423
db "@"
DayCareMText_56428: ; 56428 (15:6428)
TX_FAR _DayCareMText_56428
db "@"
DayCareMText_5642d: ; 5642d (15:642d)
TX_FAR _DayCareMText_5642d
db "@"
DayCareMText_56432: ; 56432 (15:6432)
TX_FAR _DayCareMText_56432
db "@"
DayCareMText_56437: ; 56437 (15:6437)
TX_FAR _DayCareMText_56437 ; 0x8c000
DayCareMText_5643b: ; 5643b (15:643b)
TX_FAR _DayCareMText_5643b ; 0x8c013
db "@"
DayCareMText_56440: ; 56440 (15:6440)
TX_FAR _DayCareMText_56440
db "@"
DayCareMText_56445: ; 56445 (15:6445)
TX_FAR _DayCareMText_56445
db "@"
DayCareMText_5644a: ; 5644a (15:644a)
TX_FAR _DayCareMText_5644a
db "@"
DayCareMText_5644f: ; 5644f (15:644f)
TX_FAR _DayCareMText_5644f
db "@"
DayCareMText_56454: ; 56454 (15:6454)
TX_FAR _DayCareMText_56454
db "@"

5
scripts/diglettscave.asm Executable file
View file

@ -0,0 +1,5 @@
DiglettsCaveScript: ; 61f6e (18:5f6e)
jp EnableAutoTextBoxDrawing
DiglettsCaveTextPointers: ; 61f71 (18:5f71)
db "@"

12
scripts/diglettscaveroute11.asm Executable file
View file

@ -0,0 +1,12 @@
DiglettsCaveEntranceRoute11Script: ; 1e5ba (7:65ba)
call EnableAutoTextBoxDrawing
ld a, $16
ld [$d365], a
ret
DiglettsCaveEntranceRoute11TextPointers: ; 1e5c3 (7:65c3)
dw DiglettsCaveEntranceRoute11Text1
DiglettsCaveEntranceRoute11Text1: ; 1e5c5 (7:65c5)
TX_FAR _DiglettsCaveEntRoute11Text1
db "@"

11
scripts/diglettscaveroute2.asm Executable file
View file

@ -0,0 +1,11 @@
DiglettsCaveRoute2Script: ; 1deb0 (7:5eb0)
ld a, $d
ld [$d365], a
jp EnableAutoTextBoxDrawing
DiglettsCaveRoute2TextPointers: ; 1deb8 (7:5eb8)
dw DiglettsCaveRoute2Text1
DiglettsCaveRoute2Text1: ; 1deba (7:5eba)
TX_FAR _DiglettsCaveRoute2Text1
db "@"

181
scripts/fanclub.asm Executable file
View file

@ -0,0 +1,181 @@
FanClubScript: ; 59b70 (16:5b70)
jp EnableAutoTextBoxDrawing
FanClubBikeInBag:
; check if any bike paraphernalia in bag
ld a, [$d771]
bit 1, a ; got bike voucher?
ret nz
ld b, BICYCLE
call IsItemInBag
ret nz
ld b, BIKE_VOUCHER
jp IsItemInBag
FanClubTextPointers: ; 59b84 (16:5b84)
dw FanClubText1
dw FanClubText2
dw FanClubText3
dw FanClubText4
dw FanClubText5
dw FanClubText6
dw FanClubText7
dw FanClubText8
FanClubText1:
; pikachu fan
db $08 ; asm
ld a, [$d771]
bit 7, a
jr nz, .mineisbetter
ld hl, .normaltext
call PrintText
ld hl, $d771
set 6, [hl]
jr .done
.mineisbetter
ld hl, .bettertext
call PrintText
ld hl, $d771
res 7, [hl]
.done
jp TextScriptEnd
.normaltext
TX_FAR PikachuFanText
db "@"
.bettertext
TX_FAR PikachuFanBetterText
db "@"
FanClubText2:
; seel fan
db $08 ; asm
ld a, [$d771]
bit 6, a
jr nz, .mineisbetter
ld hl, .normaltext
call PrintText
ld hl, $d771
set 7, [hl]
jr .done
.mineisbetter
ld hl, .bettertext
call PrintText
ld hl, $d771
res 6, [hl]
.done
jp TextScriptEnd
.normaltext
TX_FAR SeelFanText
db "@"
.bettertext
TX_FAR SeelFanBetterText
db "@"
FanClubText3:
; pikachu
db $8
ld hl, .text
call PrintText
ld a, PIKACHU
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
.text
TX_FAR FanClubPikachuText
db "@"
FanClubText4:
; seel
db $08 ; asm
ld hl, .text
call PrintText
ld a, SEEL
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
.text
TX_FAR FanClubSeelText
db "@"
FanClubText5:
; chair
db $08 ; asm
call FanClubBikeInBag
jr nz, .nothingleft
ld hl, .meetchairtext
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .nothanks
; tell the story
ld hl, .storytext
call PrintText
ld bc, (BIKE_VOUCHER << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, .receivedvouchertext
call PrintText
ld hl, $d771
set 1, [hl]
jr .done
.BagFull
ld hl, .bagfulltext
call PrintText
jr .done
.nothanks
ld hl, .nostorytext
call PrintText
jr .done
.nothingleft
ld hl, .finaltext
call PrintText
.done
jp TextScriptEnd
.meetchairtext
TX_FAR FanClubMeetChairText
db "@"
.storytext
TX_FAR FanClubChairStoryText
db "@"
.receivedvouchertext
TX_FAR ReceivedBikeVoucherText
db $11
TX_FAR ExplainBikeVoucherText
db "@"
.nostorytext
TX_FAR FanClubNoStoryText
db "@"
.finaltext
TX_FAR FanClubChairFinalText
db "@"
.bagfulltext
TX_FAR FanClubBagFullText
db "@"
FanClubText6: ; 59c88 (16:5c88)
TX_FAR _FanClubText6
db "@"
FanClubText7: ; 59c8d (16:5c8d)
TX_FAR _FanClubText7
db "@"
FanClubText8: ; 59c92 (16:5c92)
TX_FAR _FanClubText8
db "@"

337
scripts/fightingdojo.asm Executable file
View file

@ -0,0 +1,337 @@
FightingDojoScript: ; 5cd5d (17:4d5d)
call EnableAutoTextBoxDrawing
ld hl, FightingDojoTrainerHeaders
ld de, FightingDojoScriptPointers
ld a, [W_FIGHTINGDOJOCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_FIGHTINGDOJOCURSCRIPT], a
ret
FightingDojoScript_5cd70: ; 5cd70 (17:4d70)
xor a
ld [$cd6b], a
ld [$d642], a
ld [$da39], a
ret
FightingDojoScriptPointers: ; 5cd7b (17:4d7b)
dw FightingDojoScript1
dw Func_324c
dw EndTrainerBattle
dw FightingDojoScript3
FightingDojoScript1: ; 5cd83 (17:4d83)
ld a, [$d7b1]
bit 0, a
ret nz
call CheckFightingMapTrainers
ld a, [wTrainerHeaderFlagBit]
and a
ret nz
ld a, [$d7b1]
bit 1, a
ret nz
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld [$cf0d], a
ld a, [W_YCOORD]
cp $3
ret nz
ld a, [W_XCOORD]
cp $4
ret nz
ld a, $1
ld [$cf0d], a
ld a, $1
ld [$d528], a
ld a, $1
ld [$ff8c], a
ld a, $8
ld [$ff8d], a
call Func_34a6
ld a, $1
ld [$ff8c], a
call DisplayTextID
ret
FightingDojoScript3: ; 5cdc6 (17:4dc6)
ld a, [$d057]
cp $ff
jp z, FightingDojoScript_5cd70
ld a, [$cf0d]
and a
jr z, .asm_5cde4
ld a, $1
ld [$d528], a
ld a, $1
ld [$ff8c], a
ld a, $8
ld [$ff8d], a
call Func_34a6
.asm_5cde4
ld a, $f0
ld [$cd6b], a
ld a, [$d7b1]
or $3e
ld [$d7b1], a
ld a, $8
ld [$ff8c], a
call DisplayTextID
xor a
ld [$cd6b], a
ld [$d642], a
ld [$da39], a
ret
FightingDojoTextPointers: ; 5ce03 (17:4e03)
dw FightingDojoText1
dw FightingDojoText2
dw FightingDojoText3
dw FightingDojoText4
dw FightingDojoText5
dw FightingDojoText6
dw FightingDojoText7
dw FightingDojoText8
FightingDojoTrainerHeaders: ; 5ce13 (17:4e13)
FightingDojoTrainerHeader0: ; 5ce13 (17:4e13)
db $2 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d7b1 ; flag's byte
dw FightingDojoBattleText1 ; 0x4eac TextBeforeBattle
dw FightingDojoAfterBattleText1 ; 0x4eb6 TextAfterBattle
dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle
dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle
FightingDojoTrainerHeader1: ; 5ce1f (17:4e1f)
db $3 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d7b1 ; flag's byte
dw FightingDojoBattleText2 ; 0x4ec5 TextBeforeBattle
dw FightingDojoAfterBattleText2 ; 0x4ecf TextAfterBattle
dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle
dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle
FightingDojoTrainerHeader2: ; 5ce2b (17:4e2b)
db $4 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d7b1 ; flag's byte
dw FightingDojoBattleText3 ; 0x4ede TextBeforeBattle
dw FightingDojoAfterBattleText3 ; 0x4ee8 TextAfterBattle
dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle
dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle
FightingDojoTrainerHeader3: ; 5ce37 (17:4e37)
db $5 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d7b1 ; flag's byte
dw FightingDojoBattleText4 ; 0x4ef7 TextBeforeBattle
dw FightingDojoAfterBattleText4 ; 0x4f01 TextAfterBattle
dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle
dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle
db $ff
FightingDojoText1: ; 5ce44 (17:4e44)
db $08 ; asm
ld a, [$d7b1]
bit 0, a
jp nz, .continue1
bit 1, a
jp nz, .continue2
ld hl, FightingDojoText_5ce8e
call PrintText
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, FightingDojoText_5ce93
ld de, FightingDojoText_5ce93
call PreBattleSaveRegisters
ldh a, [$8c]
ld [$cf13], a
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $3
ld [W_FIGHTINGDOJOCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
jr .asm_9dba4 ; 0x5ce7b
.continue1 ; 0x5ce7d
ld hl, FightingDojoText_5ce9d
call PrintText
jr .asm_9dba4 ; 0x5ce83
.continue2 ; 0x5ce85f
ld hl, FightingDojoText8
call PrintText
.asm_9dba4 ; 0x5ce8b
jp TextScriptEnd
FightingDojoText_5ce8e: ; 5ce8e (17:4e8e)
TX_FAR _FightingDojoText_5ce8e
db "@"
FightingDojoText_5ce93: ; 5ce93 (17:4e93)
TX_FAR _FightingDojoText_5ce93
db "@"
FightingDojoText8: ; 5ce98 (17:4e98)
TX_FAR _FightingDojoText_5ce98
db "@"
FightingDojoText_5ce9d: ; 5ce9d (17:4e9d)
TX_FAR _FightingDojoText_5ce9d
db "@"
FightingDojoText2: ; 5cea2 (17:4ea2)
db $08 ; asm
ld hl, FightingDojoTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
FightingDojoBattleText1: ; 5ceac (17:4eac)
TX_FAR _FightingDojoBattleText1
db "@"
FightingDojoEndBattleText1: ; 5ceb1 (17:4eb1)
TX_FAR _FightingDojoEndBattleText1
db "@"
FightingDojoAfterBattleText1: ; 5ceb6 (17:4eb6)
TX_FAR _FightingDojoAfterBattleText1
db "@"
FightingDojoText3: ; 5cebb (17:4ebb)
db $08 ; asm
ld hl, FightingDojoTrainerHeader1
call TalkToTrainer
jp TextScriptEnd
FightingDojoBattleText2: ; 5cec5 (17:4ec5)
TX_FAR _FightingDojoBattleText2
db "@"
FightingDojoEndBattleText2: ; 5ceca (17:4eca)
TX_FAR _FightingDojoEndBattleText2
db "@"
FightingDojoAfterBattleText2: ; 5cecf (17:4ecf)
TX_FAR _FightingDojoAfterBattleText2
db "@"
FightingDojoText4: ; 5ced4 (17:4ed4)
db $08 ; asm
ld hl, FightingDojoTrainerHeader2
call TalkToTrainer
jp TextScriptEnd
FightingDojoBattleText3: ; 5cede (17:4ede)
TX_FAR _FightingDojoBattleText3
db "@"
FightingDojoEndBattleText3: ; 5cee3 (17:4ee3)
TX_FAR _FightingDojoEndBattleText3
db "@"
FightingDojoAfterBattleText3: ; 5cee8 (17:4ee8)
TX_FAR _FightingDojoAfterBattleText3
db "@"
FightingDojoText5: ; 5ceed (17:4eed)
db $08 ; asm
ld hl, FightingDojoTrainerHeader3
call TalkToTrainer
jp TextScriptEnd
FightingDojoBattleText4: ; 5cef7 (17:4ef7)
TX_FAR _FightingDojoBattleText4
db "@"
FightingDojoEndBattleText4: ; 5cefc (17:4efc)
TX_FAR _FightingDojoEndBattleText4
db "@"
FightingDojoAfterBattleText4: ; 5cf01 (17:4f01)
TX_FAR _FightingDojoAfterBattleText4
db "@"
FightingDojoText6: ; 5cf06 (17:4f06)
; Hitmonlee Poké Ball
db $08 ; asm
ld a, [$d7b1]
and %11000000
jr z, .GetMon
ld hl, OtherHitmonText
call PrintText
jr .done
.GetMon
ld a, HITMONLEE
call DisplayPokedex
ld hl, WantHitmonleeText
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .done
ld a, [$cf91]
ld b, a
ld c, 30
call GivePokemon
jr nc, .done
; once Poké Ball is taken, hide sprite
ld a, $4a
ld [$cc4d], a
ld a, $11
call Predef
ld hl, $d7b1
set 6, [hl]
set 0, [hl]
.done
jp TextScriptEnd
WantHitmonleeText: ; 5cf49 (17:4f49)
TX_FAR _WantHitmonleeText
db "@"
FightingDojoText7: ; 5cf4e (17:4f4e)
; Hitmonchan Poké Ball
db $08 ; asm
ld a, [$d7b1]
and %11000000
jr z, .GetMon
ld hl, OtherHitmonText
call PrintText
jr .done
.GetMon
ld a, HITMONCHAN
call DisplayPokedex
ld hl, WantHitmonchanText
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .done
ld a, [$cf91]
ld b, a
ld c,30
call GivePokemon
jr nc, .done
ld hl, $d7b1
set 7, [hl]
set 0, [hl]
; once Poké Ball is taken, hide sprite
ld a, $4b
ld [$cc4d], a
ld a, $11
call Predef
.done
jp TextScriptEnd
WantHitmonchanText: ; 5cf91 (17:4f91)
TX_FAR _WantHitmonchanText
db "@"
OtherHitmonText: ; 5cf96 (17:4f96)
TX_FAR _OtherHitmonText
db "@"

170
scripts/fuchsiacity.asm Executable file
View file

@ -0,0 +1,170 @@
FuchsiaCityScript: ; 19a2b (6:5a2b)
jp EnableAutoTextBoxDrawing
FuchsiaCityTextPointers: ; 19a2e (6:5a2e)
dw FuchsiaCityText1
dw FuchsiaCityText2
dw FuchsiaCityText3
dw FuchsiaCityText4
dw FuchsiaCityText5
dw FuchsiaCityText6
dw FuchsiaCityText7
dw FuchsiaCityText8
dw FuchsiaCityText9
dw FuchsiaCityText10
dw FuchsiaCityText11
dw FuchsiaCityText12
dw FuchsiaCityText13
dw MartSignText
dw PokeCenterSignText
dw FuchsiaCityText16
dw FuchsiaCityText17
dw FuchsiaCityText18
dw FuchsiaCityText19
dw FuchsiaCityText20
dw FuchsiaCityText21
dw FuchsiaCityText22
dw FuchsiaCityText23
dw FuchsiaCityText24
FuchsiaCityText1: ; 19a5e (6:5a5e)
TX_FAR _FuchsiaCityText1
db "@"
FuchsiaCityText2: ; 19a63 (6:5a63)
TX_FAR _FuchsiaCityText2
db "@"
FuchsiaCityText3: ; 19a68 (6:5a68)
TX_FAR _FuchsiaCityText3
db "@"
FuchsiaCityText4: ; 19a6d (6:5a6d)
TX_FAR _FuchsiaCityText4
db "@"
FuchsiaCityText5: ; 19a72 (6:5a72)
FuchsiaCityText6: ; 19a72 (6:5a72)
FuchsiaCityText7: ; 19a72 (6:5a72)
FuchsiaCityText8: ; 19a72 (6:5a72)
FuchsiaCityText9: ; 19a72 (6:5a72)
FuchsiaCityText10: ; 19a72 (6:5a72)
TX_FAR _FuchsiaCityText5
db "@"
FuchsiaCityText12: ; 19a77 (6:5a77)
FuchsiaCityText11: ; 19a77 (6:5a77)
TX_FAR _FuchsiaCityText11
db "@"
FuchsiaCityText13: ; 19a7c (6:5a7c)
TX_FAR _FuchsiaCityText13
db "@"
FuchsiaCityText16: ; 19a81 (6:5a81)
TX_FAR _FuchsiaCityText16
db "@"
FuchsiaCityText17: ; 19a86 (6:5a86)
TX_FAR _FuchsiaCityText17
db "@"
FuchsiaCityText18: ; 19a8b (6:5a8b)
TX_FAR _FuchsiaCityText18
db "@"
FuchsiaCityText19: ; 19a90 (6:5a90)
db $08 ; asm
ld hl, FuchsiaCityChanseyText
call PrintText
ld a, CHANSEY
call DisplayPokedex
jp TextScriptEnd
FuchsiaCityChanseyText: ; 19a9f (6:5a9f)
TX_FAR _FuchsiaCityChanseyText
db "@"
FuchsiaCityText20: ; 19aa4 (6:5aa4)
db $08 ; asm
ld hl, FuchsiaCityVoltorbText
call PrintText
ld a, VOLTORB
call DisplayPokedex
jp TextScriptEnd
FuchsiaCityVoltorbText: ; 19ab3 (6:5ab3)
TX_FAR _FuchsiaCityVoltorbText
db "@"
FuchsiaCityText21: ; 19ab8 (6:5ab8)
db $08 ; asm
ld hl, FuchsiaCityKangaskhanText
call PrintText
ld a, KANGASKHAN
call DisplayPokedex
jp TextScriptEnd
FuchsiaCityKangaskhanText: ; 19ac7 (6:5ac7)
TX_FAR _FuchsiaCityKangaskhanText
db "@"
FuchsiaCityText22: ; 19acc (6:5acc)
db $08 ; asm
ld hl, FuchsiaCitySlowpokeText
call PrintText
ld a, SLOWPOKE
call DisplayPokedex
jp TextScriptEnd
FuchsiaCitySlowpokeText: ; 19adb (6:5adb)
TX_FAR _FuchsiaCitySlowpokeText
db "@"
FuchsiaCityText23: ; 19ae0 (6:5ae0)
db $08 ; asm
ld hl, FuchsiaCityLaprasText
call PrintText
ld a, LAPRAS
call DisplayPokedex
jp TextScriptEnd
FuchsiaCityLaprasText: ; 19aef (6:5aef)
TX_FAR _FuchsiaCityLaprasText
db "@"
FuchsiaCityText24: ; 19af4 (6:5af4)
db $08 ; asm
ld a, [$d7f6]
bit 6, a
jr nz, .asm_3b4e8 ; 0x19afa
bit 7, a
jr nz, .asm_667d5 ; 0x19afe
ld hl, FuchsiaCityText_19b2a
call PrintText
jr .asm_4343f ; 0x19b06
.asm_3b4e8 ; 0x19b08
ld hl, FuchsiaCityOmanyteText
call PrintText
ld a, OMANYTE
jr .asm_81556 ; 0x19b10
.asm_667d5 ; 0x19b12
ld hl, FuchsiaCityKabutoText
call PrintText
ld a, KABUTO
.asm_81556 ; 0x19b1a
call DisplayPokedex
.asm_4343f ; 0x19b1d
jp TextScriptEnd
FuchsiaCityOmanyteText: ; 19b20 (6:5b20)
TX_FAR _FuchsiaCityOmanyteText
db "@"
FuchsiaCityKabutoText: ; 19b25 (6:5b25)
TX_FAR _FuchsiaCityKabutoText
db "@"
FuchsiaCityText_19b2a: ; 19b2a (6:5b2a)
TX_FAR _FuchsiaCityText_19b2a
db "@"

336
scripts/fuchsiagym.asm Executable file
View file

@ -0,0 +1,336 @@
FuchsiaGymScript: ; 7543d (1d:543d)
call FuchsiaGymScript_75453
call EnableAutoTextBoxDrawing
ld hl, FuchsiaGymTrainerHeaders
ld de, FuchsiaGymScriptPointers
ld a, [W_FUCHSIAGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_FUCHSIAGYMCURSCRIPT], a
ret
FuchsiaGymScript_75453: ; 75453 (1d:5453)
ld hl, $D126
bit 6, [hl]
res 6, [hl]
ret z
ld hl, Gym5CityName
ld de, Gym5LeaderName
call LoadGymLeaderAndCityName
ret
Gym5CityName: ; 75465 (1d:5465)
db "FUCHSIA CITY@"
Gym5LeaderName: ; 75472 (1d:5472)
db "KOGA@"
FuchsiaGymScript_75477: ; 75477 (1d:5477)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_FUCHSIAGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
FuchsiaGymScriptPointers: ; 75482 (1d:5482)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
dw FuchsiaGymScript3
FuchsiaGymScript3: ; 7548a (1d:548a)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, FuchsiaGymScript_75477
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
FuchsiaGymScript3_75497: ; 75497 (1d:5497)
ld a, $9
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld hl, $d792
set 1, [hl]
ld bc, (TM_06 << 8) | 1
call GiveItem
jr nc, .BagFull
ld a, $a
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld hl, $d792
set 0, [hl]
jr .asm_754c0
.BagFull
ld a, $b
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
.asm_754c0
ld hl, W_OBTAINEDBADGES
set 4, [hl]
ld hl, $d72a
set 4, [hl]
; deactivate gym trainers
ld a, [$d792]
or %11111100
ld [$d792], a
jp FuchsiaGymScript_75477
FuchsiaGymTextPointers: ; 754d5 (1d:54d5)
dw FuchsiaGymText1
dw FuchsiaGymText2
dw FuchsiaGymText3
dw FuchsiaGymText4
dw FuchsiaGymText5
dw FuchsiaGymText6
dw FuchsiaGymText7
dw FuchsiaGymText8
dw FuchsiaGymText9
dw FuchsiaGymText10
dw FuchsiaGymText11
FuchsiaGymTrainerHeaders: ; 754eb (1d:54eb)
FuchsiaGymTrainerHeader0: ; 754eb (1d:54eb)
db $2 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d792 ; flag's byte
dw FuchsiaGymBattleText1 ; 0x55ae TextBeforeBattle
dw FuchsiaGymAfterBattleText1 ; 0x55b8 TextAfterBattle
dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle
dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle
FuchsiaGymTrainerHeader2: ; 754f7 (1d:54f7)
db $3 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d792 ; flag's byte
dw FuchsiaGymBattleText2 ; 0x55c7 TextBeforeBattle
dw FuchsiaGymAfterBattleText2 ; 0x55d1 TextAfterBattle
dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle
dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle
FuchsiaGymTrainerHeader3: ; 75503 (1d:5503)
db $4 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d792 ; flag's byte
dw FuchsiaGymBattleText3 ; 0x55e0 TextBeforeBattle
dw FuchsiaGymAfterBattleText3 ; 0x55ea TextAfterBattle
dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle
dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle
FuchsiaGymTrainerHeader4: ; 7550f (1d:550f)
db $5 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d792 ; flag's byte
dw FuchsiaGymBattleText4 ; 0x55f9 TextBeforeBattle
dw FuchsiaGymAfterBattleText4 ; 0x5603 TextAfterBattle
dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle
dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle
FuchsiaGymTrainerHeader5: ; 7551b (1d:551b)
db $6 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d792 ; flag's byte
dw FuchsiaGymBattleText5 ; 0x5612 TextBeforeBattle
dw FuchsiaGymAfterBattleText5 ; 0x561c TextAfterBattle
dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle
dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle
FuchsiaGymTrainerHeader6: ; 75527 (1d:5527)
db $7 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d792 ; flag's byte
dw FuchsiaGymBattleText6 ; 0x562b TextBeforeBattle
dw FuchsiaGymAfterBattleText6 ; 0x5635 TextAfterBattle
dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle
dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle
db $ff
FuchsiaGymText1: ; 75534 (1d:5534)
db $08 ; asm
ld a, [$d792]
bit 1, a
jr z, .asm_181b6 ; 0x7553a
bit 0, a
jr nz, .asm_adc3b ; 0x7553e
call z, FuchsiaGymScript3_75497
call DisableWaitingAfterTextDisplay
jr .asm_e84c6 ; 0x75546
.asm_adc3b ; 0x75548
ld hl, UnnamedText_7558b
call PrintText
jr .asm_e84c6 ; 0x7554e
.asm_181b6 ; 0x75550
ld hl, UnnamedText_75581
call PrintText
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, UnnamedText_75586
ld de, UnnamedText_75586
call PreBattleSaveRegisters
ldh a, [$8c]
ld [$cf13], a
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $5
ld [$d05c], a
xor a
ldh [$b4], a
ld a, $3
ld [W_FUCHSIAGYMCURSCRIPT], a
.asm_e84c6 ; 0x7557e
jp TextScriptEnd
UnnamedText_75581: ; 75581 (1d:5581)
TX_FAR _UnnamedText_75581
db "@"
UnnamedText_75586: ; 75586 (1d:5586)
TX_FAR _UnnamedText_75586
db "@"
UnnamedText_7558b: ; 7558b (1d:558b)
TX_FAR _UnnamedText_7558b
db "@"
FuchsiaGymText9: ; 75590 (1d:5590)
TX_FAR _UnnamedText_75590
db "@"
FuchsiaGymText10: ; 75595 (1d:5595)
TX_FAR _ReceivedTM06Text
db $11
TM06ExplanationText: ; 7559a (1d:559a)
TX_FAR _TM06ExplanationText
db "@"
FuchsiaGymText11: ; 7559f (1d:559f)
TX_FAR _TM06NoRoomText
db "@"
FuchsiaGymText2: ; 755a4 (1d:55a4)
db $08 ; asm
ld hl, FuchsiaGymTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
FuchsiaGymBattleText1: ; 755ae (1d:55ae)
TX_FAR _FuchsiaGymBattleText1
db "@"
FuchsiaGymEndBattleText1: ; 755b3 (1d:55b3)
TX_FAR _FuchsiaGymEndBattleText1
db "@"
FuchsiaGymAfterBattleText1: ; 755b8 (1d:55b8)
TX_FAR _FuchsiaGymAfterBattleText1
db "@"
FuchsiaGymText3: ; 755bd (1d:55bd)
db $08 ; asm
ld hl, FuchsiaGymTrainerHeader2
call TalkToTrainer
jp TextScriptEnd
FuchsiaGymBattleText2: ; 755c7 (1d:55c7)
TX_FAR _FuchsiaGymBattleText2
db "@"
FuchsiaGymEndBattleText2: ; 755cc (1d:55cc)
TX_FAR _FuchsiaGymEndBattleText2
db "@"
FuchsiaGymAfterBattleText2: ; 755d1 (1d:55d1)
TX_FAR _FuchsiaGymAfterBattleText2
db "@"
FuchsiaGymText4: ; 755d6 (1d:55d6)
db $08 ; asm
ld hl, FuchsiaGymTrainerHeader3
call TalkToTrainer
jp TextScriptEnd
FuchsiaGymBattleText3: ; 755e0 (1d:55e0)
TX_FAR _FuchsiaGymBattleText3
db "@"
FuchsiaGymEndBattleText3: ; 755e5 (1d:55e5)
TX_FAR _FuchsiaGymEndBattleText3
db "@"
FuchsiaGymAfterBattleText3: ; 755ea (1d:55ea)
TX_FAR _FuchsiaGymAfterBattleText3
db "@"
FuchsiaGymText5: ; 755ef (1d:55ef)
db $08 ; asm
ld hl, FuchsiaGymTrainerHeader4
call TalkToTrainer
jp TextScriptEnd
FuchsiaGymBattleText4: ; 755f9 (1d:55f9)
TX_FAR _FuchsiaGymBattleText4
db "@"
FuchsiaGymEndBattleText4: ; 755fe (1d:55fe)
TX_FAR _FuchsiaGymEndBattleText4
db "@"
FuchsiaGymAfterBattleText4: ; 75603 (1d:5603)
TX_FAR _FuchsiaGymAfterBattleText4
db "@"
FuchsiaGymText6: ; 75608 (1d:5608)
db $08 ; asm
ld hl, FuchsiaGymTrainerHeader5
call TalkToTrainer
jp TextScriptEnd
FuchsiaGymBattleText5: ; 75612 (1d:5612)
TX_FAR _FuchsiaGymBattleText5
db "@"
FuchsiaGymEndBattleText5: ; 75617 (1d:5617)
TX_FAR _FuchsiaGymEndBattleText5
db "@"
FuchsiaGymAfterBattleText5: ; 7561c (1d:561c)
TX_FAR _FuchsiaGymAfterBattleText5
db "@"
FuchsiaGymText7: ; 75621 (1d:5621)
db $08 ; asm
ld hl, FuchsiaGymTrainerHeader6
call TalkToTrainer
jp TextScriptEnd
FuchsiaGymBattleText6: ; 7562b (1d:562b)
TX_FAR _FuchsiaGymBattleText6
db "@"
FuchsiaGymEndBattleText6: ; 75630 (1d:5630)
TX_FAR _FuchsiaGymEndBattleText6
db "@"
FuchsiaGymAfterBattleText6: ; 75635 (1d:5635)
TX_FAR _FuchsiaGymAfterBattleText6
db "@"
FuchsiaGymText8: ; 7563a (1d:563a)
db $08 ; asm
ld a, [$d792]
bit 1, a
ld hl, UnnamedText_75653
jr nz, .asm_50671 ; 0x75643
ld hl, UnnamedText_7564e
.asm_50671 ; 0x75648
call PrintText
jp TextScriptEnd
UnnamedText_7564e: ; 7564e (1d:564e)
TX_FAR _UnnamedText_7564e
db "@"
UnnamedText_75653: ; 75653 (1d:5653)
TX_FAR _UnnamedText_75653
db "@"

20
scripts/fuchsiahouse1.asm Executable file
View file

@ -0,0 +1,20 @@
FuchsiaHouse1Script: ; 75018 (1d:5018)
call EnableAutoTextBoxDrawing
ret
FuchsiaHouse1TextPointers: ; 7501c (1d:501c)
dw FuchsiaHouse1Text1
dw FuchsiaHouse1Text2
dw FuchsiaHouse1Text3
FuchsiaHouse1Text1: ; 75022 (1d:5022)
TX_FAR _FuchsiaHouse1Text1
db "@"
FuchsiaHouse1Text2: ; 75027 (1d:5027)
TX_FAR _FuchsiaHouse1Text2
db "@"
FuchsiaHouse1Text3: ; 7502c (1d:502c)
TX_FAR _FuchsiaHouse1Text3
db "@"

118
scripts/fuchsiahouse2.asm Executable file
View file

@ -0,0 +1,118 @@
FuchsiaHouse2Script: ; 750b5 (1d:50b5)
jp EnableAutoTextBoxDrawing
FuchsiaHouse2TextPointers: ; 750b8 (1d:50b8)
dw FuchsiaHouse2Text1
dw Predef5CText
dw BoulderText
dw FuchsiaHouse2Text4
dw FuchsiaHouse2Text5
FuchsiaHouse2Text1: ; 750c2 (1d:50c2)
db $08 ; asm
ld a, [$d78e]
bit 0, a
jr nz, .subtract ; 0x750c8
ld b,GOLD_TEETH
call IsItemInBag
jr nz, .asm_3f30f ; 0x750cf
ld a, [$d78e]
bit 1, a
jr nz, .asm_60cba ; 0x750d6
ld hl, WardenGibberishText1
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
ld hl, WardenGibberishText3
jr nz, .asm_61238 ; 0x750e8
ld hl, WardenGibberishText2
.asm_61238 ; 0x750ed
call PrintText
jr .asm_52039 ; 0x750f0
.asm_3f30f ; 0x750f2
ld hl, WardenTeethText1
call PrintText
ld a, GOLD_TEETH
ldh [$db], a
ld b, BANK(RemoveItemByID)
ld hl, RemoveItemByID
call Bankswitch
ld hl, $d78e
set 1, [hl]
.asm_60cba ; 0x75109
ld hl, WardenThankYouText
call PrintText
ld bc,(HM_04 << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, ReceivedHM04Text
call PrintText
ld hl, $d78e
set 0, [hl]
jr .asm_52039 ; 0x75122
.subtract ; 0x75124
ld hl, HM04ExplanationText
call PrintText
jr .asm_52039 ; 0x7512a
.BagFull
ld hl, HM04NoRoomText
call PrintText
.asm_52039 ; 0x75132
jp TextScriptEnd
WardenGibberishText1: ; 75135 (1d:5135)
TX_FAR _WardenGibberishText1
db "@"
WardenGibberishText2: ; 7513a (1d:513a)
TX_FAR _WardenGibberishText2
db "@"
WardenGibberishText3: ; 7513f (1d:513f)
TX_FAR _WardenGibberishText3
db "@"
WardenTeethText1: ; 75144 (1d:5144)
TX_FAR _WardenTeethText1
db $0b
WardenTeethText2: ; 75149 (1d:5149)
TX_FAR _WardenTeethText2
db "@"
WardenThankYouText: ; 7514e (1d:514e)
TX_FAR _WardenThankYouText
db "@"
ReceivedHM04Text: ; 75153 (1d:5153)
TX_FAR _ReceivedHM04Text
db $0B, "@"
HM04ExplanationText: ; 75159 (1d:5159)
TX_FAR _HM04ExplanationText
db "@"
HM04NoRoomText: ; 7515e (1d:515e)
TX_FAR _HM04NoRoomText
db "@"
FuchsiaHouse2Text5: ; 75163 (1d:5163)
FuchsiaHouse2Text4: ; 75163 (1d:5163)
db $08 ; asm
ldh a, [$8c]
cp $4
ld hl, FuchsiaHouse2Text_7517b
jr nz, .asm_4c9a2 ; 0x7516b
ld hl, FuchsiaHouse2Text_75176
.asm_4c9a2 ; 0x75170
call PrintText
jp TextScriptEnd
FuchsiaHouse2Text_75176: ; 75176 (1d:5176)
TX_FAR _FuchsiaHouse2Text_75176
db "@"
FuchsiaHouse2Text_7517b: ; 7517b (1d:517b)
TX_FAR _FuchsiaHouse2Text_7517b
db "@"

75
scripts/fuchsiahouse3.asm Executable file
View file

@ -0,0 +1,75 @@
FuchsiaHouse3Script: ; 5617c (15:617c)
jp EnableAutoTextBoxDrawing
FuchsiaHouse3TextPointers: ; 5617f (15:617f)
dw FuchsiaHouse3Text1
FuchsiaHouse3Text1: ; 56181 (15:6181)
db $08 ; asm
ld a, [$d728]
bit 4, a
jr nz, .after
ld hl, FuchsiaHouse3Text_561bd
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .refused
ld bc, (GOOD_ROD << 8) | 1
call GiveItem
jr nc, .full
ld hl, $d728
set 4, [hl]
ld hl, FuchsiaHouse3Text_561c2
jr .talk
.full
ld hl, FuchsiaHouse3Text_5621c
jr .talk
.refused
ld hl, FuchsiaHouse3Text_56212
jr .talk
.after
ld hl, FuchsiaHouse3Text_56217
.talk
call PrintText
jp TextScriptEnd
FuchsiaHouse3Text_561bd: ; 561bd (15:61bd)
TX_FAR _FuchsiaHouse3Text_561bd
db "@"
FuchsiaHouse3Text_561c2: ; 561c2 (15:61c2)
TX_FAR _FuchsiaHouse3Text_561c2 ; 0xa06e8
db $0B
db "@"
UnnamedText_561c8: ; 561c8
para "つり こそ"
line "おとこの ロマン だ!"
para "へぼいつりざおは"
line "コイキングしか つれ なんだが"
line "この いいつりざおなら"
line "もっと いいもんが つれるんじゃ!"
done
FuchsiaHouse3Text_56212: ; 56212 (15:6212)
TX_FAR _FuchsiaHouse3Text_56212
db "@"
FuchsiaHouse3Text_56217: ; 56217 (15:6217)
TX_FAR _FuchsiaHouse3Text_56217
db "@"
FuchsiaHouse3Text_5621c: ; 5621c (15:621c)
TX_FAR _FuchsiaHouse3Text_5621c
db "@"

15
scripts/fuchsiamart.asm Executable file
View file

@ -0,0 +1,15 @@
FuchsiaMartScript: ; 1dd88 (7:5d88)
jp EnableAutoTextBoxDrawing
FuchsiaMartTextPointers: ; 1dd8b (7:5d8b)
dw FuchsiaMartText1
dw FuchsiaMartText2
dw FuchsiaMartText3
FuchsiaMartText2: ; 1dd91 (7:5d91)
TX_FAR _FuchsiaMartText2
db "@"
FuchsiaMartText3: ; 1dd96 (7:5d96)
TX_FAR _FuchsiaMartText3
db "@"

20
scripts/fuchsiameetingroom.asm Executable file
View file

@ -0,0 +1,20 @@
FuchsiaMeetingRoomScript: ; 756e3 (1d:56e3)
call EnableAutoTextBoxDrawing
ret
FuchsiaMeetingRoomTextPointers: ; 756e7 (1d:56e7)
dw FuchsiaMeetingRoomText1
dw FuchsiaMeetingRoomText2
dw FuchsiaMeetingRoomText3
FuchsiaMeetingRoomText1: ; 756ed (1d:56ed)
TX_FAR _FuchsiaMeetingRoomText1
db "@"
FuchsiaMeetingRoomText2: ; 756f2 (1d:56f2)
TX_FAR _FuchsiaMeetingRoomText2
db "@"
FuchsiaMeetingRoomText3: ; 756f7 (1d:56f7)
TX_FAR _FuchsiaMeetingRoomText3
db "@"

23
scripts/fuchsiapokecenter.asm Executable file
View file

@ -0,0 +1,23 @@
FuchsiaPokecenterScript: ; 75063 (1d:5063)
call Func_22fa
jp EnableAutoTextBoxDrawing
FuchsiaPokecenterTextPointers: ; 75069 (1d:5069)
dw FuchsiaPokecenterText1
dw FuchsiaPokecenterText2
dw FuchsiaPokecenterText3
dw FuchsiaPokecenterText4
FuchsiaPokecenterText1: ; 75071 (1d:5071)
db $ff
FuchsiaPokecenterText2: ; 75072 (1d:5072)
TX_FAR _FuchsiaPokecenterText1
db "@"
FuchsiaPokecenterText3: ; 75077 (1d:5077)
TX_FAR _FuchsiaPokecenterText3
db "@"
FuchsiaPokecenterText4: ; 7507c (1d:507c)
db $f6

297
scripts/gary.asm Executable file
View file

@ -0,0 +1,297 @@
GaryScript: ; 75f1d (1d:5f1d)
call EnableAutoTextBoxDrawing
ld hl, GaryScriptPointers
ld a, [W_GARYCURSCRIPT]
jp CallFunctionInTable
GaryScript_75f29: ; 75f29 (1d:5f29)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_GARYCURSCRIPT], a
ret
GaryScriptPointers: ; 75f31 (1d:5f31)
dw GaryScript0
dw GaryScript1
dw GaryScript2
dw GaryScript3
dw GaryScript4
dw GaryScript5
dw GaryScript6
dw GaryScript7
dw GaryScript8
dw GaryScript9
dw GaryScript10
GaryScript0: ; 75f47 (1d:5f47)
ret
GaryScript1: ; 75f48 (1d:5f48)
ld a, $ff
ld [wJoypadForbiddenButtonsMask], a
ld hl, $ccd3
ld de, RLEMovement75f63
call DecodeRLEList
dec a
ld [$cd38], a
call Func_3486
ld a, $2
ld [W_GARYCURSCRIPT], a
ret
RLEMovement75f63: ; 75f63 (1d:5f63)
db $40,1
db $10,1
db $40,3
db $ff
GaryScript2: ; 75f6a (1d:5f6a)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
ld [wJoypadForbiddenButtonsMask], a
ld hl, $d355
res 7, [hl]
ld a, $1
ld [$ff8c], a
call DisplayTextID
call Delay3
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, GaryText_760f9
ld de, GaryText_760fe
call PreBattleSaveRegisters
ld a, SONY3 + $c8
ld [W_CUROPPONENT], a
; select which team to use during the encounter
ld a, [W_RIVALSTARTER]
cp SQUIRTLE
jr nz, .NotSquirtle ; 0x75f9f $4
ld a, $1
jr .done
.NotSquirtle
cp BULBASAUR
jr nz, .Charmander ; 0x75fa7 $4
ld a, $2
jr .done
.Charmander
ld a, $3
.done
ld [W_TRAINERNO], a
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $3
ld [W_GARYCURSCRIPT], a
ret
GaryScript3: ; 75fbb (1d:5fbb)
ld a, [W_ISINBATTLE]
cp $ff
jp z, GaryScript_75f29
call UpdateSprites ; move sprites
ld hl, $d867
set 1, [hl]
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [$ff8c], a
call GaryScript_760c8
ld a, $1
ld [$ff8c], a
call SetSpriteMovementBytesToFF
ld a, $4
ld [W_GARYCURSCRIPT], a
ret
GaryScript4: ; 75fe4 (1d:5fe4)
ld b, BANK(Music_Cities1AlternateTempo)
ld hl, Music_Cities1AlternateTempo
call Bankswitch
ld a, $2
ld [$ff8c], a
call GaryScript_760c8
ld a, $2
ld [$ff8c], a
call SetSpriteMovementBytesToFF
ld de, MovementData_76014
ld a, $2
ld [$ff8c], a
call MoveSprite
ld a, $d6
ld [$cc4d], a
ld a, $15
call Predef
ld a, $5
ld [W_GARYCURSCRIPT], a
ret
MovementData_76014: ; 76014 (1d:6014)
db $40,$40,$40,$40,$40,$FF
GaryScript5: ; 7601a (1d:601a)
ld a, [$d730]
bit 0, a
ret nz
ld a, $2
ld [$d528], a
ld a, $1
ld [$ff8c], a
ld a, $8
ld [$ff8d], a
call Func_34a6
ld a, $2
ld [$ff8c], a
xor a
ld [$ff8d], a
call Func_34a6 ; face object
ld a, $3
ld [$ff8c], a
call GaryScript_760c8
ld a, $6
ld [W_GARYCURSCRIPT], a
ret
GaryScript6: ; 76047 (1d:6047)
ld a, $2
ld [$ff8c], a
ld a, $c
ld [$ff8d], a
call Func_34a6 ; face object
ld a, $4
ld [$ff8c], a
call GaryScript_760c8
ld a, $7
ld [W_GARYCURSCRIPT], a
ret
GaryScript7: ; 7605f (1d:605f)
ld a, $2
ld [$ff8c], a
xor a
ld [$ff8d], a
call Func_34a6 ; face object
ld a, $5
ld [$ff8c], a
call GaryScript_760c8
ld de, MovementData_76080
ld a, $2
ld [$ff8c], a
call MoveSprite
ld a, $8
ld [W_GARYCURSCRIPT], a
ret
MovementData_76080: ; 76080 (1d:6080)
db $40,$40,$FF
GaryScript8: ; 76083 (1d:6083)
ld a, [$d730]
bit 0, a
ret nz
ld a, $d6
ld [$cc4d], a
ld a, $11
call Predef
ld a, $9
ld [W_GARYCURSCRIPT], a
ret
GaryScript9: ; 76099 (1d:6099)
ld a, $ff
ld [wJoypadForbiddenButtonsMask], a
ld hl, $ccd3
ld de, RLEMovement760b4
call DecodeRLEList
dec a
ld [$cd38], a
call Func_3486
ld a, $a
ld [W_GARYCURSCRIPT], a
ret
RLEMovement760b4 ; 760b4 (1d:60b4)
db $40,4
db $20,1
db $ff
GaryScript10: ; 760b9 (1d:60b9)
ld a, [$cd38]
and a
ret nz
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_GARYCURSCRIPT], a
ret
GaryScript_760c8 ; 760c8 (1d:60c8)
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
call DisplayTextID
ld a, $ff
ld [wJoypadForbiddenButtonsMask], a
ret
GaryTextPointers: ; 760d6 (1d:60d6)
dw GaryText1
dw GaryText2
dw GaryText3
dw GaryText4
dw GaryText5
GaryText1: ; 760e0 (1d:60e0)
db $08 ; asm
ld a, [$d867]
bit 1, a
ld hl, GaryText_760f4
jr z, .asm_17e9f ; 0x760e9
ld hl, GaryText_76103
.asm_17e9f ; 0x760ee
call PrintText
jp TextScriptEnd
GaryText_760f4: ; 760f4 (1d:60f4)
TX_FAR _GaryText_760f4
db "@"
GaryText_760f9: ; 760f9 (1d:60f9)
TX_FAR _GaryText_760f9
db "@"
GaryText_760fe: ; 760fe (1d:60fe)
TX_FAR _GaryText_760fe
db "@"
GaryText_76103: ; 76103 (1d:6103)
TX_FAR _GaryText_76103
db "@"
GaryText2: ; 76108 (1d:6108)
TX_FAR _GaryText2
db "@"
GaryText3: ; 7610d (1d:610d)
db $8
ld a, [$d717]
ld [$d11e], a
call GetMonName
ld hl, GaryText_76120
call PrintText
jp TextScriptEnd
GaryText_76120: ; 76120 (1d:6120)
TX_FAR _GaryText_76120
db "@"
GaryText4: ; 76125 (1d:6125)
TX_FAR _GaryText_76125
db "@"
GaryText5: ; 7612a (1d:612a)
TX_FAR _GaryText_7612a
db "@"

117
scripts/halloffameroom.asm Executable file
View file

@ -0,0 +1,117 @@
HallofFameRoomScript: ; 5a49e (16:649e)
call EnableAutoTextBoxDrawing
ld hl, HallofFameRoomScriptPointers
ld a, [W_HALLOFFAMEROOMCURSCRIPT]
jp CallFunctionInTable
HallofFameRoomScript_5a4aa: ; 5a4aa (16:64aa)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_HALLOFFAMEROOMCURSCRIPT], a
ret
HallofFameRoomScriptPointers: ; 5a4b2 (16:64b2)
dw HallofFameRoomScript0
dw HallofFameRoomScript1
dw HallofFameRoomScript2
dw HallofFameRoomScript3
HallofFameRoomScript3: ; 5a4ba (16:64ba)
ret
HallofFameRoomScript2: ; 5a4bb (16:64bb)
call Delay3
ld a, [$d358]
push af
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, $55
call Predef
pop af
ld [$d358], a
ld hl, W_FLAGS_D733
res 1, [hl]
inc hl
set 0, [hl]
xor a
ld hl, W_LORELEICURSCRIPT
ld [hli], a
ld [hli], a
ld [hl], a
ld [W_LANCECURSCRIPT], a
ld [W_HALLOFFAMEROOMCURSCRIPT], a
ld hl, $d863
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
xor a
ld [W_HALLOFFAMEROOMCURSCRIPT], a
ld a, $0
ld [$d719], a
ld b, BANK(SaveSAVtoSRAM)
ld hl, SaveSAVtoSRAM
call Bankswitch
ld b, $5
.asm_5a4ff
ld c, $78
call DelayFrames
dec b
jr nz, .asm_5a4ff ; 0x5a505 $f8
call WaitForTextScrollButtonPress
jp InitGame
HallofFameRoomScript0: ; 5a50d (16:650d)
ld a, $ff
ld [wJoypadForbiddenButtonsMask], a
ld hl, $ccd3
ld de, RLEMovement5a528
call DecodeRLEList
dec a
ld [$cd38], a
call Func_3486
ld a, $1
ld [W_HALLOFFAMEROOMCURSCRIPT], a
ret
RLEMovement5a528: ; 5a528 (16:6528)
db $40,$5
db $ff
HallofFameRoomScript1: ; 5a52b (16:652b)
ld a, [$cd38]
and a
ret nz
ld a, $1
ld [$d528], a
ld a, $1
ld [$ff8c], a
call SetSpriteMovementBytesToFF
ld a, $8
ld [$ff8d], a
call Func_34a6
call Delay3
xor a
ld [wJoypadForbiddenButtonsMask], a
inc a
ld [$d528], a
ld a, $1
ld [$ff8c], a
call DisplayTextID
ld a, $ff
ld [wJoypadForbiddenButtonsMask], a
ld a, $8
ld [$cc4d], a
ld a, $11
call Predef
ld a, $2
ld [W_HALLOFFAMEROOMCURSCRIPT], a
ret
HallofFameRoomTextPointers: ; 5a56a (16:656a)
dw HallofFameRoomText1
HallofFameRoomText1: ; 5a56c (16:656c)
TX_FAR _HallofFameRoomText1
db "@"

4
scripts/indigoplateau.asm Executable file
View file

@ -0,0 +1,4 @@
IndigoPlateauScript: ; 50935 (14:4935)
ret
IndigoPlateauTextPointers: ; 50936 (14:4936)

41
scripts/indigoplateaulobby.asm Executable file
View file

@ -0,0 +1,41 @@
IndigoPlateauLobbyScript: ; 19c5b (6:5c5b)
call Func_22fa
call EnableAutoTextBoxDrawing
ld hl, $d126
bit 6, [hl]
res 6, [hl]
ret z
ld hl, $d869
res 7, [hl]
ld hl, $d734
bit 1, [hl]
res 1, [hl]
ret z
ld hl, $d863
xor a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
ret
IndigoPlateauLobbyTextPointers: ; 19c7f (6:5c7f)
dw IndigoPlateauLobbyText1
dw IndigoPlateauLobbyText2
dw IndigoPlateauLobbyText3
dw IndigoPlateauLobbyText4
dw IndigoPlateauLobbyText5
IndigoPlateauLobbyText1: ; 19c89 (6:5c89)
db $ff
IndigoPlateauLobbyText2: ; 19c8a (6:5c8a)
TX_FAR _IndigoPlateauLobbyText1
db "@"
IndigoPlateauLobbyText3: ; 19c8f (6:5c8f)
TX_FAR _IndigoPlateauLobbyText3
db "@"
IndigoPlateauLobbyText5: ; 19c94 (6:5c94)
db $f6

30
scripts/lab1.asm Executable file
View file

@ -0,0 +1,30 @@
Lab1Script: ; 75b8c (1d:5b8c)
call EnableAutoTextBoxDrawing
ret
Lab1TextPointers: ; 75b90 (1d:5b90)
dw Lab1Text1
dw Lab1Text2
dw Lab1Text3
dw Lab1Text4
dw Lab1Text5
Lab1Text1: ; 75b9a (1d:5b9a)
TX_FAR _Lab1Text1
db "@"
Lab1Text2: ; 75b9f (1d:5b9f)
TX_FAR _Lab1Text2
db "@"
Lab1Text3: ; 75ba4 (1d:5ba4)
TX_FAR _Lab1Text3
db "@"
Lab1Text4: ; 75ba9 (1d:5ba9)
TX_FAR _Lab1Text4
db "@"
Lab1Text5: ; 75bae (1d:5bae)
TX_FAR _Lab1Text5
db "@"

26
scripts/lab2.asm Executable file
View file

@ -0,0 +1,26 @@
Lab2Script: ; 75c21 (1d:5c21)
jp EnableAutoTextBoxDrawing
Lab2TextPointers: ; 75c24 (1d:5c24)
dw Lab2Text1
dw Lab2Text2
dw Lab2Text3
Lab2Text1: ; 75c2a (1d:5c2a)
TX_FAR _Lab2Text1
db "@"
Lab2Text2: ; 75c2f (1d:5c2f)
db $8
ld a, $7
ld [wWhichTrade], a
jr asm_78552 ; 0x75c35 $6
Lab2Text3: ; 75c37 (1d:5c37)
db $8
ld a, $8
ld [wWhichTrade], a
asm_78552: ; 75c3d (1d:5c3d)
ld a, $54
call Predef
jp TextScriptEnd

63
scripts/lab3.asm Executable file
View file

@ -0,0 +1,63 @@
Lab3Script: ; 75c87 (1d:5c87)
jp EnableAutoTextBoxDrawing
Lab3TextPointers: ; 75c8a (1d:5c8a)
dw Lab3Text1
dw Lab3Text2
dw Lab3Text3
dw Lab3Text4
dw Lab3Text5
Lab3Text1: ; 75c94 (1d:5c94)
db $08 ; asm
ld a, [$d7a1]
bit 7, a
jr nz, .asm_e551a ; 0x75c9a
ld hl, TM35PreReceiveText
call PrintText
ld bc, (TM_35 << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, ReceivedTM35Text
call PrintText
ld hl, $d7a1
set 7, [hl]
jr .asm_eb896 ; 0x75cb5
.BagFull
ld hl, TM35NoRoomText
call PrintText
jr .asm_eb896 ; 0x75cbd
.asm_e551a ; 0x75cbf
ld hl, TM35ExplanationText
call PrintText
.asm_eb896 ; 0x75cc5
jp TextScriptEnd
TM35PreReceiveText: ; 75cc8 (1d:5cc8)
TX_FAR _TM35PreReceiveText
db "@"
ReceivedTM35Text: ; 75ccd (1d:5ccd)
TX_FAR _ReceivedTM35Text
db $0B, "@"
TM35ExplanationText: ; 75cd3 (1d:5cd3)
TX_FAR _TM35ExplanationText
db "@"
TM35NoRoomText: ; 75cd8 (1d:5cd8)
TX_FAR _TM35NoRoomText
db "@"
Lab3Text2: ; 75cdd (1d:5cdd)
TX_FAR _Lab3Text2
db "@"
Lab3Text4: ; 75ce2 (1d:5ce2)
Lab3Text3: ; 75ce2 (1d:5ce2)
TX_FAR _Lab3Text3
db "@"
Lab3Text5: ; 75ce7 (1d:5ce7)
TX_FAR _Lab3Text5
db "@"

117
scripts/lab4.asm Executable file
View file

@ -0,0 +1,117 @@
Lab4Script: ; 75d31 (1d:5d31)
jp EnableAutoTextBoxDrawing
Lab4TextPointers: ; 75d34 (1d:5d34)
dw Lab4Text1
dw Lab4Text2
Lab4Script_75d38: ; 75d38 (1d:5d38)
xor a
ld [$cd37], a
ld de, $cc5b
ld hl, FossilsList
.asm_75d42
ld a, [hli]
and a
jr z, .asm_75d64
push hl
push de
ld [$d11e], a
ld b, a
ld a, $1c
call Predef ; indirect jump to Func_f8a5 (f8a5 (3:78a5))
pop de
pop hl
ld a, b
and a
jr z, .asm_75d42
ld a, [$d11e]
ld [de], a
inc de
push hl
ld hl, $cd37
inc [hl]
pop hl
jr .asm_75d42
.asm_75d64
ld a, $ff
ld [de], a
ret
FossilsList: ; 75d68 (1d:5d68)
db DOME_FOSSIL
db HELIX_FOSSIL
db OLD_AMBER
db $00
Lab4Text1: ; 75d6c (1d:5d6c)
db $8
ld a, [$d7a3]
bit 0, a
jr nz, .asm_75d96 ; 0x75d72 $22
ld hl, Lab4Text_75dc6
call PrintText
call Lab4Script_75d38
ld a, [$cd37]
and a
jr z, .asm_75d8d ; 0x75d81 $a
ld b, BANK(GiveFossilToCinnabarLab)
ld hl, GiveFossilToCinnabarLab
call Bankswitch
jr .asm_75d93 ; 0x75d8b $6
.asm_75d8d
ld hl, Lab4Text_75dcb
call PrintText
.asm_75d93
jp TextScriptEnd
.asm_75d96
bit 1, a
jr z, .asm_75da2 ; 0x75d98 $8
ld hl, Lab4Text_75dd0
call PrintText
jr .asm_75d93 ; 0x75da0 $f1
.asm_75da2
call LoadFossilItemAndMonNameBank1D
ld hl, Lab4Text_75dd5
call PrintText
ld hl, $d7a3
set 2, [hl]
ld a, [W_FOSSILMON]
ld b, a
ld c, $1e
call GivePokemon
jr nc, .asm_75d93 ; 0x75db9 $d8
ld hl, $d7a3
res 0, [hl]
res 1, [hl]
res 2, [hl]
jr .asm_75d93 ; 0x75dc4 $cd
Lab4Text_75dc6: ; 75dc6 (1d:5dc6)
TX_FAR _Lab4Text_75dc6
db "@"
Lab4Text_75dcb: ; 75dcb (1d:5dcb)
TX_FAR _Lab4Text_75dcb
db "@"
Lab4Text_75dd0: ; 75dd0 (1d:5dd0)
TX_FAR _Lab4Text_75dd0
db "@"
Lab4Text_75dd5: ; 75dd5 (1d:5dd5)
TX_FAR _Lab4Text_75dd5
db "@"
Lab4Text2: ; 75dda (1d:5dda)
db $08 ; asm
ld a, $3
ld [wWhichTrade], a
ld a, $54
call Predef
jp TextScriptEnd
LoadFossilItemAndMonNameBank1D: ; 75de8 (1d:5de8)
ld b, BANK(LoadFossilItemAndMonName)
ld hl, LoadFossilItemAndMonName
jp Bankswitch

166
scripts/lance.asm Executable file
View file

@ -0,0 +1,166 @@
LanceScript: ; 5a2ae (16:62ae)
call LanceScript_5a2c4
call EnableAutoTextBoxDrawing
ld hl, LanceTrainerHeaders
ld de, LanceScriptPointers
ld a, [W_LANCECURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_LANCECURSCRIPT], a
ret
LanceScript_5a2c4: ; 5a2c4 (16:62c4)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld a, [$d866]
bit 7, a
jr nz, .asm_5a2da
ld a, $31
ld b, $32
jp LanceScript_5a2de
.asm_5a2da
ld a, $72
ld b, $73
LanceScript_5a2de: ; 5a2de (16:62de)
push bc
ld [$d09f], a
ld bc, $602
call LanceScript_5a2f0
pop bc
ld a, b
ld [$d09f], a
ld bc, $603
LanceScript_5a2f0: ; 5a2f0 (16:62f0)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
LanceScript_5a2f5: ; 5a2f5 (16:62f5)
xor a
ld [W_LANCECURSCRIPT], a
ret
LanceScriptPointers: ; 5a2fa (16:62fa)
dw LanceScript0
dw Func_324c
dw LanceScript2
dw LanceScript3
dw LanceScript4
LanceScript4: ; 5a304 (16:6304)
ret
LanceScript0: ; 5a305 (16:6305)
ld a, [$d866]
bit 6, a
ret nz
ld hl, CoordsData_5a33e
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, [wWhichTrade] ; $cd3d
cp $3
jr nc, .asm_5a325
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp DisplayTextID
.asm_5a325
cp $5
jr z, LanceScript_5a35b
ld hl, $d866
bit 7, [hl]
set 7, [hl]
ret nz
ld hl, $d126
set 5, [hl]
ld a, (SFX_02_57 - SFX_Headers_02) / 3
call PlaySound
jp LanceScript_5a2c4
CoordsData_5a33e: ; 5a33e (16:633e)
db $01,$05
db $02,$06
db $0B,$05
db $0B,$06
db $10,$18
db $FF
LanceScript2: ; 5a349 (16:6349)
call EndTrainerBattle
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, LanceScript_5a2f5
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp DisplayTextID
LanceScript_5a35b: ; 5a35b (16:635b)
ld a, $ff
ld [wJoypadForbiddenButtonsMask], a
ld hl, $ccd3
ld de, RLEList_5a379
call DecodeRLEList
dec a
ld [$cd38], a
call Func_3486
ld a, $3
ld [W_LANCECURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
RLEList_5a379: ; 5a379 (16:6379)
db $40, $0C
db $20, $0C
db $80, $07
db $20, $06
db $FF
LanceScript3: ; 5a382 (16:6382)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_LANCECURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
LanceTextPointers: ; 5a395 (16:6395)
dw LanceText1
LanceTrainerHeaders: ; 5a397 (16:6397)
LanceTrainerHeader0: ; 5a397 (16:6397)
db $1 ; flag's bit
db ($0 << 4) ; trainer's view range
dw $d866 ; flag's byte
dw LanceBeforeBattleText ; 0x63ae TextBeforeBattle
dw LanceAfterBattleText ; 0x63b8 TextAfterBattle
dw LanceEndBattleText ; 0x63b3 TextEndBattle
dw LanceEndBattleText ; 0x63b3 TextEndBattle
db $ff
LanceText1: ; 5a3a4 (16:63a4)
db $08 ; asm
ld hl, LanceTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
LanceBeforeBattleText: ; 5a3ae (16:63ae)
TX_FAR _LanceBeforeBattleText
db "@"
LanceEndBattleText: ; 5a3b3 (16:63b3)
TX_FAR _LanceEndBattleText
db "@"
LanceAfterBattleText: ; 5a3b8 (16:63b8)
TX_FAR _LanceAfterBattleText
db $8
ld hl, $d866
set 6, [hl]
jp TextScriptEnd

116
scripts/lavenderhouse1.asm Executable file
View file

@ -0,0 +1,116 @@
LavenderHouse1Script: ; 1d8a8 (7:58a8)
call EnableAutoTextBoxDrawing
ret
LavenderHouse1TextPointers: ; 1d8ac (7:58ac)
dw LavenderHouse1Text1
dw LavenderHouse1Text2
dw LavenderHouse1Text3
dw LavenderHouse1Text4
dw LavenderHouse1Text5
dw LavenderHouse1Text6
LavenderHouse1Text1: ; 1d8b8 (7:58b8)
db $08 ; asm
ld a, [$d7e0]
bit 7, a
jr nz, .asm_72e5d ; 0x1d8be
ld hl, LavenderHouse1Text_1d8d1
call PrintText
jr .asm_6957f ; 0x1d8c6
.asm_72e5d ; 0x1d8c8
ld hl, LavenderHouse1Text_1d8d6
call PrintText
.asm_6957f ; 0x1d8ce
jp TextScriptEnd
LavenderHouse1Text_1d8d1: ; 1d8d1 (7:58d1)
TX_FAR _LavenderHouse1Text_1d8d1
db "@"
LavenderHouse1Text_1d8d6: ; 1d8d6 (7:58d6)
TX_FAR _LavenderHouse1Text_1d8d6
db "@"
LavenderHouse1Text2: ; 1d8db (7:58db)
db $08 ; asm
ld a, [$d7e0]
bit 7, a
jr nz, .asm_06470 ; 0x1d8e1
ld hl, LavenderHouse1Text_1d8f4
call PrintText
jr .asm_3d208 ; 0x1d8e9
.asm_06470 ; 0x1d8eb
ld hl, LavenderHouse1Text_1d8f9
call PrintText
.asm_3d208 ; 0x1d8f1
jp TextScriptEnd
LavenderHouse1Text_1d8f4: ; 1d8f4 (7:58f4)
TX_FAR _LavenderHouse1Text_1d8f4
db "@"
LavenderHouse1Text_1d8f9: ; 1d8f9 (7:58f9)
TX_FAR _LavenderHouse1Text_1d8f9
db "@"
LavenderHouse1Text3: ; 1d8fe (7:58fe)
TX_FAR _LavenderHouse1Text3
db $8
ld a, PSYDUCK
call PlayCry
jp TextScriptEnd
LavenderHouse1Text4: ; 1d90b (7:590b)
TX_FAR _LavenderHouse1Text4
db $8
ld a, NIDORINO
call PlayCry
jp TextScriptEnd
LavenderHouse1Text5: ; 1d918 (7:5918)
db $08 ; asm
ld a, [$d76c]
bit 0, a
jr nz, .asm_15ac2 ; 0x1d91e
ld hl, LavenderHouse1Text_1d94c
call PrintText
ld bc, (POKE_FLUTE << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, ReceivedFluteText
call PrintText
ld hl, $d76c
set 0, [hl]
jr .asm_da749 ; 0x1d939
.BagFull
ld hl, FluteNoRoomText
call PrintText
jr .asm_da749 ; 0x1d941
.asm_15ac2 ; 0x1d943
ld hl, MrFujiAfterFluteText
call PrintText
.asm_da749 ; 0x1d949
jp TextScriptEnd
LavenderHouse1Text_1d94c: ; 1d94c (7:594c)
TX_FAR _LavenderHouse1Text_1d94c
db "@"
ReceivedFluteText: ; 1d951 (7:5951)
TX_FAR _ReceivedFluteText
db $11
TX_FAR _FluteExplanationText
db "@"
FluteNoRoomText: ; 1d95b (7:595b)
TX_FAR _FluteNoRoomText
db "@"
MrFujiAfterFluteText: ; 1d960 (7:5960)
TX_FAR _MrFujiAfterFluteText
db "@"
LavenderHouse1Text6: ; 1d965 (7:5965)
TX_FAR _LavenderHouse1Text6
db "@"

36
scripts/lavenderhouse2.asm Executable file
View file

@ -0,0 +1,36 @@
LavenderHouse2Script: ; 1d9ae (7:59ae)
call EnableAutoTextBoxDrawing
ret
LavenderHouse2TextPointers: ; 1d9b2 (7:59b2)
dw LavenderHouse2Text1
dw LavenderHouse2Text2
LavenderHouse2Text1: ; 1d9b6 (7:59b6)
TX_FAR _LavenderHouse2Text1
db $8
ld a, CUBONE
call PlayCry
jp TextScriptEnd
LavenderHouse2Text2: ; 1d9c3 (7:59c3)
db $08 ; asm
ld a, [$d7e0]
bit 7, a
jr nz, .asm_65711 ; 0x1d9c9
ld hl, LavenderHouse2Text_1d9dc
call PrintText
jr .asm_64be1 ; 0x1d9d1
.asm_65711 ; 0x1d9d3
ld hl, LavenderHouse2Text_1d9e1
call PrintText
.asm_64be1 ; 0x1d9d9
jp TextScriptEnd
LavenderHouse2Text_1d9dc: ; 1d9dc (7:59dc)
TX_FAR _LavenderHouse2Text_1d9dc
db "@"
LavenderHouse2Text_1d9e1: ; 1d9e1 (7:59e1)
TX_FAR _LavenderHouse2Text_1d9e1
db "@"

33
scripts/lavendermart.asm Executable file
View file

@ -0,0 +1,33 @@
LavenderMartScript: ; 5c92c (17:492c)
jp EnableAutoTextBoxDrawing
LavenderMartTextPointers: ; 5c92f (17:492f)
dw LavenderMartText1
dw LavenderMartText2
dw LavenderMartText3
LavenderMartText2: ; 5c935 (17:4935)
TX_FAR _LavenderMartText2
db "@"
LavenderMartText3: ; 5c93a (17:493a)
db $08 ; asm
ld a, [$d7e0]
bit 7, a
jr nz, .asm_c88d4 ; 0x5c940
ld hl, LavenderMart_5c953
call PrintText
jr .asm_6d225 ; 0x5c948
.asm_c88d4 ; 0x5c94a
ld hl, LavenderMart_5c958
call PrintText
.asm_6d225 ; 0x5c950
jp TextScriptEnd
LavenderMart_5c953: ; 5c953 (17:4953)
TX_FAR _LavenderMart_5c953
db "@"
LavenderMart_5c958: ; 5c958 (17:4958)
TX_FAR _LavenderMart_5c958
db "@"

23
scripts/lavenderpokecenter.asm Executable file
View file

@ -0,0 +1,23 @@
LavenderPokecenterScript: ; 5c8da (17:48da)
call Func_22fa
jp EnableAutoTextBoxDrawing
LavenderPokecenterTextPointers: ; 5c8e0 (17:48e0)
dw LavenderPokecenterText1
dw LavenderPokecenterText2
dw LavenderPokecenterText3
dw LavenderPokecenterText4
LavenderPokecenterText4: ; 5c8e8 (17:48e8)
db $f6
LavenderPokecenterText1: ; 5c8e9 (17:48e9)
db $ff
LavenderPokecenterText2: ; 5c8ea (17:48ea)
TX_FAR _LavenderPokecenterText1
db "@"
LavenderPokecenterText3: ; 5c8ef (17:48ef)
TX_FAR _LavenderPokecenterText3
db "@"

63
scripts/lavendertown.asm Executable file
View file

@ -0,0 +1,63 @@
LavenderTownScript: ; 4410b (11:410b)
jp EnableAutoTextBoxDrawing
LavenderTownTextPointers: ; 4410e (11:410e)
dw LavenderTownText1
dw LavenderTownText2
dw LavenderTownText3
dw LavenderTownText4
dw LavenderTownText5
dw MartSignText
dw PokeCenterSignText
dw LavenderTownText8
dw LavenderTownText9
LavenderTownText1: ; 44120 (11:4120)
db $08 ; asm
ld hl, LavenderTownText_4413c
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
ld hl, LavenderTownText_44146
jr nz, .asm_40831 ; 0x44131
ld hl, LavenderTownText_44141
.asm_40831 ; 0x44136
call PrintText
jp TextScriptEnd
LavenderTownText_4413c: ; 4413c (11:413c)
TX_FAR _LavenderTownText_4413c
db "@"
LavenderTownText_44141: ; 44141 (11:4141)
TX_FAR _LavenderTownText_44141
db "@"
LavenderTownText_44146: ; 44146 (11:4146)
TX_FAR _LavenderTownText_44146
db "@"
LavenderTownText2: ; 4414b (11:414b)
TX_FAR _LavenderTownText2
db "@"
LavenderTownText3: ; 44150 (11:4150)
TX_FAR _LavenderTownText3
db "@"
LavenderTownText4: ; 44155 (11:4155)
TX_FAR _LavenderTownText4
db "@"
LavenderTownText5: ; 4415a (11:415a)
TX_FAR _LavenderTownText5
db "@"
LavenderTownText8: ; 4415f (11:415f)
TX_FAR _LavenderTownText8
db "@"
LavenderTownText9: ; 44164 (11:4164)
TX_FAR _LavenderTownText9
db "@"

153
scripts/lorelei.asm Executable file
View file

@ -0,0 +1,153 @@
LoreleiScript: ; 7617b (1d:617b)
call LoreleiScript_76191
call EnableAutoTextBoxDrawing
ld hl, LoreleiTrainerHeaders
ld de, LoreleiScriptPointers
ld a, [W_LORELEICURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_LORELEICURSCRIPT], a
ret
LoreleiScript_76191: ; 76191 (1d:6191)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld hl, $d734
set 1, [hl]
ld a, [$d863]
bit 1, a
jr z, .asm_761a9
ld a, $5
jr .asm_761ab
.asm_761a9
ld a, $24
.asm_761ab
ld [$d09f], a
ld bc, $2
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
LoreleiScript_761b6: ; 761b6 (1d:61b6)
xor a
ld [W_LORELEICURSCRIPT], a
ret
LoreleiScriptPointers: ; 761bb (1d:61bb)
dw LoreleiScript0
dw Func_324c
dw LoreleiScript2
dw LoreleiScript3
dw LoreleiScript4
LoreleiScript4: ; 761c5 (1d:61c5)
ret
asm_761c6: ; 761c6 (1d:61c6)
ld hl, $ccd3
ld a, $40
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
ld a, $6
ld [$cd38], a
call Func_3486
ld a, $3
ld [W_LORELEICURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
LoreleiScript0: ; 761e2 (1d:61e2)
ld hl, CoordsData_76223
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
ld [H_NEWLYPRESSEDBUTTONS], a
ld [H_CURRENTPRESSEDBUTTONS], a
ld [$ccd3], a
ld [$cd38], a
ld a, [wWhichTrade] ; $cd3d
cp $3
jr c, .asm_76206
ld hl, $d863
bit 6, [hl]
set 6, [hl]
jr z, asm_761c6
.asm_76206
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld a, $40
ld [$ccd3], a
ld a, $1
ld [$cd38], a
call Func_3486
ld a, $3
ld [W_LORELEICURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CoordsData_76223: ; 76223 (1d:6223)
db $0A,$04
db $0A,$05
db $0B,$04
db $0B,$05
db $FF
LoreleiScript3: ; 7622c (1d:622c)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_LORELEICURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
LoreleiScript2: ; 7623f (1d:623f)
call EndTrainerBattle
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, LoreleiScript_761b6
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp DisplayTextID
LoreleiTextPointers: ; 76251 (1d:6251)
dw LoreleiText1
dw LoreleiText2
LoreleiTrainerHeaders: ; 76255 (1d:6255)
LoreleiTrainerHeader0: ; 76255 (1d:6255)
db $1 ; flag's bit
db ($0 << 4) ; trainer's view range
dw $d863 ; flag's byte
dw LoreleiBeforeBattleText ; 0x626c TextBeforeBattle
dw LoreleiAfterBattleText ; 0x6276 TextAfterBattle
dw LoreleiEndBattleText ; 0x6271 TextEndBattle
dw LoreleiEndBattleText ; 0x6271 TextEndBattle
db $ff
LoreleiText1: ; 76262 (1d:6262)
db $08 ; asm
ld hl, LoreleiTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
LoreleiBeforeBattleText: ; 7626c (1d:626c)
TX_FAR _LoreleiBeforeBattleText
db "@"
LoreleiEndBattleText: ; 76271 (1d:6271)
TX_FAR _LoreleiEndBattleText
db "@"
LoreleiAfterBattleText: ; 76276 (1d:6276)
TX_FAR _LoreleiAfterBattleText
db "@"
LoreleiText2: ; 7627b (1d:627b)
TX_FAR _LoreleiText2
db "@"

139
scripts/mansion1.asm Executable file
View file

@ -0,0 +1,139 @@
Mansion1Script: ; 442af (11:42af)
call Mansion1Subscript1
call EnableAutoTextBoxDrawing
ld hl, Mansion1TrainerHeaders
ld de, Mansion1ScriptPointers
ld a, [W_MANSION1CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MANSION1CURSCRIPT], a
ret
Mansion1Subscript1: ; 442c5 (11:42c5)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld a, [$d796]
bit 0, a
jr nz, .asm_442ec ; 0x442d2 $18
ld bc, $060c
call Mansion1Script_4430b
ld bc, $0308
call Mansion1Script_44304
ld bc, $080a
call Mansion1Script_44304
ld bc, $0d0d
jp Mansion1Script_44304
.asm_442ec
ld bc, $060c
call Mansion1Script_44304
ld bc, $0308
call Mansion1Script_4430b
ld bc, $080a
call Mansion1Script_4430b
ld bc, $0d0d
jp Mansion1Script_4430b
Mansion1Script_44304: ; 44304 (11:4304)
ld a, $2d
ld [$d09f], a
jr asm_44310
Mansion1Script_4430b: ; 4430b (11:430b)
ld a, $e
ld [$d09f], a
asm_44310: ; 44310 (11:4310)
ld a, $17
call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
ret
Func_44316: ; 44316 (11:4316)
ld a, [$c109]
cp $4
ret nz
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $4
ld [H_SPRITEHEIGHT], a
jp DisplayTextID
Mansion1ScriptPointers: ; 44326 (11:4326)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
Mansion1TextPointers: ; 4432c (11:432c)
dw Mansion1Text1
dw Predef5CText
dw Predef5CText
dw Mansion1Text4
Mansion1TrainerHeaders: ; 44334 (11:4334)
Mansion1TrainerHeader0: ; 44334 (11:4334)
db $1 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d798 ; flag's byte
dw Mansion1BattleText2 ; 0x434b TextBeforeBattle
dw Mansion1AfterBattleText2 ; 0x4355 TextAfterBattle
dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle
dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle
db $ff
Mansion1Text1: ; 44341 (11:4341)
db $08 ; asm
ld hl, Mansion1TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
Mansion1BattleText2: ; 4434b (11:434b)
TX_FAR _Mansion1BattleText2
db "@"
Mansion1EndBattleText2: ; 44350 (11:4350)
TX_FAR _Mansion1EndBattleText2
db "@"
Mansion1AfterBattleText2: ; 44355 (11:4355)
TX_FAR _Mansion1AfterBattleText2
db "@"
Mansion1Text4: ; 4435a (11:435a)
db $8
ld hl, MansionSwitchText
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .asm_4438c ; 0x44368 $22
ld a, $1
ld [$cc3c], a
ld hl, $d126
set 5, [hl]
ld hl, MansionSwitchPressedText
call PrintText
ld a, (SFX_02_57 - SFX_Headers_02) / 3
call PlaySound
ld hl, $d796
bit 0, [hl]
set 0, [hl]
jr z, .asm_44392 ; 0x44386 $a
res 0, [hl]
jr .asm_44392 ; 0x4438a $6
.asm_4438c
ld hl, MansionSwitchNotPressedText
call PrintText
.asm_44392
jp TextScriptEnd
MansionSwitchText: ; 44395 (11:4395)
TX_FAR _MansionSwitchText
db "@"
MansionSwitchPressedText: ; 4439a (11:439a)
TX_FAR _MansionSwitchPressedText
db "@"
MansionSwitchNotPressedText: ; 4439f (11:439f)
TX_FAR _MansionSwitchNotPressedText
db "@"

145
scripts/mansion2.asm Executable file
View file

@ -0,0 +1,145 @@
Mansion2Script: ; 51fd8 (14:5fd8)
call Mansion2Script_51fee
call EnableAutoTextBoxDrawing
ld hl, Mansion2TrainerHeaders
ld de, Mansion2ScriptPointers
ld a, [W_MANSION2CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MANSION2CURSCRIPT], a
ret
Mansion2Script_51fee: ; 51fee (14:5fee)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld a, [$d796]
bit 0, a
jr nz, .asm_52016
ld a, $e
ld bc, $204
call Mansion2Script_5202f
ld a, $54
ld bc, $409
call Mansion2Script_5202f
ld a, $5f
ld bc, $b03
call Mansion2Script_5202f
ret
.asm_52016
ld a, $5f
ld bc, $204
call Mansion2Script_5202f
ld a, $e
ld bc, $409
call Mansion2Script_5202f
ld a, $e
ld bc, $b03
call Mansion2Script_5202f
ret
Mansion2Script_5202f: ; 5202f (14:602f)
ld [$d09f], a
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
Mansion2Script_52037: ; 52037 (14:6037)
ld a, [$c109]
cp $4
ret nz
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $5
ld [H_SPRITEHEIGHT], a
jp DisplayTextID
Mansion2ScriptPointers: ; 52047 (14:6047)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
Mansion2TextPointers: ; 5204d (14:604d)
dw Mansion2Text1
dw Predef5CText
dw Mansion2Text3
dw Mansion2Text4
dw Mansion2Text5
Mansion2TrainerHeaders: ; 52057 (14:6057)
Mansion2TrainerHeader0: ; 52057 (14:6057)
db $1 ; flag's bit
db ($0 << 4) ; trainer's view range
dw $d847 ; flag's byte
dw Mansion2BattleText1 ; 0x606e TextBeforeBattle
dw Mansion2AfterBattleText1 ; 0x6078 TextAfterBattle
dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle
dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle
db $ff
Mansion2Text1: ; 52064 (14:6064)
db $08 ; asm
ld hl, Mansion2TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
Mansion2BattleText1: ; 5206e (14:606e)
TX_FAR _Mansion2BattleText1
db "@"
Mansion2EndBattleText1: ; 52073 (14:6073)
TX_FAR _Mansion2EndBattleText1
db "@"
Mansion2AfterBattleText1: ; 52078 (14:6078)
TX_FAR _Mansion2AfterBattleText1
db "@"
Mansion2Text3: ; 5207d (14:607d)
TX_FAR _Mansion2Text3
db "@"
Mansion2Text4: ; 52082 (14:6082)
TX_FAR _Mansion2Text4
db "@"
Mansion3Text6: ; 52087 (14:6087)
Mansion2Text5: ; 52087 (14:6087)
db $8
ld hl, Mansion2Text_520c2
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .asm_520b9 ; 0x52095 $22
ld a, $1
ld [$cc3c], a
ld hl, $d126
set 5, [hl]
ld hl, Mansion2Text_520c7
call PrintText
ld a, (SFX_02_57 - SFX_Headers_02) / 3
call PlaySound
ld hl, $d796
bit 0, [hl]
set 0, [hl]
jr z, .asm_520bf ; 0x520b3 $a
res 0, [hl]
jr .asm_520bf ; 0x520b7 $6
.asm_520b9
ld hl, Mansion2Text_520cc
call PrintText
.asm_520bf
jp TextScriptEnd
Mansion2Text_520c2: ; 520c2 (14:60c2)
TX_FAR _Mansion2Text_520c2
db "@"
Mansion2Text_520c7: ; 520c7 (14:60c7)
TX_FAR _Mansion2Text_520c7
db "@"
Mansion2Text_520cc: ; 520cc (14:60cc)
TX_FAR _Mansion2Text_520cc
db "@"

153
scripts/mansion3.asm Executable file
View file

@ -0,0 +1,153 @@
Mansion3Script: ; 521ee (14:61ee)
call Mansion3Script_52204
call EnableAutoTextBoxDrawing
ld hl, Mansion3TrainerHeader0
ld de, Mansion3ScriptPointers
ld a, [W_MANSION3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MANSION3CURSCRIPT], a
ret
Mansion3Script_52204: ; 52204 (14:6204)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld a, [$d796]
bit 0, a
jr nz, .asm_52224
ld a, $e
ld bc, $207
call Mansion2Script_5202f
ld a, $5f
ld bc, $507
call Mansion2Script_5202f
ret
.asm_52224
ld a, $5f
ld bc, $207
call Mansion2Script_5202f
ld a, $e
ld bc, $507
call Mansion2Script_5202f
ret
Mansion3ScriptPointers: ; 52235 (14:6235)
dw Mansion3Script0
dw Func_324c
dw EndTrainerBattle
Mansion3Script0: ; 5223b (14:623b)
ld hl, CoordsData_52254
call Mansion3Script_5225b
ld a, [$d71e]
and a
jp z, CheckFightingMapTrainers
cp $3
ld a, $a5
jr nz, .asm_52250
ld a, $d6
.asm_52250
ld [$d71d], a
ret
CoordsData_52254: ; 52254 (14:6254)
db $0E,$10
db $0E,$11
db $0E,$13
db $FF
Mansion3Script_5225b: ; 5225b (14:625b)
xor a
ld [$d71e], a
ld a, [$d72d]
bit 4, a
ret nz
call ArePlayerCoordsInArray
ret nc
ld a, [wWhichTrade] ; $cd3d
ld [$d71e], a
ld hl, $d72d
set 4, [hl]
ld hl, $d732
set 4, [hl]
ret
Func_5227a: ; 5227a (14:627a)
ld a, [$c109]
cp $4
ret nz
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $6
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp DisplayTextID
Mansion3TextPointers: ; 5228a (14:628a)
dw Mansion3Text1
dw Mansion3Text2
dw Predef5CText
dw Predef5CText
dw Mansion3Text5
dw Mansion3Text6
Mansion3TrainerHeaders: ; 52296 (14:6296)
Mansion3TrainerHeader0: ; 52296 (14:6296)
db $1 ; flag's bit
db ($0 << 4) ; trainer's view range
dw $d849 ; flag's byte
dw Mansion3BattleText1 ; 0x62c3 TextBeforeBattle
dw Mansion3AfterBattleText1 ; 0x62cd TextAfterBattle
dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle
dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle
Mansion3TrainerHeader2: ; 522a2 (14:62a2)
db $2 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d849 ; flag's byte
dw Mansion3BattleText2 ; 0x62d2 TextBeforeBattle
dw Mansion3AfterBattleText2 ; 0x62dc TextAfterBattle
dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle
dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle
db $ff
Mansion3Text1: ; 522af (14:62af)
db $08 ; asm
ld hl, Mansion3TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
Mansion3Text2: ; 522b9 (14:62b9)
db $08 ; asm
ld hl, Mansion3TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
Mansion3BattleText1: ; 522c3 (14:62c3)
TX_FAR _Mansion3BattleText1
db "@"
Mansion3EndBattleText1: ; 522c8 (14:62c8)
TX_FAR _Mansion3EndBattleText1
db "@"
Mansion3AfterBattleText1: ; 522cd (14:62cd)
TX_FAR _Mansion3AfterBattleText1
db "@"
Mansion3BattleText2: ; 522d2 (14:62d2)
TX_FAR _Mansion3BattleText2
db "@"
Mansion3EndBattleText2: ; 522d7 (14:62d7)
TX_FAR _Mansion3EndBattleText2
db "@"
Mansion3AfterBattleText2: ; 522dc (14:62dc)
TX_FAR _Mansion3AfterBattleText2
db "@"
Mansion3Text5: ; 522e1 (14:62e1)
TX_FAR _Mansion3Text5
db "@"

132
scripts/mansion4.asm Executable file
View file

@ -0,0 +1,132 @@
Mansion4Script: ; 523b9 (14:63b9)
call Mansion4Script_523cf
call EnableAutoTextBoxDrawing
ld hl, Mansion4TrainerHeader0
ld de, Mansion4ScriptPointers
ld a, [W_MANSION4CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MANSION4CURSCRIPT], a
ret
Mansion4Script_523cf: ; 523cf (14:63cf)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld a, [$d796]
bit 0, a
jr nz, .asm_523ff
ld a, $e
ld bc, $80d
call Mansion2Script_5202f
ld a, $e
ld bc, $b06
call Mansion2Script_5202f
ld a, $5f
ld bc, $304
call Mansion2Script_5202f
ld a, $54
ld bc, $808
call Mansion2Script_5202f
ret
.asm_523ff
ld a, $2d
ld bc, $80d
call Mansion2Script_5202f
ld a, $5f
ld bc, $b06
call Mansion2Script_5202f
ld a, $e
ld bc, $304
call Mansion2Script_5202f
ld a, $e
ld bc, $808
call Mansion2Script_5202f
ret
Func_52420: ; 52420 (14:6420)
ld a, [$c109]
cp $4
ret nz
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $9
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp DisplayTextID
Mansion4ScriptPointers: ; 52430 (14:6430)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
Mansion4TextPointers: ; 52436 (14:6436)
dw Mansion4Text1
dw Mansion4Text2
dw Predef5CText
dw Predef5CText
dw Predef5CText
dw Predef5CText
dw Mansion4Text7
dw Predef5CText
dw Mansion3Text6
Mansion4TrainerHeaders: ; 52448 (14:6448)
Mansion4TrainerHeader0: ; 52448 (14:6448)
db $1 ; flag's bit
db ($0 << 4) ; trainer's view range
dw $d84b ; flag's byte
dw Mansion4BattleText1 ; 0x6475 TextBeforeBattle
dw Mansion4AfterBattleText1 ; 0x647f TextAfterBattle
dw Mansion4EndBattleText1 ; 0x647a TextEndBattle
dw Mansion4EndBattleText1 ; 0x647a TextEndBattle
Mansion4TrainerHeader2: ; 52454 (14:6454)
db $2 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d84b ; flag's byte
dw Mansion4BattleText2 ; 0x6484 TextBeforeBattle
dw Mansion4AfterBattleText2 ; 0x648e TextAfterBattle
dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle
dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle
db $ff
Mansion4Text1: ; 52461 (14:6461)
db $08 ; asm
ld hl, Mansion4TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
Mansion4Text2: ; 5246b (14:646b)
db $08 ; asm
ld hl, Mansion4TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
Mansion4BattleText1: ; 52475 (14:6475)
TX_FAR _Mansion4BattleText1
db "@"
Mansion4EndBattleText1: ; 5247a (14:647a)
TX_FAR _Mansion4EndBattleText1
db "@"
Mansion4AfterBattleText1: ; 5247f (14:647f)
TX_FAR _Mansion4AfterBattleText1
db "@"
Mansion4BattleText2: ; 52484 (14:6484)
TX_FAR _Mansion4BattleText2
db "@"
Mansion4EndBattleText2: ; 52489 (14:6489)
TX_FAR _Mansion4EndBattleText2
db "@"
Mansion4AfterBattleText2: ; 5248e (14:648e)
TX_FAR _Mansion4AfterBattleText2
db "@"
Mansion4Text7: ; 52493 (14:6493)
TX_FAR _Mansion4Text7
db "@"

225
scripts/mtmoon1.asm Executable file
View file

@ -0,0 +1,225 @@
MtMoon1Script: ; 499c8 (12:59c8)
call EnableAutoTextBoxDrawing
ld hl, MtMoon1TrainerHeader0
ld de, MtMoon1ScriptPointers
ld a, [W_MTMOON1CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MTMOON1CURSCRIPT], a
ret
MtMoon1ScriptPointers: ; 499db (12:59db)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
MtMoon1TextPointers: ; 499e1 (12:59e1)
dw MtMoon1Text1
dw MtMoon1Text2
dw MtMoon1Text3
dw MtMoon1Text4
dw MtMoon1Text5
dw MtMoon1Text6
dw MtMoon1Text7
dw Predef5CText
dw Predef5CText
dw Predef5CText
dw Predef5CText
dw Predef5CText
dw Predef5CText
dw MtMoon1Text14
MtMoon1TrainerHeaders: ; 499fd (12:59fd)
MtMoon1TrainerHeader0: ; 499fd (12:59fd)
db $1 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d7f5 ; flag's byte
dw MtMoon1BattleText2 ; 0x5a98 TextBeforeBattle
dw MtMoon1AfterBattleText2 ; 0x5aa2 TextAfterBattle
dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle
dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle
MtMoon1TrainerHeader2: ; 49a09 (12:5a09)
db $2 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d7f5 ; flag's byte
dw MtMoon1BattleText3 ; 0x5aa7 TextBeforeBattle
dw MtMoon1AfterBattleText3 ; 0x5ab1 TextAfterBattle
dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle
dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle
MtMoon1TrainerHeader3: ; 49a15 (12:5a15)
db $3 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d7f5 ; flag's byte
dw MtMoon1BattleText4 ; 0x5ab6 TextBeforeBattle
dw MtMoon1AfterBattleText4 ; 0x5ac0 TextAfterBattle
dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle
dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle
MtMoon1TrainerHeader4: ; 49a21 (12:5a21)
db $4 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d7f5 ; flag's byte
dw MtMoon1BattleText5 ; 0x5ac5 TextBeforeBattle
dw MtMoon1AfterBattleText5 ; 0x5acf TextAfterBattle
dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle
dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle
MtMoon1TrainerHeader5: ; 49a2d (12:5a2d)
db $5 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d7f5 ; flag's byte
dw MtMoon1BattleText6 ; 0x5ad4 TextBeforeBattle
dw MtMoon1AfterBattleText6 ; 0x5ade TextAfterBattle
dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle
dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle
MtMoon1TrainerHeader6: ; 49a39 (12:5a39)
db $6 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d7f5 ; flag's byte
dw MtMoon1BattleText7 ; 0x5ae3 TextBeforeBattle
dw MtMoon1AfterBattleText7 ; 0x5aed TextAfterBattle
dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle
dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle
MtMoon1TrainerHeader7: ; 49a45 (12:5a45)
db $7 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d7f5 ; flag's byte
dw MtMoon1BattleText8 ; 0x5af2 TextBeforeBattle
dw MtMoon1AfterBattleText8 ; 0x5afc TextAfterBattle
dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle
dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle
db $ff
MtMoon1Text1: ; 49a52 (12:5a52)
db $08 ; asm
ld hl, MtMoon1TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
MtMoon1Text2: ; 49a5c (12:5a5c)
db $08 ; asm
ld hl, MtMoon1TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
MtMoon1Text3: ; 49a66 (12:5a66)
db $08 ; asm
ld hl, MtMoon1TrainerHeader3
call TalkToTrainer
jp TextScriptEnd
MtMoon1Text4: ; 49a70 (12:5a70)
db $08 ; asm
ld hl, MtMoon1TrainerHeader4
call TalkToTrainer
jp TextScriptEnd
MtMoon1Text5: ; 49a7a (12:5a7a)
db $08 ; asm
ld hl, MtMoon1TrainerHeader5
call TalkToTrainer
jp TextScriptEnd
MtMoon1Text6: ; 49a84 (12:5a84)
db $08 ; asm
ld hl, MtMoon1TrainerHeader6
call TalkToTrainer
jp TextScriptEnd
MtMoon1Text7: ; 49a8e (12:5a8e)
db $08 ; asm
ld hl, MtMoon1TrainerHeader7
call TalkToTrainer
jp TextScriptEnd
MtMoon1BattleText2: ; 49a98 (12:5a98)
TX_FAR _MtMoon1BattleText2
db "@"
MtMoon1EndBattleText2: ; 49a9d (12:5a9d)
TX_FAR _MtMoon1EndBattleText2
db "@"
MtMoon1AfterBattleText2: ; 49aa2 (12:5aa2)
TX_FAR _MtMoon1AfterBattleText2
db "@"
MtMoon1BattleText3: ; 49aa7 (12:5aa7)
TX_FAR _MtMoon1BattleText3
db "@"
MtMoon1EndBattleText3: ; 49aac (12:5aac)
TX_FAR _MtMoon1EndBattleText3
db "@"
MtMoon1AfterBattleText3: ; 49ab1 (12:5ab1)
TX_FAR _MtMoon1AfterBattleText3
db "@"
MtMoon1BattleText4: ; 49ab6 (12:5ab6)
TX_FAR _MtMoon1BattleText4
db "@"
MtMoon1EndBattleText4: ; 49abb (12:5abb)
TX_FAR _MtMoon1EndBattleText4
db "@"
MtMoon1AfterBattleText4: ; 49ac0 (12:5ac0)
TX_FAR _MtMoon1AfterBattleText4
db "@"
MtMoon1BattleText5: ; 49ac5 (12:5ac5)
TX_FAR _MtMoon1BattleText5
db "@"
MtMoon1EndBattleText5: ; 49aca (12:5aca)
TX_FAR _MtMoon1EndBattleText5
db "@"
MtMoon1AfterBattleText5: ; 49acf (12:5acf)
TX_FAR _MtMoon1AfterBattleText5
db "@"
MtMoon1BattleText6: ; 49ad4 (12:5ad4)
TX_FAR _MtMoon1BattleText6
db "@"
MtMoon1EndBattleText6: ; 49ad9 (12:5ad9)
TX_FAR _MtMoon1EndBattleText6
db "@"
MtMoon1AfterBattleText6: ; 49ade (12:5ade)
TX_FAR _MtMoon1AfterBattleText6
db "@"
MtMoon1BattleText7: ; 49ae3 (12:5ae3)
TX_FAR _MtMoon1BattleText7
db "@"
MtMoon1EndBattleText7: ; 49ae8 (12:5ae8)
TX_FAR _MtMoon1EndBattleText7
db "@"
MtMoon1AfterBattleText7: ; 49aed (12:5aed)
TX_FAR _MtMoon1AfterBattleText7
db "@"
MtMoon1BattleText8: ; 49af2 (12:5af2)
TX_FAR _MtMoon1BattleText8
db "@"
MtMoon1EndBattleText8: ; 49af7 (12:5af7)
TX_FAR _MtMoon1EndBattleText8
db "@"
MtMoon1AfterBattleText8: ; 49afc (12:5afc)
TX_FAR _MtMoon1AfterBattleText8
db "@"
MtMoon1Text14: ; 49b01 (12:5b01)
TX_FAR _MtMoon1Text14
db "@"

10
scripts/mtmoon2.asm Executable file
View file

@ -0,0 +1,10 @@
MtMoon2Script: ; 51a42 (14:5a42)
call EnableAutoTextBoxDrawing
ret
MtMoon2TextPointers: ; 51a46 (14:5a46)
dw MtMoonText1
MtMoonText1: ; 51a48 (14:5a48)
TX_FAR _MtMoonText1
db "@"

414
scripts/mtmoon3.asm Executable file
View file

@ -0,0 +1,414 @@
MtMoon3Script: ; 49d0b (12:5d0b)
call EnableAutoTextBoxDrawing
ld hl, MtMoon3TrainerHeader0 ; $5e48
ld de, MtMoon3ScriptPointers
ld a, [W_MTMOON3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MTMOON3CURSCRIPT], a
ld a, [$d7f6]
bit 1, a
ret z
ld hl, CoordsData_49d37
call ArePlayerCoordsInArray
jr nc, .asm_49d31 ; 0x49d29 $6
ld hl, $d72e
set 4, [hl]
ret
.asm_49d31
ld hl, $d72e
res 4, [hl]
ret
CoordsData_49d37: ; 49d37 (12:5d37)
db $05,$0B
db $05,$0C
db $05,$0D
db $05,$0E
db $06,$0B
db $06,$0C
db $06,$0D
db $06,$0E
db $07,$0B
db $07,$0C
db $07,$0D
db $07,$0E
db $08,$0B
db $08,$0C
db $08,$0D
db $08,$0E
db $FF
MtMoon3Script_49d58: ; 49d58 (12:5d58)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_MTMOON3CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
MtMoon3ScriptPointers: ; 49d63 (12:5d63)
dw MtMoon3Script0
dw Func_324c
dw EndTrainerBattle
dw MtMoon3Script3
dw MtMoon3Script4
dw MtMoon3Script5
MtMoon3Script0: ; 49d6f (12:5d6f)
ld a, [$d7f6]
bit 1, a
jp nz, MtMoon3Script_49d91
ld a, [W_YCOORD] ; $d361
cp $8
jp nz, MtMoon3Script_49d91
ld a, [W_XCOORD] ; $d362
cp $d
jp nz, MtMoon3Script_49d91
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp DisplayTextID
MtMoon3Script_49d91: ; 49d91 (12:5d91)
ld a, [$d7f6]
and $c0
jp z, CheckFightingMapTrainers
ret
MtMoon3Script3: ; 49d9a (12:5d9a)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, MtMoon3Script_49d58
call UpdateSprites
call Delay3
ld hl, $d7f6
set 1, [hl]
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_MTMOON3CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
MtMoon3Script4: ; 49dba (12:5dba)
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call SetSpriteMovementBytesToFF
ld hl, CoordsData_49dea
call ArePlayerCoordsInArray
jr c, .asm_49dd7
ld hl, CoordsData_49df1
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
ld de, MovementData_49df9
jr .asm_49dda
.asm_49dd7
ld de, MovementData_49df8
.asm_49dda
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call MoveSprite
ld a, $5
ld [W_MTMOON3CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CoordsData_49dea: ; 49dea (12:5dea)
db $07,$0C
db $06,$0B
db $05,$0C
db $FF
CoordsData_49df1: ; 49df1 (12:5df1)
db $07,$0D
db $06,$0E
db $05,$0E
db $FF
MovementData_49df8: ; 49df8 (12:5df8)
db $C0
MovementData_49df9: ; 49df9 (12:5df9)
db $40,$FF
MtMoon3Script5: ; 49dfb (12:5dfb)
ld a, [$d730]
bit 0, a
ret nz
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [$cc3c], a
ld a, $a
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld a, [$d7f6]
bit 6, a
jr z, .asm_49e1d
ld a, $6e
jr .asm_49e1f
.asm_49e1d
ld a, $6d
.asm_49e1f
ld [$cc4d], a
ld a, $11
call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_MTMOON3CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
MtMoon3TextPointers: ; 49e34 (12:5e34)
dw MtMoon3Text1
dw MtMoon3Text2
dw MtMoon3Text3
dw MtMoon3Text4
dw MtMoon3Text5
dw MtMoon3Text6
dw MtMoon3Text7
dw Predef5CText
dw Predef5CText
dw MtMoon3Text_49f99
MtMoon3TrainerHeaders: ; 49e48 (12:5e48)
MtMoon3TrainerHeader0: ; 49e48 (12:5e48)
db $2 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d7f6 ; flag's byte
dw MtMoon3BattleText2 ; 0x5f9f TextBeforeBattle
dw MtMoon3AfterBattleText2 ; 0x5fa9 TextAfterBattle
dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle
dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle
MtMoon3TrainerHeader2: ; 49e54 (12:5e54)
db $3 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d7f6 ; flag's byte
dw MtMoon3BattleText3 ; 0x5fae TextBeforeBattle
dw MtMoon3AfterBattleText3 ; 0x5fb8 TextAfterBattle
dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle
dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle
MtMoon3TrainerHeader3: ; 49e60 (12:5e60)
db $4 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d7f6 ; flag's byte
dw MtMoon3BattleText4 ; 0x5fbd TextBeforeBattle
dw MtMoon3AfterBattleText4 ; 0x5fc7 TextAfterBattle
dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle
dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle
MtMoon3TrainerHeader4: ; 49e6c (12:5e6c)
db $5 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d7f6 ; flag's byte
dw MtMoon3BattleText5 ; 0x5fcc TextBeforeBattle
dw MtMoon3AfterBattleText5 ; 0x5fd6 TextAfterBattle
dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle
dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle
db $ff
MtMoon3Text1: ; 49e79 (12:5e79)
db $08 ; asm
ld a, [$d7f6]
bit 1, a
jr z, .asm_be1e0 ; 0x49e7f
and $c0
jr nz, .asm_f8cd4 ; 0x49e83
ld hl, MtMoon3Text_49f8f
call PrintText
jr .asm_f1fba ; 0x49e8b
.asm_be1e0 ; 0x49e8d
ld hl, MtMoon3Text_49f85
call PrintText
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, MtMoon3Text_49f8a
ld de, MtMoon3Text_49f8a
call PreBattleSaveRegisters
ldh a, [$8c]
ld [$cf13], a
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $3
ld [W_MTMOON3CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
jr .asm_f1fba ; 0x49eb6
.asm_f8cd4 ; 0x49eb8
ld hl, MtMoon3Text_49f94
call PrintText
.asm_f1fba ; 0x49ebe
jp TextScriptEnd
MtMoon3Text2: ; 49ec1 (12:5ec1)
db $08 ; asm
ld hl, MtMoon3TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
MtMoon3Text3: ; 49ecb (12:5ecb)
db $08 ; asm
ld hl, MtMoon3TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
MtMoon3Text4: ; 49ed5 (12:5ed5)
db $08 ; asm
ld hl, MtMoon3TrainerHeader3
call TalkToTrainer
jp TextScriptEnd
MtMoon3Text5: ; 49edf (12:5edf)
db $08 ; asm
ld hl, MtMoon3TrainerHeader4 ; $5e6c
call TalkToTrainer
jp TextScriptEnd
MtMoon3Text6: ; 49ee9 (12:5ee9)
db $08 ; asm
ld a, $1
ld [$cc3c], a
ld hl, MtMoon3Text_49f24
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .asm_1fa5e ; 0x49efc
ld bc,(DOME_FOSSIL << 8) | 1
call GiveItem
jp nc, MtMoon3Script_49f76
call MtMoon3Script_49f69
ld a, $6d
ld [$cc4d], a
ld a, $11
call Predef
ld hl, $d7f6
set 6, [hl]
ld a, $4
ld [W_MTMOON3CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
.asm_1fa5e ; 0x49f21
jp TextScriptEnd
MtMoon3Text_49f24: ; 49f24 (12:5f24)
TX_FAR _MtMoon3Text_49f24
db "@"
MtMoon3Text7: ; 49f29 (12:5f29)
db $08 ; asm
ld a, $1
ld [$cc3c], a
ld hl, MtMoon3Text_49f64
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .asm_8e988 ; 0x49f3c
ld bc, (HELIX_FOSSIL << 8) | 1
call GiveItem
jp nc, MtMoon3Script_49f76
call MtMoon3Script_49f69
ld a, $6e
ld [$cc4d], a
ld a, $11
call Predef
ld hl, $d7f6
set 7, [hl]
ld a, $4
ld [W_MTMOON3CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
.asm_8e988 ; 0x49f61
jp TextScriptEnd
MtMoon3Text_49f64: ; 49f64 (12:5f64)
TX_FAR _MtMoon3Text_49f64
db "@"
MtMoon3Script_49f69: ; 49f69 (12:5f69)
ld hl, MtMoon3Text_49f6f
jp PrintText
MtMoon3Text_49f6f: ; 49f6f (12:5f6f)
TX_FAR _MtMoon3Text_49f6f ; 0x80995
db $11, $d, "@"
MtMoon3Script_49f76: ; 49f76 (12:5f76)
ld hl, MtMoon3Text_49f7f
call PrintText
jp TextScriptEnd
MtMoon3Text_49f7f: ; 49f7f (12:5f7f)
TX_FAR _MtMoon3Text_49f7f ; 0x809a8
db $d, "@"
MtMoon3Text_49f85: ; 49f85 (12:5f85)
TX_FAR _MtMoon3Text_49f85
db "@"
MtMoon3Text_49f8a: ; 49f8a (12:5f8a)
TX_FAR _MtMoon3Text_49f8a
db "@"
MtMoon3Text_49f8f: ; 49f8f (12:5f8f)
TX_FAR _MtMoon3Text_49f8f
db "@"
MtMoon3Text_49f94: ; 49f94 (12:5f94)
TX_FAR _MtMoon3Text_49f94
db "@"
MtMoon3Text_49f99: ; 49f99 (12:5f99)
TX_FAR _MtMoon3Text_49f99
db $11, "@"
MtMoon3BattleText2: ; 49f9f (12:5f9f)
TX_FAR _MtMoon3BattleText2
db "@"
MtMoon3EndBattleText2: ; 49fa4 (12:5fa4)
TX_FAR _MtMoon3EndBattleText2
db "@"
MtMoon3AfterBattleText2: ; 49fa9 (12:5fa9)
TX_FAR _MtMoon3AfterBattleText2
db "@"
MtMoon3BattleText3: ; 49fae (12:5fae)
TX_FAR _MtMoon3BattleText3
db "@"
MtMoon3EndBattleText3: ; 49fb3 (12:5fb3)
TX_FAR _MtMoon3EndBattleText3
db "@"
MtMoon3AfterBattleText3: ; 49fb8 (12:5fb8)
TX_FAR _MtMoon3AfterBattleText3
db "@"
MtMoon3BattleText4: ; 49fbd (12:5fbd)
TX_FAR _MtMoon3BattleText4
db "@"
MtMoon3EndBattleText4: ; 49fc2 (12:5fc2)
TX_FAR _MtMoon3EndBattleText4
db "@"
MtMoon3AfterBattleText4: ; 49fc7 (12:5fc7)
TX_FAR _MtMoon3AfterBattleText4
db "@"
MtMoon3BattleText5: ; 49fcc (12:5fcc)
TX_FAR _MtMoon3BattleText5
db "@"
MtMoon3EndBattleText5: ; 49fd1 (12:5fd1)
TX_FAR _MtMoon3EndBattleText5
db "@"
MtMoon3AfterBattleText5: ; 49fd6 (12:5fd6)
TX_FAR _MtMoon3AfterBattleText5
db "@"

97
scripts/mtmoonpokecenter.asm Executable file
View file

@ -0,0 +1,97 @@
MtMoonPokecenterScript: ; 492cf (12:52cf)
call Func_22fa
jp EnableAutoTextBoxDrawing
MtMoonPokecenterTextPointers: ; 492d5 (12:52d5)
dw MtMoonPokecenterText1
dw MtMoonPokecenterText2
dw MtMoonPokecenterText3
dw MtMoonPokecenterText4
dw MtMoonPokecenterText5
dw MtMoonPokecenterText6
MtMoonPokecenterText1: ; 492e1 (12:52e1)
db $ff
MtMoonPokecenterText2: ; 492e2 (12:52e2)
TX_FAR _MtMoonPokecenterText1
db "@"
MtMoonPokecenterText3: ; 492e7 (12:52e7)
TX_FAR _MtMoonPokecenterText3
db "@"
MtMoonPokecenterText4: ; 492ec (12:52ec)
db $08 ; asm
ld a, [$d7c6]
add a
jp c, .asm_49353
ld hl, MtMoonPokecenterText_4935c
call PrintText
ld a, $13
ld [$d125], a
call DisplayTextBoxID
call YesNoChoice
ld a, [$cc26]
and a
jp nz, .asm_4934e
ldh [$9f], a
ldh [$a1], a
ld a, $5
ldh [$a0], a
call HasEnoughMoney
jr nc, .asm_faa09 ; 0x49317
ld hl, MtMoonPokecenterText_49366
jr .asm_49356 ; 0x4931c
.asm_faa09 ; 0x4931e
ld bc,(MAGIKARP << 8) | 5
call GivePokemon
jr nc, .asm_49359 ; 0x49324
xor a
ld [wWhichTrade], a
ld [$cd3f], a
ld a, $5
ld [$cd3e], a
ld hl, $cd3f
ld de, $d349
ld c, $3
ld a, $c
call Predef
ld a, $13
ld [$d125], a
call DisplayTextBoxID
ld hl, $d7c6
set 7, [hl]
jr .asm_49359 ; 0x4934c
.asm_4934e ; 0x4934e
ld hl, MtMoonPokecenterText_49361
jr .asm_49356 ; 0x49351
.asm_49353 ; 0x49353
ld hl, MtMoonPokecenterText_4936b
.asm_49356 ; 0x49356
call PrintText
.asm_49359 ; 0x49359
jp TextScriptEnd
MtMoonPokecenterText_4935c: ; 4935c (12:535c)
TX_FAR _MtMoonPokecenterText_4935c
db "@"
MtMoonPokecenterText_49361: ; 49361 (12:5361)
TX_FAR _MtMoonPokecenterText_49361
db "@"
MtMoonPokecenterText_49366: ; 49366 (12:5366)
TX_FAR _MtMoonPokecenterText_49366
db "@"
MtMoonPokecenterText_4936b: ; 4936b (12:536b)
TX_FAR _MtMoonPokecenterText_4936b
db "@"
MtMoonPokecenterText5: ; 49370 (12:5370)
TX_FAR _MtMoonPokecenterText5
db "@"
MtMoonPokecenterText6: ; 49375 (12:5375)
db $f6

253
scripts/museum1f.asm Executable file
View file

@ -0,0 +1,253 @@
Museum1FScript: ; 5c0f7 (17:40f7)
ld a, $1
ld [$cf0c], a
xor a
ld [$cc3c], a
ld hl, Museum1FScriptPointers
ld a, [W_MUSEUM1FCURSCRIPT]
jp CallFunctionInTable
Museum1FScriptPointers: ; 5c109 (17:4109)
dw Museum1FScript0
dw Museum1FScript1
Museum1FScript0: ; 5c10d (17:410d)
ld a, [W_YCOORD]
cp $4
ret nz
ld a, [W_XCOORD]
cp $9
jr z, .asm_5c120 ; 0x5c118 $6
ld a, [W_XCOORD]
cp $a
ret nz
.asm_5c120
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $1
ld [$ff8c], a
jp DisplayTextID
Museum1FScript1: ; 5c12a (17:412a)
ret
Museum1FTextPointers: ; 5c12b (17:412b)
dw Museum1FText1
dw Museum1FText2
dw Museum1FText3
dw Museum1FText4
dw Museum1FText5
Museum1FText1: ; 5c135 (17:4135)
db $8
ld a, [W_YCOORD]
cp $4
jr nz, .asm_8774b
ld a, [W_XCOORD]
cp $d
jp z, Museum1FScript_5c1f9
jr .asm_b8709
.asm_8774b
cp $3
jr nz, .asm_d49e7
ld a, [W_XCOORD]
cp $c
jp z, Museum1FScript_5c1f9
.asm_d49e7
ld a, [$d754]
bit 0, a
jr nz, .asm_31a16
ld hl, Museum1FText_5c23d
call PrintText
jp asm_d1145
.asm_b8709
ld a, [$d754]
bit 0, a
jr z, .asm_3ded4
.asm_31a16
ld hl, Museum1FText_5c242
call PrintText
jp asm_d1145
.asm_3ded4
ld a, $13
ld [$d125], a
call DisplayTextBoxID
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld hl, Museum1FText_5c21f
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .asm_de133
xor a
ld [$ff9f], a
ld [$ffa0], a
ld a, $50
ld [$ffa1], a
call HasEnoughMoney
jr nc, .asm_0f3e3
ld hl, Museum1FText_5c229
call PrintText
jp .asm_de133
.asm_0f3e3
ld hl, Museum1FText_5c224
call PrintText
ld hl, $d754
set 0, [hl]
xor a
ld [$cd3d], a
ld [$cd3e], a
ld a, $50
ld [$cd3f], a
ld hl, $cd3f
ld de, $d349
ld c, $3
ld a, $c
call Predef
ld a, $13
ld [$d125], a
call DisplayTextBoxID
ld a, (SFX_02_5a - SFX_Headers_02) / 3
call PlaySoundWaitForCurrent
call WaitForSoundToFinish
jr .asm_0b094
.asm_de133
ld hl, Museum1FText_5c21a ; $421a
call PrintText
ld a, $1
ld [$cd38], a
ld a, $80
ld [$ccd3], a
call Func_3486
call UpdateSprites
jr asm_d1145
.asm_0b094
ld a, $1
ld [W_MUSEUM1FCURSCRIPT], a
jr asm_d1145
Museum1FScript_5c1f9: ; 5c1f9 (17:41f9)
ld hl, Museum1FText_5c22e
call PrintText
call YesNoChoice
ld a, [$cc26]
cp $0
jr nz, .asm_d1144
ld hl, Museum1FText_5c233
call PrintText
jr asm_d1145
.asm_d1144
ld hl, Museum1FText_5c238
call PrintText
asm_d1145: ; 5c217 (17:4217)
jp TextScriptEnd
Museum1FText_5c21a: ; 5c21a (17:421a)
TX_FAR _Museum1FText_5c21a
db "@"
Museum1FText_5c21f: ; 5c21f (17:421f)
TX_FAR _Museum1FText_5c21f
db "@"
Museum1FText_5c224: ; 5c224 (17:4224)
TX_FAR _Museum1FText_5c224
db "@"
Museum1FText_5c229: ; 5c229 (17:4229)
TX_FAR _Museum1FText_5c229
db "@"
Museum1FText_5c22e: ; 5c22e (17:422e)
TX_FAR _Museum1FText_5c22e
db "@"
Museum1FText_5c233: ; 5c233 (17:4233)
TX_FAR _Museum1FText_5c233
db "@"
Museum1FText_5c238: ; 5c238 (17:4238)
TX_FAR _Museum1FText_5c238
db "@"
Museum1FText_5c23d: ; 5c23d (17:423d)
TX_FAR _Museum1FText_5c23d
db "@"
Museum1FText_5c242: ; 5c242 (17:4242)
TX_FAR _Museum1FText_5c242
db "@"
Museum1FText2: ; 5c247 (17:4247)
db $08 ; asm
ld hl, Museum1FText_5c251
call PrintText
jp TextScriptEnd
Museum1FText_5c251: ; 5c251 (17:4251)
TX_FAR _Museum1FText_5c251
db "@"
Museum1FText3: ; 5c256 (17:4256)
db $08 ; asm
ld a, [$d754]
bit 1, a
jr nz, .asm_16599 ; 0x5c25c
ld hl, Museum1FText_5c28e
call PrintText
ld bc, (OLD_AMBER << 8) | 1
call GiveItem
jr nc, .BagFull
ld hl, $d754
set 1, [hl]
ld a, $34
ld [$cc4d], a
ld a, $11
call Predef
ld hl, ReceivedOldAmberText
jr .asm_52e0f ; 0x5c27e
.BagFull
ld hl, Museum1FText_5c29e
jr .asm_52e0f ; 0x5c283
.asm_16599 ; 0x5c285
ld hl, Museum1FText_5c299
.asm_52e0f ; 0x5c288
call PrintText
jp TextScriptEnd
Museum1FText_5c28e: ; 5c28e (17:428e)
TX_FAR _Museum1FText_5c28e
db "@"
ReceivedOldAmberText: ; 5c293 (17:4293)
TX_FAR _ReceivedOldAmberText
db $0B, "@"
Museum1FText_5c299: ; 5c299 (17:4299)
TX_FAR _Museum1FText_5c299
db "@"
Museum1FText_5c29e: ; 5c29e (17:429e)
TX_FAR _Museum1FText_5c29e
db "@"
Museum1FText4: ; 5c2a3 (17:42a3)
db $08 ; asm
ld hl, Museum1FText_5c2ad
call PrintText
jp TextScriptEnd
Museum1FText_5c2ad: ; 5c2ad (17:42ad)
TX_FAR _Museum1FText_5c2ad
db "@"
Museum1FText5: ; 5c2b2 (17:42b2)
db $08 ; asm
ld hl, Museum1FText_5c2bc
call PrintText
jp TextScriptEnd
Museum1FText_5c2bc: ; 5c2bc (17:42bc)
TX_FAR _Museum1FText_5c2bc
db "@"

39
scripts/museum2f.asm Executable file
View file

@ -0,0 +1,39 @@
Museum2FScript: ; 5c317 (17:4317)
jp EnableAutoTextBoxDrawing
Museum2FTextPointers: ; 5c31a (17:431a)
dw Museum2FText1
dw Museum2FText2
dw Museum2FText3
dw Museum2FText4
dw Museum2FText5
dw Museum2FText6
dw Museum2FText7
Museum2FText1: ; 5c328 (17:4328)
TX_FAR _Museum2FText1
db "@"
Museum2FText2: ; 5c32d (17:432d)
TX_FAR _Museum2FText2
db "@"
Museum2FText3: ; 5c332 (17:4332)
TX_FAR _Museum2FText3
db "@"
Museum2FText4: ; 5c337 (17:4337)
TX_FAR _Museum2FText4
db "@"
Museum2FText5: ; 5c33c (17:433c)
TX_FAR _Museum2FText5
db "@"
Museum2FText6: ; 5c341 (17:4341)
TX_FAR _Museum2FText6
db "@"
Museum2FText7: ; 5c346 (17:4346)
TX_FAR _Museum2FText7
db "@"

109
scripts/namerater.asm Executable file
View file

@ -0,0 +1,109 @@
NameRaterScript: ; 1da12 (7:5a12)
jp EnableAutoTextBoxDrawing
NameRaterScript_1da15: ; 1da15 (7:5a15)
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
ret
NameRaterScript_1da20: ; 1da20 (7:5a20)
ld hl, W_PARTYMON1OT
ld bc, $000b
ld a, [wWhichPokemon]
call AddNTimes
ld de, W_PLAYERNAME
ld c, $b
call .asm_1da47
jr c, .asm_1da52 ; 0x1da34 $1c
ld hl, $d177
ld bc, $002c
ld a, [wWhichPokemon]
call AddNTimes
ld de, $d359
ld c, $2
.asm_1da47
ld a, [de]
cp [hl]
jr nz, .asm_1da52 ; 0x1da49 $7
inc hl
inc de
dec c
jr nz, .asm_1da47 ; 0x1da4e $f7
and a
ret
.asm_1da52
scf
ret
NameRaterTextPointers: ; 1da54 (7:5a54)
dw NameRaterText1
NameRaterText1: ; 1da56 (7:5a56)
db $8
call SaveScreenTilesToBuffer2
ld hl, NameRaterText_1dab3
call NameRaterScript_1da15
jr nz, .asm_1daae ; 0x1da60 $4c
ld hl, NameRaterText_1dab8
call PrintText
xor a
ld [$d07d], a
ld [$cfcb], a
ld [$cc35], a
call DisplayPartyMenu
push af
call GBPalWhiteOutWithDelay3
call Func_3dbe
call LoadGBPal
pop af
jr c, .asm_1daae ; 0x1da80 $2c
call GetPartyMonName2
call NameRaterScript_1da20
ld hl, NameRaterText_1dad1
jr c, .asm_1daa8 ; 0x1da8b $1b
ld hl, NameRaterText_1dabd
call NameRaterScript_1da15
jr nz, .asm_1daae ; 0x1da93 $19
ld hl, NameRaterText_1dac2
call PrintText
ld b, BANK(Func_655c)
ld hl, Func_655c
call Bankswitch
jr c, .asm_1daae ; 0x1daa3 $9
ld hl, NameRaterText_1dac7
.asm_1daa8
call PrintText
jp TextScriptEnd
.asm_1daae
ld hl, NameRaterText_1dacc
jr .asm_1daa8 ; 0x1dab1 $f5
NameRaterText_1dab3: ; 1dab3 (7:5ab3)
TX_FAR _NameRaterText_1dab3
db "@"
NameRaterText_1dab8: ; 1dab8 (7:5ab8)
TX_FAR _NameRaterText_1dab8
db "@"
NameRaterText_1dabd: ; 1dabd (7:5abd)
TX_FAR _NameRaterText_1dabd
db "@"
NameRaterText_1dac2: ; 1dac2 (7:5ac2)
TX_FAR _NameRaterText_1dac2
db "@"
NameRaterText_1dac7: ; 1dac7 (7:5ac7)
TX_FAR _NameRaterText_1dac7
db "@"
NameRaterText_1dacc: ; 1dacc (7:5acc)
TX_FAR _NameRaterText_1dacc
db "@"
NameRaterText_1dad1: ; 1dad1 (7:5ad1)
TX_FAR _NameRaterText_1dad1
db "@"

1244
scripts/oakslab.asm Executable file

File diff suppressed because it is too large Load diff

228
scripts/pallettown.asm Executable file
View file

@ -0,0 +1,228 @@
PalletTownScript: ; 18e5b (6:4e5b)
ld a,[$D74B]
bit 4,a
jr z,.next
ld hl,$D747
set 6,[hl]
.next
call EnableAutoTextBoxDrawing
ld hl,PalletTownScriptPointers
ld a,[W_PALLETTOWNCURSCRIPT]
jp CallFunctionInTable
PalletTownScriptPointers: ; 18e73 (6:4e73)
dw PalletTownScript0
dw PalletTownScript1
dw PalletTownScript2
dw PalletTownScript3
dw PalletTownScript4
dw PalletTownScript5
dw PalletTownScript6
PalletTownScript0: ; 18e81 (6:4e81)
ld a,[$D747]
bit 0,a
ret nz
ld a,[W_YCOORD]
cp 1 ; is player near north exit?
ret nz
xor a
ld [H_CURRENTPRESSEDBUTTONS],a
ld a,4
ld [$D528],a
ld a,$FF
call PlaySound ; stop music
ld a, BANK(Music_MeetProfOak)
ld c,a ; song bank
ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music
call PlayMusic ; plays music
ld a,$FC
ld [wJoypadForbiddenButtonsMask],a
ld hl,$D74B
set 7,[hl]
; trigger the next script
ld a,1
ld [W_PALLETTOWNCURSCRIPT],a
ret
PalletTownScript1: ; 18eb2 (6:4eb2)
xor a
ld [$CF0D],a
ld a,1
ld [$FF8C],a
call DisplayTextID
ld a,$FF
ld [wJoypadForbiddenButtonsMask],a
ld a,0
ld [$CC4D],a
ld a,$15
call Predef
; trigger the next script
ld a,2
ld [W_PALLETTOWNCURSCRIPT],a
ret
PalletTownScript2: ; 18ed2 (6:4ed2)
ld a,1
ld [$FF8C],a
ld a,4
ld [$FF8D],a
call Func_34a6
call Delay3
ld a,1
ld [W_YCOORD],a
ld a,1
ld [$FF9B],a
ld a,1
swap a
ld [$FF95],a
ld a,$22
call Predef
ld hl,$FF95
dec [hl]
ld a,$20
call Predef ; load Oaks movement into $CC97
ld de,$CC97
ld a,1 ; oak
ld [$FF8C],a
call MoveSprite
ld a,$FF
ld [wJoypadForbiddenButtonsMask],a
; trigger the next script
ld a,3
ld [W_PALLETTOWNCURSCRIPT],a
ret
PalletTownScript3: ; 18f12 (6:4f12)
ld a,[$D730]
bit 0,a
ret nz
xor a
ld [$C109],a
ld a,1
ld [$CF0D],a
ld a,$FC
ld [wJoypadForbiddenButtonsMask],a
ld a,1
ld [$FF8C],a
call DisplayTextID
ld a,$FF
ld [wJoypadForbiddenButtonsMask],a
ld a,1
ld [$CF13],a
xor a
ld [$CF10],a
ld a,1
ld [$CC57],a
ld a,[H_LOADEDROMBANK]
ld [$CC58],a
; trigger the next script
ld a,4
ld [W_PALLETTOWNCURSCRIPT],a
ret
PalletTownScript4: ; 18f4b (6:4f4b)
ld a,[$CC57]
and a
ret nz
; trigger the next script
ld a,5
ld [W_PALLETTOWNCURSCRIPT],a
ret
PalletTownScript5: ; 18f56 (6:4f56)
ld a,[$D74A]
bit 2,a
jr nz,.next
and 3
cp 3
jr nz,.next
ld hl,$D74A
set 2,[hl]
ld a,$27
ld [$CC4D],a
ld a,$11
call Predef
ld a,$28
ld [$CC4D],a
ld a,$15
jp Predef
.next
ld a,[$D74B]
bit 4,a
ret z
ld hl,$D74B
set 6,[hl]
PalletTownScript6: ; 18f87 (6:4f87)
ret
PalletTownTextPointers: ; 18f88 (6:4f88)
dw PalletTownText1
dw PalletTownText2
dw PalletTownText3
dw PalletTownText4
dw PalletTownText5
dw PalletTownText6
dw PalletTownText7
PalletTownText1: ; 18f96 (6:4f96)
db 8
ld a,[$CF0D]
and a
jr nz,.next
ld a,1
ld [$CC3C],a
ld hl,OakAppearsText
jr .done
.next
ld hl,OakWalksUpText
.done
call PrintText
jp TextScriptEnd
OakAppearsText: ; 18fb0 (6:4fb0)
TX_FAR _OakAppearsText
db 8
ld c,10
call DelayFrames
xor a
ld [$CD4F],a
ld [$CD50],a
ld a,$4C
call Predef ; display ! over head
ld a,4
ld [$D528],a
jp TextScriptEnd
OakWalksUpText: ; 18fce (6:4fce)
TX_FAR _OakWalksUpText
db "@"
PalletTownText2: ; 0x18fd3 girl
TX_FAR _PalletTownText2
db "@"
PalletTownText3: ; 0x18fd8 fat man
TX_FAR _PalletTownText3
db "@"
PalletTownText4: ; 0x18fdd sign by lab
TX_FAR _PalletTownText4
db "@"
PalletTownText5: ; 0x18fe2 sign by fence
TX_FAR _PalletTownText5
db "@"
PalletTownText6: ; 0x18fe7 sign by Reds house
TX_FAR _PalletTownText6
db "@"
PalletTownText7: ; 0x18fec sign by Blues house
TX_FAR _PalletTownText7
db "@"

321
scripts/pewtercity.asm Executable file
View file

@ -0,0 +1,321 @@
PewterCityScript: ; 19237 (6:5237)
call EnableAutoTextBoxDrawing
ld hl, PewterCityScriptPointers
ld a, [W_PEWTERCITYCURSCRIPT]
jp CallFunctionInTable
PewterCityScriptPointers: ; 19243 (6:5243)
dw PewterCityScript0
dw PewterCityScript1
dw PewterCityScript2
dw PewterCityScript3
dw PewterCityScript4
dw PewterCityScript5
dw PewterCityScript6
PewterCityScript0: ; 19251 (6:5251)
xor a
ld [W_MUSEUM1FCURSCRIPT], a
ld hl, $d754
res 0, [hl]
call PewterCityScript_1925e
ret
PewterCityScript_1925e: ; 1925e (6:525e)
ld a, [$d755]
bit 7, a
ret nz
ld hl, CoordsData_19277
call ArePlayerCoordsInArray
ret nc
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld a, $5
ld [$ff8c], a
jp DisplayTextID
CoordsData_19277: ; 19277 (6:5277)
db $11,$23
db $11,$24
db $12,$25
db $13,$25
db $ff
PewterCityScript1: ; 19280 (6:5280)
ld a, [$cc57]
and a
ret nz
ld a, $3
ld [$ff8c], a
ld a, $4
ld [$ff8d], a
call Func_34a6
ld a, $34
ld [$ff8d], a
call Func_34b9
call Func_2307
ld hl, wFlags_0xcd60
set 4, [hl]
ld a, $d
ld [$ff8c], a
call DisplayTextID
ld a, $3c
ld [$ffeb], a
ld a, $30
ld [$ffec], a
ld a, $c
ld [$ffed], a
ld a, $11
ld [$ffee], a
ld a, $3
ld [$cf13], a
call Func_32f9
ld a, $3
ld [$ff8c], a
ld de, MovementData_PewterMuseumGuyExit ; $52ce
call MoveSprite
ld a, $2
ld [W_PEWTERCITYCURSCRIPT], a
ret
MovementData_PewterMuseumGuyExit: ; 192ce (6:52ce)
db $00,$00,$00,$00,$FF
PewterCityScript2: ; 192d3 (6:52d3)
ld a, [$d730]
bit 0, a
ret nz
ld a, $3
ld [$cc4d], a
ld a, $11
call Predef
ld a, $3
ld [W_PEWTERCITYCURSCRIPT], a
ret
PewterCityScript3: ; 192e9 (6:52e9)
ld a, $3
ld [$cf13], a
call Func_32fe
ld a, $3
ld [$cc4d], a
ld a, $15
call Predef
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_PEWTERCITYCURSCRIPT], a
ret
PewterCityScript4: ; 19305 (6:5305)
ld a, [$cc57]
and a
ret nz
ld a, $5
ld [$ff8c], a
ld a, $8
ld [$ff8d], a
call Func_34a6
ld a, $18
ld [$ff8d], a
call Func_34b9
call Func_2307
ld hl, wFlags_0xcd60
set 4, [hl]
ld a, $e
ld [$ff8c], a
call DisplayTextID
ld a, $3c
ld [$ffeb], a
ld a, $40
ld [$ffec], a
ld a, $16
ld [$ffed], a
ld a, $10
ld [$ffee], a
ld a, $5
ld [$cf13], a
call Func_32f9
ld a, $5
ld [$ff8c], a
ld de, MovementData_PewterGymGuyExit
call MoveSprite
ld a, $5
ld [W_PEWTERCITYCURSCRIPT], a
ret
MovementData_PewterGymGuyExit: ; 19353 (6:5353)
db $C0,$C0,$C0,$C0,$C0,$FF
PewterCityScript5: ; 19359 (6:5359)
ld a, [$d730]
bit 0, a
ret nz
ld a, $4
ld [$cc4d], a
ld a, $11
call Predef
ld a, $6
ld [W_PEWTERCITYCURSCRIPT], a
ret
PewterCityScript6: ; 1936f (6:536f)
ld a, $5
ld [$cf13], a
call Func_32fe
ld a, $4
ld [$cc4d], a
ld a, $15
call Predef
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_PEWTERCITYCURSCRIPT], a
ret
PewterCityTextPointers: ; 1938b (6:538b)
dw PewterCityText1
dw PewterCityText2
dw PewterCityText3
dw PewterCityText4
dw PewterCityText5
dw PewterCityText6
dw PewterCityText7
dw MartSignText
dw PokeCenterSignText
dw PewterCityText10
dw PewterCityText11
dw PewterCityText12
dw PewterCityText13
dw PewterCityText14
PewterCityText1: ; 193a7 (6:53a7)
TX_FAR _PewterCityText1
db "@"
PewterCityText2: ; 193ac (6:53ac)
TX_FAR _PewterCityText2
db "@"
PewterCityText3: ; 193b1 (6:53b1)
db $08 ; asm
ld hl, PewterCityText_193f1
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .asm_f46a9 ; 0x193bf
ld hl, PewterCityText_193f6
call PrintText
jr .asm_ac429 ; 0x193c7
.asm_f46a9 ; 0x193c9
ld hl, PewterCityText_193fb
call PrintText
xor a
ldh [$b3], a
ldh [$b4], a
ld [$cf10], a
ld a, $2
ld [$cc57], a
ldh a, [$b8]
ld [$cc58], a
ld a, $3
ld [$cf13], a
call Func_32f4
ld a, $1
ld [W_PEWTERCITYCURSCRIPT], a
.asm_ac429 ; 0x193ee
jp TextScriptEnd
PewterCityText_193f1: ; 193f1 (6:53f1)
TX_FAR _PewterCityText_193f1
db "@"
PewterCityText_193f6: ; 193f6 (6:53f6)
TX_FAR _PewterCityText_193f6
db "@"
PewterCityText_193fb: ; 193fb (6:53fb)
TX_FAR _PewterCityText_193fb
db "@"
PewterCityText13: ; 19400 (6:5400)
TX_FAR _PewterCityText13
db "@"
PewterCityText4: ; 19405 (6:5405)
db $8
ld hl, PewterCityText_19427
call PrintText
call YesNoChoice
ld a, [$cc26]
cp $0
jr nz, .asm_e4603
ld hl, PewterCityText_1942c
call PrintText
jr .asm_e4604 ; 0x1941c $6
.asm_e4603
ld hl, PewterCityText_19431
call PrintText
.asm_e4604 ; 0x19424
jp TextScriptEnd
PewterCityText_19427: ; 19427 (6:5427)
TX_FAR _PewterCityText_19427
db "@"
PewterCityText_1942c: ; 1942c (6:542c)
TX_FAR _PewterCityText_1942c
db "@"
PewterCityText_19431: ; 19431 (6:5431)
TX_FAR _PewterCityText_19431
db "@"
PewterCityText5: ; 19436 (6:5436)
db $08 ; asm
ld hl, PewterCityText_1945d
call PrintText
xor a
ldh [$b4], a
ld [$cf10], a
ld a, $3
ld [$cc57], a
ldh a, [$b8]
ld [$cc58], a
ld a, $5
ld [$cf13], a
call Func_32f4
ld a, $4
ld [W_PEWTERCITYCURSCRIPT], a
jp TextScriptEnd
PewterCityText_1945d: ; 1945d (6:545d)
TX_FAR _PewterCityText_1945d
db "@"
PewterCityText14: ; 19462 (6:5462)
PewterCityText_19462: ; 19462 (6:5462)
TX_FAR _PewterCityText_19462
db "@"
PewterCityText6: ; 19467 (6:5467)
TX_FAR _PewterCityText6
db "@"
PewterCityText7: ; 1946c (6:546c)
TX_FAR _PewterCityText7
db "@"
PewterCityText10: ; 19471 (6:5471)
TX_FAR _PewterCityText10
db "@"
PewterCityText11: ; 19476 (6:5476)
TX_FAR _PewterCityText11
db "@"
PewterCityText12: ; 1947b (6:547b)
TX_FAR _PewterCityText12
db "@"

237
scripts/pewtergym.asm Executable file
View file

@ -0,0 +1,237 @@
PewterGymScript: ; 5c387 (17:4387)
ld hl, $d126
bit 6, [hl]
res 6, [hl]
call nz, PewterGymScript_5c3a4
call EnableAutoTextBoxDrawing
ld hl, PewterGymTrainerHeaders
ld de, PewterGymScriptPointers
ld a, [W_PEWTERGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_PEWTERGYMCURSCRIPT], a
ret
PewterGymScript_5c3a4: ; 5c3a4 (17:43a4)
ld hl, Gym1CityName ; $43ad
ld de, Gym1LeaderName ; $43b9
jp LoadGymLeaderAndCityName
Gym1CityName: ; 5c3ad (17:43ad)
db "PEWTER CITY@"
Gym1LeaderName: ; 5c3b9 (17:43b9)
db "BROCK@"
PewterGymScript_5c3bf: ; 5c3bf (17:43bf)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_PEWTERGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PewterGymScriptPointers: ; 5c3ca (17:43ca)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
dw PewterGymScript3
PewterGymScript3: ; 5c3d2 (17:43d2)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, PewterGymScript_5c3bf
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
PewterGymScript_5c3df: ; 5c3df (17:43df)
ld a, $4
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld hl, $d755
set 7, [hl]
ld bc, (TM_34 << 8) | 1
call GiveItem
jr nc, .BagFull
ld a, $5
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld hl, $d755
set 6, [hl]
jr .asm_5c408
.BagFull
ld a, $6
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
.asm_5c408
ld hl, W_OBTAINEDBADGES
set 0, [hl]
ld hl, $d72a
set 0, [hl]
ld a, $4
ld [$cc4d], a
ld a, $11
call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
ld a, $22
ld [$cc4d], a
ld a, $11
call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
ld hl, $d7eb
res 0, [hl]
res 7, [hl]
; deactivate gym trainers
ld hl, $d755
set 2, [hl]
jp PewterGymScript_5c3bf
PewterGymTextPointers: ; 5c435 (17:4435)
dw PewterGymText1
dw PewterGymText2
dw PewterGymText3
dw PewterGymText4
dw PewterGymText5
dw PewterGymText6
PewterGymTrainerHeaders: ; 5c441 (17:4441)
PewterGymTrainerHeader0: ; 5c441 (17:4441)
db $2 ; flag's bit
db ($5 << 4) ; trainer's view range
dw $d755 ; flag's byte
dw PewterGymBattleText1 ; 0x44d0 TextBeforeBattle
dw PewterGymAfterBattleText1 ; 0x44da TextAfterBattle
dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle
dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle
db $ff
PewterGymText1: ; 5c44e (17:444e)
db $08 ; asm
ld a, [$d755]
bit 7, a
jr z, .asm_4a735 ; 0x5c454
bit 6, a
jr nz, .asm_ff7d0 ; 0x5c458
call z, PewterGymScript_5c3df
call DisableWaitingAfterTextDisplay
jr .asm_e0ffb ; 0x5c460
.asm_ff7d0 ; 0x5c462
ld hl, PewterGymText_5c4a3
call PrintText
jr .asm_e0ffb ; 0x5c468
.asm_4a735 ; 0x5c46a
ld hl, PewterGymText_5c49e
call PrintText
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, PewterGymText_5c4bc
ld de, PewterGymText_5c4bc
call PreBattleSaveRegisters
ldh a, [$8c]
ld [$cf13], a
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $1
ld [$d05c], a
xor a
ldh [$b4], a
ld a, $3
ld [W_PEWTERGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
.asm_e0ffb ; 0x5c49b
jp TextScriptEnd
PewterGymText_5c49e: ; 5c49e (17:449e)
TX_FAR _PewterGymText_5c49e
db "@"
PewterGymText_5c4a3: ; 5c4a3 (17:44a3)
TX_FAR _PewterGymText_5c4a3
db "@"
PewterGymText4: ; 5c4a8 (17:44a8)
TX_FAR _TM34PreReceiveText
db "@"
PewterGymText5: ; 5c4ad (17:44ad)
TX_FAR _ReceivedTM34Text
db $0B
TX_FAR _TM34ExplanationText
db "@"
PewterGymText6: ; 5c4b7 (17:44b7)
TX_FAR _TM34NoRoomText
db "@"
PewterGymText_5c4bc: ; 5c4bc (17:44bc)
TX_FAR _PewterGymText_5c4bc
db $0B
TX_FAR _PewterGymText_5c4c1
db "@"
PewterGymText2: ; 5c4c6 (17:44c6)
db $08 ; asm
ld hl, PewterGymTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
PewterGymBattleText1: ; 5c4d0 (17:44d0)
TX_FAR _PewterGymBattleText1
db "@"
PewterGymEndBattleText1: ; 5c4d5 (17:44d5)
TX_FAR _PewterGymEndBattleText1
db "@"
PewterGymAfterBattleText1: ; 5c4da (17:44da)
TX_FAR _PewterGymAfterBattleText1
db "@"
PewterGymText3: ; 5c4df (17:44df)
db $08 ; asm
ld a, [$d72a]
bit 0, a
jr nz, .asm_71369 ; 0x5c4e5
ld hl, PewterGymText_5c515
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
jr nz, .asm_6123a ; 0x5c4f4
ld hl, PewterGymText_5c51a
call PrintText
jr .asm_d1578 ; 0x5c4fc
.asm_6123a ; 0x5c4fe
ld hl, PewterGymText_5c524
call PrintText
.asm_d1578 ; 0x5c504
ld hl, PewterGymText_5c51f
call PrintText
jr .asm_07013 ; 0x5c50a
.asm_71369 ; 0x5c50c
ld hl, PewterGymText_5c529
call PrintText
.asm_07013 ; 0x5c512
jp TextScriptEnd
PewterGymText_5c515: ; 5c515 (17:4515)
TX_FAR _PewterGymText_5c515
db "@"
PewterGymText_5c51a: ; 5c51a (17:451a)
TX_FAR _PewterGymText_5c51a
db "@"
PewterGymText_5c51f: ; 5c51f (17:451f)
TX_FAR _PewterGymText_5c51f
db "@"
PewterGymText_5c524: ; 5c524 (17:4524)
TX_FAR _PewterGymText_5c524
db "@"
PewterGymText_5c529: ; 5c529 (17:4529)
TX_FAR _PewterGymText_5c529
db "@"

23
scripts/pewterhouse1.asm Executable file
View file

@ -0,0 +1,23 @@
PewterHouse1Script: ; 1d5f3 (7:55f3)
jp EnableAutoTextBoxDrawing
PewterHouse1TextPointers: ; 1d5f6 (7:55f6)
dw PewterHouse1Text1
dw PewterHouse1Text2
dw PewterHouse1Text3
PewterHouse1Text1: ; 1d5fc (7:55fc)
TX_FAR _PewterHouse1Text1
db $08 ; asm
ld a, NIDORAN_M
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
PewterHouse1Text2: ; 1d60c (7:560c)
TX_FAR _PewterHouse1Text2
db "@"
PewterHouse1Text3: ; 1d611 (7:5611)
TX_FAR _PewterHouse1Text3
db "@"

14
scripts/pewterhouse2.asm Executable file
View file

@ -0,0 +1,14 @@
PewterHouse2Script: ; 1d648 (7:5648)
jp EnableAutoTextBoxDrawing
PewterHouse2TextPointers: ; 1d64b (7:564b)
dw PewterHouse2Text1
dw PewterHouse2Text2
PewterHouse2Text1: ; 1d64f (7:564f)
TX_FAR _PewterHouse2Text1
db "@"
PewterHouse2Text2: ; 1d654 (7:5654)
TX_FAR _PewterHouse2Text2
db "@"

30
scripts/pewtermart.asm Executable file
View file

@ -0,0 +1,30 @@
PewterMartScript: ; 74cad (1d:4cad)
call EnableAutoTextBoxDrawing
ld a, $1
ld [$cf0c], a
ret
PewterMartTextPointers: ; 74cb6 (1d:4cb6)
dw PewterMartText1
dw PewterMartText2
dw PewterMartText3
PewterMartText2: ; 74cbc (1d:4cbc)
db $08 ; asm
ld hl, PewterMartText_74cc6
call PrintText
jp TextScriptEnd
PewterMartText_74cc6: ; 74cc6 (1d:4cc6)
TX_FAR _PewterMartText_74cc6
db "@"
PewterMartText3: ; 74ccb (1d:4ccb)
db $08 ; asm
ld hl, PewterMartText_74cd5
call PrintText
jp TextScriptEnd
PewterMartText_74cd5: ; 74cd5 (1d:4cd5)
TX_FAR _PewterMartText_74cd5
db "@"

75
scripts/pewterpokecenter.asm Executable file
View file

@ -0,0 +1,75 @@
PewterPokecenterScript: ; 5c587 (17:4587)
call Func_22fa
jp EnableAutoTextBoxDrawing
PewterPokecenterTextPointers: ; 5c58d (17:458d)
dw PewterPokecenterText1
dw PewterPokecenterText2
dw PewterPokecenterText3
dw PewterPokecenterText4
PewterPokecenterText1: ; 5c595 (17:4595)
db $ff
PewterPokecenterText2: ; 5c596 (17:4596)
TX_FAR _PewterPokecenterText1
db "@"
PewterPokecenterText3: ; 5c59b (17:459b)
db $8
ld a, $1
ld [$cc3c], a
ld hl, PewterPokecenterText5
call PrintText
ld a, $ff
call PlaySound
ld c, $20
call DelayFrames
ld hl, Unknown_5c608 ; $4608
ld de, $cd3f
ld bc, $0004
call CopyData
ld a, [$c132]
ld hl, $cd3f
.asm_5c5c3
cp [hl]
inc hl
jr nz, .asm_5c5c3 ; 0x5c5c5 $fc
dec hl
push hl
ld c, BANK(Music_JigglypuffSong)
ld a, MUSIC_JIGGLYPUFF_SONG
call PlayMusic
pop hl
.asm_5c5d1
ld a, [hl]
ld [$c132], a
push hl
ld hl, $cd3f
ld de, $cd3e
ld bc, $0004
call CopyData
ld a, [$cd3e]
ld [$cd42], a
pop hl
ld c, $18
call DelayFrames
ld a, [$c026]
ld b, a
ld a, [$c027]
or b
jr nz, .asm_5c5d1 ; 0x5c5f6 $d9
ld c, $30
call DelayFrames
call Func_2307
jp TextScriptEnd
PewterPokecenterText5: ; 5c603 (17:4603)
TX_FAR _PewterPokecenterText5
db "@"
Unknown_5c608: ; 5c608 (17:4608)
db $30, $38, $34, $3c
PewterPokecenterText4: ; 5c60c (17:460c)
db $f6

29
scripts/pokemontower1.asm Executable file
View file

@ -0,0 +1,29 @@
PokemonTower1Script: ; 6042c (18:442c)
jp EnableAutoTextBoxDrawing
PokemonTower1TextPointers: ; 6042f (18:442f)
dw PokemonTower1Text1
dw PokemonTower1Text2
dw PokemonTower1Text3
dw PokemonTower1Text4
dw PokemonTower1Text5
PokemonTower1Text1: ; 60439 (18:4439)
TX_FAR _PokemonTower1Text1
db "@"
PokemonTower1Text2: ; 6043e (18:443e)
TX_FAR _PokemonTower1Text2
db "@"
PokemonTower1Text3: ; 60443 (18:4443)
TX_FAR _PokemonTower1Text3
db "@"
PokemonTower1Text4: ; 60448 (18:4448)
TX_FAR _PokemonTower1Text4
db "@"
PokemonTower1Text5: ; 6044d (18:444d)
TX_FAR _PokemonTower1Text5
db "@"

180
scripts/pokemontower2.asm Executable file
View file

@ -0,0 +1,180 @@
PokemonTower2Script: ; 604f2 (18:44f2)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower2ScriptPointers
ld a, [W_POKEMONTOWER2CURSCRIPT]
jp CallFunctionInTable
PokemonTower2Script_604fe: ; 604fe (18:44fe)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_POKEMONTOWER2CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower2ScriptPointers: ; 60509 (18:4509)
dw PokemonTower2Script0
dw PokemonTower2Script1
dw PokemonTower2Script2
PokemonTower2Script0: ; 6050f (18:450f)
ld a, [$d764]
bit 7, a
ret nz
ld hl, CoordsData_6055e ; $455e
call ArePlayerCoordsInArray
ret nc
ld a, $ff
ld [$c0ee], a
call PlaySound
ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL
call PlayMusic
ld hl, $d764
res 6, [hl]
ld a, [$cd3d]
cp $1
ld a, $8
ld b, $0
jr nz, .asm_60544 ; 0x60539 $9
ld hl, $d764
set 6, [hl]
ld a, $2
ld b, $c
.asm_60544
ld [$d528], a
ld a, $1
ld [$ff8c], a
ld a, b
ld [$ff8d], a
call Func_34a6
ld a, $1
ld [$ff8c], a
call DisplayTextID
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld [H_NEWLYPRESSEDBUTTONS], a
ret
CoordsData_6055e: ; 6055e (18:455e)
db $05,$0F
db $06,$0E
db $0F ; isn't this supposed to end in $ff?
PokemonTower2Script1: ; 60563 (18:4563)
ld a, [$d057]
cp $ff
jp z, PokemonTower2Script_604fe
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld hl, $d764
set 7, [hl]
ld a, $1
ld [$ff8c], a
call DisplayTextID
ld de, MovementData_605b2
ld a, [$d764]
bit 6, a
jr nz, .asm_60589 ; 0x60584 $3
ld de, MovementData_605a9
.asm_60589
ld a, $1
ld [$ff8c], a
call MoveSprite
ld a, $ff
ld [$c0ee], a
call PlaySound
ld b, BANK(Music_RivalAlternateStart)
ld hl, Music_RivalAlternateStart
call Bankswitch
ld a, $2
ld [W_POKEMONTOWER2CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
MovementData_605a9: ; 605a9 (18:45a9)
db $C0,$00,$00,$C0,$00,$00,$C0,$C0,$FF
MovementData_605b2: ; 605b2 (18:45b2)
db $00,$00,$C0,$C0,$C0,$C0,$00,$00,$FF
PokemonTower2Script2: ; 605bb (18:45bb)
ld a, [$d730]
bit 0, a
ret nz
ld a, $38
ld [$cc4d], a
ld a, $11
call Predef
xor a
ld [wJoypadForbiddenButtonsMask], a
call Func_2307
ld a, $0
ld [W_POKEMONTOWER2CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower2TextPointers: ; 605db (18:45db)
dw PokemonTower2Text1
dw PokemonTower2Text2
PokemonTower2Text1: ; 605df (18:45df)
db $08 ; asm
ld a, [$d764]
bit 7, a
jr z, .asm_16f24 ; 0x605e5
ld hl, PokemonTower2Text_6063c
call PrintText
jr .asm_41852 ; 0x605ed
.asm_16f24 ; 0x605ef
ld hl, PokemonTower2Text_6062d
call PrintText
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, PokemonTower2Text_60632
ld de, PokemonTower2Text_60637 ; XXX $4637
call PreBattleSaveRegisters
ld a, SONY2 + $c8
ld [W_CUROPPONENT], a
; select which team to use during the encounter
ld a, [W_RIVALSTARTER]
cp SQUIRTLE
jr nz, .NotSquirtle ; 0x6060f
ld a, $4
jr .done
.NotSquirtle ; 0x60615
cp BULBASAUR
jr nz, .Charmander ; 0x60617
ld a, $5
jr .done
.Charmander ; 0x6061d
ld a, $6
.done
ld [W_TRAINERNO], a
ld a, $1
ld [W_POKEMONTOWER2CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
.asm_41852 ; 0x6062a
jp TextScriptEnd
PokemonTower2Text_6062d: ; 6062d (18:462d)
TX_FAR _PokemonTower2Text_6062d
db "@"
PokemonTower2Text_60632: ; 60632 (18:4632)
TX_FAR _PokemonTower2Text_60632
db "@"
PokemonTower2Text_60637: ; 60637 (18:4637)
TX_FAR _PokemonTower2Text_60637
db "@"
PokemonTower2Text_6063c: ; 6063c (18:463c)
TX_FAR _PokemonTower2Text_6063c
db "@"
PokemonTower2Text2: ; 60641 (18:4641)
TX_FAR _PokemonTower2Text2
db "@"

102
scripts/pokemontower3.asm Executable file
View file

@ -0,0 +1,102 @@
PokemonTower3Script: ; 606cc (18:46cc)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower3TrainerHeaders
ld de, PokemonTower3ScriptPointers
ld a, [W_POKEMONTOWER3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER3CURSCRIPT], a
ret
PokemonTower3ScriptPointers: ; 606df (18:46df)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
PokemonTower3TextPointers: ; 606e5 (18:46e5)
dw PokemonTower3Text1
dw PokemonTower3Text2
dw PokemonTower3Text3
dw Predef5CText
PokemonTower3TrainerHeaders: ; 606ed (18:46ed)
PokemonTower3TrainerHeader0: ; 606ed (18:46ed)
db $1 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d765 ; flag's byte
dw PokemonTower3BattleText1 ; 0x4730 TextBeforeBattle
dw PokemonTower3AfterBattleText1 ; 0x473a TextAfterBattle
dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle
dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle
PokemonTower3TrainerHeader1: ; 606f9 (18:46f9)
db $2 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d765 ; flag's byte
dw PokemonTower3BattleText2 ; 0x473f TextBeforeBattle
dw PokemonTower3AfterBattleText2 ; 0x4749 TextAfterBattle
dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle
dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle
PokemonTower3TrainerHeader2: ; 60705 (18:4705)
db $3 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d765 ; flag's byte
dw PokemonTower3BattleText3 ; 0x474e TextBeforeBattle
dw PokemonTower3AfterBattleText3 ; 0x4758 TextAfterBattle
dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle
dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle
db $ff
PokemonTower3Text1: ; 60712 (18:4712)
db $08 ; asm
ld hl, PokemonTower3TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
PokemonTower3Text2: ; 6071c (18:471c)
db $08 ; asm
ld hl, PokemonTower3TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
PokemonTower3Text3: ; 60726 (18:4726)
db $08 ; asm
ld hl, PokemonTower3TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
PokemonTower3BattleText1: ; 60730 (18:4730)
TX_FAR _PokemonTower3BattleText1
db "@"
PokemonTower3EndBattleText1: ; 60735 (18:4735)
TX_FAR _PokemonTower3EndBattleText1
db "@"
PokemonTower3AfterBattleText1: ; 6073a (18:473a)
TX_FAR _PokemonTower3AfterBattleText1
db "@"
PokemonTower3BattleText2: ; 6073f (18:473f)
TX_FAR _PokemonTower3BattleText2
db "@"
PokemonTower3EndBattleText2: ; 60744 (18:4744)
TX_FAR _PokemonTower3EndBattleText2
db "@"
PokemonTower3AfterBattleText2: ; 60749 (18:4749)
TX_FAR _PokemonTower3AfterBattleText2
db "@"
PokemonTower3BattleText3: ; 6074e (18:474e)
TX_FAR _PokemonTower3BattleText3
db "@"
PokemonTower3EndBattleText3: ; 60753 (18:4753)
TX_FAR _PokemonTower3EndBattleText3
db "@"
PokemonTower3AfterBattleText3: ; 60758 (18:4758)
TX_FAR _PokemonTower3AfterBattleText3
db "@"

105
scripts/pokemontower4.asm Executable file
View file

@ -0,0 +1,105 @@
PokemonTower4Script: ; 607f6 (18:47f6)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower4TrainerHeaders
ld de, PokemonTower4ScriptPointers
ld a, [W_POKEMONTOWER4CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER4CURSCRIPT], a
ret
PokemonTower4ScriptPointers: ; 60809 (18:4809)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
PokemonTower4TextPointers: ; 6080f (18:480f)
dw PokemonTower4Text1
dw PokemonTower4Text2
dw PokemonTower4Text3
dw Predef5CText
dw Predef5CText
dw Predef5CText
PokemonTower4TrainerHeaders: ; 6081b (18:481b)
PokemonTower4TrainerHeader0: ; 6081b (18:481b)
db $1 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d766 ; flag's byte
dw PokemonTower4BattleText1 ; 0x485e TextBeforeBattle
dw PokemonTower4AfterBattleText1 ; 0x4868 TextAfterBattle
dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle
dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle
PokemonTower4TrainerHeader1: ; 60827 (18:4827)
db $2 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d766 ; flag's byte
dw PokemonTower4BattleText2 ; 0x486d TextBeforeBattle
dw PokemonTower4AfterBattleText2 ; 0x4877 TextAfterBattle
dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle
dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle
PokemonTower4TrainerHeader2: ; 60833 (18:4833)
db $3 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d766 ; flag's byte
dw PokemonTower4BattleText3 ; 0x487c TextBeforeBattle
dw PokemonTower4AfterBattleText3 ; 0x4886 TextAfterBattle
dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle
dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle
db $ff
PokemonTower4Text1: ; 60840 (18:4840)
db $08 ; asm
ld hl, PokemonTower4TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
PokemonTower4Text2: ; 6084a (18:484a)
db $08 ; asm
ld hl, PokemonTower4TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
PokemonTower4Text3: ; 60854 (18:4854)
db $08 ; asm
ld hl, PokemonTower4TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
PokemonTower4BattleText1: ; 6085e (18:485e)
TX_FAR _PokemonTower4BattleText1
db "@"
PokemonTower4EndBattleText1: ; 60863 (18:4863)
TX_FAR _PokemonTower4EndBattleText1
db "@"
PokemonTower4AfterBattleText1: ; 60868 (18:4868)
TX_FAR _PokemonTower4AfterBattleText1
db "@"
PokemonTower4BattleText2: ; 6086d (18:486d)
TX_FAR _PokemonTower4BattleText2
db "@"
PokemonTower4EndBattleText2: ; 60872 (18:4872)
TX_FAR _PokemonTower4EndBattleText2
db "@"
PokemonTower4AfterBattleText2: ; 60877 (18:4877)
TX_FAR _PokemonTower4AfterBattleText2
db "@"
PokemonTower4BattleText3: ; 6087c (18:487c)
TX_FAR _PokemonTower4BattleText3
db "@"
PokemonTower4EndBattleText3: ; 60881 (18:4881)
TX_FAR _PokemonTower4EndBattleText3
db "@"
PokemonTower4AfterBattleText3: ; 60886 (18:4886)
TX_FAR _PokemonTower4AfterBattleText3
db "@"

181
scripts/pokemontower5.asm Executable file
View file

@ -0,0 +1,181 @@
PokemonTower5Script: ; 60932 (18:4932)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower5TrainerHeaders
ld de, PokemonTower5ScriptPointers
ld a, [W_POKEMONTOWER5CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER5CURSCRIPT], a
ret
PokemonTower5ScriptPointers: ; 60945 (18:4945)
dw PokemonTower5Script0
dw Func_324c
dw EndTrainerBattle
PokemonTower5Script0: ; 6094b (18:494b)
ld hl, CoordsData_60992 ; $4992
call ArePlayerCoordsInArray
jr c, .asm_60960
ld hl, $d72e
res 4, [hl]
ld hl, $d767
res 7, [hl]
jp CheckFightingMapTrainers
.asm_60960
ld hl, $d767
bit 7, [hl]
set 7, [hl]
ret nz
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld hl, $d72e
set 4, [hl]
ld a, $7
call Predef ; indirect jump to HealParty (f6a5 (3:76a5))
call GBFadeOut2
call Delay3
call Delay3
call GBFadeIn2
ld a, $7
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
xor a
ld [wJoypadForbiddenButtonsMask], a
ret
CoordsData_60992: ; 60992 (18:4992)
db $08,$0A
db $08,$0B
db $09,$0A
db $09,$0B
db $FF
PokemonTower5TextPointers: ; 6099b (18:499b)
dw PokemonTower5Text1
dw PokemonTower5Text2
dw PokemonTower5Text3
dw PokemonTower5Text4
dw PokemonTower5Text5
dw Predef5CText
dw PokemonTower5Text7
PokemonTower5TrainerHeaders: ; 609a9 (18:49a9)
PokemonTower5TrainerHeader0: ; 609a9 (18:49a9)
db $2 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d767 ; flag's byte
dw PokemonTower5BattleText1 ; 0x49e9 TextBeforeBattle
dw PokemonTower5AfterBattleText1 ; 0x49f3 TextAfterBattle
dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle
dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle
PokemonTower5TrainerHeader1: ; 609b5 (18:49b5)
db $3 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d767 ; flag's byte
dw PokemonTower5BattleText2 ; 0x4a02 TextBeforeBattle
dw PokemonTower5AfterBattleText2 ; 0x4a0c TextAfterBattle
dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle
dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle
PokemonTower5TrainerHeader2: ; 609c1 (18:49c1)
db $4 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d767 ; flag's byte
dw PokemonTower5BattleText3 ; 0x4a1b TextBeforeBattle
dw PokemonTower5AfterBattleText3 ; 0x4a25 TextAfterBattle
dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle
dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle
PokemonTower5TrainerHeader3: ; 609cd (18:49cd)
db $5 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d767 ; flag's byte
dw PokemonTower5BattleText4 ; 0x4a34 TextBeforeBattle
dw PokemonTower5AfterBattleText4 ; 0x4a3e TextAfterBattle
dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle
dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle
db $ff
PokemonTower5Text1: ; 609da (18:49da)
TX_FAR _PokemonTower5Text1
db "@"
PokemonTower5Text2: ; 609df (18:49df)
db $08 ; asm
ld hl, PokemonTower5TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
PokemonTower5BattleText1: ; 609e9 (18:49e9)
TX_FAR _PokemonTower5BattleText1
db "@"
PokemonTower5EndBattleText1: ; 609ee (18:49ee)
TX_FAR _PokemonTower5EndBattleText1
db "@"
PokemonTower5AfterBattleText1: ; 609f3 (18:49f3)
TX_FAR _PokemonTower5AfterBattleText1
db "@"
PokemonTower5Text3: ; 609f8 (18:49f8)
db $08 ; asm
ld hl, PokemonTower5TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
PokemonTower5BattleText2: ; 60a02 (18:4a02)
TX_FAR _PokemonTower5BattleText2
db "@"
PokemonTower5EndBattleText2: ; 60a07 (18:4a07)
TX_FAR _PokemonTower5EndBattleText2
db "@"
PokemonTower5AfterBattleText2: ; 60a0c (18:4a0c)
TX_FAR _PokemonTower5AfterBattleText2
db "@"
PokemonTower5Text4: ; 60a11 (18:4a11)
db $08 ; asm
ld hl, PokemonTower5TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
PokemonTower5BattleText3: ; 60a1b (18:4a1b)
TX_FAR _PokemonTower5BattleText3
db "@"
PokemonTower5EndBattleText3: ; 60a20 (18:4a20)
TX_FAR _PokemonTower5EndBattleText3
db "@"
PokemonTower5AfterBattleText3: ; 60a25 (18:4a25)
TX_FAR _PokemonTower5AfterBattleText3
db "@"
PokemonTower5Text5: ; 60a2a (18:4a2a)
db $08 ; asm
ld hl, PokemonTower5TrainerHeader3 ; $49cd
call TalkToTrainer
jp TextScriptEnd
PokemonTower5BattleText4: ; 60a34 (18:4a34)
TX_FAR _PokemonTower5BattleText4
db "@"
PokemonTower5EndBattleText4: ; 60a39 (18:4a39)
TX_FAR _PokemonTower5EndBattleText4
db "@"
PokemonTower5AfterBattleText4: ; 60a3e (18:4a3e)
TX_FAR _PokemonTower5AfterBattleText4
db "@"
PokemonTower5Text7: ; 60a43 (18:4a43)
TX_FAR _PokemonTower5Text7
db "@"

215
scripts/pokemontower6.asm Executable file
View file

@ -0,0 +1,215 @@
PokemonTower6Script: ; 60aef (18:4aef)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower6TrainerHeaders
ld de, PokemonTower6ScriptPointers
ld a, [W_POKEMONTOWER6CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER6CURSCRIPT], a
ret
Func_60b02: ; 60b02 (18:4b02)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_POKEMONTOWER6CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower6ScriptPointers: ; 60b0d (18:4b0d)
dw PokemonTower6Script0
dw Func_324c
dw EndTrainerBattle
dw PokemonTower6Script3
dw PokemonTower6Script4
PokemonTower6Script0: ; 60b17 (18:4b17)
ld a, [$d768]
bit 7, a
jp nz, CheckFightingMapTrainers
ld hl, CoordsData_60b45 ; $4b45
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $6
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld a, MAROWAK
ld [W_CUROPPONENT], a ; $d059
ld a, 30
ld [W_CURENEMYLVL], a ; $d127
ld a, $4
ld [W_POKEMONTOWER6CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CoordsData_60b45: ; 60b45 (18:4b45)
db $10,$0A,$FF
PokemonTower6Script4: ; 60b48 (18:4b48)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_60b02
ld a, $ff
ld [wJoypadForbiddenButtonsMask], a
ld a, [$d72d]
bit 6, a
ret nz
call UpdateSprites
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld a, [$cf0b]
and a
jr nz, .asm_60b82
ld hl, $d768
set 7, [hl]
ld a, $7
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
xor a
ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_POKEMONTOWER6CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
.asm_60b82
ld a, $1
ld [$cd38], a
ld a, $10
ld [$ccd3], a
xor a
ld [$c206], a
ld [$cd3b], a
ld hl, $d730
set 7, [hl]
ld a, $3
ld [W_POKEMONTOWER6CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower6Script3: ; 60ba1 (18:4ba1)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
ld [W_POKEMONTOWER6CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower6TextPointers: ; 60bb1 (18:4bb1)
dw PokemonTower6Text1
dw PokemonTower6Text2
dw PokemonTower6Text3
dw Predef5CText
dw Predef5CText
dw PokemonTower6Text6
dw PokemonTower6Text7
PokemonTower6TrainerHeaders: ; 60bbf (18:4bbf)
PokemonTower6TrainerHeader0: ; 60bbf (18:4bbf)
db $1 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d768 ; flag's byte
dw PokemonTower6BattleText1 ; 0x4c29 TextBeforeBattle
dw PokemonTower6AfterBattleText1 ; 0x4c33 TextAfterBattle
dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle
dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle
PokemonTower6TrainerHeader1: ; 60bcb (18:4bcb)
db $2 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d768 ; flag's byte
dw PokemonTower6BattleText2 ; 0x4c38 TextBeforeBattle
dw PokemonTower6AfterBattleText2 ; 0x4c42 TextAfterBattle
dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle
dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle
PokemonTower6TrainerHeader2: ; 60bd7 (18:4bd7)
db $3 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d768 ; flag's byte
dw PokemonTower6BattleText3 ; 0x4c47 TextBeforeBattle
dw PokemonTower6AfterBattleText3 ; 0x4c51 TextAfterBattle
dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle
dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle
db $ff
PokemonTower6Text1: ; 60be4 (18:4be4)
db $08 ; asm
ld hl, PokemonTower6TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
PokemonTower6Text2: ; 60bee (18:4bee)
db $08 ; asm
ld hl, PokemonTower6TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
PokemonTower6Text3: ; 60bf8 (18:4bf8)
db $08 ; asm
ld hl, PokemonTower6TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
PokemonTower6Text7: ; 60c02 (18:4c02)
db $8
ld hl, PokemonTower2Text_60c1f
call PrintText
ld a, MAROWAK
call PlayCry
call WaitForSoundToFinish
ld c, $1e
call DelayFrames
ld hl, PokemonTower2Text_60c24
call PrintText
jp TextScriptEnd
PokemonTower2Text_60c1f: ; 60c1f (18:4c1f)
TX_FAR _PokemonTower2Text_60c1f
db "@"
PokemonTower2Text_60c24: ; 60c24 (18:4c24)
TX_FAR _PokemonTower2Text_60c24
db "@"
PokemonTower6BattleText1: ; 60c29 (18:4c29)
TX_FAR _PokemonTower6BattleText1
db "@"
PokemonTower6EndBattleText1: ; 60c2e (18:4c2e)
TX_FAR _PokemonTower6EndBattleText1
db "@"
PokemonTower6AfterBattleText1: ; 60c33 (18:4c33)
TX_FAR _PokemonTower6AfterBattleText1
db "@"
PokemonTower6BattleText2: ; 60c38 (18:4c38)
TX_FAR _PokemonTower6BattleText2
db "@"
PokemonTower6EndBattleText2: ; 60c3d (18:4c3d)
TX_FAR _PokemonTower6EndBattleText2
db "@"
PokemonTower6AfterBattleText2: ; 60c42 (18:4c42)
TX_FAR _PokemonTower6AfterBattleText2
db "@"
PokemonTower6BattleText3: ; 60c47 (18:4c47)
TX_FAR _PokemonTower6BattleText3
db "@"
PokemonTower6EndBattleText3: ; 60c4c (18:4c4c)
TX_FAR _PokemonTower6EndBattleText3
db "@"
PokemonTower6AfterBattleText3: ; 60c51 (18:4c51)
TX_FAR _PokemonTower6AfterBattleText3
db "@"
PokemonTower6Text6: ; 60c56 (18:4c56)
TX_FAR _PokemonTower6Text6
db "@"

282
scripts/pokemontower7.asm Executable file
View file

@ -0,0 +1,282 @@
PokemonTower7Script: ; 60d05 (18:4d05)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower7TrainerHeaders
ld de, PokemonTower7ScriptPointers
ld a, [W_POKEMONTOWER7CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER7CURSCRIPT], a
ret
PokemonTower7Script_60d18: ; 60d18 (18:4d18)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower7ScriptPointers: ; 60d23 (18:4d23)
dw CheckFightingMapTrainers
dw Func_324c
dw PokemonTower7Script2
dw PokemonTower7Script3
dw PokemonTower7Script4
PokemonTower7Script2: ; 60d23 (18:4d23)
ld hl, wFlags_0xcd60
res 0, [hl]
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, PokemonTower7Script_60d18
call EndTrainerBattle
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
ld a, [$cf13]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
call PokemonTower7Script_60db6
ld a, $3
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower7Script3: ; 60d56 (18:4d56)
ld a, [$d730]
bit 0, a
ret nz
ld hl, W_MISSABLEOBJECTLIST
ld a, [$cf13]
ld b, a
.missableObjectsListLoop
ld a, [hli]
cp b ; search for sprite ID in missing objects list
ld a, [hli]
jr nz, .missableObjectsListLoop
ld [$cc4d], a ; remove missable object
ld a, $11
call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [$cf13], a
ld [wTrainerHeaderFlagBit], a
ld [$da38], a
ld a, $0
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower7Script4: ; 60d86 (18:4d86)
ld a, $ff
ld [wJoypadForbiddenButtonsMask], a
ld a, $43
ld [$cc4d], a
ld a, $11
call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
ld a, $4
ld [$c109], a
ld a, $95
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
ld a, $1
ld [$d42f], a
ld a, $4
ld [$d365], a
ld hl, $d72d
set 3, [hl]
ld a, $0
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower7Script_60db6: ; 60db6 (18:4db6)
ld hl, CoordsData_60de3 ; $4de3
ld a, [$cf13]
dec a
swap a
ld d, $0
ld e, a
add hl, de
ld a, [W_YCOORD] ; $d361
ld b, a
ld a, [W_XCOORD] ; $d362
ld c, a
.asm_60dcb
ld a, [hli]
cp b
jr nz, .asm_60dde
ld a, [hli]
cp c
jr nz, .asm_60ddf
ld a, [hli]
ld d, [hl]
ld e, a
ld a, [$cf13]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp MoveSprite
.asm_60dde
inc hl
.asm_60ddf
inc hl
inc hl
jr .asm_60dcb
CoordsData_60de3: ; 60de3 (18:4de3)
db $0C,$09
dw MovementData_60e13
db $0B,$0A
dw MovementData_60e1b
db $0B,$0B
dw MovementData_60e22
db $0B,$0C
dw MovementData_60e22
db $0A,$0C
dw MovementData_60e28
db $09,$0B
dw MovementData_60e30
db $09,$0A
dw MovementData_60e22
db $09,$09
dw MovementData_60e22
db $08,$09
dw MovementData_60e37
db $07,$0A
dw MovementData_60e22
db $07,$0B
dw MovementData_60e22
db $07,$0C
dw MovementData_60e22
MovementData_60e13: ; 60e13
db $C0,$00,$00,$00,$00,$00,$80,$FF
MovementData_60e1b: ; 60e1b
db $00,$C0,$00,$00,$00,$00,$FF
MovementData_60e22: ; 60e22
db $00,$00,$00,$00,$00,$FF
MovementData_60e28: ; 60e28
db $80,$00,$00,$00,$00,$00,$00,$FF
MovementData_60e30: ; 60e30
db $00,$00,$00,$80,$00,$00,$FF
MovementData_60e37: ; 60e37
db $C0,$00,$00,$00,$00,$00,$00,$FF
PokemonTower7TextPointers: ; 60e3f (18:4e3f)
dw PokemonTower7Text1
dw PokemonTower7Text2
dw PokemonTower7Text3
dw PokemonTower7Text4
PokemonTower7TrainerHeaders: ; 60e47 (18:4e47)
PokemonTower7TrainerHeader0: ; 60e47 (18:4e47)
db $1 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d769 ; flag's byte
dw PokemonTower7BattleText1 ; 0x4ec9 TextBeforeBattle
dw PokemonTower7AfterBattleText1 ; 0x4ed3 TextAfterBattle
dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle
dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle
PokemonTower7TrainerHeader1: ; 60e53 (18:4e53)
db $2 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d769 ; flag's byte
dw PokemonTower7BattleText2 ; 0x4ed8 TextBeforeBattle
dw PokemonTower7AfterBattleText2 ; 0x4ee2 TextAfterBattle
dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle
dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle
PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f)
db $3 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d769 ; flag's byte
dw PokemonTower7BattleText3 ; 0x4ee7 TextBeforeBattle
dw PokemonTower7AfterBattleText3 ; 0x4ef1 TextAfterBattle
dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle
dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle
db $ff
PokemonTower7Text1: ; 60e6c (18:4e6c)
db $08 ; asm
ld hl, PokemonTower7TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
PokemonTower7Text2: ; 60e76 (18:4e76)
db $08 ; asm
ld hl, PokemonTower7TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
PokemonTower7Text3: ; 60e80 (18:4e80)
db $08 ; asm
ld hl, PokemonTower7TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
PokemonTower7Text4: ; 60e8a (18:4e8a)
db $08 ; asm
ld hl, PokemonTower7Text_60ec4
call PrintText
ld hl, $d7e0
set 7, [hl]
ld hl, $d769
set 7, [hl]
ld a, $44
ld [$cc4d], a
ld a, $15
call Predef
ld a, $17
ld [$cc4d], a
ld a, $11
call Predef
ld a, $18
ld [$cc4d], a
ld a, $15
call Predef
ld a, $4
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
jp TextScriptEnd
PokemonTower7Text_60ec4: ; 60ec4 (18:4ec4)
TX_FAR _PokemonTower7Text_60ec4
db "@"
PokemonTower7BattleText1: ; 60ec9 (18:4ec9)
TX_FAR _PokemonTower7BattleText1
db "@"
PokemonTower7EndBattleText1: ; 60ece (18:4ece)
TX_FAR _PokemonTower7EndBattleText1
db "@"
PokemonTower7AfterBattleText1: ; 60ed3 (18:4ed3)
TX_FAR _PokemonTower7AfterBattleText1
db "@"
PokemonTower7BattleText2: ; 60ed8 (18:4ed8)
TX_FAR _PokemonTower7BattleText2
db "@"
PokemonTower7EndBattleText2: ; 60edd (18:4edd)
TX_FAR _PokemonTower7EndBattleText2
db "@"
PokemonTower7AfterBattleText2: ; 60ee2 (18:4ee2)
TX_FAR _PokemonTower7AfterBattleText2
db "@"
PokemonTower7BattleText3: ; 60ee7 (18:4ee7)
TX_FAR _PokemonTower7BattleText3
db "@"
PokemonTower7EndBattleText3: ; 60eec (18:4eec)
TX_FAR _PokemonTower7EndBattleText3
db "@"
PokemonTower7AfterBattleText3: ; 60ef1 (18:4ef1)
TX_FAR _PokemonTower7AfterBattleText3
db "@"

176
scripts/powerplant.asm Executable file
View file

@ -0,0 +1,176 @@
PowerPlantScript: ; 1e2c6 (7:62c6)
call EnableAutoTextBoxDrawing
ld hl, PowerPlantTrainerHeaders
ld de, PowerPlantScriptPointers
ld a, [W_POWERPLANTCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POWERPLANTCURSCRIPT], a
ret
PowerPlantScriptPointers: ; 1e2d9 (7:62d9)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
PowerPlantTextPointers: ; 1e2df (7:62df)
dw PowerPlantText1
dw PowerPlantText2
dw PowerPlantText3
dw PowerPlantText4
dw PowerPlantText5
dw PowerPlantText6
dw PowerPlantText7
dw PowerPlantText8
dw PowerPlantText9
dw Predef5CText
dw Predef5CText
dw Predef5CText
dw Predef5CText
dw Predef5CText
PowerPlantTrainerHeaders: ; 1e2fb (7:62fb)
PowerPlantTrainerHeader0: ; 1e2fb (7:62fb)
db 1 ; flag's bit
db 0 ; view range
dw $d7d3 ; flag's byte
dw VoltorbBattleText ; TextBeforeBattle
dw VoltorbBattleText ; TextAfterBattle
dw VoltorbBattleText ; TextEndBattle
dw VoltorbBattleText ; TextEndBattle
PowerPlantTrainerHeader1: ; 1e307 (7:6307)
db 2 ; flag's bit
db 0 ; view range
dw $d7d3 ; flag's byte
dw VoltorbBattleText ; TextBeforeBattle
dw VoltorbBattleText ; TextAfterBattle
dw VoltorbBattleText ; TextEndBattle
dw VoltorbBattleText ; TextEndBattle
PowerPlantTrainerHeader2: ; 1e313 (7:6313)
db 3 ; flag's bit
db 0 ; view range
dw $d7d3 ; flag's byte
dw VoltorbBattleText ; TextBeforeBattle
dw VoltorbBattleText ; TextAfterBattle
dw VoltorbBattleText ; TextEndBattle
dw VoltorbBattleText ; TextEndBattle
PowerPlantTrainerHeader3: ; 1e31f (7:631f)
db 4 ; flag's bit
db 0 ; view range
dw $d7d3 ; flag's byte
dw VoltorbBattleText ; TextBeforeBattle
dw VoltorbBattleText ; TextAfterBattle
dw VoltorbBattleText ; TextEndBattle
dw VoltorbBattleText ; TextEndBattle
PowerPlantTrainerHeader4: ; 1e32b (7:632b)
db 5 ; flag's bit
db 0 ; view range
dw $d7d3 ; flag's byte
dw VoltorbBattleText ; TextBeforeBattle
dw VoltorbBattleText ; TextAfterBattle
dw VoltorbBattleText ; TextEndBattle
dw VoltorbBattleText ; TextEndBattle
PowerPlantTrainerHeader5: ; 1e337 (7:6337)
db 6 ; flag's bit
db 0 ; view range
dw $d7d3 ; flag's byte
dw VoltorbBattleText ; TextBeforeBattle
dw VoltorbBattleText ; TextAfterBattle
dw VoltorbBattleText ; TextEndBattle
dw VoltorbBattleText ; TextEndBattle
PowerPlantTrainerHeader6: ; 1e343 (7:6343)
db 7 ; flag's bit
db 0 ; view range
dw $d7d3 ; flag's byte
dw VoltorbBattleText ; TextBeforeBattle
dw VoltorbBattleText ; TextAfterBattle
dw VoltorbBattleText ; TextEndBattle
dw VoltorbBattleText ; TextEndBattle
PowerPlantTrainerHeader7: ; 1e34f (7:634f)
db 8 ; flag's bit
db 0 ; view range
dw $d7d3 ; flag's byte
dw VoltorbBattleText ; TextBeforeBattle
dw VoltorbBattleText ; TextAfterBattle
dw VoltorbBattleText ; TextEndBattle
dw VoltorbBattleText ; TextEndBattle
PowerPlantTrainerHeader8: ; 1e35b (7:635b)
db 9 ; flag's bit
db 0 ; view range
dw $d7d3 ; flag's byte
dw ZapdosBattleText ; TextBeforeBattle
dw ZapdosBattleText ; TextAfterBattle
dw ZapdosBattleText ; TextEndBattle
dw ZapdosBattleText ; TextEndBattle
db $ff
asm_234cc: ; 1e368 (7:6368)
call TalkToTrainer
ld a, [W_CURMAPSCRIPT]
ld [W_POWERPLANTCURSCRIPT], a
jp TextScriptEnd
PowerPlantText1: ; 1e374 (7:6374)
db $8 ; asm
ld hl, PowerPlantTrainerHeader0 ; $62fb
jr asm_234cc ; 0x1e378 $ee
PowerPlantText2: ; 1e37a (7:637a)
db $8 ; asm
ld hl, PowerPlantTrainerHeader1 ; $6307
jr asm_234cc ; 0x1e37e $e8
PowerPlantText3: ; 1e380 (7:6380)
db $8 ; asm
ld hl, PowerPlantTrainerHeader2 ; $6313
jr asm_234cc ; 0x1e384 $e2
PowerPlantText4: ; 1e386 (7:6386)
db $8 ; asm
ld hl, PowerPlantTrainerHeader3 ; $631f
jr asm_234cc ; 0x1e38a $dc
PowerPlantText5: ; 1e38c (7:638c)
db $8 ; asm
ld hl, PowerPlantTrainerHeader4 ; $632b
jr asm_234cc ; 0x1e390 $d6
PowerPlantText6: ; 1e392 (7:6392)
db $8 ; asm
ld hl, PowerPlantTrainerHeader5 ; $6337
jr asm_234cc ; 0x1e396 $d0
PowerPlantText7: ; 1e398 (7:6398)
db $8 ; asm
ld hl, PowerPlantTrainerHeader6 ; $6343
jr asm_234cc ; 0x1e39c $ca
PowerPlantText8: ; 1e39e (7:639e)
db $8 ; asm
ld hl, PowerPlantTrainerHeader7 ; $634f
jr asm_234cc ; 0x1e3a2 $c4
PowerPlantText9: ; 1e3a4 (7:63a4)
db $8 ; asm
ld hl, PowerPlantTrainerHeader8 ; $635b
jr asm_234cc ; 0x1e3a8 $be
VoltorbBattleText: ; 1e3aa (7:63aa)
TX_FAR _VoltorbBattleText
db "@"
ZapdosBattleText: ; 1e3af (7:63af)
TX_FAR _ZapdosBattleText
db $8
ld a, ZAPDOS
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd

69
scripts/redshouse1f.asm Executable file
View file

@ -0,0 +1,69 @@
RedsHouse1FScript: ; 48168 (12:4168)
jp EnableAutoTextBoxDrawing
RedsHouse1FTextPointers: ; 4816b (12:416b)
dw RedsHouse1FText1
dw RedsHouse1FText2
RedsHouse1FText1: ; 4816f (12:416f) ; 416F Mom
db 8
ld a, [$D72E]
bit 3, a
jr nz, .heal ; if player has received a Pokémon from Oak, heal team
ld hl, MomWakeUpText
call PrintText
jr .done
.heal
call MomHealPokemon
.done
jp TextScriptEnd
MomWakeUpText: ; 48185 (12:4185)
TX_FAR _MomWakeUpText
db "@"
MomHealPokemon: ; 4818a (12:418a)
ld hl, MomHealText1
call PrintText
call GBFadeOut2
call ReloadMapData
PREDEF HealPartyPredef
ld a, MUSIC_PKMN_HEALED
ld [$C0EE], a
call PlaySound ; play sound?
.next
ld a, [$C026]
cp MUSIC_PKMN_HEALED
jr z, .next
ld a, [$D35B]
ld [$C0EE], a
call PlaySound
call GBFadeIn2
ld hl, MomHealText2
jp PrintText
MomHealText1: ; 481bc (12:41bc)
TX_FAR _MomHealText1
db "@"
MomHealText2: ; 481c1 (12:41c1)
TX_FAR _MomHealText2
db "@"
RedsHouse1FText2: ; 0x481c6 TV
db 8
ld a,[$C109]
cp 4
ld hl,TVWrongSideText
jr nz,.done ; if player is not facing up
ld hl,StandByMeText
.done
call PrintText
jp TextScriptEnd
StandByMeText: ; 481da (12:41da)
TX_FAR _StandByMeText
db "@"
TVWrongSideText: ; 481df (12:41df)
TX_FAR _TVWrongSideText
db "@"

24
scripts/redshouse2f.asm Executable file
View file

@ -0,0 +1,24 @@
RedsHouse2FScript: ; 5c0b0 (17:40b0)
call EnableAutoTextBoxDrawing
ld hl,RedsHouse2FScriptPointers
ld a,[W_REDSHOUSE2CURSCRIPT]
jp CallFunctionInTable
RedsHouse2FScriptPointers: ; 5c0bc (17:40bc)
dw RedsHouse2FScript0
dw RedsHouse2FScript1
RedsHouse2FScript0: ; 5c0c0 (17:40c0)
xor a
ld [H_CURRENTPRESSEDBUTTONS],a
ld a,8
ld [$D528],a
ld a,1
ld [W_REDSHOUSE2CURSCRIPT],a
ret
RedsHouse2FScript1: ; 5c0ce (17:40ce)
ret
RedsHouse2FTextPointers: ; 5c0cf (17:40cf)
db "@"

193
scripts/rockethideout1.asm Executable file
View file

@ -0,0 +1,193 @@
RocketHideout1Script: ; 44bca (11:4bca)
call RocketHideout1Script_44be0
call EnableAutoTextBoxDrawing
ld hl, RocketHideout1TrainerHeaders
ld de, RocketHideout1ScriptPointers
ld a, [W_ROCKETHIDEOUT1CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROCKETHIDEOUT1CURSCRIPT], a
ret
RocketHideout1Script_44be0: ; 44be0 (11:4be0)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld a, [$d815]
bit 7, a
jr nz, .asm_44c01
bit 5, a
jr nz, .asm_44bf7
ld a, $54
jr .asm_44c03
.asm_44bf7
ld a, (SFX_02_57 - SFX_Headers_02) / 3
call PlaySound
ld hl, $d815
bit 7, [hl]
.asm_44c01
ld a, $e
.asm_44c03
ld [$d09f], a
ld bc, $080c
ld a, $17
jp Predef
RocketHideout1ScriptPointers: ; 44c0e (11:4c0e)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
RocketHideout1TextPointers: ; 44c14 (11:4c14)
dw RocketHideout1Text1
dw RocketHideout1Text2
dw RocketHideout1Text3
dw RocketHideout1Text4
dw RocketHideout1Text5
dw Predef5CText
dw Predef5CText
RocketHideout1TrainerHeaders: ; 44c22 (11:4c22)
RocketHideout1TrainerHeader0: ; 44c22 (11:4c22)
db $1 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d815 ; flag's byte
dw RocketHideout1BattleText2 ; 0x4ca1 TextBeforeBattle
dw RocketHideout1AfterBattleTxt2 ; 0x4cab TextAfterBattle
dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle
dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle
RocketHideout1TrainerHeader2: ; 44c2e (11:4c2e)
db $2 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d815 ; flag's byte
dw RocketHideout1BattleText3 ; 0x4cb0 TextBeforeBattle
dw RocketHideout1AfterBattleTxt3 ; 0x4cba TextAfterBattle
dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle
dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle
RocketHideout1TrainerHeader3: ; 44c3a (11:4c3a)
db $3 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d815 ; flag's byte
dw RocketHideout1BattleText4 ; 0x4cbf TextBeforeBattle
dw RocketHideout1AfterBattleTxt4 ; 0x4cc9 TextAfterBattle
dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle
dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle
RocketHideout1TrainerHeader4: ; 44c46 (11:4c46)
db $4 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d815 ; flag's byte
dw RocketHideout1BattleText5 ; 0x4cce TextBeforeBattle
dw RocketHideout1AfterBattleTxt5 ; 0x4cd8 TextAfterBattle
dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle
dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle
RocketHideout1TrainerHeader5: ; 44c52 (11:4c52)
db $5 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d815 ; flag's byte
dw RocketHideout1BattleText6 ; 0x4cdd TextBeforeBattle
dw RocketHideout1AfterBattleTxt6 ; 0x4ce2 TextAfterBattle
dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle
dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle
db $ff
RocketHideout1Text1: ; 44c5f (11:4c5f)
db $08 ; asm
ld hl, RocketHideout1TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
RocketHideout1Text2: ; 44c69 (11:4c69)
db $08 ; asm
ld hl, RocketHideout1TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
RocketHideout1Text3: ; 44c73 (11:4c73)
db $08 ; asm
ld hl, RocketHideout1TrainerHeader3
call TalkToTrainer
jp TextScriptEnd
RocketHideout1Text4: ; 44c7d (11:4c7d)
db $08 ; asm
ld hl, RocketHideout1TrainerHeader4
call TalkToTrainer
jp TextScriptEnd
RocketHideout1Text5: ; 44c87 (11:4c87)
db $08 ; asm
ld hl, RocketHideout1TrainerHeader5
call TalkToTrainer
jp TextScriptEnd
RocketHideout1EndBattleText6: ; 44c91 (11:4c91)
TX_FAR _RocketHideout1EndBattleText6
db $8
ld hl, $d815
set 5, [hl]
ld hl, RocketHideout1Text_44c9f
ret
RocketHideout1Text_44c9f: ; 44c9f (11:4c9f)
db $6, "@"
RocketHideout1BattleText2: ; 44ca1 (11:4ca1)
TX_FAR _RocketHideout1BattleText2
db "@"
RocketHideout1EndBattleText2: ; 44ca6 (11:4ca6)
TX_FAR _RocketHideout1EndBattleText2
db "@"
RocketHideout1AfterBattleTxt2: ; 44cab (11:4cab)
TX_FAR _RocketHideout1AfterBattleTxt2
db "@"
RocketHideout1BattleText3: ; 44cb0 (11:4cb0)
TX_FAR _RocketHideout1BattleText3
db "@"
RocketHideout1EndBattleText3: ; 44cb5 (11:4cb5)
TX_FAR _RocketHideout1EndBattleText3
db "@"
RocketHideout1AfterBattleTxt3: ; 44cba (11:4cba)
TX_FAR _RocketHideout1AfterBattleTxt3
db "@"
RocketHideout1BattleText4: ; 44cbf (11:4cbf)
TX_FAR _RocketHideout1BattleText4
db "@"
RocketHideout1EndBattleText4: ; 44cc4 (11:4cc4)
TX_FAR _RocketHideout1EndBattleText4
db "@"
RocketHideout1AfterBattleTxt4: ; 44cc9 (11:4cc9)
TX_FAR _RocketHideout1AfterBattleTxt4
db "@"
RocketHideout1BattleText5: ; 44cce (11:4cce)
TX_FAR _RocketHideout1BattleText5
db "@"
RocketHideout1EndBattleText5: ; 44cd3 (11:4cd3)
TX_FAR _RocketHideout1EndBattleText5
db "@"
RocketHideout1AfterBattleTxt5: ; 44cd8 (11:4cd8)
TX_FAR _RocketHideout1AfterBattleTxt5
db "@"
RocketHideout1BattleText6: ; 44cdd (11:4cdd)
TX_FAR _RocketHideout1BattleText6
db "@"
RocketHideout1AfterBattleTxt6: ; 44ce2 (11:4ce2)
TX_FAR _RocketHideout1AfterBattleTxt6
db "@"

Some files were not shown because too many files have changed in this diff Show more