summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElectroDeoxys <ElectroDeoxys@gmail.com>2020-04-30 19:32:51 +0100
committerElectroDeoxys <ElectroDeoxys@gmail.com>2020-04-30 19:32:51 +0100
commit242195b1b96e7abba4f561be00431a3d5ec222fd (patch)
tree2770a2526e538591c7821eb372733f08982cfb87 /src
parent2e1c7a1934382df139e2c396e58c10516186d349 (diff)
Unpack Rock Crusher AI
Diffstat (limited to 'src')
-rw-r--r--src/engine/bank05.asm133
1 files changed, 130 insertions, 3 deletions
diff --git a/src/engine/bank05.asm b/src/engine/bank05.asm
index 002c670..c430880 100644
--- a/src/engine/bank05.asm
+++ b/src/engine/bank05.asm
@@ -16,7 +16,7 @@ PointerTable_14000: ; 14000 (05:4000)
dw PointerTable_14c0b ; LEGENDARY_ARTICUNO_DECK
dw PointerTable_14d60 ; LEGENDARY_DRAGONITE_DECK
dw PointerTable_14e89 ; FIRST_STRIKE_DECK
- dw $4f0e ; ROCK_CRUSHER_DECK
+ dw PointerTable_14f0e ; ROCK_CRUSHER_DECK
dw $4f8f ; GO_GO_RAIN_DANCE_DECK
dw $5019 ; ZAPPING_SELFDESTRUCT_DECK
dw $509b ; FLOWER_POWER_DECK
@@ -2524,8 +2524,135 @@ Func_14ee0: ; 14ee0 (5:4ee0)
ret
; 0x14f0e
-Func_14f0e: ; 14f0e (5:4f0e)
- INCROM $14f0e, $1514f
+PointerTable_14f0e: ; 14f0e (5:4f0e)
+ dw Func_14f1a
+ dw Func_14f1a
+ dw Func_14f1e
+ dw Func_14f2f
+ dw Func_14f33
+ dw Func_14f37
+
+Func_14f1a: ; 14f1a (5:4f1a)
+ INCROM $14f1a, $14f1e
+
+Func_14f1e: ; 14f1e (5:4f1e)
+ call InitAIDuelVars
+ call Func_14f61
+ call SetUpBossStartingHandAndDeck
+ call TrySetUpBossStartingPlayArea
+ ret nc
+ call AIPlayInitialBasicCards
+ ret
+; 0x14f2f
+
+Func_14f2f: ; 14f2f (5:4f2f)
+ call AIDecideBenchPokemonToSwitchTo
+ ret
+; 0x14f33
+
+Func_14f33: ; 14f33 (5:4f33)
+ call AIDecideBenchPokemonToSwitchTo
+ ret
+; 0x14f37
+
+Func_14f37: ; 14f37 (5:4f37)
+ call _AIPickPrizeCards
+ ret
+; 0x14f3b
+
+Data_14f3b: ; 14f3b (5:4f3b)
+ db RHYHORN
+ db ONIX
+ db GEODUDE
+ db DIGLETT
+ db $00
+
+Data_14f40: ; 14f40 (5:4f40)
+ db DIGLETT
+ db GEODUDE
+ db RHYHORN
+ db ONIX
+ db $00
+
+Data_14f45: ; 14f45 (5:4f45)
+ db DIGLETT
+ db $80 - 1
+ db $00
+
+Data_14f48: ; 14f48 (5:4f48)
+ db DIGLETT
+ db 3
+ db $80 + 1
+
+ db DUGTRIO
+ db 4
+ db $80 + 0
+
+ db GEODUDE
+ db 2
+ db $80 + 1
+
+ db GRAVELER
+ db 3
+ db $80 + 0
+
+ db GOLEM
+ db 4
+ db $80 + 0
+
+ db ONIX
+ db 2
+ db $80 - 1
+
+ db RHYHORN
+ db 3
+ db $80 + 0
+
+ db $00
+
+Data_14f5e: ; 14f5e (5:4f5e)
+ db ENERGY_REMOVAL
+ db RHYHORN
+ db $00
+
+Func_14f61: ; 14f61 (5:4f61)
+ ld hl, wcda8
+ ld de, Data_14f5e
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ld hl, wcdaa
+ ld de, Data_14f3b
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ld hl, wcdac
+ ld de, Data_14f40
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ld hl, wcdae
+ ld de, Data_14f40
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+; missing wcdb0
+
+ ld hl, wcdb2
+ ld de, Data_14f48
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ret
+; 0x14f8f
+
+Func_14f8f: ; 14f8f (5:4f8f)
+ INCROM $14f8f, $1514f
; these seem to be lists of card IDs
; for the AI to look up in their hand