summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rw-r--r--main.asm647
1 files changed, 1 insertions, 646 deletions
diff --git a/main.asm b/main.asm
index 073eeb5de..b0a5f65aa 100644
--- a/main.asm
+++ b/main.asm
@@ -85542,657 +85542,12 @@ INCBIN "baserom.gbc",$93327,$93a31 - $93327
SECTION "bank25",ROMX,BANK[$25]
-
INCLUDE "maps/map_headers.asm"
-
INCLUDE "maps/second_map_headers.asm"
-
INCLUDE "engine/events.asm"
-
INCLUDE "engine/scripting.asm"
-
-
-Function97c28: ; 97c28
- ld hl, StatusFlags2
- res 1, [hl]
- res 2, [hl]
- ret
-; 97c30
-
-Function97c30: ; 97c30
- ld a, [$d45c]
- and a
- ret z
- ld hl, $d45e
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [$d45d]
- call CallScript
- scf
- push af
- xor a
- ld hl, $d45c
- ld bc, 8
- call ByteFill
- pop af
- ret
-; 97c4f
-
-Function97c4f: ; 97c4f
- ld hl, $d45c
- ld a, [hl]
- and a
- ret nz
- ld [hl], 1
- inc hl
- ld [hl], b
- inc hl
- ld [hl], e
- inc hl
- ld [hl], d
- scf
- ret
-; 97c5f
-
-Function97c5f: ; 97c5f
- call GetFacingTileCoord
- ld [EngineBuffer1], a
- ld c, a
- callba Function1365b
- jr c, .asm_97cb9
-
- call CheckCutTreeTile
- jr nz, .whirlpool
- callba TryCutOW
- jr .asm_97cb9
-
-.whirlpool
- ld a, [EngineBuffer1]
- call CheckWhirlpoolTile
- jr nz, .waterfall
- callba TryWhirlpoolOW
- jr .asm_97cb9
-
-.waterfall
- ld a, [EngineBuffer1]
- call CheckWaterfallTile
- jr nz, .headbutt
- callba TryWaterfallOW
- jr .asm_97cb9
-
-.headbutt
- ld a, [EngineBuffer1]
- call CheckHeadbuttTreeTile
- jr nz, .surf
- callba TryHeadbuttOW
- jr c, .asm_97cb9
- jr .asm_97cb7
-
-.surf
- callba TrySurfOW
- jr nc, .asm_97cb7
- jr .asm_97cb9
-
-.asm_97cb7
- xor a
- ret
-
-.asm_97cb9
- call PlayClickSFX
- ld a, $ff
- scf
- ret
-; 97cc0
-
-
-Function97cc0: ; 97cc0
-; Rock Smash encounter
-
- call Function968c7
- jr c, .asm_97ce2
- call Function97cfd
- jr nc, .asm_97ce2
- ld hl, StatusFlags2
- bit 2, [hl]
- jr nz, .asm_97cdb
- callba Function2a0e7
- jr nz, .asm_97ce2
- jr .asm_97ce6
-
-.asm_97cdb
- call Function97d23
- jr nc, .asm_97ce2
- jr .asm_97ced
-
-.asm_97ce2
- ld a, 1
- and a
- ret
-
-.asm_97ce6
- ld a, BANK(RockSmashBattleScript)
- ld hl, RockSmashBattleScript
- jr .asm_97cf4
-
-.asm_97ced
- ld a, BANK(UnknownScript_0x135eb)
- ld hl, UnknownScript_0x135eb
- jr .asm_97cf4
-
-.asm_97cf4
- call CallScript
- scf
- ret
-; 97cf9
-
-RockSmashBattleScript: ; 97cf9
- battlecheck
- startbattle
- returnafterbattle
- end
-; 97cfd
-
-Function97cfd: ; 97cfd
- ld hl, StatusFlags
- bit 5, [hl]
- jr nz, .asm_97d21
- ld a, [$d19a]
- cp $4
- jr z, .asm_97d17
- cp $7
- jr z, .asm_97d17
- callba Function149dd
- jr nc, .asm_97d21
-
-.asm_97d17
- ld a, [StandingTile]
- call CheckIceTile
- jr z, .asm_97d21
- scf
- ret
-
-.asm_97d21
- and a
- ret
-; 97d23
-
-Function97d23: ; 97d23
- call Function97d64
- ret nc
- call Function97d31
- callba Function2a1df
- ret
-; 97d31
-
-Function97d31: ; 97d31
-; Pick a random mon out of ContestMons.
-
-.asm_97d31
- call Random
- cp 100 << 1
- jr nc, .asm_97d31
- srl a
-
- ld hl, ContestMons
- ld de, 4
-.CheckMon
- sub [hl]
- jr c, .GotMon
- add hl, de
- jr .CheckMon
-
-.GotMon
- inc hl
-
-; Species
- ld a, [hli]
- ld [$d22e], a
-
-; Min level
- ld a, [hli]
- ld d, a
-
-; Max level
- ld a, [hl]
-
- sub d
- jr nz, .RandomLevel
-
-; If min and max are the same.
- ld a, d
- jr .GotLevel
-
-.RandomLevel
-; Get a random level between the min and max.
- ld c, a
- inc c
- call Random
- ld a, [hRandomAdd]
- call SimpleDivide
- add d
-
-.GotLevel
- ld [CurPartyLevel], a
-
- xor a
- ret
-; 97d64
-
-Function97d64: ; 97d64
- ld a, [StandingTile]
- call Function188e
- ld b, $66
- jr z, .asm_97d70
- ld b, $33
-
-.asm_97d70
- callba Function2a124
- callba Function2a138
- call Random
- ld a, [hRandomAdd]
- cp b
- ret c
- ld a, 1
- and a
- ret
-; 97d87
-
-ContestMons: ; 97d87
- ; %, species, min, max
- db 20, CATERPIE, 7, 18
- db 20, WEEDLE, 7, 18
- db 10, METAPOD, 9, 18
- db 10, KAKUNA, 9, 18
- db 5, BUTTERFREE, 12, 15
- db 5, BEEDRILL, 12, 15
- db 10, VENONAT, 10, 16
- db 10, PARAS, 10, 17
- db 5, SCYTHER, 13, 14
- db 5, PINSIR, 13, 14
- db -1, VENOMOTH, 30, 40
-; 97db3
-
-Function97db3: ; 97db3
- nop
- nop
- ; fallthrough
-; 97db5
-
-Function97db5: ; 97db5
- ld hl, StatusFlags2
- bit 4, [hl]
- jr z, .asm_97df7
- ld a, [PlayerState]
- cp $1
- jr nz, .asm_97df7
- call Function2d05
- and a
- jr nz, .asm_97df7
- ld hl, $dca2
- ld a, [hli]
- ld d, a
- ld e, [hl]
- cp $ff
- jr nz, .asm_97dd8
- ld a, e
- cp $ff
- jr z, .asm_97ddc
-
-.asm_97dd8
- inc de
- ld [hl], e
- dec hl
- ld [hl], d
-
-.asm_97ddc
- ld a, d
- cp $4
- jr c, .asm_97df7
- ld a, [$dc31]
- and a
- jr nz, .asm_97df7
- ld a, $6
- ld [$dc31], a
- xor a
- ld [$dc32], a
- ld hl, StatusFlags2
- res 4, [hl]
- scf
- ret
-
-.asm_97df7
- xor a
- ret
-; 97df9
-
-Function97df9: ; 97df9
- ld hl, $d6de
- ld de, $0006
- ld c, $4
- xor a
-.asm_97e02
- ld [hl], a
- add hl, de
- dec c
- jr nz, .asm_97e02
- ret
-; 97e08
-
-Function97e08: ; 97e08
- ld hl, $d6de
- xor a
-.asm_97e0c
- ld [hConnectionStripLength], a
- ld a, [hl]
- and a
- jr z, .asm_97e19
- push hl
- ld b, h
- ld c, l
- call Function97e79
- pop hl
-
-.asm_97e19
- ld de, $0006
- add hl, de
- ld a, [hConnectionStripLength]
- inc a
- cp $4
- jr nz, .asm_97e0c
- ret
-; 97e25
-
-Function97e25: ; 97e25
- ld hl, $d6de
- ld bc, 6
- call AddNTimes
- ld b, h
- ld c, l
- ret
-; 97e31
-
-Function97e31: ; 97e31
- push bc
- push de
- call Function97e45
- ld d, h
- ld e, l
- pop hl
- pop bc
- ret c
- ld a, b
- ld bc, $0005
- call FarCopyBytes
- xor a
- ld [hl], a
- ret
-; 97e45
-
-Function97e45: ; 97e45
- ld hl, $d6de
- ld de, $0006
- ld c, $4
-.asm_97e4d
- ld a, [hl]
- and a
- jr z, .asm_97e57
- add hl, de
- dec c
- jr nz, .asm_97e4d
- scf
- ret
-
-.asm_97e57
- ld a, $4
- sub c
- and a
- ret
-; 97e5c
-
-Function97e5c: ; 97e5c
- ld hl, $d6de
- ld de, $0006
- ld c, $4
-.asm_97e64
- ld a, [hl]
- cp b
- jr z, .asm_97e6e
- add hl, de
- dec c
- jr nz, .asm_97e64
- and a
- ret
-
-.asm_97e6e
- xor a
- ld [hl], a
- scf
- ret
-; 97e72
-
-Function97e72: ; 97e72
- ld hl, $0000
- add hl, bc
- ld [hl], 0
- ret
-; 97e79
-
-Function97e79: ; 97e79
- ld hl, $0000
- add hl, bc
- ld a, [hl]
- cp 5
- jr c, .asm_97e83
- xor a
-
-.asm_97e83
- ld e, a
- ld d, 0
- ld hl, Table97e94
- add hl, de
- add hl, de
- add hl, de
- ld a, [hli]
- push af
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop af
- rst FarCall
- ret
-; 97e94
-
-Table97e94: ; 97e94
- dbw BANK(Function97eb7), Function97eb7
- dbw BANK(Function97eb8), Function97eb8
- dbw BANK(Function97f42), Function97f42
- dbw BANK(Function97ef9), Function97ef9
- dbw BANK(Function97ebc), Function97ebc
-; 97ea3
-
-Function97ea3: ; 97ea3
- ld hl, $0005
- add hl, bc
- ld a, [hl]
- pop hl
- rst JumpTable
- ret
-; 97eab
-
-Function97eab: ; 97eab
- ld hl, $0005
- add hl, bc
- inc [hl]
- ret
-; 97eb1
-
-Function97eb1: ; 97eb1
- ld hl, $0005
- add hl, bc
- dec [hl]
- ret
-; 97eb7
-
-Function97eb7: ; 97eb7
- ret
-; 97eb8
-
-Function97eb8: ; 97eb8
- call Function2f3e
- ret
-; 97ebc
-
-Function97ebc: ; 97ebc
- call Function97ea3
- dw Function97ec3
- dw Function97ecd
-; 97ec3
-
-Function97ec3: ; 97ec3
- ld a, [hSCY]
- ld hl, $0004
- add hl, bc
- ld [hl], a
- call Function97eab
-; 97ecd
-
-Function97ecd: ; 97ecd
- ld hl, $0001
- add hl, bc
- ld a, [hl]
- dec a
- ld [hl], a
- jr z, .asm_97eee
- and $1
- jr z, .asm_97ee4
- ld hl, $0002
- add hl, bc
- ld a, [hSCY]
- sub [hl]
- ld [hSCY], a
- ret
-
-.asm_97ee4
- ld hl, $0002
- add hl, bc
- ld a, [hSCY]
- add [hl]
- ld [hSCY], a
- ret
-
-.asm_97eee
- ld hl, $0004
- add hl, bc
- ld a, [hl]
- ld [hSCY], a
- call Function97e72
- ret
-; 97ef9
-
-Function97ef9: ; 97ef9
- call Function97ea3
- dw Function97f02
- dw Function97f0a
- dw Function97f1b
-; 97f02
-
-Function97f02: ; 97f02
- call Function97f38
- jr z, Function97f2c
- call Function97eab
-; 97f0a
-
-Function97f0a: ; 97f0a
- call Function97f38
- jr z, Function97f2c
- call Function97eab
-
- ld hl, $0002
- add hl, bc
- ld a, [hl]
- ld [$d173], a
- ret
-; 97f1b
-
-Function97f1b: ; 97f1b
- call Function97f38
- jr z, Function97f2c
- call Function97eb1
-
- ld hl, $0003
- add hl, bc
- ld a, [hl]
- ld [$d173], a
- ret
-; 97f2c
-
-Function97f2c: ; 97f2c
- ld a, $7f
- ld [$d173], a
- ld hl, $0005
- add hl, bc
- ld [hl], 0
- ret
-; 97f38
-
-Function97f38: ; 97f38
- push bc
- ld bc, $d4d6
- call GetSpriteDirection
- and a
- pop bc
- ret
-; 97f42
-
-Function97f42: ; 97f42
- ld de, $d4d6
- ld a, $d
-.asm_97f47
- push af
-
- ld hl, $0000
- add hl, de
- ld a, [hl]
- and a
- jr z, .asm_97f71
-
- ld hl, $0003
- add hl, de
- ld a, [hl]
- cp $19
- jr nz, .asm_97f71
-
- ld hl, $000e
- add hl, de
- ld a, [hl]
- call CheckPitTile
- jr nz, .asm_97f71
-
- ld hl, $0007
- add hl, de
- ld a, [hl]
- cp $ff
- jr nz, .asm_97f71
- call Function3567
- jr c, .asm_97f7c
-
-.asm_97f71
- ld hl, $0028
- add hl, de
- ld d, h
- ld e, l
-
- pop af
- dec a
- jr nz, .asm_97f47
- ret
-
-.asm_97f7c
- pop af
- ret
-; 97f7e
+INCLUDE "engine/events_2.asm"