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/silphco11.asm | |
parent | 4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff) |
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/silphco11.asm')
-rwxr-xr-x | scripts/silphco11.asm | 369 |
1 files changed, 369 insertions, 0 deletions
diff --git a/scripts/silphco11.asm b/scripts/silphco11.asm new file mode 100755 index 00000000..f24c6774 --- /dev/null +++ b/scripts/silphco11.asm @@ -0,0 +1,369 @@ +SilphCo11Script: ; 620fa (18:60fa) + call SilphCo11Script_62110 + call EnableAutoTextBoxDrawing + ld hl, SilphCo11TrainerHeaders + ld de, SilphCo11ScriptPointers + ld a, [W_SILPHCO11CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO11CURSCRIPT], a + ret + +SilphCo11Script_62110: ; 62110 (18:6110) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, DataTable_62134 ; $6134 + call SilphCo11Script_62137 + call SilphCo11Script_62163 + ld a, [$d838] + bit 0, a + ret nz + ld a, $20 + ld [$d09f], a + ld bc, $603 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +DataTable_62134: ; 62134 (18:6134) + db $06,$03,$FF + +SilphCo11Script_62137: ; 62137 (18:6137) + push hl + ld hl, $d73f + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_62143 + ld a, [hli] + cp $ff + jr z, .asm_6215f + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_62154 + inc hl + jr .asm_62143 +.asm_62154 + ld a, [hli] + cp c + jr nz, .asm_62143 + ld hl, $d73f + xor a + ld [hli], a + ld [hl], a + ret +.asm_6215f + xor a + ld [$ffe0], a + ret + +SilphCo11Script_62163: ; 62163 (18:6163) + ld a, [$ffe0] + and a + ret z + ld hl, $d838 + set 0, [hl] + ret + +SilphCo11Script_6216d: ; 6216d (18:616d) + ld hl, MissableObjectIDs_6219b ; $619b +.asm_62170 + ld a, [hli] + cp $ff + jr z, .asm_62181 + push hl + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + pop hl + jr .asm_62170 +.asm_62181 + ld hl, MissableObjectIDs_62194 ; $6194 +.asm_62184 + ld a, [hli] + cp $ff + ret z + push hl + ld [$cc4d], a + ld a, $15 + call Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) + pop hl + jr .asm_62184 + +MissableObjectIDs_62194: ; 62194 (18:6194) + db $11,$12,$13,$14,$15,$16,$FF + +MissableObjectIDs_6219b: ; 6219b (18:619b) + db $0A,$0B,$0C,$0D,$0E,$0F,$10,$17 + db $18,$8A,$8B,$8C,$8D,$8E,$8F,$91 + db $92,$93,$97,$98,$99,$9A,$9E,$9F + db $A0,$A3,$A4,$A5,$A6,$AB,$AC,$AD + db $AE,$AF,$B0,$B1,$B2,$B7,$B8,$B9 + db $FF + +SilphCo11Script_621c4: ; 621c4 (18:61c4) + xor a + ld [wJoypadForbiddenButtonsMask], a + +SilphCo11Script_621c8: ; 621c8 (18:61c8) + ld [W_SILPHCO11CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +SilphCo11ScriptPointers: ; 621cf (18:61cf) + dw SilphCo11Script0 + dw Func_324c + dw EndTrainerBattle + dw SilphCo11Script3 + dw SilphCo11Script4 + dw SilphCo11Script5 + +SilphCo11Script0: ; 621db (18:61db) + ld a, [$d838] + bit 7, a + ret nz + ld hl, CoordsData_62211 ; $6211 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + ld a, [wWhichTrade] ; $cd3d + ld [$cf0d], a + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $3 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, $3 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call SetSpriteMovementBytesToFF + ld de, MovementData_62216 + call MoveSprite + ld a, $3 + jp SilphCo11Script_621c8 + +CoordsData_62211: ; 62211 (18:6211) + db $0D,$06 + db $0C,$07 + db $FF + +MovementData_62216: ; 62216 (18:6216) + db $00,$00,$00,$FF + +SilphCo11Script_6221a: ; 6221a (18:621a) + ld [$d528], a + ld a, $3 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld a, b + ld [$ff8d], a + jp Func_34a6 + +SilphCo11Script5: ; 62227 (18:6227) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, SilphCo11Script_621c4 + ld a, [$cf0d] + cp $1 + jr z, .asm_6223c + ld a, $2 + ld b, $c + jr .asm_62240 +.asm_6223c + ld a, $8 + ld b, $0 +.asm_62240 + call SilphCo11Script_6221a + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $6 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + call GBFadeIn1 + call SilphCo11Script_6216d + call UpdateSprites + call Delay3 + call GBFadeOut1 + ld hl, $d838 + set 7, [hl] + xor a + ld [wJoypadForbiddenButtonsMask], a + jp SilphCo11Script_621c8 + +SilphCo11Script3: ; 6226a (18:626a) + ld a, [$d730] + bit 0, a + ret nz + ld a, $3 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call SetSpriteMovementBytesToFF + ld a, [$cf0d] + cp $1 + jr z, .asm_62284 + ld a, $2 + ld b, $c + jr .asm_62288 +.asm_62284 + ld a, $8 + ld b, $0 +.asm_62288 + call SilphCo11Script_6221a + call Delay3 + ld a, $4 + jp SilphCo11Script_621c8 + +SilphCo11Script4: ; 62293 (18:6293) + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, SilphCo10Text_62330 ; $6330 + ld de, SilphCo10Text_62330 ; $6330 + call PreBattleSaveRegisters + ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $5 + jp SilphCo11Script_621c8 + +SilphCo11TextPointers: ; 622b7 (18:62b7) + dw SilphCo11Text1 + dw SilphCo11Text2 + dw SilphCo11Text3 + dw SilphCo11Text4 + dw SilphCo11Text5 + dw SilphCo11Text6 + +SilphCo11TrainerHeaders: ; 622c3 (18:62c3) +SilphCo11TrainerHeader0: ; 622c3 (18:62c3) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d837 ; flag's byte + dw SilphCo11BattleText1 ; 0x6344 TextBeforeBattle + dw SilphCo11AfterBattleText1 ; 0x634e TextAfterBattle + dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle + dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle + +SilphCo11TrainerHeader1: ; 622cf (18:62cf) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d837 ; flag's byte + dw SilphCo11BattleText2 ; 0x635d TextBeforeBattle + dw SilphCo11AfterBattleText2 ; 0x6367 TextAfterBattle + dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle + dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle + + db $ff + +SilphCo11Text1: ; 622dc (18:62dc) + db $08 ; asm + ld a, [$d838] + bit 5, a + jp nz, .asm_62308 + ld hl, SilphCoPresidentText + call PrintText + ld bc, (MASTER_BALL << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedSilphCoMasterBallText + call PrintText + ld hl, $d838 + set 5, [hl] + jr .asm_fd405 ; 0x622fe +.BagFull + ld hl, SilphCoMasterBallNoRoomText + call PrintText + jr .asm_fd405 ; 0x62306 +.asm_62308 ; 0x62308 + ld hl, SilphCo10Text_6231c + call PrintText +.asm_fd405 ; 0x6230e + jp TextScriptEnd + +SilphCoPresidentText: ; 62311 (18:6311) + TX_FAR _SilphCoPresidentText + db "@" + +ReceivedSilphCoMasterBallText: ; 62316 (18:6316) + TX_FAR _ReceivedSilphCoMasterBallText + db $11, "@" + +SilphCo10Text_6231c: ; 6231c (18:631c) + TX_FAR _SilphCo10Text_6231c + db "@" + +SilphCoMasterBallNoRoomText: ; 62321 (18:6321) + TX_FAR _SilphCoMasterBallNoRoomText + db "@" + +SilphCo11Text2: ; 62326 (18:6326) + TX_FAR _SilphCo11Text2 + db "@" + +SilphCo11Text3: ; 6232b (18:632b) + TX_FAR _SilphCo11Text3 + db "@" + +SilphCo10Text_62330: ; 62330 (18:6330) + TX_FAR _SilphCo10Text_62330 + db "@" + +SilphCo11Text6: ; 62335 (18:6335) + TX_FAR _SilphCo10Text_62335 + db "@" + +SilphCo11Text4: ; 6233a (18:633a) + db $08 ; asm + ld hl, SilphCo11TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo11BattleText1: ; 62344 (18:6344) + TX_FAR _SilphCo11BattleText1 + db "@" + +SilphCo11EndBattleText1: ; 62349 (18:6349) + TX_FAR _SilphCo11EndBattleText1 + db "@" + +SilphCo11AfterBattleText1: ; 6234e (18:634e) + TX_FAR _SilphCo11AfterBattleText1 + db "@" + +SilphCo11Text5: ; 62353 (18:6353) + db $08 ; asm + ld hl, SilphCo11TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo11BattleText2: ; 6235d (18:635d) + TX_FAR _SilphCo11BattleText2 + db "@" + +SilphCo11EndBattleText2: ; 62362 (18:6362) + TX_FAR _SilphCo11EndBattleText2 + db "@" + +SilphCo11AfterBattleText2: ; 62367 (18:6367) + TX_FAR _SilphCo11AfterBattleText2 + db "@" + +SilphCo10Text_6236c: ; 6236c (18:636c) + db $8 + ld hl, SilphCo10Text_6237b + call PrintText + ld a, PORYGON + call DisplayPokedex + jp TextScriptEnd + +SilphCo10Text_6237b: ; 6237b (18:637b) + TX_FAR _SilphCo10Text_6237b + db "@" |