summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElectroDeoxys <ElectroDeoxys@gmail.com>2020-04-30 22:00:05 +0100
committerElectroDeoxys <ElectroDeoxys@gmail.com>2020-04-30 22:00:05 +0100
commit6018422a4fc24799a24ef72fb58404fb4f3b9a7c (patch)
tree930713fe37729ecb2edcc607702cfc4788f49ba5 /src
parent6669dbb15e57a350eba01d54964192223c9df234 (diff)
Unpack Powerful Ronald AI
Diffstat (limited to 'src')
-rw-r--r--src/engine/bank05.asm164
1 files changed, 160 insertions, 4 deletions
diff --git a/src/engine/bank05.asm b/src/engine/bank05.asm
index 1521c27..74635c8 100644
--- a/src/engine/bank05.asm
+++ b/src/engine/bank05.asm
@@ -24,7 +24,7 @@ PointerTable_14000: ; 14000 (05:4000)
dw PointerTable_151ad ; WONDERS_OF_SCIENCE_DECK
dw PointerTable_15232 ; FIRE_CHARGE_DECK
dw PointerTable_152bd ; IM_RONALD_DECK
- dw $534b ; POWERFUL_RONALD_DECK
+ dw PointerTable_1534b ; POWERFUL_RONALD_DECK
dw $53e8 ; INVINCIBLE_RONALD_DECK
dw $546f ; LEGENDARY_RONALD_DECK
dw $48dc ; MUSCLES_FOR_BRAINS_DECK
@@ -3449,7 +3449,6 @@ Func_1528f: ; 1528f (5:528f)
ret
; 0x152bd
-
PointerTable_152bd: ; 152bd (5:52bd)
dw Func_152c9
dw Func_152c9
@@ -3592,8 +3591,165 @@ Func_1531d: ; 1531d (5:531d)
ret
; 0x1534b
-Func_1534b: ; 1534b (5:534b)
- INCROM $1534b, $155d2
+PointerTable_1534b: ; 1534b (5:534b)
+ dw Func_15357
+ dw Func_15357
+ dw Func_1535b
+ dw Func_1536c
+ dw Func_15370
+ dw Func_15374
+
+Func_15357: ; 15357 (5:5357)
+ INCROM $15357, $1535b
+
+Func_1535b: ; 1535b (5:535b)
+ call InitAIDuelVars
+ call Func_153ba
+ call SetUpBossStartingHandAndDeck
+ call TrySetUpBossStartingPlayArea
+ ret nc
+ call AIPlayInitialBasicCards
+ ret
+; 0x1536c
+
+Func_1536c: ; 1536c (5:536c)
+ call AIDecideBenchPokemonToSwitchTo
+ ret
+; 0x15370
+
+Func_15370: ; 15370 (5:5370)
+ call AIDecideBenchPokemonToSwitchTo
+ ret
+; 0x15374
+
+Func_15374: ; 15374 (5:5374)
+ call _AIPickPrizeCards
+ ret
+; 0x15378
+
+Data_15378: ; 15378 (5:5378)
+ db KANGASKHAN
+ db ELECTABUZZ2
+ db HITMONCHAN
+ db MR_MIME
+ db LICKITUNG
+ db HITMONLEE
+ db TAUROS
+ db JYNX
+ db MEWTWO1
+ db DODUO
+ db $00
+
+Data_15383: ; 15383 (5:5383)
+ db KANGASKHAN
+ db HITMONLEE
+ db HITMONCHAN
+ db TAUROS
+ db DODUO
+ db JYNX
+ db MEWTWO1
+ db ELECTABUZZ2
+ db MR_MIME
+ db LICKITUNG
+ db $00
+
+Data_1538e: ; 1538e (5:538e)
+ db KANGASKHAN
+ db $80 - 1
+ db DODUO
+ db $80 - 1
+ db DODRIO
+ db $80 - 1
+ db $00
+
+Data_15395: ; 15395 (5:5395)
+ db ELECTABUZZ2
+ db 2
+ db $80 + 1
+
+ db HITMONLEE
+ db 3
+ db $80 + 1
+
+ db HITMONCHAN
+ db 3
+ db $80 + 1
+
+ db MR_MIME
+ db 2
+ db $80 + 0
+
+ db JYNX
+ db 3
+ db $80 + 0
+
+ db MEWTWO1
+ db 2
+ db $80 + 0
+
+ db DODUO
+ db 3
+ db $80 - 1
+
+ db DODRIO
+ db 3
+ db $80 - 1
+
+ db LICKITUNG
+ db 2
+ db $80 + 0
+
+ db KANGASKHAN
+ db 4
+ db $80 - 1
+
+ db TAUROS
+ db 3
+ db $80 + 0
+
+ db $00
+
+Data_153b7: ; 153b7 (5:53b7)
+ db GAMBLER
+ db ENERGY_REMOVAL
+ db $00
+
+Func_153ba: ; 153ba (5:53ba)
+ ld hl, wcda8
+ ld de, Data_153b7
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ld hl, wcdaa
+ ld de, Data_15378
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ld hl, wcdac
+ ld de, Data_15383
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ld hl, wcdae
+ ld de, Data_15383
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ld hl, wcdb2
+ ld de, Data_15395
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ret
+; 0x153e8
+
+Func_153e8: ; 153e8 (5:53e8)
+ INCROM $153e8, $155d2
; return carry if card ID loaded in a is found in hand
; and outputs in a the deck index of that card