diff options
Diffstat (limited to 'scripts/lab4.asm')
-rwxr-xr-x | scripts/lab4.asm | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/scripts/lab4.asm b/scripts/lab4.asm new file mode 100755 index 00000000..b8a73432 --- /dev/null +++ b/scripts/lab4.asm @@ -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 |