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/saffrongym.asm | |
parent | 4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff) |
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/saffrongym.asm')
-rwxr-xr-x | scripts/saffrongym.asm | 367 |
1 files changed, 367 insertions, 0 deletions
diff --git a/scripts/saffrongym.asm b/scripts/saffrongym.asm new file mode 100755 index 00000000..40482831 --- /dev/null +++ b/scripts/saffrongym.asm @@ -0,0 +1,367 @@ +SaffronGymScript: ; 5d00d (17:500d) + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, .extra + call EnableAutoTextBoxDrawing + ld hl, SaffronGymTrainerHeader0 + ld de, SaffronGymScriptPointers + ld a, [W_SAFFRONGYMCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SAFFRONGYMCURSCRIPT], a + ret + +.extra + ld hl, Gym6CityName ; $5033 + ld de, Gym6LeaderName ; $5040 + jp LoadGymLeaderAndCityName + +Gym6CityName: ; 5d033 (17:5033) + db "SAFFRON CITY@" + +Gym6LeaderName: ; 5d040 (17:5040) + db "SABRINA@" + +SaffronGymText_5d048: ; 5d048 (17:5048) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_SAFFRONGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +SaffronGymScriptPointers: ; 5d053 (17:5053) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + dw SaffronGymScript3 + +SaffronGymScript3: ; 5d05b (17:505b) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, SaffronGymText_5d048 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + +SaffronGymText_5d068: ; 5d068 (17:5068) + ld a, $a + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d7b3 + set 1, [hl] + ld bc, (TM_46 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, $b + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d7b3 + set 0, [hl] + jr .asm_5d091 +.BagFull + ld a, $c + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID +.asm_5d091 + ld hl, W_OBTAINEDBADGES + set 5, [hl] + ld hl, $d72a + set 5, [hl] + + ; deactivate gym trainers + ld a, [$d7b3] + or %11111100 + ld [$d7b3], a + ld hl, $d7b4 + set 0, [hl] + + jp SaffronGymText_5d048 + +SaffronGymTextPointers: ; 5d0ab (17:50ab) + dw SaffronGymText1 + dw SaffronGymText2 + dw SaffronGymText3 + dw SaffronGymText4 + dw SaffronGymText5 + dw SaffronGymText6 + dw SaffronGymText7 + dw SaffronGymText8 + dw SaffronGymText9 + dw SaffronGymText10 + dw SaffronGymText11 + dw SaffronGymText12 + +SaffronGymTrainerHeaders: ; 5d0c3 (17:50c3) +SaffronGymTrainerHeader0: ; 5d0c3 (17:50c3) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText1 ; 0x51f0 TextBeforeBattle + dw SaffronGymAfterBattleText1 ; 0x51fa TextAfterBattle + dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle + dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle + +SaffronGymTrainerHeader1: ; 5d0cf (17:50cf) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText2 ; 0x51ff TextBeforeBattle + dw SaffronGymAfterBattleText2 ; 0x5209 TextAfterBattle + dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle + dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle + +SaffronGymTrainerHeader2: ; 5d0db (17:50db) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText3 ; 0x520e TextBeforeBattle + dw SaffronGymAfterBattleText3 ; 0x5218 TextAfterBattle + dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle + dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle + +SaffronGymTrainerHeader3: ; 5d0e7 (17:50e7) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText4 ; 0x521d TextBeforeBattle + dw SaffronGymAfterBattleText4 ; 0x5227 TextAfterBattle + dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle + dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle + +SaffronGymTrainerHeader4: ; 5d0f3 (17:50f3) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText5 ; 0x522c TextBeforeBattle + dw SaffronGymAfterBattleText5 ; 0x5236 TextAfterBattle + dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle + dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle + +SaffronGymTrainerHeader5: ; 5d0ff (17:50ff) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText6 ; 0x523b TextBeforeBattle + dw SaffronGymAfterBattleText6 ; 0x5245 TextAfterBattle + dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle + dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle + +SaffronGymTrainerHeader6: ; 5d10b (17:510b) + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText7 ; 0x524a TextBeforeBattle + dw SaffronGymAfterBattleText7 ; 0x5254 TextAfterBattle + dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle + dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle + + db $ff + +SaffronGymText1: ; 5d118 (17:5118) + db $08 ; asm + ld a, [$d7b3] + bit 1, a + jr z, .asm_e3544 ; 0x5d11e + bit 0, a + jr nz, .asm_8d2f6 ; 0x5d122 + call z, SaffronGymText_5d068 + call DisableWaitingAfterTextDisplay + jr .asm_34c2c ; 0x5d12a +.asm_8d2f6 ; 0x5d12c + ld hl, SaffronGymText_5d16e + call PrintText + jr .asm_34c2c ; 0x5d132 +.asm_e3544 ; 0x5d134 + ld hl, SaffronGymText_5d162 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, SaffronGymText_5d167 + ld de, SaffronGymText_5d167 + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $6 + ld [$d05c], a + ld a, $3 + ld [W_SAFFRONGYMCURSCRIPT], a +.asm_34c2c ; 0x5d15f + jp TextScriptEnd + +SaffronGymText_5d162: ; 5d162 (17:5162) + TX_FAR _SaffronGymText_5d162 + db "@" + +SaffronGymText_5d167: ; 5d167 (17:5167) + TX_FAR _SaffronGymText_5d167 ; 0xa1c73 + db $11 ; play same sound as red giving oak parcel + db $6 ; wait for keypress + db "@" + +SaffronGymText_5d16e: ; 5d16e (17:516e) + TX_FAR _SaffronGymText_5d16e + db "@" + +SaffronGymText10: ; 5d173 (17:5173) + TX_FAR _SaffronGymText_5d173 + db "@" + +SaffronGymText11: ; 5d178 (17:5178) + TX_FAR ReceivedTM46Text + db $b + TX_FAR _TM46ExplanationText + db "@" + +SaffronGymText12: ; 5d182 (17:5182) + TX_FAR _TM46NoRoomText + db "@" + +SaffronGymText2: ; 5d187 (17:5187) + db $08 ; asm + ld hl, SaffronGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText3: ; 5d191 (17:5191) + db $08 ; asm + ld hl, SaffronGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText4: ; 5d19b (17:519b) + db $08 ; asm + ld hl, SaffronGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText5: ; 5d1a5 (17:51a5) + db $08 ; asm + ld hl, SaffronGymTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText6: ; 5d1af (17:51af) + db $08 ; asm + ld hl, SaffronGymTrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText7: ; 5d1b9 (17:51b9) + db $08 ; asm + ld hl, SaffronGymTrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText8: ; 5d1c3 (17:51c3) + db $08 ; asm + ld hl, SaffronGymTrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText9: ; 5d1cd (17:51cd) + db $08 ; asm + ld a, [$d7b3] + bit 1, a + jr nz, .asm_13f3c ; 0x5d1d3 + ld hl, SaffronGymText_5d1e6 + call PrintText + jr .asm_e9907 ; 0x5d1db +.asm_13f3c ; 0x5d1dd + ld hl, SaffronGymText_5d1eb + call PrintText +.asm_e9907 ; 0x5d1e3 + jp TextScriptEnd + +SaffronGymText_5d1e6: ; 5d1e6 (17:51e6) + TX_FAR _SaffronGymText_5d1e6 + db "@" + +SaffronGymText_5d1eb: ; 5d1eb (17:51eb) + TX_FAR _SaffronGymText_5d1eb + db "@" + +SaffronGymBattleText1: ; 5d1f0 (17:51f0) + TX_FAR _SaffronGymBattleText1 + db "@" + +SaffronGymEndBattleText1: ; 5d1f5 (17:51f5) + TX_FAR _SaffronGymEndBattleText1 + db "@" + +SaffronGymAfterBattleText1: ; 5d1fa (17:51fa) + TX_FAR _SaffronGymAfterBattleText1 + db "@" + +SaffronGymBattleText2: ; 5d1ff (17:51ff) + TX_FAR _SaffronGymBattleText2 + db "@" + +SaffronGymEndBattleText2: ; 5d204 (17:5204) + TX_FAR _SaffronGymEndBattleText2 + db "@" + +SaffronGymAfterBattleText2: ; 5d209 (17:5209) + TX_FAR _SaffronGymAfterBattleText2 + db "@" + +SaffronGymBattleText3: ; 5d20e (17:520e) + TX_FAR _SaffronGymBattleText3 + db "@" + +SaffronGymEndBattleText3: ; 5d213 (17:5213) + TX_FAR _SaffronGymEndBattleText3 + db "@" + +SaffronGymAfterBattleText3: ; 5d218 (17:5218) + TX_FAR _SaffronGymAfterBattleText3 + db "@" + +SaffronGymBattleText4: ; 5d21d (17:521d) + TX_FAR _SaffronGymBattleText4 + db "@" + +SaffronGymEndBattleText4: ; 5d222 (17:5222) + TX_FAR _SaffronGymEndBattleText4 + db "@" + +SaffronGymAfterBattleText4: ; 5d227 (17:5227) + TX_FAR _SaffronGymAfterBattleText4 + db "@" + +SaffronGymBattleText5: ; 5d22c (17:522c) + TX_FAR _SaffronGymBattleText5 + db "@" + +SaffronGymEndBattleText5: ; 5d231 (17:5231) + TX_FAR _SaffronGymEndBattleText5 + db "@" + +SaffronGymAfterBattleText5: ; 5d236 (17:5236) + TX_FAR _SaffronGymAfterBattleText5 + db "@" + +SaffronGymBattleText6: ; 5d23b (17:523b) + TX_FAR _SaffronGymBattleText6 + db "@" + +SaffronGymEndBattleText6: ; 5d240 (17:5240) + TX_FAR _SaffronGymEndBattleText6 + db "@" + +SaffronGymAfterBattleText6: ; 5d245 (17:5245) + TX_FAR _SaffronGymAfterBattleText6 + db "@" + +SaffronGymBattleText7: ; 5d24a (17:524a) + TX_FAR _SaffronGymBattleText7 + db "@" + +SaffronGymEndBattleText7: ; 5d24f (17:524f) + TX_FAR _SaffronGymEndBattleText7 + db "@" + +SaffronGymAfterBattleText7: ; 5d254 (17:5254) + TX_FAR _SaffronGymAfterBattleText7 + db "@" |