summaryrefslogtreecommitdiff
path: root/scripts/silphco2.asm
diff options
context:
space:
mode:
authorU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-05-18 14:19:10 -0400
committerU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-05-18 14:19:10 -0400
commit24c01b09bb2b617812bd826d1cf9ab5e3ec6a023 (patch)
tree07d2ed81b23de081f2003d9f8d50170344dd5ada /scripts/silphco2.asm
parent4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff)
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/silphco2.asm')
-rwxr-xr-xscripts/silphco2.asm248
1 files changed, 248 insertions, 0 deletions
diff --git a/scripts/silphco2.asm b/scripts/silphco2.asm
new file mode 100755
index 00000000..da59cc4c
--- /dev/null
+++ b/scripts/silphco2.asm
@@ -0,0 +1,248 @@
+SilphCo2Script: ; 59cf1 (16:5cf1)
+ call SilphCo2Script_59d07
+ call EnableAutoTextBoxDrawing
+ ld hl, SilphCo2TrainerHeaders
+ ld de, SilphCo2ScriptPointers
+ ld a, [W_SILPHCO2CURSCRIPT]
+ call ExecuteCurMapScriptInTable
+ ld [W_SILPHCO2CURSCRIPT], a
+ ret
+
+SilphCo2Script_59d07: ; 59d07 (16:5d07)
+ ld hl, $d126
+ bit 5, [hl]
+ res 5, [hl]
+ ret z
+ ld hl, DataTable_59d3e
+ call SilphCo2Script_59d43
+ call SilphCo2Script_59d6f
+ ld a, [$d826]
+ bit 5, a
+ jr nz, .asm_59d2e
+ push af
+ ld a, $54
+ ld [$d09f], a
+ ld bc, $0202
+ ld a, $17
+ call Predef
+ pop af
+.asm_59d2e
+ bit 6, a
+ ret nz
+ ld a, $54
+ ld [$d09f], a
+ ld bc, $0502
+ ld a, $17
+ jp Predef
+
+DataTable_59d3e: ; 59d3e (16:5d3e)
+ db $02,$02,$05,$02,$FF
+
+SilphCo2Script_59d43: ; 59d43 (16:5d43)
+ 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_59d4f
+ ld a, [hli]
+ cp $ff
+ jr z, .asm_59d6b
+ push hl
+ ld hl, $ffe0
+ inc [hl]
+ pop hl
+ cp b
+ jr z, .asm_59d60
+ inc hl
+ jr .asm_59d4f
+.asm_59d60
+ ld a, [hli]
+ cp c
+ jr nz, .asm_59d4f
+ ld hl, $d73f
+ xor a
+ ld [hli], a
+ ld [hl], a
+ ret
+.asm_59d6b
+ xor a
+ ld [$ffe0], a
+ ret
+
+SilphCo2Script_59d6f: ; 59d6f (16:5d6f)
+ ld hl, $d826
+ ld a, [$ffe0]
+ and a
+ ret z
+ cp $1
+ jr nz, .asm_59d7d
+ set 5, [hl]
+ ret
+.asm_59d7d
+ set 6, [hl]
+ ret
+
+SilphCo2ScriptPointers: ; 59d80 (16:5d80)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
+
+SilphCo2TextPointers: ; 59d86 (16:5d86)
+ dw SilphCo2Text1
+ dw SilphCo2Text2
+ dw SilphCo2Text3
+ dw SilphCo2Text4
+ dw SilphCo2Text5
+
+SilphCo2TrainerHeaders: ; 59d90 (16:5d90)
+SilphCo2TrainerHeader0: ; 59d90 (16:5d90)
+ db $2 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d825 ; flag's byte
+ dw SilphCo2BattleText1 ; 0x5e2a TextBeforeBattle
+ dw SilphCo2AfterBattleText1 ; 0x5e34 TextAfterBattle
+ dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle
+ dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle
+
+SilphCo2TrainerHeader1: ; 59d9c (16:5d9c)
+ db $3 ; flag's bit
+ db ($4 << 4) ; trainer's view range
+ dw $d825 ; flag's byte
+ dw SilphCo2BattleText2 ; 0x5e39 TextBeforeBattle
+ dw SilphCo2AfterBattleText2 ; 0x5e43 TextAfterBattle
+ dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle
+ dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle
+
+SilphCo2TrainerHeader2: ; 59da8 (16:5da8)
+ db $4 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d825 ; flag's byte
+ dw SilphCo2BattleText3 ; 0x5e48 TextBeforeBattle
+ dw SilphCo2AfterBattleText3 ; 0x5e52 TextAfterBattle
+ dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle
+ dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle
+
+SilphCo2TrainerHeader3: ; 59db4 (16:5db4)
+ db $5 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d825 ; flag's byte
+ dw SilphCo2BattleText4 ; 0x5e57 TextBeforeBattle
+ dw SilphCo2AfterBattleText4 ; 0x5e61 TextAfterBattle
+ dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle
+ dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle
+
+ db $ff
+
+SilphCo2Text1: ; 59dc1 (16:5dc1)
+ db $08 ; asm
+ ld a, [$d826]
+ bit 7, a
+ jr nz, asm_b8a0d ; 0x59dc7
+ ld hl, SilphCo2Text_59ded
+ call PrintText
+ ld bc, (TM_36 << 8) | 1
+ call GiveItem
+ ld hl, TM36NoRoomText
+ jr nc, asm_2c1e0 ; 0x59dd8
+ ld hl, $d826
+ set 7, [hl]
+ ld hl, ReceivedTM36Text
+ jr asm_2c1e0 ; 0x59de2
+asm_b8a0d ; 0x59de4
+ ld hl, TM36ExplanationText
+asm_2c1e0 ; 0x59de7
+ call PrintText
+ jp TextScriptEnd
+
+SilphCo2Text_59ded: ; 59ded (16:5ded)
+ TX_FAR _SilphCo2Text_59ded
+ db "@"
+
+ReceivedTM36Text: ; 59df2 (16:5df2)
+ TX_FAR _ReceivedTM36Text
+ db $0B, "@"
+
+TM36ExplanationText: ; 59df8 (16:5df8)
+ TX_FAR _TM36ExplanationText
+ db "@"
+
+TM36NoRoomText: ; 59dfd (16:5dfd)
+ TX_FAR _TM36NoRoomText
+ db "@"
+
+SilphCo2Text2: ; 59e02 (16:5e02)
+ db $08 ; asm
+ ld hl, SilphCo2TrainerHeader0
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SilphCo2Text3: ; 59e0c (16:5e0c)
+ db $08 ; asm
+ ld hl, SilphCo2TrainerHeader1
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SilphCo2Text4: ; 59e16 (16:5e16)
+ db $08 ; asm
+ ld hl, SilphCo2TrainerHeader2
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SilphCo2Text5: ; 59e20 (16:5e20)
+ db $08 ; asm
+ ld hl, SilphCo2TrainerHeader3
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SilphCo2BattleText1: ; 59e2a (16:5e2a)
+ TX_FAR _SilphCo2BattleText1
+ db "@"
+
+SilphCo2EndBattleText1: ; 59e2f (16:5e2f)
+ TX_FAR _SilphCo2EndBattleText1
+ db "@"
+
+SilphCo2AfterBattleText1: ; 59e34 (16:5e34)
+ TX_FAR _SilphCo2AfterBattleText1
+ db "@"
+
+SilphCo2BattleText2: ; 59e39 (16:5e39)
+ TX_FAR _SilphCo2BattleText2
+ db "@"
+
+SilphCo2EndBattleText2: ; 59e3e (16:5e3e)
+ TX_FAR _SilphCo2EndBattleText2
+ db "@"
+
+SilphCo2AfterBattleText2: ; 59e43 (16:5e43)
+ TX_FAR _SilphCo2AfterBattleText2
+ db "@"
+
+SilphCo2BattleText3: ; 59e48 (16:5e48)
+ TX_FAR _SilphCo2BattleText3
+ db "@"
+
+SilphCo2EndBattleText3: ; 59e4d (16:5e4d)
+ TX_FAR _SilphCo2EndBattleText3
+ db "@"
+
+SilphCo2AfterBattleText3: ; 59e52 (16:5e52)
+ TX_FAR _SilphCo2AfterBattleText3
+ db "@"
+
+SilphCo2BattleText4: ; 59e57 (16:5e57)
+ TX_FAR _SilphCo2BattleText4
+ db "@"
+
+SilphCo2EndBattleText4: ; 59e5c (16:5e5c)
+ TX_FAR _SilphCo2EndBattleText4
+ db "@"
+
+SilphCo2AfterBattleText4: ; 59e61 (16:5e61)
+ TX_FAR _SilphCo2AfterBattleText4
+ db "@"