diff options
author | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-05-18 14:19:10 -0400 |
---|---|---|
committer | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-05-18 14:19:10 -0400 |
commit | 24c01b09bb2b617812bd826d1cf9ab5e3ec6a023 (patch) | |
tree | 07d2ed81b23de081f2003d9f8d50170344dd5ada /scripts/celadongym.asm | |
parent | 4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff) |
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/celadongym.asm')
-rwxr-xr-x | scripts/celadongym.asm | 343 |
1 files changed, 343 insertions, 0 deletions
diff --git a/scripts/celadongym.asm b/scripts/celadongym.asm new file mode 100755 index 00000000..67102fb7 --- /dev/null +++ b/scripts/celadongym.asm @@ -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 "@" |