summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_ai.s2943
-rw-r--r--asm/contest_ai.s648
-rw-r--r--include/pokemon.h133
-rw-r--r--shared_syms.txt4
-rw-r--r--src/battle_ai.c1383
-rw-r--r--sym_ewram.txt2
6 files changed, 1832 insertions, 3281 deletions
diff --git a/asm/battle_ai.s b/asm/battle_ai.s
index 3efe87815..78e928ac7 100644
--- a/asm/battle_ai.s
+++ b/asm/battle_ai.s
@@ -5,2760 +5,7 @@
.syntax unified
.text
-
- thumb_func_start BattleAICmd_if_random
-BattleAICmd_if_random: @ 810752C
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xFF
- lsls r1, 16
- ldr r3, _08107560 @ =gUnknown_02039238
- ldr r2, [r3]
- ands r1, r0
- lsrs r1, 16
- ldrb r0, [r2, 0x1]
- cmp r1, r0
- bcs _08107564
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107568
- .align 2, 0
-_08107560: .4byte gUnknown_02039238
-_08107564:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107568:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_random
-
- thumb_func_start BattleAICmd_if_not_random
-BattleAICmd_if_not_random: @ 810756C
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xFF
- lsls r1, 16
- ldr r3, _081075A0 @ =gUnknown_02039238
- ldr r2, [r3]
- ands r1, r0
- lsrs r1, 16
- ldrb r0, [r2, 0x1]
- cmp r1, r0
- bls _081075A4
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _081075A8
- .align 2, 0
-_081075A0: .4byte gUnknown_02039238
-_081075A4:
- adds r0, r2, 0x6
- str r0, [r3]
-_081075A8:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_random
-
- thumb_func_start BattleAICmd_if_random_1
-BattleAICmd_if_random_1: @ 81075AC
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xFF
- lsls r1, 16
- ldr r3, _081075E0 @ =gUnknown_02039238
- ldr r2, [r3]
- ands r1, r0
- lsrs r1, 16
- ldrb r0, [r2, 0x1]
- cmp r1, r0
- bne _081075E4
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _081075E8
- .align 2, 0
-_081075E0: .4byte gUnknown_02039238
-_081075E4:
- adds r0, r2, 0x6
- str r0, [r3]
-_081075E8:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_random_1
-
- thumb_func_start BattleAICmd_if_not_random_1
-BattleAICmd_if_not_random_1: @ 81075EC
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xFF
- lsls r1, 16
- ldr r3, _08107620 @ =gUnknown_02039238
- ldr r2, [r3]
- ands r1, r0
- lsrs r1, 16
- ldrb r0, [r2, 0x1]
- cmp r1, r0
- beq _08107624
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107628
- .align 2, 0
-_08107620: .4byte gUnknown_02039238
-_08107624:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107628:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_random_1
-
- thumb_func_start BattleAICmd_score
-BattleAICmd_score: @ 810762C
- push {r4,r5,lr}
- ldr r2, _08107660 @ =0x02016800
- ldrb r1, [r2, 0x1]
- adds r3, r2, 0x4
- adds r1, r3
- ldr r4, _08107664 @ =gUnknown_02039238
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- ldrb r5, [r1]
- adds r0, r5
- strb r0, [r1]
- ldrb r0, [r2, 0x1]
- adds r1, r0, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bge _08107652
- movs r0, 0
- strb r0, [r1]
-_08107652:
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08107660: .4byte 0x02016800
-_08107664: .4byte gUnknown_02039238
- thumb_func_end BattleAICmd_score
-
- thumb_func_start BattleAICmd_if_hp_less_than
-BattleAICmd_if_hp_less_than: @ 8107668
- push {r4,lr}
- ldr r0, _0810767C @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08107684
- ldr r0, _08107680 @ =gUnknown_02024C07
- b _08107686
- .align 2, 0
-_0810767C: .4byte gUnknown_02039238
-_08107680: .4byte gUnknown_02024C07
-_08107684:
- ldr r0, _081076BC @ =gUnknown_02024C08
-_08107686:
- ldrb r1, [r0]
- ldr r2, _081076C0 @ =gBattleMons
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r2, [r1, 0x28]
- movs r0, 0x64
- muls r0, r2
- ldrh r1, [r1, 0x2C]
- bl __divsi3
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- cmp r0, r1
- bcs _081076C4
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _081076C8
- .align 2, 0
-_081076BC: .4byte gUnknown_02024C08
-_081076C0: .4byte gBattleMons
-_081076C4:
- adds r0, r2, 0x7
- str r0, [r4]
-_081076C8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_hp_less_than
-
- thumb_func_start BattleAICmd_if_hp_more_than
-BattleAICmd_if_hp_more_than: @ 81076D0
- push {r4,lr}
- ldr r0, _081076E4 @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _081076EC
- ldr r0, _081076E8 @ =gUnknown_02024C07
- b _081076EE
- .align 2, 0
-_081076E4: .4byte gUnknown_02039238
-_081076E8: .4byte gUnknown_02024C07
-_081076EC:
- ldr r0, _08107724 @ =gUnknown_02024C08
-_081076EE:
- ldrb r1, [r0]
- ldr r2, _08107728 @ =gBattleMons
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r2, [r1, 0x28]
- movs r0, 0x64
- muls r0, r2
- ldrh r1, [r1, 0x2C]
- bl __divsi3
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- cmp r0, r1
- bls _0810772C
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107730
- .align 2, 0
-_08107724: .4byte gUnknown_02024C08
-_08107728: .4byte gBattleMons
-_0810772C:
- adds r0, r2, 0x7
- str r0, [r4]
-_08107730:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_hp_more_than
-
- thumb_func_start BattleAICmd_if_hp_equal
-BattleAICmd_if_hp_equal: @ 8107738
- push {r4,lr}
- ldr r0, _0810774C @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08107754
- ldr r0, _08107750 @ =gUnknown_02024C07
- b _08107756
- .align 2, 0
-_0810774C: .4byte gUnknown_02039238
-_08107750: .4byte gUnknown_02024C07
-_08107754:
- ldr r0, _0810778C @ =gUnknown_02024C08
-_08107756:
- ldrb r1, [r0]
- ldr r2, _08107790 @ =gBattleMons
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r2, [r1, 0x28]
- movs r0, 0x64
- muls r0, r2
- ldrh r1, [r1, 0x2C]
- bl __divsi3
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- cmp r0, r1
- bne _08107794
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107798
- .align 2, 0
-_0810778C: .4byte gUnknown_02024C08
-_08107790: .4byte gBattleMons
-_08107794:
- adds r0, r2, 0x7
- str r0, [r4]
-_08107798:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_hp_equal
-
- thumb_func_start BattleAICmd_if_hp_not_equal
-BattleAICmd_if_hp_not_equal: @ 81077A0
- push {r4,lr}
- ldr r0, _081077B4 @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _081077BC
- ldr r0, _081077B8 @ =gUnknown_02024C07
- b _081077BE
- .align 2, 0
-_081077B4: .4byte gUnknown_02039238
-_081077B8: .4byte gUnknown_02024C07
-_081077BC:
- ldr r0, _081077F4 @ =gUnknown_02024C08
-_081077BE:
- ldrb r1, [r0]
- ldr r2, _081077F8 @ =gBattleMons
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r2, [r1, 0x28]
- movs r0, 0x64
- muls r0, r2
- ldrh r1, [r1, 0x2C]
- bl __divsi3
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- cmp r0, r1
- beq _081077FC
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107800
- .align 2, 0
-_081077F4: .4byte gUnknown_02024C08
-_081077F8: .4byte gBattleMons
-_081077FC:
- adds r0, r2, 0x7
- str r0, [r4]
-_08107800:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_hp_not_equal
-
- thumb_func_start BattleAICmd_if_status
-BattleAICmd_if_status: @ 8107808
- push {r4,r5,lr}
- ldr r0, _0810781C @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _08107824
- ldr r0, _08107820 @ =gUnknown_02024C07
- b _08107826
- .align 2, 0
-_0810781C: .4byte gUnknown_02039238
-_08107820: .4byte gUnknown_02024C07
-_08107824:
- ldr r0, _08107868 @ =gUnknown_02024C08
-_08107826:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r2, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r2, r0
- ldr r1, _0810786C @ =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- beq _08107870
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _08107876
- .align 2, 0
-_08107868: .4byte gUnknown_02024C08
-_0810786C: .4byte gBattleMons
-_08107870:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_08107876:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_status
-
- thumb_func_start BattleAICmd_if_not_status
-BattleAICmd_if_not_status: @ 810787C
- push {r4,r5,lr}
- ldr r0, _08107890 @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _08107898
- ldr r0, _08107894 @ =gUnknown_02024C07
- b _0810789A
- .align 2, 0
-_08107890: .4byte gUnknown_02039238
-_08107894: .4byte gUnknown_02024C07
-_08107898:
- ldr r0, _081078DC @ =gUnknown_02024C08
-_0810789A:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r2, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r2, r0
- ldr r1, _081078E0 @ =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- bne _081078E4
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _081078EA
- .align 2, 0
-_081078DC: .4byte gUnknown_02024C08
-_081078E0: .4byte gBattleMons
-_081078E4:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_081078EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_status
-
- thumb_func_start BattleAICmd_if_status2
-BattleAICmd_if_status2: @ 81078F0
- push {r4,r5,lr}
- ldr r0, _08107904 @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _0810790C
- ldr r0, _08107908 @ =gUnknown_02024C07
- b _0810790E
- .align 2, 0
-_08107904: .4byte gUnknown_02039238
-_08107908: .4byte gUnknown_02024C07
-_0810790C:
- ldr r0, _08107950 @ =gUnknown_02024C08
-_0810790E:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r2, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r2, r0
- ldr r1, _08107954 @ =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- beq _08107958
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _0810795E
- .align 2, 0
-_08107950: .4byte gUnknown_02024C08
-_08107954: .4byte gBattleMons
-_08107958:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_0810795E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_status2
-
- thumb_func_start BattleAICmd_if_not_status2
-BattleAICmd_if_not_status2: @ 8107964
- push {r4,r5,lr}
- ldr r0, _08107978 @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _08107980
- ldr r0, _0810797C @ =gUnknown_02024C07
- b _08107982
- .align 2, 0
-_08107978: .4byte gUnknown_02039238
-_0810797C: .4byte gUnknown_02024C07
-_08107980:
- ldr r0, _081079C4 @ =gUnknown_02024C08
-_08107982:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r2, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r2, r0
- ldr r1, _081079C8 @ =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- bne _081079CC
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _081079D2
- .align 2, 0
-_081079C4: .4byte gUnknown_02024C08
-_081079C8: .4byte gBattleMons
-_081079CC:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_081079D2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_status2
-
- thumb_func_start BattleAICmd_if_status3
-BattleAICmd_if_status3: @ 81079D8
- push {r4,r5,lr}
- ldr r0, _081079EC @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _081079F4
- ldr r0, _081079F0 @ =gUnknown_02024C07
- b _081079F6
- .align 2, 0
-_081079EC: .4byte gUnknown_02039238
-_081079F0: .4byte gUnknown_02024C07
-_081079F4:
- ldr r0, _08107A34 @ =gUnknown_02024C08
-_081079F6:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r1, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r1, r0
- ldr r2, _08107A38 @ =gUnknown_02024C98
- lsls r0, r4, 2
- adds r0, r2
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _08107A3C
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _08107A42
- .align 2, 0
-_08107A34: .4byte gUnknown_02024C08
-_08107A38: .4byte gUnknown_02024C98
-_08107A3C:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_08107A42:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_status3
-
- thumb_func_start BattleAICmd_if_not_status3
-BattleAICmd_if_not_status3: @ 8107A48
- push {r4,r5,lr}
- ldr r0, _08107A5C @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _08107A64
- ldr r0, _08107A60 @ =gUnknown_02024C07
- b _08107A66
- .align 2, 0
-_08107A5C: .4byte gUnknown_02039238
-_08107A60: .4byte gUnknown_02024C07
-_08107A64:
- ldr r0, _08107AA4 @ =gUnknown_02024C08
-_08107A66:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r1, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r1, r0
- ldr r2, _08107AA8 @ =gUnknown_02024C98
- lsls r0, r4, 2
- adds r0, r2
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- bne _08107AAC
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _08107AB2
- .align 2, 0
-_08107AA4: .4byte gUnknown_02024C08
-_08107AA8: .4byte gUnknown_02024C98
-_08107AAC:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_08107AB2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_status3
-
- thumb_func_start BattleAICmd_if_status4
-BattleAICmd_if_status4: @ 8107AB8
- push {r4,lr}
- ldr r0, _08107AC8 @ =gUnknown_02039238
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _08107AD0
- ldr r0, _08107ACC @ =gUnknown_02024C07
- b _08107AD2
- .align 2, 0
-_08107AC8: .4byte gUnknown_02039238
-_08107ACC: .4byte gUnknown_02024C07
-_08107AD0:
- ldr r0, _08107B1C @ =gUnknown_02024C08
-_08107AD2:
- ldrb r0, [r0]
- bl battle_get_per_side_status
- movs r2, 0x1
- ands r2, r0
- ldr r4, _08107B20 @ =gUnknown_02039238
- ldr r3, [r4]
- ldrb r1, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107B24 @ =gUnknown_02024C7A
- lsls r2, 1
- adds r2, r0
- ldrh r0, [r2]
- ands r0, r1
- cmp r0, 0
- beq _08107B28
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107B2E
- .align 2, 0
-_08107B1C: .4byte gUnknown_02024C08
-_08107B20: .4byte gUnknown_02039238
-_08107B24: .4byte gUnknown_02024C7A
-_08107B28:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r4]
-_08107B2E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_status4
-
- thumb_func_start BattleAICmd_if_not_status4
-BattleAICmd_if_not_status4: @ 8107B34
- push {r4,lr}
- ldr r0, _08107B44 @ =gUnknown_02039238
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _08107B4C
- ldr r0, _08107B48 @ =gUnknown_02024C07
- b _08107B4E
- .align 2, 0
-_08107B44: .4byte gUnknown_02039238
-_08107B48: .4byte gUnknown_02024C07
-_08107B4C:
- ldr r0, _08107B98 @ =gUnknown_02024C08
-_08107B4E:
- ldrb r0, [r0]
- bl battle_get_per_side_status
- movs r2, 0x1
- ands r2, r0
- ldr r4, _08107B9C @ =gUnknown_02039238
- ldr r3, [r4]
- ldrb r1, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107BA0 @ =gUnknown_02024C7A
- lsls r2, 1
- adds r2, r0
- ldrh r0, [r2]
- ands r0, r1
- cmp r0, 0
- bne _08107BA4
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107BAA
- .align 2, 0
-_08107B98: .4byte gUnknown_02024C08
-_08107B9C: .4byte gUnknown_02039238
-_08107BA0: .4byte gUnknown_02024C7A
-_08107BA4:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r4]
-_08107BAA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_status4
-
- thumb_func_start BattleAICmd_if_less_than
-BattleAICmd_if_less_than: @ 8107BB0
- push {lr}
- ldr r0, _08107BD8 @ =0x02016800
- ldr r3, _08107BDC @ =gUnknown_02039238
- ldr r2, [r3]
- ldr r0, [r0, 0x8]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bcs _08107BE0
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107BE4
- .align 2, 0
-_08107BD8: .4byte 0x02016800
-_08107BDC: .4byte gUnknown_02039238
-_08107BE0:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107BE4:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_less_than
-
- thumb_func_start BattleAICmd_if_more_than
-BattleAICmd_if_more_than: @ 8107BE8
- push {lr}
- ldr r0, _08107C10 @ =0x02016800
- ldr r3, _08107C14 @ =gUnknown_02039238
- ldr r2, [r3]
- ldr r0, [r0, 0x8]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bls _08107C18
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107C1C
- .align 2, 0
-_08107C10: .4byte 0x02016800
-_08107C14: .4byte gUnknown_02039238
-_08107C18:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107C1C:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_more_than
-
- thumb_func_start BattleAICmd_if_equal
-BattleAICmd_if_equal: @ 8107C20
- push {lr}
- ldr r0, _08107C48 @ =0x02016800
- ldr r3, _08107C4C @ =gUnknown_02039238
- ldr r2, [r3]
- ldr r0, [r0, 0x8]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bne _08107C50
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107C54
- .align 2, 0
-_08107C48: .4byte 0x02016800
-_08107C4C: .4byte gUnknown_02039238
-_08107C50:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107C54:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_equal
-
- thumb_func_start BattleAICmd_if_not_equal
-BattleAICmd_if_not_equal: @ 8107C58
- push {lr}
- ldr r0, _08107C80 @ =0x02016800
- ldr r3, _08107C84 @ =gUnknown_02039238
- ldr r2, [r3]
- ldr r0, [r0, 0x8]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- beq _08107C88
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107C8C
- .align 2, 0
-_08107C80: .4byte 0x02016800
-_08107C84: .4byte gUnknown_02039238
-_08107C88:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107C8C:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_equal
-
- thumb_func_start BattleAICmd_if_less_than_32
-BattleAICmd_if_less_than_32: @ 8107C90
- push {lr}
- ldr r3, _08107CCC @ =gUnknown_02039238
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107CD0 @ =0x02016800
- ldr r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08107CD4
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107CDA
- .align 2, 0
-_08107CCC: .4byte gUnknown_02039238
-_08107CD0: .4byte 0x02016800
-_08107CD4:
- adds r0, r2, 0
- adds r0, 0x9
- str r0, [r3]
-_08107CDA:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_less_than_32
-
- thumb_func_start BattleAICmd_if_more_than_32
-BattleAICmd_if_more_than_32: @ 8107CE0
- push {lr}
- ldr r3, _08107D1C @ =gUnknown_02039238
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107D20 @ =0x02016800
- ldr r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bls _08107D24
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107D2A
- .align 2, 0
-_08107D1C: .4byte gUnknown_02039238
-_08107D20: .4byte 0x02016800
-_08107D24:
- adds r0, r2, 0
- adds r0, 0x9
- str r0, [r3]
-_08107D2A:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_more_than_32
-
- thumb_func_start BattleAICmd_if_equal_32
-BattleAICmd_if_equal_32: @ 8107D30
- push {lr}
- ldr r3, _08107D6C @ =gUnknown_02039238
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107D70 @ =0x02016800
- ldr r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08107D74
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107D7A
- .align 2, 0
-_08107D6C: .4byte gUnknown_02039238
-_08107D70: .4byte 0x02016800
-_08107D74:
- adds r0, r2, 0
- adds r0, 0x9
- str r0, [r3]
-_08107D7A:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_equal_32
-
- thumb_func_start BattleAICmd_if_not_equal_32
-BattleAICmd_if_not_equal_32: @ 8107D80
- push {lr}
- ldr r3, _08107DBC @ =gUnknown_02039238
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107DC0 @ =0x02016800
- ldr r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08107DC4
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107DCA
- .align 2, 0
-_08107DBC: .4byte gUnknown_02039238
-_08107DC0: .4byte 0x02016800
-_08107DC4:
- adds r0, r2, 0
- adds r0, 0x9
- str r0, [r3]
-_08107DCA:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_equal_32
-
- thumb_func_start BattleAICmd_if_move
-BattleAICmd_if_move: @ 8107DD0
- push {lr}
- ldr r3, _08107E00 @ =gUnknown_02039238
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldr r0, _08107E04 @ =0x02016800
- ldrh r0, [r0, 0x2]
- cmp r0, r1
- bne _08107E08
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107E0C
- .align 2, 0
-_08107E00: .4byte gUnknown_02039238
-_08107E04: .4byte 0x02016800
-_08107E08:
- adds r0, r2, 0x7
- str r0, [r3]
-_08107E0C:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_move
-
- thumb_func_start BattleAICmd_if_not_move
-BattleAICmd_if_not_move: @ 8107E10
- push {lr}
- ldr r3, _08107E40 @ =gUnknown_02039238
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldr r0, _08107E44 @ =0x02016800
- ldrh r0, [r0, 0x2]
- cmp r0, r1
- beq _08107E48
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107E4C
- .align 2, 0
-_08107E40: .4byte gUnknown_02039238
-_08107E44: .4byte 0x02016800
-_08107E48:
- adds r0, r2, 0x7
- str r0, [r3]
-_08107E4C:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_move
-
- thumb_func_start BattleAICmd_if_in_bytes
-BattleAICmd_if_in_bytes: @ 8107E50
- push {r4,lr}
- ldr r2, _08107E98 @ =gUnknown_02039238
- ldr r1, [r2]
- ldrb r3, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r3, r0
- ldrb r0, [r3]
- cmp r0, 0xFF
- beq _08107EA8
- ldr r0, _08107E9C @ =0x02016800
- ldr r1, [r0, 0x8]
- adds r4, r2, 0
-_08107E76:
- ldrb r0, [r3]
- cmp r1, r0
- bne _08107EA0
- ldr r2, [r4]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107EAE
- .align 2, 0
-_08107E98: .4byte gUnknown_02039238
-_08107E9C: .4byte 0x02016800
-_08107EA0:
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _08107E76
-_08107EA8:
- ldr r0, [r2]
- adds r0, 0x9
- str r0, [r2]
-_08107EAE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_in_bytes
-
- thumb_func_start BattleAICmd_if_not_in_bytes
-BattleAICmd_if_not_in_bytes: @ 8107EB4
- push {r4,lr}
- ldr r2, _08107EEC @ =gUnknown_02039238
- ldr r1, [r2]
- ldrb r3, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r3, r0
- ldrb r0, [r3]
- adds r4, r2, 0
- cmp r0, 0xFF
- beq _08107EFC
- ldr r0, _08107EF0 @ =0x02016800
- ldr r2, [r0, 0x8]
- adds r1, r4, 0
-_08107EDC:
- ldrb r0, [r3]
- cmp r2, r0
- bne _08107EF4
- ldr r0, [r1]
- adds r0, 0x9
- str r0, [r1]
- b _08107F14
- .align 2, 0
-_08107EEC: .4byte gUnknown_02039238
-_08107EF0: .4byte 0x02016800
-_08107EF4:
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _08107EDC
-_08107EFC:
- ldr r2, [r4]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
-_08107F14:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_in_bytes
-
- thumb_func_start BattleAICmd_if_in_words
-BattleAICmd_if_in_words: @ 8107F1C
- push {r4,r5,lr}
- ldr r2, _08107F64 @ =gUnknown_02039238
- ldr r1, [r2]
- ldrb r3, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r3, r0
- ldrh r0, [r3]
- ldr r5, _08107F68 @ =0x0000ffff
- cmp r0, r5
- beq _08107F78
- ldr r0, _08107F6C @ =0x02016800
- ldr r1, [r0, 0x8]
- adds r4, r2, 0
-_08107F44:
- ldrh r0, [r3]
- cmp r1, r0
- bne _08107F70
- ldr r2, [r4]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107F7E
- .align 2, 0
-_08107F64: .4byte gUnknown_02039238
-_08107F68: .4byte 0x0000ffff
-_08107F6C: .4byte 0x02016800
-_08107F70:
- adds r3, 0x2
- ldrh r0, [r3]
- cmp r0, r5
- bne _08107F44
-_08107F78:
- ldr r0, [r2]
- adds r0, 0x9
- str r0, [r2]
-_08107F7E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_in_words
-
- thumb_func_start BattleAICmd_if_not_in_words
-BattleAICmd_if_not_in_words: @ 8107F84
- push {r4,r5,lr}
- ldr r2, _08107FBC @ =gUnknown_02039238
- ldr r1, [r2]
- ldrb r3, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r3, r0
- ldrh r0, [r3]
- ldr r4, _08107FC0 @ =0x0000ffff
- adds r5, r2, 0
- cmp r0, r4
- beq _08107FD0
- ldr r0, _08107FC4 @ =0x02016800
- ldr r2, [r0, 0x8]
- adds r1, r5, 0
-_08107FAE:
- ldrh r0, [r3]
- cmp r2, r0
- bne _08107FC8
- ldr r0, [r1]
- adds r0, 0x9
- str r0, [r1]
- b _08107FE8
- .align 2, 0
-_08107FBC: .4byte gUnknown_02039238
-_08107FC0: .4byte 0x0000ffff
-_08107FC4: .4byte 0x02016800
-_08107FC8:
- adds r3, 0x2
- ldrh r0, [r3]
- cmp r0, r4
- bne _08107FAE
-_08107FD0:
- ldr r2, [r5]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
-_08107FE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_not_in_words
-
- thumb_func_start BattleAICmd_if_user_can_damage
-BattleAICmd_if_user_can_damage: @ 8107FF0
- push {r4,r5,lr}
- movs r3, 0
- ldr r4, _08108030 @ =gUnknown_02039238
- ldr r1, _08108034 @ =gBattleMons
- ldr r0, _08108038 @ =gUnknown_02024C07
- ldrb r2, [r0]
- ldr r5, _0810803C @ =gBattleMoves
- movs r0, 0x58
- muls r0, r2
- adds r1, 0xC
- adds r2, r0, r1
-_08108006:
- ldrh r0, [r2]
- cmp r0, 0
- beq _0810801A
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _08108022
-_0810801A:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _08108006
-_08108022:
- cmp r3, 0x4
- bne _08108040
- ldr r0, [r4]
- adds r0, 0x5
- str r0, [r4]
- b _08108058
- .align 2, 0
-_08108030: .4byte gUnknown_02039238
-_08108034: .4byte gBattleMons
-_08108038: .4byte gUnknown_02024C07
-_0810803C: .4byte gBattleMoves
-_08108040:
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
-_08108058:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_user_can_damage
-
- thumb_func_start BattleAICmd_if_user_cant_damage
-BattleAICmd_if_user_cant_damage: @ 8108060
- push {r4,r5,lr}
- movs r3, 0
- ldr r4, _081080A0 @ =gUnknown_02039238
- ldr r1, _081080A4 @ =gBattleMons
- ldr r0, _081080A8 @ =gUnknown_02024C07
- ldrb r2, [r0]
- ldr r5, _081080AC @ =gBattleMoves
- movs r0, 0x58
- muls r0, r2
- adds r1, 0xC
- adds r2, r0, r1
-_08108076:
- ldrh r0, [r2]
- cmp r0, 0
- beq _0810808A
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _08108092
-_0810808A:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _08108076
-_08108092:
- cmp r3, 0x4
- beq _081080B0
- ldr r0, [r4]
- adds r0, 0x5
- str r0, [r4]
- b _081080C8
- .align 2, 0
-_081080A0: .4byte gUnknown_02039238
-_081080A4: .4byte gBattleMons
-_081080A8: .4byte gUnknown_02024C07
-_081080AC: .4byte gBattleMoves
-_081080B0:
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
-_081080C8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_user_cant_damage
-
- thumb_func_start BattleAICmd_unk_21
-BattleAICmd_unk_21: @ 81080D0
- ldr r1, _081080E4 @ =0x02016800
- ldr r0, _081080E8 @ =gUnknown_030042E0
- ldrb r0, [r0, 0x13]
- str r0, [r1, 0x8]
- ldr r1, _081080EC @ =gUnknown_02039238
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_081080E4: .4byte 0x02016800
-_081080E8: .4byte gUnknown_030042E0
-_081080EC: .4byte gUnknown_02039238
- thumb_func_end BattleAICmd_unk_21
-
- thumb_func_start BattleAICmd_get_type
-BattleAICmd_get_type: @ 81080F0
- push {r4,lr}
- ldr r1, _08108108 @ =gUnknown_02039238
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _081081B6
- lsls r0, 2
- ldr r1, _0810810C @ =_08108110
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08108108: .4byte gUnknown_02039238
-_0810810C: .4byte _08108110
- .align 2, 0
-_08108110:
- .4byte _08108144
- .4byte _08108124
- .4byte _08108184
- .4byte _08108164
- .4byte _081081A4
-_08108124:
- ldr r3, _08108138 @ =0x02016800
- ldr r2, _0810813C @ =gBattleMons
- ldr r0, _08108140 @ =gUnknown_02024C07
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x21
- ldrb r0, [r0]
- b _081081B4
- .align 2, 0
-_08108138: .4byte 0x02016800
-_0810813C: .4byte gBattleMons
-_08108140: .4byte gUnknown_02024C07
-_08108144:
- ldr r3, _08108158 @ =0x02016800
- ldr r2, _0810815C @ =gBattleMons
- ldr r0, _08108160 @ =gUnknown_02024C08
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x21
- ldrb r0, [r0]
- b _081081B4
- .align 2, 0
-_08108158: .4byte 0x02016800
-_0810815C: .4byte gBattleMons
-_08108160: .4byte gUnknown_02024C08
-_08108164:
- ldr r3, _08108178 @ =0x02016800
- ldr r2, _0810817C @ =gBattleMons
- ldr r0, _08108180 @ =gUnknown_02024C07
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x22
- ldrb r0, [r0]
- b _081081B4
- .align 2, 0
-_08108178: .4byte 0x02016800
-_0810817C: .4byte gBattleMons
-_08108180: .4byte gUnknown_02024C07
-_08108184:
- ldr r3, _08108198 @ =0x02016800
- ldr r2, _0810819C @ =gBattleMons
- ldr r0, _081081A0 @ =gUnknown_02024C08
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x22
- ldrb r0, [r0]
- b _081081B4
- .align 2, 0
-_08108198: .4byte 0x02016800
-_0810819C: .4byte gBattleMons
-_081081A0: .4byte gUnknown_02024C08
-_081081A4:
- ldr r3, _081081C4 @ =0x02016800
- ldr r2, _081081C8 @ =gBattleMoves
- ldrh r1, [r3, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
-_081081B4:
- str r0, [r3, 0x8]
-_081081B6:
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081081C4: .4byte 0x02016800
-_081081C8: .4byte gBattleMoves
- thumb_func_end BattleAICmd_get_type
-
- thumb_func_start BattleAICmd_unk_23
-BattleAICmd_unk_23: @ 81081CC
- ldr r3, _081081E8 @ =0x02016800
- ldr r2, _081081EC @ =gBattleMoves
- ldrh r1, [r3, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- str r0, [r3, 0x8]
- ldr r1, _081081F0 @ =gUnknown_02039238
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_081081E8: .4byte 0x02016800
-_081081EC: .4byte gBattleMoves
-_081081F0: .4byte gUnknown_02039238
- thumb_func_end BattleAICmd_unk_23
-
- thumb_func_start BattleAICmd_unk_24
-BattleAICmd_unk_24: @ 81081F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r3, 0
- ldr r0, _08108328 @ =gUnknown_083F62BC
- ldrh r1, [r0]
- ldr r4, _0810832C @ =0x0000ffff
- ldr r6, _08108330 @ =gBattleMoves
- ldr r5, _08108334 @ =0x02016800
- cmp r1, r4
- beq _0810822E
- ldrh r1, [r5, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r2, [r0]
- ldr r1, _08108328 @ =gUnknown_083F62BC
-_0810821E:
- ldrh r0, [r1]
- cmp r2, r0
- beq _0810822E
- adds r1, 0x2
- adds r3, 0x1
- ldrh r0, [r1]
- cmp r0, r4
- bne _0810821E
-_0810822E:
- ldrh r0, [r5, 0x2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1, 0x1]
- cmp r0, 0x1
- bhi _08108240
- b _081083B2
-_08108240:
- lsls r0, r3, 1
- ldr r1, _08108328 @ =gUnknown_083F62BC
- adds r0, r1
- ldrh r3, [r0]
- ldr r0, _0810832C @ =0x0000ffff
- cmp r3, r0
- beq _08108250
- b _081083B2
-_08108250:
- ldr r0, _08108338 @ =gUnknown_02024DEC
- movs r1, 0
- strh r1, [r0]
- ldr r2, _0810833C @ =0xfffff81c
- adds r0, r5, r2
- strb r1, [r0]
- adds r2, 0x3
- adds r0, r5, r2
- movs r2, 0x1
- strb r2, [r0]
- ldr r0, _08108340 @ =gUnknown_02024C68
- strb r1, [r0]
- ldr r0, _08108344 @ =gCritMultiplier
- strb r2, [r0]
- movs r6, 0
- mov r9, r3
- ldr r0, _08108328 @ =gUnknown_083F62BC
- ldrh r0, [r0]
- str r0, [sp, 0x10]
-_08108276:
- movs r3, 0
- ldr r5, _08108348 @ =gBattleMons
- lsls r4, r6, 1
- ldr r7, _0810834C @ =gUnknown_02024C07
- lsls r1, r6, 2
- mov r8, r1
- adds r2, r6, 0x1
- mov r10, r2
- ldr r0, [sp, 0x10]
- cmp r0, r9
- beq _081082BA
- ldr r2, _08108330 @ =gBattleMoves
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- adds r0, r4, r0
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0]
- ldr r1, _08108328 @ =gUnknown_083F62BC
-_081082AA:
- ldrh r0, [r1]
- cmp r2, r0
- beq _081082BA
- adds r1, 0x2
- adds r3, 0x1
- ldrh r0, [r1]
- cmp r0, r9
- bne _081082AA
-_081082BA:
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- adds r0, r4, r0
- adds r1, r5, 0
- adds r1, 0xC
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- beq _0810835C
- lsls r0, r3, 1
- ldr r2, _08108328 @ =gUnknown_083F62BC
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r9
- bne _0810835C
- ldr r0, _08108330 @ =gBattleMoves
- ldrh r2, [r1]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0x1
- bls _0810835C
- ldr r5, _08108350 @ =gUnknown_02024BE6
- strh r2, [r5]
- ldrb r0, [r7]
- ldr r4, _08108354 @ =gUnknown_02024C08
- ldrb r1, [r4]
- bl sub_801CAF8
- ldrh r0, [r5]
- ldrb r1, [r7]
- ldrb r2, [r4]
- bl move_effectiveness_something
- mov r4, sp
- add r4, r8
- ldr r2, _08108358 @ =gUnknown_02024BEC
- ldr r0, _08108334 @ =0x02016800
- adds r0, 0x18
- adds r0, r6, r0
- ldrb r1, [r0]
- ldr r0, [r2]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08108364
- movs r0, 0x1
- str r0, [r4]
- b _08108364
- .align 2, 0
-_08108328: .4byte gUnknown_083F62BC
-_0810832C: .4byte 0x0000ffff
-_08108330: .4byte gBattleMoves
-_08108334: .4byte 0x02016800
-_08108338: .4byte gUnknown_02024DEC
-_0810833C: .4byte 0xfffff81c
-_08108340: .4byte gUnknown_02024C68
-_08108344: .4byte gCritMultiplier
-_08108348: .4byte gBattleMons
-_0810834C: .4byte gUnknown_02024C07
-_08108350: .4byte gUnknown_02024BE6
-_08108354: .4byte gUnknown_02024C08
-_08108358: .4byte gUnknown_02024BEC
-_0810835C:
- mov r1, sp
- add r1, r8
- movs r0, 0
- str r0, [r1]
-_08108364:
- mov r6, r10
- cmp r6, 0x3
- ble _08108276
- movs r6, 0
- ldr r1, _081083A4 @ =0x02016800
- ldrb r0, [r1, 0x1]
- lsls r0, 2
- add r0, sp
- ldr r2, [sp]
- ldr r0, [r0]
- adds r5, r1, 0
- ldr r4, _081083A8 @ =gUnknown_02039238
- cmp r2, r0
- bgt _0810839A
- adds r3, r5, 0
- mov r2, sp
-_08108384:
- adds r2, 0x4
- adds r6, 0x1
- cmp r6, 0x3
- bgt _0810839A
- ldrb r0, [r3, 0x1]
- lsls r0, 2
- add r0, sp
- ldr r1, [r2]
- ldr r0, [r0]
- cmp r1, r0
- ble _08108384
-_0810839A:
- cmp r6, 0x4
- bne _081083AC
- movs r0, 0x2
- str r0, [r5, 0x8]
- b _081083B8
- .align 2, 0
-_081083A4: .4byte 0x02016800
-_081083A8: .4byte gUnknown_02039238
-_081083AC:
- movs r0, 0x1
- str r0, [r5, 0x8]
- b _081083B8
-_081083B2:
- movs r0, 0
- str r0, [r5, 0x8]
- ldr r4, _081083D0 @ =gUnknown_02039238
-_081083B8:
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081083D0: .4byte gUnknown_02039238
- thumb_func_end BattleAICmd_unk_24
-
- thumb_func_start BattleAICmd_get_move
-BattleAICmd_get_move: @ 81083D4
- push {lr}
- ldr r0, _081083EC @ =gUnknown_02039238
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _081083FC
- ldr r2, _081083F0 @ =0x02016800
- ldr r1, _081083F4 @ =gUnknown_02024C34
- ldr r0, _081083F8 @ =gUnknown_02024C07
- b _08108402
- .align 2, 0
-_081083EC: .4byte gUnknown_02039238
-_081083F0: .4byte 0x02016800
-_081083F4: .4byte gUnknown_02024C34
-_081083F8: .4byte gUnknown_02024C07
-_081083FC:
- ldr r2, _08108418 @ =0x02016800
- ldr r1, _0810841C @ =gUnknown_02024C34
- ldr r0, _08108420 @ =gUnknown_02024C08
-_08108402:
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- str r0, [r2, 0x8]
- ldr r0, [r3]
- adds r0, 0x2
- str r0, [r3]
- pop {r0}
- bx r0
- .align 2, 0
-_08108418: .4byte 0x02016800
-_0810841C: .4byte gUnknown_02024C34
-_08108420: .4byte gUnknown_02024C08
- thumb_func_end BattleAICmd_get_move
-
- thumb_func_start BattleAICmd_if_type
-BattleAICmd_if_type: @ 8108424
- push {lr}
- ldr r3, _0810844C @ =gUnknown_02039238
- ldr r2, [r3]
- ldrb r0, [r2, 0x1]
- ldr r1, _08108450 @ =0x02016800
- ldr r1, [r1, 0x8]
- cmp r0, r1
- bne _08108454
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108458
- .align 2, 0
-_0810844C: .4byte gUnknown_02039238
-_08108450: .4byte 0x02016800
-_08108454:
- adds r0, r2, 0x6
- str r0, [r3]
-_08108458:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_type
-
- thumb_func_start BattleAICmd_unk_27
-BattleAICmd_unk_27: @ 810845C
- push {lr}
- ldr r3, _08108484 @ =gUnknown_02039238
- ldr r2, [r3]
- ldrb r0, [r2, 0x1]
- ldr r1, _08108488 @ =0x02016800
- ldr r1, [r1, 0x8]
- cmp r0, r1
- beq _0810848C
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108490
- .align 2, 0
-_08108484: .4byte gUnknown_02039238
-_08108488: .4byte 0x02016800
-_0810848C:
- adds r0, r2, 0x6
- str r0, [r3]
-_08108490:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_unk_27
-
- thumb_func_start BattleAICmd_if_would_go_first
-BattleAICmd_if_would_go_first: @ 8108494
- push {lr}
- ldr r0, _081084CC @ =gUnknown_02024C07
- ldrb r0, [r0]
- ldr r1, _081084D0 @ =gUnknown_02024C08
- ldrb r1, [r1]
- movs r2, 0x1
- bl b_first_side
- ldr r3, _081084D4 @ =gUnknown_02039238
- ldr r2, [r3]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bne _081084D8
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _081084DC
- .align 2, 0
-_081084CC: .4byte gUnknown_02024C07
-_081084D0: .4byte gUnknown_02024C08
-_081084D4: .4byte gUnknown_02039238
-_081084D8:
- adds r0, r2, 0x6
- str r0, [r3]
-_081084DC:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_would_go_first
-
- thumb_func_start BattleAICmd_if_would_not_go_first
-BattleAICmd_if_would_not_go_first: @ 81084E0
- push {lr}
- ldr r0, _08108518 @ =gUnknown_02024C07
- ldrb r0, [r0]
- ldr r1, _0810851C @ =gUnknown_02024C08
- ldrb r1, [r1]
- movs r2, 0x1
- bl b_first_side
- ldr r3, _08108520 @ =gUnknown_02039238
- ldr r2, [r3]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- beq _08108524
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108528
- .align 2, 0
-_08108518: .4byte gUnknown_02024C07
-_0810851C: .4byte gUnknown_02024C08
-_08108520: .4byte gUnknown_02039238
-_08108524:
- adds r0, r2, 0x6
- str r0, [r3]
-_08108528:
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_would_not_go_first
-
- thumb_func_start BattleAICmd_unk_2A
-BattleAICmd_unk_2A: @ 810852C
- bx lr
- thumb_func_end BattleAICmd_unk_2A
-
- thumb_func_start BattleAICmd_unk_2B
-BattleAICmd_unk_2B: @ 8108530
- bx lr
- thumb_func_end BattleAICmd_unk_2B
-
- thumb_func_start BattleAICmd_count_alive_pokemon
-BattleAICmd_count_alive_pokemon: @ 8108534
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r1, _08108550 @ =0x02016800
- movs r0, 0
- str r0, [r1, 0x8]
- ldr r0, _08108554 @ =gUnknown_02039238
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _0810855C
- ldr r0, _08108558 @ =gUnknown_02024C07
- b _0810855E
- .align 2, 0
-_08108550: .4byte 0x02016800
-_08108554: .4byte gUnknown_02039238
-_08108558: .4byte gUnknown_02024C07
-_0810855C:
- ldr r0, _081085A8 @ =gUnknown_02024C08
-_0810855E:
- ldrb r5, [r0]
- adds r0, r5, 0
- bl battle_side_get_owner
- lsls r0, 24
- ldr r1, _081085AC @ =gEnemyParty
- mov r9, r1
- cmp r0, 0
- bne _08108574
- ldr r0, _081085B0 @ =gPlayerParty
- mov r9, r0
-_08108574:
- ldr r0, _081085B4 @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081085BC
- ldr r4, _081085B8 @ =gUnknown_02024A6A
- lsls r0, r5, 1
- adds r0, r4
- ldrb r0, [r0]
- mov r8, r0
- adds r0, r5, 0
- bl battle_get_per_side_status
- movs r1, 0x2
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrb r6, [r0]
- b _081085C6
- .align 2, 0
-_081085A8: .4byte gUnknown_02024C08
-_081085AC: .4byte gEnemyParty
-_081085B0: .4byte gPlayerParty
-_081085B4: .4byte gUnknown_020239F8
-_081085B8: .4byte gUnknown_02024A6A
-_081085BC:
- ldr r1, _08108624 @ =gUnknown_02024A6A
- lsls r0, r5, 1
- adds r0, r1
- ldrb r6, [r0]
- mov r8, r6
-_081085C6:
- movs r5, 0
- ldr r7, _08108628 @ =0x02016800
-_081085CA:
- cmp r5, r8
- beq _08108608
- cmp r5, r6
- beq _08108608
- movs r0, 0x64
- muls r0, r5
- mov r1, r9
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08108608
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08108608
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _08108608
- ldr r0, [r7, 0x8]
- adds r0, 0x1
- str r0, [r7, 0x8]
-_08108608:
- adds r5, 0x1
- cmp r5, 0x5
- ble _081085CA
- ldr r1, _0810862C @ =gUnknown_02039238
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08108624: .4byte gUnknown_02024A6A
-_08108628: .4byte 0x02016800
-_0810862C: .4byte gUnknown_02039238
- thumb_func_end BattleAICmd_count_alive_pokemon
-
- thumb_func_start BattleAICmd_unk_2D
-BattleAICmd_unk_2D: @ 8108630
- ldr r1, _08108640 @ =0x02016800
- ldrh r0, [r1, 0x2]
- str r0, [r1, 0x8]
- ldr r1, _08108644 @ =gUnknown_02039238
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_08108640: .4byte 0x02016800
-_08108644: .4byte gUnknown_02039238
- thumb_func_end BattleAICmd_unk_2D
-
- thumb_func_start BattleAICmd_unk_2E
-BattleAICmd_unk_2E: @ 8108648
- ldr r3, _08108664 @ =0x02016800
- ldr r2, _08108668 @ =gBattleMoves
- ldrh r1, [r3, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- str r0, [r3, 0x8]
- ldr r1, _0810866C @ =gUnknown_02039238
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_08108664: .4byte 0x02016800
-_08108668: .4byte gBattleMoves
-_0810866C: .4byte gUnknown_02039238
- thumb_func_end BattleAICmd_unk_2E
-
- thumb_func_start BattleAICmd_get_ability
-BattleAICmd_get_ability: @ 8108670
- push {r4-r7,lr}
- ldr r0, _08108680 @ =gUnknown_02039238
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _08108688
- ldr r0, _08108684 @ =gUnknown_02024C07
- b _0810868A
- .align 2, 0
-_08108680: .4byte gUnknown_02039238
-_08108684: .4byte gUnknown_02024C07
-_08108688:
- ldr r0, _081086BC @ =gUnknown_02024C08
-_0810868A:
- ldrb r4, [r0]
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08108774
- adds r0, r4, 0
- bl battle_get_per_side_status
- movs r7, 0x1
- adds r1, r7, 0
- ands r1, r0
- ldr r6, _081086C0 @ =0x02016a00
- adds r0, r6, 0
- adds r0, 0x20
- adds r3, r1, r0
- ldrb r0, [r3]
- cmp r0, 0
- beq _081086C8
- ldr r0, _081086C4 @ =0xfffffe00
- adds r1, r6, r0
- ldrb r0, [r3]
- str r0, [r1, 0x8]
- b _08108784
- .align 2, 0
-_081086BC: .4byte gUnknown_02024C08
-_081086C0: .4byte 0x02016a00
-_081086C4: .4byte 0xfffffe00
-_081086C8:
- ldr r1, _081086F4 @ =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r5, r0, r1
- adds r0, r5, 0
- adds r0, 0x20
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x17
- beq _081086E4
- cmp r0, 0x2A
- beq _081086E4
- cmp r0, 0x47
- bne _081086FC
-_081086E4:
- ldr r1, _081086F8 @ =0x02016800
- movs r0, 0x58
- muls r0, r4
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- str r0, [r1, 0x8]
- b _08108784
- .align 2, 0
-_081086F4: .4byte gBattleMons
-_081086F8: .4byte 0x02016800
-_081086FC:
- ldr r4, _08108734 @ =gBaseStats
- ldrh r0, [r5]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r3, r1, r4
- ldrb r0, [r3, 0x16]
- cmp r0, 0
- beq _08108764
- ldrb r0, [r3, 0x17]
- cmp r0, 0
- beq _08108754
- bl Random
- adds r1, r7, 0
- ands r1, r0
- cmp r1, 0
- beq _0810873C
- ldr r0, _08108738 @ =0xfffffe00
- adds r2, r6, r0
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x16]
- b _08108782
- .align 2, 0
-_08108734: .4byte gBaseStats
-_08108738: .4byte 0xfffffe00
-_0810873C:
- ldr r0, _08108750 @ =0xfffffe00
- adds r2, r6, r0
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x17]
- b _08108782
- .align 2, 0
-_08108750: .4byte 0xfffffe00
-_08108754:
- ldr r0, _08108760 @ =0xfffffe00
- adds r1, r6, r0
- ldrb r0, [r3, 0x16]
- str r0, [r1, 0x8]
- b _08108784
- .align 2, 0
-_08108760: .4byte 0xfffffe00
-_08108764:
- ldr r0, _08108770 @ =0xfffffe00
- adds r1, r6, r0
- ldrb r0, [r3, 0x17]
- str r0, [r1, 0x8]
- b _08108784
- .align 2, 0
-_08108770: .4byte 0xfffffe00
-_08108774:
- ldr r2, _08108794 @ =0x02016800
- ldr r1, _08108798 @ =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r0, r1
- adds r0, 0x20
- ldrb r0, [r0]
-_08108782:
- str r0, [r2, 0x8]
-_08108784:
- ldr r1, _0810879C @ =gUnknown_02039238
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08108794: .4byte 0x02016800
-_08108798: .4byte gBattleMons
-_0810879C: .4byte gUnknown_02039238
- thumb_func_end BattleAICmd_get_ability
-
- thumb_func_start BattleAICmd_unk_30
-BattleAICmd_unk_30: @ 81087A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _0810885C @ =gUnknown_02024DEC
- movs r2, 0
- strh r2, [r0]
- ldr r1, _08108860 @ =0x02000000
- ldr r3, _08108864 @ =0x0001601c
- adds r0, r1, r3
- movs r4, 0
- strb r2, [r0]
- adds r3, 0x3
- adds r0, r1, r3
- movs r3, 0x1
- strb r3, [r0]
- ldr r0, _08108868 @ =gUnknown_02024C68
- strb r2, [r0]
- ldr r0, _0810886C @ =gCritMultiplier
- strb r3, [r0]
- movs r0, 0xB4
- lsls r0, 9
- adds r1, r0
- str r4, [r1, 0x8]
- movs r5, 0
- ldr r4, _08108870 @ =gUnknown_02024BEC
- ldr r7, _08108874 @ =gUnknown_02024BE6
- ldr r3, _08108878 @ =gUnknown_02024A8C
- mov r8, r3
- ldr r6, _0810887C @ =gUnknown_02024C07
-_081087DA:
- movs r0, 0x28
- str r0, [r4]
- lsls r1, r5, 1
- ldrb r2, [r6]
- movs r0, 0x58
- muls r0, r2
- adds r1, r0
- add r1, r8
- ldrh r0, [r1]
- strh r0, [r7]
- lsls r0, 16
- cmp r0, 0
- beq _08108844
- ldrh r0, [r7]
- ldrb r1, [r6]
- ldr r2, _08108880 @ =gUnknown_02024C08
- ldrb r2, [r2]
- bl move_effectiveness_something
- ldr r0, [r4]
- cmp r0, 0x78
- bne _0810880A
- movs r0, 0x50
- str r0, [r4]
-_0810880A:
- ldr r0, [r4]
- cmp r0, 0xF0
- bne _08108814
- movs r0, 0xA0
- str r0, [r4]
-_08108814:
- ldr r0, [r4]
- cmp r0, 0x1E
- bne _0810881E
- movs r0, 0x14
- str r0, [r4]
-_0810881E:
- ldr r0, [r4]
- cmp r0, 0xF
- bne _08108828
- movs r0, 0xA
- str r0, [r4]
-_08108828:
- ldr r0, _08108868 @ =gUnknown_02024C68
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08108838
- movs r0, 0
- str r0, [r4]
-_08108838:
- ldr r2, _08108884 @ =0x02016800
- ldr r0, [r2, 0x8]
- ldr r1, [r4]
- cmp r0, r1
- bcs _08108844
- str r1, [r2, 0x8]
-_08108844:
- adds r5, 0x1
- cmp r5, 0x3
- ble _081087DA
- ldr r1, _08108888 @ =gUnknown_02039238
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810885C: .4byte gUnknown_02024DEC
-_08108860: .4byte 0x02000000
-_08108864: .4byte 0x0001601c
-_08108868: .4byte gUnknown_02024C68
-_0810886C: .4byte gCritMultiplier
-_08108870: .4byte gUnknown_02024BEC
-_08108874: .4byte gUnknown_02024BE6
-_08108878: .4byte gUnknown_02024A8C
-_0810887C: .4byte gUnknown_02024C07
-_08108880: .4byte gUnknown_02024C08
-_08108884: .4byte 0x02016800
-_08108888: .4byte gUnknown_02039238
- thumb_func_end BattleAICmd_unk_30
-
- thumb_func_start BattleAICmd_if_damage_bonus
-BattleAICmd_if_damage_bonus: @ 810888C
- push {r4,r5,lr}
- ldr r0, _08108928 @ =gUnknown_02024DEC
- movs r1, 0
- strh r1, [r0]
- ldr r2, _0810892C @ =0x02000000
- ldr r3, _08108930 @ =0x0001601c
- adds r0, r2, r3
- strb r1, [r0]
- adds r3, 0x3
- adds r0, r2, r3
- movs r3, 0x1
- strb r3, [r0]
- ldr r5, _08108934 @ =gUnknown_02024C68
- strb r1, [r5]
- ldr r0, _08108938 @ =gCritMultiplier
- strb r3, [r0]
- ldr r4, _0810893C @ =gUnknown_02024BEC
- movs r0, 0x28
- str r0, [r4]
- ldr r1, _08108940 @ =gUnknown_02024BE6
- movs r0, 0xB4
- lsls r0, 9
- adds r2, r0
- ldrh r0, [r2, 0x2]
- strh r0, [r1]
- ldrh r0, [r1]
- ldr r1, _08108944 @ =gUnknown_02024C07
- ldrb r1, [r1]
- ldr r2, _08108948 @ =gUnknown_02024C08
- ldrb r2, [r2]
- bl move_effectiveness_something
- ldr r0, [r4]
- cmp r0, 0x78
- bne _081088D6
- movs r0, 0x50
- str r0, [r4]
-_081088D6:
- ldr r0, [r4]
- cmp r0, 0xF0
- bne _081088E0
- movs r0, 0xA0
- str r0, [r4]
-_081088E0:
- ldr r0, [r4]
- cmp r0, 0x1E
- bne _081088EA
- movs r0, 0x14
- str r0, [r4]
-_081088EA:
- ldr r0, [r4]
- cmp r0, 0xF
- bne _081088F4
- movs r0, 0xA
- str r0, [r4]
-_081088F4:
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08108902
- movs r0, 0
- str r0, [r4]
-_08108902:
- ldrb r0, [r4]
- ldr r3, _0810894C @ =gUnknown_02039238
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bne _08108950
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108954
- .align 2, 0
-_08108928: .4byte gUnknown_02024DEC
-_0810892C: .4byte 0x02000000
-_08108930: .4byte 0x0001601c
-_08108934: .4byte gUnknown_02024C68
-_08108938: .4byte gCritMultiplier
-_0810893C: .4byte gUnknown_02024BEC
-_08108940: .4byte gUnknown_02024BE6
-_08108944: .4byte gUnknown_02024C07
-_08108948: .4byte gUnknown_02024C08
-_0810894C: .4byte gUnknown_02039238
-_08108950:
- adds r0, r2, 0x6
- str r0, [r3]
-_08108954:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end BattleAICmd_if_damage_bonus
-
- thumb_func_start BattleAICmd_unk_32
-BattleAICmd_unk_32: @ 810895C
- bx lr
- thumb_func_end BattleAICmd_unk_32
-
- thumb_func_start BattleAICmd_unk_33
-BattleAICmd_unk_33: @ 8108960
- bx lr
- thumb_func_end BattleAICmd_unk_33
-
+
thumb_func_start BattleAICmd_if_status_in_party
BattleAICmd_if_status_in_party: @ 8108964
push {r4-r7,lr}
@@ -2766,7 +13,7 @@ BattleAICmd_if_status_in_party: @ 8108964
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r0, _0810897C @ =gUnknown_02039238
+ ldr r0, _0810897C @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
cmp r1, 0x1
@@ -2774,10 +21,10 @@ BattleAICmd_if_status_in_party: @ 8108964
ldr r1, _08108980 @ =gEnemyParty
b _081089A6
.align 2, 0
-_0810897C: .4byte gUnknown_02039238
+_0810897C: .4byte gAIScriptPtr
_08108980: .4byte gEnemyParty
_08108984:
- ldr r3, _081089A0 @ =gUnknown_02039238
+ ldr r3, _081089A0 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2, 0x6]
ldrb r0, [r2, 0x7]
@@ -2792,7 +39,7 @@ _08108984:
str r1, [r3]
b _08108A12
.align 2, 0
-_081089A0: .4byte gUnknown_02039238
+_081089A0: .4byte gAIScriptPtr
_081089A4:
ldr r1, _08108A20 @ =gPlayerParty
_081089A6:
@@ -2845,7 +92,7 @@ _08108A00:
mov r1, r8
cmp r1, 0x5
ble _081089C8
- ldr r1, _08108A24 @ =gUnknown_02039238
+ ldr r1, _08108A24 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0xA
str r0, [r1]
@@ -2859,7 +106,7 @@ _08108A12:
bx r0
.align 2, 0
_08108A20: .4byte gPlayerParty
-_08108A24: .4byte gUnknown_02039238
+_08108A24: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_if_status_in_party
thumb_func_start BattleAICmd_if_status_not_in_party
@@ -2869,7 +116,7 @@ BattleAICmd_if_status_not_in_party: @ 8108A28
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r0, _08108A44 @ =gUnknown_02039238
+ ldr r0, _08108A44 @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
adds r2, r0, 0
@@ -2879,7 +126,7 @@ BattleAICmd_if_status_not_in_party: @ 8108A28
mov r10, r0
b _08108A50
.align 2, 0
-_08108A44: .4byte gUnknown_02039238
+_08108A44: .4byte gAIScriptPtr
_08108A48: .4byte gEnemyParty
_08108A4C:
ldr r1, _08108AE4 @ =gPlayerParty
@@ -2937,7 +184,7 @@ _08108AB0:
mov r1, r8
cmp r1, 0x5
ble _08108A6C
- ldr r3, _08108AE8 @ =gUnknown_02039238
+ ldr r3, _08108AE8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2, 0x6]
ldrb r0, [r2, 0x7]
@@ -2959,7 +206,7 @@ _08108AB0:
bx r0
.align 2, 0
_08108AE4: .4byte gPlayerParty
-_08108AE8: .4byte gUnknown_02039238
+_08108AE8: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_if_status_not_in_party
thumb_func_start BattleAICmd_unk_36
@@ -3001,7 +248,7 @@ _08108B20:
movs r0, 0x3
str r0, [r1, 0x8]
_08108B2E:
- ldr r1, _08108B44 @ =gUnknown_02039238
+ ldr r1, _08108B44 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -3010,7 +257,7 @@ _08108B2E:
.align 2, 0
_08108B3C: .4byte word_2024DB8
_08108B40: .4byte 0x02016800
-_08108B44: .4byte gUnknown_02039238
+_08108B44: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_unk_36
thumb_func_start BattleAICmd_if_effect
@@ -3023,7 +270,7 @@ BattleAICmd_if_effect: @ 8108B48
adds r0, r1
lsls r0, 2
adds r0, r2
- ldr r3, _08108B84 @ =gUnknown_02039238
+ ldr r3, _08108B84 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r0, [r0]
ldrb r1, [r2, 0x1]
@@ -3044,7 +291,7 @@ BattleAICmd_if_effect: @ 8108B48
.align 2, 0
_08108B7C: .4byte gBattleMoves
_08108B80: .4byte 0x02016800
-_08108B84: .4byte gUnknown_02039238
+_08108B84: .4byte gAIScriptPtr
_08108B88:
adds r0, r2, 0x6
str r0, [r3]
@@ -3063,7 +310,7 @@ BattleAICmd_if_not_effect: @ 8108B90
adds r0, r1
lsls r0, 2
adds r0, r2
- ldr r3, _08108BCC @ =gUnknown_02039238
+ ldr r3, _08108BCC @ =gAIScriptPtr
ldr r2, [r3]
ldrb r0, [r0]
ldrb r1, [r2, 0x1]
@@ -3084,7 +331,7 @@ BattleAICmd_if_not_effect: @ 8108B90
.align 2, 0
_08108BC4: .4byte gBattleMoves
_08108BC8: .4byte 0x02016800
-_08108BCC: .4byte gUnknown_02039238
+_08108BCC: .4byte gAIScriptPtr
_08108BD0:
adds r0, r2, 0x6
str r0, [r3]
@@ -3096,7 +343,7 @@ _08108BD4:
thumb_func_start BattleAICmd_if_stat_level_less_than
BattleAICmd_if_stat_level_less_than: @ 8108BD8
push {r4,lr}
- ldr r0, _08108BEC @ =gUnknown_02039238
+ ldr r0, _08108BEC @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
adds r4, r0, 0
@@ -3105,7 +352,7 @@ BattleAICmd_if_stat_level_less_than: @ 8108BD8
ldr r0, _08108BF0 @ =gUnknown_02024C07
b _08108BF6
.align 2, 0
-_08108BEC: .4byte gUnknown_02039238
+_08108BEC: .4byte gAIScriptPtr
_08108BF0: .4byte gUnknown_02024C07
_08108BF4:
ldr r0, _08108C2C @ =gUnknown_02024C08
@@ -3153,7 +400,7 @@ _08108C3A:
thumb_func_start BattleAICmd_if_stat_level_more_than
BattleAICmd_if_stat_level_more_than: @ 8108C40
push {r4,lr}
- ldr r0, _08108C54 @ =gUnknown_02039238
+ ldr r0, _08108C54 @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
adds r4, r0, 0
@@ -3162,7 +409,7 @@ BattleAICmd_if_stat_level_more_than: @ 8108C40
ldr r0, _08108C58 @ =gUnknown_02024C07
b _08108C5E
.align 2, 0
-_08108C54: .4byte gUnknown_02039238
+_08108C54: .4byte gAIScriptPtr
_08108C58: .4byte gUnknown_02024C07
_08108C5C:
ldr r0, _08108C94 @ =gUnknown_02024C08
@@ -3210,7 +457,7 @@ _08108CA2:
thumb_func_start BattleAICmd_if_stat_level_equal
BattleAICmd_if_stat_level_equal: @ 8108CA8
push {r4,lr}
- ldr r0, _08108CBC @ =gUnknown_02039238
+ ldr r0, _08108CBC @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
adds r4, r0, 0
@@ -3219,7 +466,7 @@ BattleAICmd_if_stat_level_equal: @ 8108CA8
ldr r0, _08108CC0 @ =gUnknown_02024C07
b _08108CC6
.align 2, 0
-_08108CBC: .4byte gUnknown_02039238
+_08108CBC: .4byte gAIScriptPtr
_08108CC0: .4byte gUnknown_02024C07
_08108CC4:
ldr r0, _08108CFC @ =gUnknown_02024C08
@@ -3267,7 +514,7 @@ _08108D0A:
thumb_func_start BattleAICmd_if_stat_level_not_equal
BattleAICmd_if_stat_level_not_equal: @ 8108D10
push {r4,lr}
- ldr r0, _08108D24 @ =gUnknown_02039238
+ ldr r0, _08108D24 @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
adds r4, r0, 0
@@ -3276,7 +523,7 @@ BattleAICmd_if_stat_level_not_equal: @ 8108D10
ldr r0, _08108D28 @ =gUnknown_02024C07
b _08108D2E
.align 2, 0
-_08108D24: .4byte gUnknown_02039238
+_08108D24: .4byte gAIScriptPtr
_08108D28: .4byte gUnknown_02024C07
_08108D2C:
ldr r0, _08108D64 @ =gUnknown_02024C08
@@ -3389,7 +636,7 @@ _08108DEE:
ldr r0, [r4]
cmp r1, r0
bgt _08108E4C
- ldr r3, _08108E48 @ =gUnknown_02039238
+ ldr r3, _08108E48 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2, 0x1]
ldrb r0, [r2, 0x2]
@@ -3415,9 +662,9 @@ _08108E38: .4byte gUnknown_02024C07
_08108E3C: .4byte gUnknown_02024C08
_08108E40: .4byte gUnknown_02024BEC
_08108E44: .4byte gBattleMons
-_08108E48: .4byte gUnknown_02039238
+_08108E48: .4byte gAIScriptPtr
_08108E4C:
- ldr r1, _08108E60 @ =gUnknown_02039238
+ ldr r1, _08108E60 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x5
str r0, [r1]
@@ -3428,7 +675,7 @@ _08108E54:
pop {r0}
bx r0
.align 2, 0
-_08108E60: .4byte gUnknown_02039238
+_08108E60: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_if_can_faint
thumb_func_start BattleAICmd_if_cant_faint
@@ -3489,7 +736,7 @@ BattleAICmd_if_cant_faint: @ 8108E64
ldrh r1, [r1, 0x28]
cmp r1, r0
ble _08108F28
- ldr r3, _08108F24 @ =gUnknown_02039238
+ ldr r3, _08108F24 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2, 0x1]
ldrb r0, [r2, 0x2]
@@ -3515,9 +762,9 @@ _08108F14: .4byte gUnknown_02024C07
_08108F18: .4byte gUnknown_02024C08
_08108F1C: .4byte gUnknown_02024BEC
_08108F20: .4byte gBattleMons
-_08108F24: .4byte gUnknown_02039238
+_08108F24: .4byte gAIScriptPtr
_08108F28:
- ldr r1, _08108F38 @ =gUnknown_02039238
+ ldr r1, _08108F38 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x5
str r0, [r1]
@@ -3526,13 +773,13 @@ _08108F30:
pop {r0}
bx r0
.align 2, 0
-_08108F38: .4byte gUnknown_02039238
+_08108F38: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_if_cant_faint
thumb_func_start BattleAICmd_unk_3F
BattleAICmd_unk_3F: @ 8108F3C
push {r4-r7,lr}
- ldr r1, _08108F58 @ =gUnknown_02039238
+ ldr r1, _08108F58 @ =gAIScriptPtr
ldr r0, [r1]
adds r6, r0, 0x2
ldrb r0, [r0, 0x1]
@@ -3545,7 +792,7 @@ BattleAICmd_unk_3F: @ 8108F3C
beq _08108FA8
b _08109008
.align 2, 0
-_08108F58: .4byte gUnknown_02039238
+_08108F58: .4byte gAIScriptPtr
_08108F5C:
cmp r0, 0x2
beq _08108FA8
@@ -3647,7 +894,7 @@ _08109008:
thumb_func_start BattleAICmd_unk_40
BattleAICmd_unk_40: @ 8109010
push {r4-r7,lr}
- ldr r1, _0810902C @ =gUnknown_02039238
+ ldr r1, _0810902C @ =gAIScriptPtr
ldr r0, [r1]
adds r6, r0, 0x2
ldrb r0, [r0, 0x1]
@@ -3660,7 +907,7 @@ BattleAICmd_unk_40: @ 8109010
beq _0810907C
b _081090DC
.align 2, 0
-_0810902C: .4byte gUnknown_02039238
+_0810902C: .4byte gAIScriptPtr
_08109030:
cmp r0, 0x2
beq _0810907C
@@ -3762,7 +1009,7 @@ _081090DC:
thumb_func_start BattleAICmd_if_move_effect
BattleAICmd_if_move_effect: @ 81090E4
push {r4-r7,lr}
- ldr r1, _081090FC @ =gUnknown_02039238
+ ldr r1, _081090FC @ =gAIScriptPtr
ldr r0, [r1]
ldrb r0, [r0, 0x1]
adds r4, r1, 0
@@ -3774,7 +1021,7 @@ BattleAICmd_if_move_effect: @ 81090E4
beq _0810915C
b _081091B8
.align 2, 0
-_081090FC: .4byte gUnknown_02039238
+_081090FC: .4byte gAIScriptPtr
_08109100:
cmp r0, 0x2
beq _0810915C
@@ -3790,7 +1037,7 @@ _08109108:
muls r0, r2
adds r1, 0xC
adds r2, r0, r1
- ldr r5, _08109158 @ =gUnknown_02039238
+ ldr r5, _08109158 @ =gAIScriptPtr
_0810911C:
ldrh r0, [r2]
cmp r0, 0
@@ -3821,7 +1068,7 @@ _0810913E:
_0810914C: .4byte gBattleMons
_08109150: .4byte gUnknown_02024C07
_08109154: .4byte gBattleMoves
-_08109158: .4byte gUnknown_02039238
+_08109158: .4byte gAIScriptPtr
_0810915C:
movs r3, 0
ldr r1, _081091C0 @ =gBattleMons
@@ -3887,7 +1134,7 @@ _081091D0: .4byte gUnknown_02024C08
thumb_func_start BattleAICmd_if_not_move_effect
BattleAICmd_if_not_move_effect: @ 81091D4
push {r4-r6,lr}
- ldr r1, _081091EC @ =gUnknown_02039238
+ ldr r1, _081091EC @ =gAIScriptPtr
ldr r0, [r1]
ldrb r0, [r0, 0x1]
adds r4, r1, 0
@@ -3899,7 +1146,7 @@ BattleAICmd_if_not_move_effect: @ 81091D4
beq _0810925C
b _08109294
.align 2, 0
-_081091EC: .4byte gUnknown_02039238
+_081091EC: .4byte gAIScriptPtr
_081091F0:
cmp r0, 0x2
beq _0810925C
@@ -3915,7 +1162,7 @@ _081091F8:
muls r0, r2
adds r1, 0xC
adds r2, r0, r1
- ldr r5, _08109258 @ =gUnknown_02039238
+ ldr r5, _08109258 @ =gAIScriptPtr
_0810920C:
ldrh r0, [r2]
cmp r0, 0
@@ -3955,7 +1202,7 @@ _0810922E:
_0810924C: .4byte gBattleMons
_08109250: .4byte gUnknown_02024C07
_08109254: .4byte gBattleMoves
-_08109258: .4byte gUnknown_02039238
+_08109258: .4byte gAIScriptPtr
_0810925C:
movs r3, 0
ldr r1, _0810929C @ =0x02016a00
@@ -4001,7 +1248,7 @@ _081092A4: .4byte gBattleMoves
thumb_func_start BattleAICmd_if_last_move_did_damage
BattleAICmd_if_last_move_did_damage: @ 81092A8
push {r4,r5,lr}
- ldr r0, _081092BC @ =gUnknown_02039238
+ ldr r0, _081092BC @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
adds r5, r0, 0
@@ -4010,7 +1257,7 @@ BattleAICmd_if_last_move_did_damage: @ 81092A8
ldr r0, _081092C0 @ =gUnknown_02024C07
b _081092C6
.align 2, 0
-_081092BC: .4byte gUnknown_02039238
+_081092BC: .4byte gAIScriptPtr
_081092C0: .4byte gUnknown_02024C07
_081092C4:
ldr r0, _081092E4 @ =gUnknown_02024C08
@@ -4076,7 +1323,7 @@ _08109328:
thumb_func_start BattleAICmd_if_encored
BattleAICmd_if_encored: @ 8109330
push {r4,lr}
- ldr r4, _08109344 @ =gUnknown_02039238
+ ldr r4, _08109344 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r0, [r3, 0x1]
cmp r0, 0
@@ -4085,7 +1332,7 @@ BattleAICmd_if_encored: @ 8109330
beq _08109370
b _081093AC
.align 2, 0
-_08109344: .4byte gUnknown_02039238
+_08109344: .4byte gAIScriptPtr
_08109348:
ldr r2, _08109364 @ =gUnknown_02024CA8
ldr r0, _08109368 @ =gUnknown_02024A60
@@ -4175,7 +1422,7 @@ BattleAICmd_if_random_2: @ 81093C8
lsrs r0, 24
cmp r0, r4
bcs _08109418
- ldr r3, _08109414 @ =gUnknown_02039238
+ ldr r3, _08109414 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2, 0x1]
ldrb r0, [r2, 0x2]
@@ -4192,9 +1439,9 @@ BattleAICmd_if_random_2: @ 81093C8
.align 2, 0
_0810940C: .4byte 0x02000000
_08109410: .4byte 0x00016088
-_08109414: .4byte gUnknown_02039238
+_08109414: .4byte gAIScriptPtr
_08109418:
- ldr r1, _08109428 @ =gUnknown_02039238
+ ldr r1, _08109428 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x5
str r0, [r1]
@@ -4203,7 +1450,7 @@ _08109420:
pop {r0}
bx r0
.align 2, 0
-_08109428: .4byte gUnknown_02039238
+_08109428: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_if_random_2
thumb_func_start BattleAICmd_unk_47
@@ -4221,7 +1468,7 @@ _08109438: .4byte 0x02016800
thumb_func_start BattleAICmd_get_hold_effect
BattleAICmd_get_hold_effect: @ 810943C
push {r4,lr}
- ldr r0, _0810944C @ =gUnknown_02039238
+ ldr r0, _0810944C @ =gAIScriptPtr
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x1
@@ -4229,7 +1476,7 @@ BattleAICmd_get_hold_effect: @ 810943C
ldr r0, _08109450 @ =gUnknown_02024C07
b _08109456
.align 2, 0
-_0810944C: .4byte gUnknown_02039238
+_0810944C: .4byte gAIScriptPtr
_08109450: .4byte gUnknown_02024C07
_08109454:
ldr r0, _0810947C @ =gUnknown_02024C08
@@ -4267,7 +1514,7 @@ _08109488:
lsrs r0, 24
str r0, [r1, 0x8]
_0810949E:
- ldr r1, _081094B4 @ =gUnknown_02039238
+ ldr r1, _081094B4 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x2
str r0, [r1]
@@ -4277,13 +1524,13 @@ _0810949E:
.align 2, 0
_081094AC: .4byte gBattleMons
_081094B0: .4byte 0x02016800
-_081094B4: .4byte gUnknown_02039238
+_081094B4: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_get_hold_effect
thumb_func_start BattleAICmd_get_gender
BattleAICmd_get_gender: @ 81094B8
push {lr}
- ldr r0, _081094C8 @ =gUnknown_02039238
+ ldr r0, _081094C8 @ =gAIScriptPtr
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x1
@@ -4291,7 +1538,7 @@ BattleAICmd_get_gender: @ 81094B8
ldr r0, _081094CC @ =gUnknown_02024C07
b _081094D2
.align 2, 0
-_081094C8: .4byte gUnknown_02039238
+_081094C8: .4byte gAIScriptPtr
_081094CC: .4byte gUnknown_02024C07
_081094D0:
ldr r0, _081094FC @ =gUnknown_02024C08
@@ -4310,7 +1557,7 @@ _081094D2:
lsls r0, 24
lsrs r0, 24
str r0, [r1, 0x8]
- ldr r1, _08109508 @ =gUnknown_02039238
+ ldr r1, _08109508 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x2
str r0, [r1]
@@ -4320,13 +1567,13 @@ _081094D2:
_081094FC: .4byte gUnknown_02024C08
_08109500: .4byte gBattleMons
_08109504: .4byte 0x02016800
-_08109508: .4byte gUnknown_02039238
+_08109508: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_get_gender
thumb_func_start BattleAICmd_is_first_turn
BattleAICmd_is_first_turn: @ 810950C
push {r4,lr}
- ldr r0, _08109520 @ =gUnknown_02039238
+ ldr r0, _08109520 @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
adds r4, r0, 0
@@ -4335,7 +1582,7 @@ BattleAICmd_is_first_turn: @ 810950C
ldr r0, _08109524 @ =gUnknown_02024C07
b _0810952A
.align 2, 0
-_08109520: .4byte gUnknown_02039238
+_08109520: .4byte gAIScriptPtr
_08109524: .4byte gUnknown_02024C07
_08109528:
ldr r0, _08109548 @ =gUnknown_02024C08
@@ -4364,7 +1611,7 @@ _08109550: .4byte gUnknown_02024CA8
thumb_func_start BattleAICmd_get_stockpile_count
BattleAICmd_get_stockpile_count: @ 8109554
push {r4,lr}
- ldr r0, _08109568 @ =gUnknown_02039238
+ ldr r0, _08109568 @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
adds r4, r0, 0
@@ -4373,7 +1620,7 @@ BattleAICmd_get_stockpile_count: @ 8109554
ldr r0, _0810956C @ =gUnknown_02024C07
b _08109572
.align 2, 0
-_08109568: .4byte gUnknown_02039238
+_08109568: .4byte gAIScriptPtr
_0810956C: .4byte gUnknown_02024C07
_08109570:
ldr r0, _08109590 @ =gUnknown_02024C08
@@ -4407,7 +1654,7 @@ BattleAICmd_unk_4C: @ 810959C
movs r0, 0x1
ands r0, r1
str r0, [r2, 0x8]
- ldr r1, _081095BC @ =gUnknown_02039238
+ ldr r1, _081095BC @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -4415,13 +1662,13 @@ BattleAICmd_unk_4C: @ 810959C
.align 2, 0
_081095B4: .4byte 0x02016800
_081095B8: .4byte gUnknown_020239F8
-_081095BC: .4byte gUnknown_02039238
+_081095BC: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_unk_4C
thumb_func_start BattleAICmd_get_item
BattleAICmd_get_item: @ 81095C0
push {lr}
- ldr r0, _081095D4 @ =gUnknown_02039238
+ ldr r0, _081095D4 @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
adds r2, r0, 0
@@ -4430,7 +1677,7 @@ BattleAICmd_get_item: @ 81095C0
ldr r0, _081095D8 @ =gUnknown_02024C07
b _081095DE
.align 2, 0
-_081095D4: .4byte gUnknown_02039238
+_081095D4: .4byte gAIScriptPtr
_081095D8: .4byte gUnknown_02024C07
_081095DC:
ldr r0, _081095F8 @ =gUnknown_02024C08
@@ -4465,7 +1712,7 @@ BattleAICmd_unk_4E: @ 8109604
adds r0, r2
ldrb r0, [r0, 0x2]
str r0, [r3, 0x8]
- ldr r1, _08109628 @ =gUnknown_02039238
+ ldr r1, _08109628 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -4473,7 +1720,7 @@ BattleAICmd_unk_4E: @ 8109604
.align 2, 0
_08109620: .4byte 0x02016800
_08109624: .4byte gBattleMoves
-_08109628: .4byte gUnknown_02039238
+_08109628: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_unk_4E
thumb_func_start BattleAICmd_unk_4F
@@ -4487,7 +1734,7 @@ BattleAICmd_unk_4F: @ 810962C
adds r0, r2
ldrb r0, [r0, 0x1]
str r0, [r3, 0x8]
- ldr r1, _08109650 @ =gUnknown_02039238
+ ldr r1, _08109650 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -4495,7 +1742,7 @@ BattleAICmd_unk_4F: @ 810962C
.align 2, 0
_08109648: .4byte 0x02016800
_0810964C: .4byte gBattleMoves
-_08109650: .4byte gUnknown_02039238
+_08109650: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_unk_4F
thumb_func_start BattleAICmd_unk_50
@@ -4509,7 +1756,7 @@ BattleAICmd_unk_50: @ 8109654
adds r0, r2
ldrb r0, [r0]
str r0, [r3, 0x8]
- ldr r1, _08109678 @ =gUnknown_02039238
+ ldr r1, _08109678 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -4517,13 +1764,13 @@ BattleAICmd_unk_50: @ 8109654
.align 2, 0
_08109670: .4byte 0x02016800
_08109674: .4byte gBattleMoves
-_08109678: .4byte gUnknown_02039238
+_08109678: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_unk_50
thumb_func_start BattleAICmd_get_protect_count
BattleAICmd_get_protect_count: @ 810967C
push {r4,lr}
- ldr r0, _08109690 @ =gUnknown_02039238
+ ldr r0, _08109690 @ =gAIScriptPtr
ldr r1, [r0]
ldrb r1, [r1, 0x1]
adds r4, r0, 0
@@ -4532,7 +1779,7 @@ BattleAICmd_get_protect_count: @ 810967C
ldr r0, _08109694 @ =gUnknown_02024C07
b _0810969A
.align 2, 0
-_08109690: .4byte gUnknown_02039238
+_08109690: .4byte gAIScriptPtr
_08109694: .4byte gUnknown_02024C07
_08109698:
ldr r0, _081096B8 @ =gUnknown_02024C08
@@ -4591,7 +1838,7 @@ BattleAICmd_unk_57: @ 81096D8
thumb_func_start BattleAICmd_call
BattleAICmd_call: @ 81096DC
push {r4,lr}
- ldr r4, _08109708 @ =gUnknown_02039238
+ ldr r4, _08109708 @ =gAIScriptPtr
ldr r0, [r4]
adds r0, 0x5
bl sub_81098C4
@@ -4611,12 +1858,12 @@ BattleAICmd_call: @ 81096DC
pop {r0}
bx r0
.align 2, 0
-_08109708: .4byte gUnknown_02039238
+_08109708: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_call
thumb_func_start BattleAICmd_jump
BattleAICmd_jump: @ 810970C
- ldr r3, _08109728 @ =gUnknown_02039238
+ ldr r3, _08109728 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2, 0x1]
ldrb r0, [r2, 0x2]
@@ -4631,7 +1878,7 @@ BattleAICmd_jump: @ 810970C
str r1, [r3]
bx lr
.align 2, 0
-_08109728: .4byte gUnknown_02039238
+_08109728: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_jump
thumb_func_start BattleAICmd_unk_5A
@@ -4656,7 +1903,7 @@ _08109748: .4byte 0x02016800
thumb_func_start BattleAICmd_if_level_cond
BattleAICmd_if_level_cond: @ 810974C
push {r4,r5,lr}
- ldr r5, _08109764 @ =gUnknown_02039238
+ ldr r5, _08109764 @ =gAIScriptPtr
ldr r4, [r5]
ldrb r0, [r4, 0x1]
cmp r0, 0x1
@@ -4667,7 +1914,7 @@ BattleAICmd_if_level_cond: @ 810974C
beq _0810976E
b _0810981C
.align 2, 0
-_08109764: .4byte gUnknown_02039238
+_08109764: .4byte gAIScriptPtr
_08109768:
cmp r0, 0x2
beq _081097D0
@@ -4776,7 +2023,7 @@ BattleAICmd_if_taunted: @ 8109824
lsls r0, 28
cmp r0, 0
beq _08109864
- ldr r3, _08109860 @ =gUnknown_02039238
+ ldr r3, _08109860 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2, 0x1]
ldrb r0, [r2, 0x2]
@@ -4793,9 +2040,9 @@ BattleAICmd_if_taunted: @ 8109824
.align 2, 0
_08109858: .4byte gUnknown_02024CA8
_0810985C: .4byte gUnknown_02024C08
-_08109860: .4byte gUnknown_02039238
+_08109860: .4byte gAIScriptPtr
_08109864:
- ldr r1, _08109870 @ =gUnknown_02039238
+ ldr r1, _08109870 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x5
str r0, [r1]
@@ -4803,7 +2050,7 @@ _0810986C:
pop {r0}
bx r0
.align 2, 0
-_08109870: .4byte gUnknown_02039238
+_08109870: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_if_taunted
thumb_func_start BattleAICmd_if_not_taunted
@@ -4820,7 +2067,7 @@ BattleAICmd_if_not_taunted: @ 8109874
lsls r0, 28
cmp r0, 0
bne _081098B4
- ldr r3, _081098B0 @ =gUnknown_02039238
+ ldr r3, _081098B0 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2, 0x1]
ldrb r0, [r2, 0x2]
@@ -4837,9 +2084,9 @@ BattleAICmd_if_not_taunted: @ 8109874
.align 2, 0
_081098A8: .4byte gUnknown_02024CA8
_081098AC: .4byte gUnknown_02024C08
-_081098B0: .4byte gUnknown_02039238
+_081098B0: .4byte gAIScriptPtr
_081098B4:
- ldr r1, _081098C0 @ =gUnknown_02039238
+ ldr r1, _081098C0 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x5
str r0, [r1]
@@ -4847,7 +2094,7 @@ _081098BC:
pop {r0}
bx r0
.align 2, 0
-_081098C0: .4byte gUnknown_02039238
+_081098C0: .4byte gAIScriptPtr
thumb_func_end BattleAICmd_if_not_taunted
thumb_func_start sub_81098C4
@@ -4881,13 +2128,13 @@ unref_sub_81098E4: @ 81098E4
lsls r0, 24
lsrs r0, 22
adds r0, r3
- ldr r1, _08109904 @ =gUnknown_02039238
+ ldr r1, _08109904 @ =gAIScriptPtr
ldr r1, [r1]
str r1, [r0]
bx lr
.align 2, 0
_08109900: .4byte 0x02016c00
-_08109904: .4byte gUnknown_02039238
+_08109904: .4byte gAIScriptPtr
thumb_func_end unref_sub_81098E4
thumb_func_start sub_8109908
@@ -4906,7 +2153,7 @@ _0810991C: .4byte 0x02016c00
_08109920:
subs r0, 0x1
strb r0, [r2]
- ldr r1, _08109938 @ =gUnknown_02039238
+ ldr r1, _08109938 @ =gAIScriptPtr
ldrb r0, [r2]
lsls r0, 2
adds r0, r3
@@ -4917,7 +2164,7 @@ _08109932:
pop {r1}
bx r1
.align 2, 0
-_08109938: .4byte gUnknown_02039238
+_08109938: .4byte gAIScriptPtr
thumb_func_end sub_8109908
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/contest_ai.s b/asm/contest_ai.s
index 7aef5885c..1e5497570 100644
--- a/asm/contest_ai.s
+++ b/asm/contest_ai.s
@@ -118,7 +118,7 @@ sub_81289AC: @ 81289AC
cmp r0, 0x2
beq _08128A76
adds r4, r1, 0
- ldr r5, _081289F8 @ =gUnknown_02039238
+ ldr r5, _081289F8 @ =gAIScriptPtr
ldr r6, _081289FC @ =gUnknown_0203858E
_081289BE:
ldrb r0, [r4]
@@ -150,7 +150,7 @@ _081289BE:
b _08128A06
.align 2, 0
_081289F4: .4byte 0x020192e4
-_081289F8: .4byte gUnknown_02039238
+_081289F8: .4byte gAIScriptPtr
_081289FC: .4byte gUnknown_0203858E
_08128A00: .4byte gContestAIs
_08128A04:
@@ -256,7 +256,7 @@ sub_8128AA8: @ 8128AA8
adds r1, r2, 0x5
ldrb r0, [r2, 0x4]
adds r1, r0
- ldr r3, _08128AD4 @ =gUnknown_02039238
+ ldr r3, _08128AD4 @ =gAIScriptPtr
ldr r0, [r3]
ldrb r0, [r0, 0x1]
lsls r0, 24
@@ -272,7 +272,7 @@ sub_8128AA8: @ 8128AA8
b _08128ADE
.align 2, 0
_08128AD0: .4byte 0x020192e4
-_08128AD4: .4byte gUnknown_02039238
+_08128AD4: .4byte gAIScriptPtr
_08128AD8:
cmp r0, 0
bge _08128ADE
@@ -296,14 +296,14 @@ contest_ai_get_turn: @ 8128AF0
subs r0, 0xE0
ldrb r0, [r0, 0x1]
strh r0, [r1, 0x18]
- ldr r1, _08128B08 @ =gUnknown_02039238
+ ldr r1, _08128B08 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
bx lr
.align 2, 0
_08128B04: .4byte 0x020192e4
-_08128B08: .4byte gUnknown_02039238
+_08128B08: .4byte gAIScriptPtr
thumb_func_end contest_ai_get_turn
thumb_func_start sub_8128B0C
@@ -313,7 +313,7 @@ sub_8128B0C: @ 8128B0C
ldr r0, _08128B3C @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128B40 @ =gUnknown_02039238
+ ldr r3, _08128B40 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -332,7 +332,7 @@ sub_8128B0C: @ 8128B0C
b _08128B48
.align 2, 0
_08128B3C: .4byte 0x020192e4
-_08128B40: .4byte gUnknown_02039238
+_08128B40: .4byte gAIScriptPtr
_08128B44:
adds r0, r2, 0x5
str r0, [r3]
@@ -348,7 +348,7 @@ sub_8128B4C: @ 8128B4C
ldr r0, _08128B7C @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128B80 @ =gUnknown_02039238
+ ldr r3, _08128B80 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -367,7 +367,7 @@ sub_8128B4C: @ 8128B4C
b _08128B88
.align 2, 0
_08128B7C: .4byte 0x020192e4
-_08128B80: .4byte gUnknown_02039238
+_08128B80: .4byte gAIScriptPtr
_08128B84:
adds r0, r2, 0x5
str r0, [r3]
@@ -383,7 +383,7 @@ sub_8128B8C: @ 8128B8C
ldr r0, _08128BBC @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128BC0 @ =gUnknown_02039238
+ ldr r3, _08128BC0 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -402,7 +402,7 @@ sub_8128B8C: @ 8128B8C
b _08128BC8
.align 2, 0
_08128BBC: .4byte 0x020192e4
-_08128BC0: .4byte gUnknown_02039238
+_08128BC0: .4byte gAIScriptPtr
_08128BC4:
adds r0, r2, 0x5
str r0, [r3]
@@ -418,7 +418,7 @@ sub_8128BCC: @ 8128BCC
ldr r0, _08128BFC @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128C00 @ =gUnknown_02039238
+ ldr r3, _08128C00 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -437,7 +437,7 @@ sub_8128BCC: @ 8128BCC
b _08128C08
.align 2, 0
_08128BFC: .4byte 0x020192e4
-_08128C00: .4byte gUnknown_02039238
+_08128C00: .4byte gAIScriptPtr
_08128C04:
adds r0, r2, 0x5
str r0, [r3]
@@ -455,14 +455,14 @@ contest_ai_get_excitement: @ 8128C0C
lsls r0, 24
asrs r0, 24
strh r0, [r1, 0x18]
- ldr r1, _08128C28 @ =gUnknown_02039238
+ ldr r1, _08128C28 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
bx lr
.align 2, 0
_08128C24: .4byte 0x020192e4
-_08128C28: .4byte gUnknown_02039238
+_08128C28: .4byte gAIScriptPtr
thumb_func_end contest_ai_get_excitement
thumb_func_start sub_8128C2C
@@ -472,7 +472,7 @@ sub_8128C2C: @ 8128C2C
ldr r0, _08128C5C @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128C60 @ =gUnknown_02039238
+ ldr r3, _08128C60 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -491,7 +491,7 @@ sub_8128C2C: @ 8128C2C
b _08128C68
.align 2, 0
_08128C5C: .4byte 0x020192e4
-_08128C60: .4byte gUnknown_02039238
+_08128C60: .4byte gAIScriptPtr
_08128C64:
adds r0, r2, 0x5
str r0, [r3]
@@ -507,7 +507,7 @@ sub_8128C6C: @ 8128C6C
ldr r0, _08128C9C @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128CA0 @ =gUnknown_02039238
+ ldr r3, _08128CA0 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -526,7 +526,7 @@ sub_8128C6C: @ 8128C6C
b _08128CA8
.align 2, 0
_08128C9C: .4byte 0x020192e4
-_08128CA0: .4byte gUnknown_02039238
+_08128CA0: .4byte gAIScriptPtr
_08128CA4:
adds r0, r2, 0x5
str r0, [r3]
@@ -542,7 +542,7 @@ sub_8128CAC: @ 8128CAC
ldr r0, _08128CDC @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128CE0 @ =gUnknown_02039238
+ ldr r3, _08128CE0 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -561,7 +561,7 @@ sub_8128CAC: @ 8128CAC
b _08128CE8
.align 2, 0
_08128CDC: .4byte 0x020192e4
-_08128CE0: .4byte gUnknown_02039238
+_08128CE0: .4byte gAIScriptPtr
_08128CE4:
adds r0, r2, 0x5
str r0, [r3]
@@ -577,7 +577,7 @@ sub_8128CEC: @ 8128CEC
ldr r0, _08128D1C @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128D20 @ =gUnknown_02039238
+ ldr r3, _08128D20 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -596,7 +596,7 @@ sub_8128CEC: @ 8128CEC
b _08128D28
.align 2, 0
_08128D1C: .4byte 0x020192e4
-_08128D20: .4byte gUnknown_02039238
+_08128D20: .4byte gAIScriptPtr
_08128D24:
adds r0, r2, 0x5
str r0, [r3]
@@ -616,14 +616,14 @@ contest_ai_get_user_order: @ 8128D2C
adds r0, r2
ldrb r0, [r0]
strh r0, [r1, 0x18]
- ldr r1, _08128D4C @ =gUnknown_02039238
+ ldr r1, _08128D4C @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
bx lr
.align 2, 0
_08128D48: .4byte 0x020192e4
-_08128D4C: .4byte gUnknown_02039238
+_08128D4C: .4byte gAIScriptPtr
thumb_func_end contest_ai_get_user_order
thumb_func_start sub_8128D50
@@ -633,7 +633,7 @@ sub_8128D50: @ 8128D50
ldr r0, _08128D80 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128D84 @ =gUnknown_02039238
+ ldr r3, _08128D84 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -652,7 +652,7 @@ sub_8128D50: @ 8128D50
b _08128D8C
.align 2, 0
_08128D80: .4byte 0x020192e4
-_08128D84: .4byte gUnknown_02039238
+_08128D84: .4byte gAIScriptPtr
_08128D88:
adds r0, r2, 0x5
str r0, [r3]
@@ -668,7 +668,7 @@ sub_8128D90: @ 8128D90
ldr r0, _08128DC0 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128DC4 @ =gUnknown_02039238
+ ldr r3, _08128DC4 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -687,7 +687,7 @@ sub_8128D90: @ 8128D90
b _08128DCC
.align 2, 0
_08128DC0: .4byte 0x020192e4
-_08128DC4: .4byte gUnknown_02039238
+_08128DC4: .4byte gAIScriptPtr
_08128DC8:
adds r0, r2, 0x5
str r0, [r3]
@@ -703,7 +703,7 @@ sub_8128DD0: @ 8128DD0
ldr r0, _08128E00 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128E04 @ =gUnknown_02039238
+ ldr r3, _08128E04 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -722,7 +722,7 @@ sub_8128DD0: @ 8128DD0
b _08128E0C
.align 2, 0
_08128E00: .4byte 0x020192e4
-_08128E04: .4byte gUnknown_02039238
+_08128E04: .4byte gAIScriptPtr
_08128E08:
adds r0, r2, 0x5
str r0, [r3]
@@ -738,7 +738,7 @@ sub_8128E10: @ 8128E10
ldr r0, _08128E40 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128E44 @ =gUnknown_02039238
+ ldr r3, _08128E44 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -757,7 +757,7 @@ sub_8128E10: @ 8128E10
b _08128E4C
.align 2, 0
_08128E40: .4byte 0x020192e4
-_08128E44: .4byte gUnknown_02039238
+_08128E44: .4byte gAIScriptPtr
_08128E48:
adds r0, r2, 0x5
str r0, [r3]
@@ -787,7 +787,7 @@ contest_ai_get_user_condition_maybe: @ 8128E50
lsls r0, 24
asrs r0, 24
strh r0, [r4, 0x18]
- ldr r1, _08128E8C @ =gUnknown_02039238
+ ldr r1, _08128E8C @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -796,7 +796,7 @@ contest_ai_get_user_condition_maybe: @ 8128E50
bx r0
.align 2, 0
_08128E88: .4byte 0x020192e4
-_08128E8C: .4byte gUnknown_02039238
+_08128E8C: .4byte gAIScriptPtr
thumb_func_end contest_ai_get_user_condition_maybe
thumb_func_start sub_8128E90
@@ -806,7 +806,7 @@ sub_8128E90: @ 8128E90
ldr r0, _08128EC0 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128EC4 @ =gUnknown_02039238
+ ldr r3, _08128EC4 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -825,7 +825,7 @@ sub_8128E90: @ 8128E90
b _08128ECC
.align 2, 0
_08128EC0: .4byte 0x020192e4
-_08128EC4: .4byte gUnknown_02039238
+_08128EC4: .4byte gAIScriptPtr
_08128EC8:
adds r0, r2, 0x5
str r0, [r3]
@@ -841,7 +841,7 @@ sub_8128ED0: @ 8128ED0
ldr r0, _08128F00 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128F04 @ =gUnknown_02039238
+ ldr r3, _08128F04 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -860,7 +860,7 @@ sub_8128ED0: @ 8128ED0
b _08128F0C
.align 2, 0
_08128F00: .4byte 0x020192e4
-_08128F04: .4byte gUnknown_02039238
+_08128F04: .4byte gAIScriptPtr
_08128F08:
adds r0, r2, 0x5
str r0, [r3]
@@ -876,7 +876,7 @@ sub_8128F10: @ 8128F10
ldr r0, _08128F40 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128F44 @ =gUnknown_02039238
+ ldr r3, _08128F44 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -895,7 +895,7 @@ sub_8128F10: @ 8128F10
b _08128F4C
.align 2, 0
_08128F40: .4byte 0x020192e4
-_08128F44: .4byte gUnknown_02039238
+_08128F44: .4byte gAIScriptPtr
_08128F48:
adds r0, r2, 0x5
str r0, [r3]
@@ -911,7 +911,7 @@ sub_8128F50: @ 8128F50
ldr r0, _08128F80 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08128F84 @ =gUnknown_02039238
+ ldr r3, _08128F84 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -930,7 +930,7 @@ sub_8128F50: @ 8128F50
b _08128F8C
.align 2, 0
_08128F80: .4byte 0x020192e4
-_08128F84: .4byte gUnknown_02039238
+_08128F84: .4byte gAIScriptPtr
_08128F88:
adds r0, r2, 0x5
str r0, [r3]
@@ -953,14 +953,14 @@ sub_8128F90: @ 8128F90
adds r0, r1
ldrh r0, [r0, 0x4]
strh r0, [r2, 0x18]
- ldr r1, _08128FB8 @ =gUnknown_02039238
+ ldr r1, _08128FB8 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
bx lr
.align 2, 0
_08128FB4: .4byte 0x020192e4
-_08128FB8: .4byte gUnknown_02039238
+_08128FB8: .4byte gAIScriptPtr
thumb_func_end sub_8128F90
thumb_func_start sub_8128FBC
@@ -968,7 +968,7 @@ sub_8128FBC: @ 8128FBC
push {r4,r5,lr}
bl sub_8128F90
ldr r2, _08128FF4 @ =0x020192e4
- ldr r4, _08128FF8 @ =gUnknown_02039238
+ ldr r4, _08128FF8 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3]
ldrb r0, [r3, 0x1]
@@ -994,7 +994,7 @@ sub_8128FBC: @ 8128FBC
b _08129000
.align 2, 0
_08128FF4: .4byte 0x020192e4
-_08128FF8: .4byte gUnknown_02039238
+_08128FF8: .4byte gAIScriptPtr
_08128FFC:
adds r0, r3, 0x6
str r0, [r4]
@@ -1009,7 +1009,7 @@ sub_8129008: @ 8129008
push {r4,r5,lr}
bl sub_8128F90
ldr r2, _08129040 @ =0x020192e4
- ldr r4, _08129044 @ =gUnknown_02039238
+ ldr r4, _08129044 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3]
ldrb r0, [r3, 0x1]
@@ -1035,7 +1035,7 @@ sub_8129008: @ 8129008
b _0812904C
.align 2, 0
_08129040: .4byte 0x020192e4
-_08129044: .4byte gUnknown_02039238
+_08129044: .4byte gAIScriptPtr
_08129048:
adds r0, r3, 0x6
str r0, [r4]
@@ -1050,7 +1050,7 @@ sub_8129054: @ 8129054
push {r4,r5,lr}
bl sub_8128F90
ldr r2, _0812908C @ =0x020192e4
- ldr r4, _08129090 @ =gUnknown_02039238
+ ldr r4, _08129090 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3]
ldrb r0, [r3, 0x1]
@@ -1076,7 +1076,7 @@ sub_8129054: @ 8129054
b _08129098
.align 2, 0
_0812908C: .4byte 0x020192e4
-_08129090: .4byte gUnknown_02039238
+_08129090: .4byte gAIScriptPtr
_08129094:
adds r0, r3, 0x6
str r0, [r4]
@@ -1091,7 +1091,7 @@ sub_81290A0: @ 81290A0
push {r4,r5,lr}
bl sub_8128F90
ldr r2, _081290D8 @ =0x020192e4
- ldr r4, _081290DC @ =gUnknown_02039238
+ ldr r4, _081290DC @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3]
ldrb r0, [r3, 0x1]
@@ -1117,7 +1117,7 @@ sub_81290A0: @ 81290A0
b _081290E4
.align 2, 0
_081290D8: .4byte 0x020192e4
-_081290DC: .4byte gUnknown_02039238
+_081290DC: .4byte gAIScriptPtr
_081290E0:
adds r0, r3, 0x6
str r0, [r4]
@@ -1138,7 +1138,7 @@ sub_81290EC: @ 81290EC
adds r0, r1
ldrh r0, [r0]
strh r0, [r2, 0x18]
- ldr r1, _08129110 @ =gUnknown_02039238
+ ldr r1, _08129110 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -1146,7 +1146,7 @@ sub_81290EC: @ 81290EC
.align 2, 0
_08129108: .4byte 0x020192e4
_0812910C: .4byte gUnknown_02038670
-_08129110: .4byte gUnknown_02039238
+_08129110: .4byte gAIScriptPtr
thumb_func_end sub_81290EC
thumb_func_start sub_8129114
@@ -1154,7 +1154,7 @@ sub_8129114: @ 8129114
push {r4,r5,lr}
bl sub_81290EC
ldr r2, _0812914C @ =0x020192e4
- ldr r4, _08129150 @ =gUnknown_02039238
+ ldr r4, _08129150 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3]
ldrb r0, [r3, 0x1]
@@ -1180,7 +1180,7 @@ sub_8129114: @ 8129114
b _08129158
.align 2, 0
_0812914C: .4byte 0x020192e4
-_08129150: .4byte gUnknown_02039238
+_08129150: .4byte gAIScriptPtr
_08129154:
adds r0, r3, 0x6
str r0, [r4]
@@ -1195,7 +1195,7 @@ sub_8129160: @ 8129160
push {r4,r5,lr}
bl sub_81290EC
ldr r2, _08129198 @ =0x020192e4
- ldr r4, _0812919C @ =gUnknown_02039238
+ ldr r4, _0812919C @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3]
ldrb r0, [r3, 0x1]
@@ -1221,7 +1221,7 @@ sub_8129160: @ 8129160
b _081291A4
.align 2, 0
_08129198: .4byte 0x020192e4
-_0812919C: .4byte gUnknown_02039238
+_0812919C: .4byte gAIScriptPtr
_081291A0:
adds r0, r3, 0x6
str r0, [r4]
@@ -1236,7 +1236,7 @@ sub_81291AC: @ 81291AC
push {r4,r5,lr}
bl sub_81290EC
ldr r2, _081291E4 @ =0x020192e4
- ldr r4, _081291E8 @ =gUnknown_02039238
+ ldr r4, _081291E8 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3]
ldrb r0, [r3, 0x1]
@@ -1262,7 +1262,7 @@ sub_81291AC: @ 81291AC
b _081291F0
.align 2, 0
_081291E4: .4byte 0x020192e4
-_081291E8: .4byte gUnknown_02039238
+_081291E8: .4byte gAIScriptPtr
_081291EC:
adds r0, r3, 0x6
str r0, [r4]
@@ -1277,7 +1277,7 @@ sub_81291F8: @ 81291F8
push {r4,r5,lr}
bl sub_81290EC
ldr r2, _08129230 @ =0x020192e4
- ldr r4, _08129234 @ =gUnknown_02039238
+ ldr r4, _08129234 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3]
ldrb r0, [r3, 0x1]
@@ -1303,7 +1303,7 @@ sub_81291F8: @ 81291F8
b _0812923C
.align 2, 0
_08129230: .4byte 0x020192e4
-_08129234: .4byte gUnknown_02039238
+_08129234: .4byte gAIScriptPtr
_08129238:
adds r0, r3, 0x6
str r0, [r4]
@@ -1319,7 +1319,7 @@ contest_ai_get_contest_type: @ 8129244
ldr r0, _0812925C @ =gScriptContestCategory
ldrh r0, [r0]
strh r0, [r1, 0x18]
- ldr r1, _08129260 @ =gUnknown_02039238
+ ldr r1, _08129260 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -1327,7 +1327,7 @@ contest_ai_get_contest_type: @ 8129244
.align 2, 0
_08129258: .4byte 0x020192e4
_0812925C: .4byte gScriptContestCategory
-_08129260: .4byte gUnknown_02039238
+_08129260: .4byte gAIScriptPtr
thumb_func_end contest_ai_get_contest_type
thumb_func_start sub_8129264
@@ -1337,7 +1337,7 @@ sub_8129264: @ 8129264
ldr r0, _08129294 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129298 @ =gUnknown_02039238
+ ldr r3, _08129298 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -1356,7 +1356,7 @@ sub_8129264: @ 8129264
b _081292A0
.align 2, 0
_08129294: .4byte 0x020192e4
-_08129298: .4byte gUnknown_02039238
+_08129298: .4byte gAIScriptPtr
_0812929C:
adds r0, r2, 0x5
str r0, [r3]
@@ -1372,7 +1372,7 @@ sub_81292A4: @ 81292A4
ldr r0, _081292D4 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _081292D8 @ =gUnknown_02039238
+ ldr r3, _081292D8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -1391,7 +1391,7 @@ sub_81292A4: @ 81292A4
b _081292E0
.align 2, 0
_081292D4: .4byte 0x020192e4
-_081292D8: .4byte gUnknown_02039238
+_081292D8: .4byte gAIScriptPtr
_081292DC:
adds r0, r2, 0x5
str r0, [r3]
@@ -1419,7 +1419,7 @@ contest_ai_get_move_excitement: @ 81292E4
lsls r0, 24
asrs r0, 24
strh r0, [r4, 0x18]
- ldr r1, _08129320 @ =gUnknown_02039238
+ ldr r1, _08129320 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -1429,7 +1429,7 @@ contest_ai_get_move_excitement: @ 81292E4
.align 2, 0
_08129318: .4byte gUnknown_02038570
_0812931C: .4byte 0x020192e4
-_08129320: .4byte gUnknown_02039238
+_08129320: .4byte gAIScriptPtr
thumb_func_end contest_ai_get_move_excitement
thumb_func_start sub_8129324
@@ -1437,7 +1437,7 @@ sub_8129324: @ 8129324
push {r4,lr}
bl contest_ai_get_move_excitement
ldr r0, _08129354 @ =0x020192e4
- ldr r3, _08129358 @ =gUnknown_02039238
+ ldr r3, _08129358 @ =gAIScriptPtr
ldr r2, [r3]
movs r4, 0x18
ldrsh r1, [r0, r4]
@@ -1459,7 +1459,7 @@ sub_8129324: @ 8129324
b _08129360
.align 2, 0
_08129354: .4byte 0x020192e4
-_08129358: .4byte gUnknown_02039238
+_08129358: .4byte gAIScriptPtr
_0812935C:
adds r0, r2, 0x5
str r0, [r3]
@@ -1474,7 +1474,7 @@ sub_8129368: @ 8129368
push {r4,lr}
bl contest_ai_get_move_excitement
ldr r0, _08129398 @ =0x020192e4
- ldr r3, _0812939C @ =gUnknown_02039238
+ ldr r3, _0812939C @ =gAIScriptPtr
ldr r2, [r3]
movs r4, 0x18
ldrsh r1, [r0, r4]
@@ -1496,7 +1496,7 @@ sub_8129368: @ 8129368
b _081293A4
.align 2, 0
_08129398: .4byte 0x020192e4
-_0812939C: .4byte gUnknown_02039238
+_0812939C: .4byte gAIScriptPtr
_081293A0:
adds r0, r2, 0x5
str r0, [r3]
@@ -1511,7 +1511,7 @@ sub_81293AC: @ 81293AC
push {r4,lr}
bl contest_ai_get_move_excitement
ldr r0, _081293DC @ =0x020192e4
- ldr r3, _081293E0 @ =gUnknown_02039238
+ ldr r3, _081293E0 @ =gAIScriptPtr
ldr r2, [r3]
movs r4, 0x18
ldrsh r1, [r0, r4]
@@ -1533,7 +1533,7 @@ sub_81293AC: @ 81293AC
b _081293E8
.align 2, 0
_081293DC: .4byte 0x020192e4
-_081293E0: .4byte gUnknown_02039238
+_081293E0: .4byte gAIScriptPtr
_081293E4:
adds r0, r2, 0x5
str r0, [r3]
@@ -1548,7 +1548,7 @@ sub_81293F0: @ 81293F0
push {r4,lr}
bl contest_ai_get_move_excitement
ldr r0, _08129420 @ =0x020192e4
- ldr r3, _08129424 @ =gUnknown_02039238
+ ldr r3, _08129424 @ =gAIScriptPtr
ldr r2, [r3]
movs r4, 0x18
ldrsh r1, [r0, r4]
@@ -1570,7 +1570,7 @@ sub_81293F0: @ 81293F0
b _0812942C
.align 2, 0
_08129420: .4byte 0x020192e4
-_08129424: .4byte gUnknown_02039238
+_08129424: .4byte gAIScriptPtr
_08129428:
adds r0, r2, 0x5
str r0, [r3]
@@ -1599,7 +1599,7 @@ contest_ai_get_move_effect: @ 8129434
adds r0, r1
ldrb r0, [r0]
strh r0, [r3, 0x18]
- ldr r1, _0812946C @ =gUnknown_02039238
+ ldr r1, _0812946C @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -1608,7 +1608,7 @@ contest_ai_get_move_effect: @ 8129434
_08129460: .4byte gUnknown_02038570
_08129464: .4byte 0x020192e4
_08129468: .4byte gContestMoves
-_0812946C: .4byte gUnknown_02039238
+_0812946C: .4byte gAIScriptPtr
thumb_func_end contest_ai_get_move_effect
thumb_func_start sub_8129470
@@ -1618,7 +1618,7 @@ sub_8129470: @ 8129470
ldr r0, _081294A0 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _081294A4 @ =gUnknown_02039238
+ ldr r3, _081294A4 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -1637,7 +1637,7 @@ sub_8129470: @ 8129470
b _081294AC
.align 2, 0
_081294A0: .4byte 0x020192e4
-_081294A4: .4byte gUnknown_02039238
+_081294A4: .4byte gAIScriptPtr
_081294A8:
adds r0, r2, 0x5
str r0, [r3]
@@ -1653,7 +1653,7 @@ sub_81294B0: @ 81294B0
ldr r0, _081294E0 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _081294E4 @ =gUnknown_02039238
+ ldr r3, _081294E4 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -1672,7 +1672,7 @@ sub_81294B0: @ 81294B0
b _081294EC
.align 2, 0
_081294E0: .4byte 0x020192e4
-_081294E4: .4byte gUnknown_02039238
+_081294E4: .4byte gAIScriptPtr
_081294E8:
adds r0, r2, 0x5
str r0, [r3]
@@ -1704,7 +1704,7 @@ contest_ai_get_move_effect_type: @ 81294F0
adds r0, r2
ldrb r0, [r0]
strh r0, [r3, 0x18]
- ldr r1, _08129534 @ =gUnknown_02039238
+ ldr r1, _08129534 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -1714,7 +1714,7 @@ _08129524: .4byte gUnknown_02038570
_08129528: .4byte 0x020192e4
_0812952C: .4byte gContestEffects
_08129530: .4byte gContestMoves
-_08129534: .4byte gUnknown_02039238
+_08129534: .4byte gAIScriptPtr
thumb_func_end contest_ai_get_move_effect_type
thumb_func_start sub_8129538
@@ -1724,7 +1724,7 @@ sub_8129538: @ 8129538
ldr r0, _08129568 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812956C @ =gUnknown_02039238
+ ldr r3, _0812956C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -1743,7 +1743,7 @@ sub_8129538: @ 8129538
b _08129574
.align 2, 0
_08129568: .4byte 0x020192e4
-_0812956C: .4byte gUnknown_02039238
+_0812956C: .4byte gAIScriptPtr
_08129570:
adds r0, r2, 0x5
str r0, [r3]
@@ -1759,7 +1759,7 @@ sub_8129578: @ 8129578
ldr r0, _081295A8 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _081295AC @ =gUnknown_02039238
+ ldr r3, _081295AC @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -1778,7 +1778,7 @@ sub_8129578: @ 8129578
b _081295B4
.align 2, 0
_081295A8: .4byte 0x020192e4
-_081295AC: .4byte gUnknown_02039238
+_081295AC: .4byte gAIScriptPtr
_081295B0:
adds r0, r2, 0x5
str r0, [r3]
@@ -1811,7 +1811,7 @@ contest_ai_check_move_has_highest_appeal: @ 81295B8
adds r0, r4
ldrb r7, [r0, 0x1]
movs r6, 0
- ldr r0, _08129620 @ =gUnknown_02039238
+ ldr r0, _08129620 @ =gAIScriptPtr
mov r12, r0
adds r1, r2
_081295EA:
@@ -1841,7 +1841,7 @@ _08129610: .4byte gUnknown_02038570
_08129614: .4byte 0x020192e4
_08129618: .4byte gContestEffects
_0812961C: .4byte gContestMoves
-_08129620: .4byte gUnknown_02039238
+_08129620: .4byte gAIScriptPtr
_08129624:
movs r0, 0
_08129626:
@@ -1864,7 +1864,7 @@ sub_8129638: @ 8129638
ldrsh r0, [r0, r1]
cmp r0, 0
beq _0812966C
- ldr r3, _08129668 @ =gUnknown_02039238
+ ldr r3, _08129668 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -1880,9 +1880,9 @@ sub_8129638: @ 8129638
b _08129674
.align 2, 0
_08129664: .4byte 0x020192e4
-_08129668: .4byte gUnknown_02039238
+_08129668: .4byte gAIScriptPtr
_0812966C:
- ldr r1, _08129678 @ =gUnknown_02039238
+ ldr r1, _08129678 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -1890,7 +1890,7 @@ _08129674:
pop {r0}
bx r0
.align 2, 0
-_08129678: .4byte gUnknown_02039238
+_08129678: .4byte gAIScriptPtr
thumb_func_end sub_8129638
thumb_func_start sub_812967C
@@ -1917,7 +1917,7 @@ sub_812967C: @ 812967C
adds r0, r4
ldrb r7, [r0, 0x2]
movs r6, 0
- ldr r0, _081296E4 @ =gUnknown_02039238
+ ldr r0, _081296E4 @ =gAIScriptPtr
mov r12, r0
adds r1, r2
_081296AE:
@@ -1947,7 +1947,7 @@ _081296D4: .4byte gUnknown_02038570
_081296D8: .4byte 0x020192e4
_081296DC: .4byte gContestEffects
_081296E0: .4byte gContestMoves
-_081296E4: .4byte gUnknown_02039238
+_081296E4: .4byte gAIScriptPtr
_081296E8:
movs r0, 0
_081296EA:
@@ -1970,7 +1970,7 @@ sub_81296FC: @ 81296FC
ldrsh r0, [r0, r1]
cmp r0, 0
beq _08129730
- ldr r3, _0812972C @ =gUnknown_02039238
+ ldr r3, _0812972C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2, 0x1]
ldrb r0, [r2, 0x2]
@@ -1986,9 +1986,9 @@ sub_81296FC: @ 81296FC
b _08129738
.align 2, 0
_08129728: .4byte 0x020192e4
-_0812972C: .4byte gUnknown_02039238
+_0812972C: .4byte gAIScriptPtr
_08129730:
- ldr r1, _0812973C @ =gUnknown_02039238
+ ldr r1, _0812973C @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x5
str r0, [r1]
@@ -1996,7 +1996,7 @@ _08129738:
pop {r0}
bx r0
.align 2, 0
-_0812973C: .4byte gUnknown_02039238
+_0812973C: .4byte gAIScriptPtr
thumb_func_end sub_81296FC
thumb_func_start sub_8129740
@@ -2027,7 +2027,7 @@ sub_8129740: @ 8129740
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x18]
- ldr r1, _08129794 @ =gUnknown_02039238
+ ldr r1, _08129794 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -2039,7 +2039,7 @@ _08129784: .4byte gUnknown_02038570
_08129788: .4byte 0x020192e4
_0812978C: .4byte gContestEffects
_08129790: .4byte gContestMoves
-_08129794: .4byte gUnknown_02039238
+_08129794: .4byte gAIScriptPtr
thumb_func_end sub_8129740
thumb_func_start sub_8129798
@@ -2049,7 +2049,7 @@ sub_8129798: @ 8129798
ldr r0, _081297C8 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _081297CC @ =gUnknown_02039238
+ ldr r3, _081297CC @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2068,7 +2068,7 @@ sub_8129798: @ 8129798
b _081297D4
.align 2, 0
_081297C8: .4byte 0x020192e4
-_081297CC: .4byte gUnknown_02039238
+_081297CC: .4byte gAIScriptPtr
_081297D0:
adds r0, r2, 0x5
str r0, [r3]
@@ -2084,7 +2084,7 @@ sub_81297D8: @ 81297D8
ldr r0, _08129808 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812980C @ =gUnknown_02039238
+ ldr r3, _0812980C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2103,7 +2103,7 @@ sub_81297D8: @ 81297D8
b _08129814
.align 2, 0
_08129808: .4byte 0x020192e4
-_0812980C: .4byte gUnknown_02039238
+_0812980C: .4byte gAIScriptPtr
_08129810:
adds r0, r2, 0x5
str r0, [r3]
@@ -2119,7 +2119,7 @@ sub_8129818: @ 8129818
ldr r0, _08129848 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812984C @ =gUnknown_02039238
+ ldr r3, _0812984C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2138,7 +2138,7 @@ sub_8129818: @ 8129818
b _08129854
.align 2, 0
_08129848: .4byte 0x020192e4
-_0812984C: .4byte gUnknown_02039238
+_0812984C: .4byte gAIScriptPtr
_08129850:
adds r0, r2, 0x5
str r0, [r3]
@@ -2154,7 +2154,7 @@ sub_8129858: @ 8129858
ldr r0, _08129888 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812988C @ =gUnknown_02039238
+ ldr r3, _0812988C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2173,7 +2173,7 @@ sub_8129858: @ 8129858
b _08129894
.align 2, 0
_08129888: .4byte 0x020192e4
-_0812988C: .4byte gUnknown_02039238
+_0812988C: .4byte gAIScriptPtr
_08129890:
adds r0, r2, 0x5
str r0, [r3]
@@ -2210,7 +2210,7 @@ sub_8129898: @ 8129898
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x18]
- ldr r1, _081298EC @ =gUnknown_02039238
+ ldr r1, _081298EC @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -2222,7 +2222,7 @@ _081298DC: .4byte gUnknown_02038570
_081298E0: .4byte 0x020192e4
_081298E4: .4byte gContestEffects
_081298E8: .4byte gContestMoves
-_081298EC: .4byte gUnknown_02039238
+_081298EC: .4byte gAIScriptPtr
thumb_func_end sub_8129898
thumb_func_start sub_81298F0
@@ -2232,7 +2232,7 @@ sub_81298F0: @ 81298F0
ldr r0, _08129920 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129924 @ =gUnknown_02039238
+ ldr r3, _08129924 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2251,7 +2251,7 @@ sub_81298F0: @ 81298F0
b _0812992C
.align 2, 0
_08129920: .4byte 0x020192e4
-_08129924: .4byte gUnknown_02039238
+_08129924: .4byte gAIScriptPtr
_08129928:
adds r0, r2, 0x5
str r0, [r3]
@@ -2267,7 +2267,7 @@ sub_8129930: @ 8129930
ldr r0, _08129960 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129964 @ =gUnknown_02039238
+ ldr r3, _08129964 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2286,7 +2286,7 @@ sub_8129930: @ 8129930
b _0812996C
.align 2, 0
_08129960: .4byte 0x020192e4
-_08129964: .4byte gUnknown_02039238
+_08129964: .4byte gAIScriptPtr
_08129968:
adds r0, r2, 0x5
str r0, [r3]
@@ -2302,7 +2302,7 @@ sub_8129970: @ 8129970
ldr r0, _081299A0 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _081299A4 @ =gUnknown_02039238
+ ldr r3, _081299A4 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2321,7 +2321,7 @@ sub_8129970: @ 8129970
b _081299AC
.align 2, 0
_081299A0: .4byte 0x020192e4
-_081299A4: .4byte gUnknown_02039238
+_081299A4: .4byte gAIScriptPtr
_081299A8:
adds r0, r2, 0x5
str r0, [r3]
@@ -2337,7 +2337,7 @@ sub_81299B0: @ 81299B0
ldr r0, _081299E0 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _081299E4 @ =gUnknown_02039238
+ ldr r3, _081299E4 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2356,7 +2356,7 @@ sub_81299B0: @ 81299B0
b _081299EC
.align 2, 0
_081299E0: .4byte 0x020192e4
-_081299E4: .4byte gUnknown_02039238
+_081299E4: .4byte gAIScriptPtr
_081299E8:
adds r0, r2, 0x5
str r0, [r3]
@@ -2401,7 +2401,7 @@ _08129A28:
adds r0, 0x1
_08129A30:
strh r0, [r4, 0x18]
- ldr r1, _08129A40 @ =gUnknown_02039238
+ ldr r1, _08129A40 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -2409,7 +2409,7 @@ _08129A30:
pop {r0}
bx r0
.align 2, 0
-_08129A40: .4byte gUnknown_02039238
+_08129A40: .4byte gAIScriptPtr
thumb_func_end contest_ai_get_move_used_count
thumb_func_start sub_8129A44
@@ -2419,7 +2419,7 @@ sub_8129A44: @ 8129A44
ldr r0, _08129A74 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129A78 @ =gUnknown_02039238
+ ldr r3, _08129A78 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2438,7 +2438,7 @@ sub_8129A44: @ 8129A44
b _08129A80
.align 2, 0
_08129A74: .4byte 0x020192e4
-_08129A78: .4byte gUnknown_02039238
+_08129A78: .4byte gAIScriptPtr
_08129A7C:
adds r0, r2, 0x5
str r0, [r3]
@@ -2454,7 +2454,7 @@ sub_8129A84: @ 8129A84
ldr r0, _08129AB4 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129AB8 @ =gUnknown_02039238
+ ldr r3, _08129AB8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2473,7 +2473,7 @@ sub_8129A84: @ 8129A84
b _08129AC0
.align 2, 0
_08129AB4: .4byte 0x020192e4
-_08129AB8: .4byte gUnknown_02039238
+_08129AB8: .4byte gAIScriptPtr
_08129ABC:
adds r0, r2, 0x5
str r0, [r3]
@@ -2489,7 +2489,7 @@ sub_8129AC4: @ 8129AC4
ldr r0, _08129AF4 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129AF8 @ =gUnknown_02039238
+ ldr r3, _08129AF8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2508,7 +2508,7 @@ sub_8129AC4: @ 8129AC4
b _08129B00
.align 2, 0
_08129AF4: .4byte 0x020192e4
-_08129AF8: .4byte gUnknown_02039238
+_08129AF8: .4byte gAIScriptPtr
_08129AFC:
adds r0, r2, 0x5
str r0, [r3]
@@ -2524,7 +2524,7 @@ sub_8129B04: @ 8129B04
ldr r0, _08129B34 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129B38 @ =gUnknown_02039238
+ ldr r3, _08129B38 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -2543,7 +2543,7 @@ sub_8129B04: @ 8129B04
b _08129B40
.align 2, 0
_08129B34: .4byte 0x020192e4
-_08129B38: .4byte gUnknown_02039238
+_08129B38: .4byte gAIScriptPtr
_08129B3C:
adds r0, r2, 0x5
str r0, [r3]
@@ -2600,7 +2600,7 @@ _08129B94:
_08129B96:
ldr r0, _08129BB0 @ =0x020192e4
strh r5, [r0, 0x18]
- ldr r1, _08129BB4 @ =gUnknown_02039238
+ ldr r1, _08129BB4 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -2612,7 +2612,7 @@ _08129B96:
.align 2, 0
_08129BAC: .4byte gUnknown_02038570
_08129BB0: .4byte 0x020192e4
-_08129BB4: .4byte gUnknown_02039238
+_08129BB4: .4byte gAIScriptPtr
thumb_func_end contest_ai_check_combo_starter
thumb_func_start sub_8129BB8
@@ -2624,7 +2624,7 @@ sub_8129BB8: @ 8129BB8
ldrsh r0, [r0, r1]
cmp r0, 0
beq _08129BEC
- ldr r3, _08129BE8 @ =gUnknown_02039238
+ ldr r3, _08129BE8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -2640,9 +2640,9 @@ sub_8129BB8: @ 8129BB8
b _08129BF4
.align 2, 0
_08129BE4: .4byte 0x020192e4
-_08129BE8: .4byte gUnknown_02039238
+_08129BE8: .4byte gAIScriptPtr
_08129BEC:
- ldr r1, _08129BF8 @ =gUnknown_02039238
+ ldr r1, _08129BF8 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -2650,7 +2650,7 @@ _08129BF4:
pop {r0}
bx r0
.align 2, 0
-_08129BF8: .4byte gUnknown_02039238
+_08129BF8: .4byte gAIScriptPtr
thumb_func_end sub_8129BB8
thumb_func_start sub_8129BFC
@@ -2662,7 +2662,7 @@ sub_8129BFC: @ 8129BFC
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08129C30
- ldr r3, _08129C2C @ =gUnknown_02039238
+ ldr r3, _08129C2C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -2678,9 +2678,9 @@ sub_8129BFC: @ 8129BFC
b _08129C38
.align 2, 0
_08129C28: .4byte 0x020192e4
-_08129C2C: .4byte gUnknown_02039238
+_08129C2C: .4byte gAIScriptPtr
_08129C30:
- ldr r1, _08129C3C @ =gUnknown_02039238
+ ldr r1, _08129C3C @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -2688,7 +2688,7 @@ _08129C38:
pop {r0}
bx r0
.align 2, 0
-_08129C3C: .4byte gUnknown_02039238
+_08129C3C: .4byte gAIScriptPtr
thumb_func_end sub_8129BFC
thumb_func_start contest_ai_check_combo_finisher
@@ -2738,7 +2738,7 @@ _08129C8E:
_08129C90:
ldr r0, _08129CAC @ =0x020192e4
strh r5, [r0, 0x18]
- ldr r1, _08129CB0 @ =gUnknown_02039238
+ ldr r1, _08129CB0 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -2750,7 +2750,7 @@ _08129C90:
.align 2, 0
_08129CA8: .4byte gUnknown_02038570
_08129CAC: .4byte 0x020192e4
-_08129CB0: .4byte gUnknown_02039238
+_08129CB0: .4byte gAIScriptPtr
thumb_func_end contest_ai_check_combo_finisher
thumb_func_start sub_8129CB4
@@ -2762,7 +2762,7 @@ sub_8129CB4: @ 8129CB4
ldrsh r0, [r0, r1]
cmp r0, 0
beq _08129CE8
- ldr r3, _08129CE4 @ =gUnknown_02039238
+ ldr r3, _08129CE4 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -2778,9 +2778,9 @@ sub_8129CB4: @ 8129CB4
b _08129CF0
.align 2, 0
_08129CE0: .4byte 0x020192e4
-_08129CE4: .4byte gUnknown_02039238
+_08129CE4: .4byte gAIScriptPtr
_08129CE8:
- ldr r1, _08129CF4 @ =gUnknown_02039238
+ ldr r1, _08129CF4 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -2788,7 +2788,7 @@ _08129CF0:
pop {r0}
bx r0
.align 2, 0
-_08129CF4: .4byte gUnknown_02039238
+_08129CF4: .4byte gAIScriptPtr
thumb_func_end sub_8129CB4
thumb_func_start sub_8129CF8
@@ -2800,7 +2800,7 @@ sub_8129CF8: @ 8129CF8
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08129D2C
- ldr r3, _08129D28 @ =gUnknown_02039238
+ ldr r3, _08129D28 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -2816,9 +2816,9 @@ sub_8129CF8: @ 8129CF8
b _08129D34
.align 2, 0
_08129D24: .4byte 0x020192e4
-_08129D28: .4byte gUnknown_02039238
+_08129D28: .4byte gAIScriptPtr
_08129D2C:
- ldr r1, _08129D38 @ =gUnknown_02039238
+ ldr r1, _08129D38 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -2826,7 +2826,7 @@ _08129D34:
pop {r0}
bx r0
.align 2, 0
-_08129D38: .4byte gUnknown_02039238
+_08129D38: .4byte gAIScriptPtr
thumb_func_end sub_8129CF8
thumb_func_start contest_ai_check_would_finish_combo
@@ -2864,7 +2864,7 @@ _08129D74:
movs r5, 0x1
_08129D7A:
strh r5, [r4, 0x18]
- ldr r1, _08129D94 @ =gUnknown_02039238
+ ldr r1, _08129D94 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -2874,7 +2874,7 @@ _08129D7A:
.align 2, 0
_08129D8C: .4byte gUnknown_02038570
_08129D90: .4byte 0x020192e4
-_08129D94: .4byte gUnknown_02039238
+_08129D94: .4byte gAIScriptPtr
thumb_func_end contest_ai_check_would_finish_combo
thumb_func_start sub_8129D98
@@ -2886,7 +2886,7 @@ sub_8129D98: @ 8129D98
ldrsh r0, [r0, r1]
cmp r0, 0
beq _08129DCC
- ldr r3, _08129DC8 @ =gUnknown_02039238
+ ldr r3, _08129DC8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -2902,9 +2902,9 @@ sub_8129D98: @ 8129D98
b _08129DD4
.align 2, 0
_08129DC4: .4byte 0x020192e4
-_08129DC8: .4byte gUnknown_02039238
+_08129DC8: .4byte gAIScriptPtr
_08129DCC:
- ldr r1, _08129DD8 @ =gUnknown_02039238
+ ldr r1, _08129DD8 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -2912,7 +2912,7 @@ _08129DD4:
pop {r0}
bx r0
.align 2, 0
-_08129DD8: .4byte gUnknown_02039238
+_08129DD8: .4byte gAIScriptPtr
thumb_func_end sub_8129D98
thumb_func_start sub_8129DDC
@@ -2924,7 +2924,7 @@ sub_8129DDC: @ 8129DDC
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08129E10
- ldr r3, _08129E0C @ =gUnknown_02039238
+ ldr r3, _08129E0C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -2940,9 +2940,9 @@ sub_8129DDC: @ 8129DDC
b _08129E18
.align 2, 0
_08129E08: .4byte 0x020192e4
-_08129E0C: .4byte gUnknown_02039238
+_08129E0C: .4byte gAIScriptPtr
_08129E10:
- ldr r1, _08129E1C @ =gUnknown_02039238
+ ldr r1, _08129E1C @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -2950,13 +2950,13 @@ _08129E18:
pop {r0}
bx r0
.align 2, 0
-_08129E1C: .4byte gUnknown_02039238
+_08129E1C: .4byte gAIScriptPtr
thumb_func_end sub_8129DDC
thumb_func_start contest_ai_get_condition
contest_ai_get_condition: @ 8129E20
push {r4,r5,lr}
- ldr r4, _08129E5C @ =gUnknown_02039238
+ ldr r4, _08129E5C @ =gAIScriptPtr
ldr r0, [r4]
ldrb r0, [r0, 0x1]
bl sub_8128A7C
@@ -2983,7 +2983,7 @@ contest_ai_get_condition: @ 8129E20
pop {r0}
bx r0
.align 2, 0
-_08129E5C: .4byte gUnknown_02039238
+_08129E5C: .4byte gAIScriptPtr
_08129E60: .4byte 0x020192e4
thumb_func_end contest_ai_get_condition
@@ -2994,7 +2994,7 @@ sub_8129E64: @ 8129E64
ldr r0, _08129E94 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129E98 @ =gUnknown_02039238
+ ldr r3, _08129E98 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -3013,7 +3013,7 @@ sub_8129E64: @ 8129E64
b _08129EA0
.align 2, 0
_08129E94: .4byte 0x020192e4
-_08129E98: .4byte gUnknown_02039238
+_08129E98: .4byte gAIScriptPtr
_08129E9C:
adds r0, r2, 0x5
str r0, [r3]
@@ -3029,7 +3029,7 @@ sub_8129EA4: @ 8129EA4
ldr r0, _08129ED4 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129ED8 @ =gUnknown_02039238
+ ldr r3, _08129ED8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -3048,7 +3048,7 @@ sub_8129EA4: @ 8129EA4
b _08129EE0
.align 2, 0
_08129ED4: .4byte 0x020192e4
-_08129ED8: .4byte gUnknown_02039238
+_08129ED8: .4byte gAIScriptPtr
_08129EDC:
adds r0, r2, 0x5
str r0, [r3]
@@ -3064,7 +3064,7 @@ sub_8129EE4: @ 8129EE4
ldr r0, _08129F14 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129F18 @ =gUnknown_02039238
+ ldr r3, _08129F18 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -3083,7 +3083,7 @@ sub_8129EE4: @ 8129EE4
b _08129F20
.align 2, 0
_08129F14: .4byte 0x020192e4
-_08129F18: .4byte gUnknown_02039238
+_08129F18: .4byte gAIScriptPtr
_08129F1C:
adds r0, r2, 0x5
str r0, [r3]
@@ -3099,7 +3099,7 @@ sub_8129F24: @ 8129F24
ldr r0, _08129F54 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129F58 @ =gUnknown_02039238
+ ldr r3, _08129F58 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -3118,7 +3118,7 @@ sub_8129F24: @ 8129F24
b _08129F60
.align 2, 0
_08129F54: .4byte 0x020192e4
-_08129F58: .4byte gUnknown_02039238
+_08129F58: .4byte gAIScriptPtr
_08129F5C:
adds r0, r2, 0x5
str r0, [r3]
@@ -3131,7 +3131,7 @@ _08129F60:
contest_ai_get_used_combo_starter: @ 8129F64
push {r4-r6,lr}
movs r6, 0
- ldr r5, _08129FAC @ =gUnknown_02039238
+ ldr r5, _08129FAC @ =gAIScriptPtr
ldr r0, [r5]
ldrb r0, [r0, 0x1]
bl sub_8128A7C
@@ -3165,7 +3165,7 @@ _08129F9C:
pop {r0}
bx r0
.align 2, 0
-_08129FAC: .4byte gUnknown_02039238
+_08129FAC: .4byte gAIScriptPtr
_08129FB0: .4byte gContestMoves
_08129FB4: .4byte 0x02019260
_08129FB8: .4byte 0x020192e4
@@ -3178,7 +3178,7 @@ sub_8129FBC: @ 8129FBC
ldr r0, _08129FEC @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _08129FF0 @ =gUnknown_02039238
+ ldr r3, _08129FF0 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -3197,7 +3197,7 @@ sub_8129FBC: @ 8129FBC
b _08129FF8
.align 2, 0
_08129FEC: .4byte 0x020192e4
-_08129FF0: .4byte gUnknown_02039238
+_08129FF0: .4byte gAIScriptPtr
_08129FF4:
adds r0, r2, 0x5
str r0, [r3]
@@ -3213,7 +3213,7 @@ sub_8129FFC: @ 8129FFC
ldr r0, _0812A02C @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A030 @ =gUnknown_02039238
+ ldr r3, _0812A030 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -3232,7 +3232,7 @@ sub_8129FFC: @ 8129FFC
b _0812A038
.align 2, 0
_0812A02C: .4byte 0x020192e4
-_0812A030: .4byte gUnknown_02039238
+_0812A030: .4byte gAIScriptPtr
_0812A034:
adds r0, r2, 0x5
str r0, [r3]
@@ -3248,7 +3248,7 @@ sub_812A03C: @ 812A03C
ldr r0, _0812A06C @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A070 @ =gUnknown_02039238
+ ldr r3, _0812A070 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -3267,7 +3267,7 @@ sub_812A03C: @ 812A03C
b _0812A078
.align 2, 0
_0812A06C: .4byte 0x020192e4
-_0812A070: .4byte gUnknown_02039238
+_0812A070: .4byte gAIScriptPtr
_0812A074:
adds r0, r2, 0x5
str r0, [r3]
@@ -3283,7 +3283,7 @@ sub_812A07C: @ 812A07C
ldr r0, _0812A0AC @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A0B0 @ =gUnknown_02039238
+ ldr r3, _0812A0B0 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -3302,7 +3302,7 @@ sub_812A07C: @ 812A07C
b _0812A0B8
.align 2, 0
_0812A0AC: .4byte 0x020192e4
-_0812A0B0: .4byte gUnknown_02039238
+_0812A0B0: .4byte gAIScriptPtr
_0812A0B4:
adds r0, r2, 0x5
str r0, [r3]
@@ -3314,7 +3314,7 @@ _0812A0B8:
thumb_func_start contest_ai_check_can_participate
contest_ai_check_can_participate: @ 812A0BC
push {lr}
- ldr r0, _0812A0DC @ =gUnknown_02039238
+ ldr r0, _0812A0DC @ =gAIScriptPtr
ldr r0, [r0]
ldrb r0, [r0, 0x1]
bl sub_8128A7C
@@ -3328,14 +3328,14 @@ contest_ai_check_can_participate: @ 812A0BC
movs r0, 0
b _0812A0E8
.align 2, 0
-_0812A0DC: .4byte gUnknown_02039238
+_0812A0DC: .4byte gAIScriptPtr
_0812A0E0: .4byte 0x020192e4
_0812A0E4:
ldr r1, _0812A0F8 @ =0x020192e4
movs r0, 0x1
_0812A0E8:
strh r0, [r1, 0x18]
- ldr r1, _0812A0FC @ =gUnknown_02039238
+ ldr r1, _0812A0FC @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x2
str r0, [r1]
@@ -3343,7 +3343,7 @@ _0812A0E8:
bx r0
.align 2, 0
_0812A0F8: .4byte 0x020192e4
-_0812A0FC: .4byte gUnknown_02039238
+_0812A0FC: .4byte gAIScriptPtr
thumb_func_end contest_ai_check_can_participate
thumb_func_start sub_812A100
@@ -3355,7 +3355,7 @@ sub_812A100: @ 812A100
ldrsh r0, [r0, r1]
cmp r0, 0
beq _0812A134
- ldr r3, _0812A130 @ =gUnknown_02039238
+ ldr r3, _0812A130 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3371,9 +3371,9 @@ sub_812A100: @ 812A100
b _0812A13C
.align 2, 0
_0812A12C: .4byte 0x020192e4
-_0812A130: .4byte gUnknown_02039238
+_0812A130: .4byte gAIScriptPtr
_0812A134:
- ldr r1, _0812A140 @ =gUnknown_02039238
+ ldr r1, _0812A140 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3381,7 +3381,7 @@ _0812A13C:
pop {r0}
bx r0
.align 2, 0
-_0812A140: .4byte gUnknown_02039238
+_0812A140: .4byte gAIScriptPtr
thumb_func_end sub_812A100
thumb_func_start sub_812A144
@@ -3393,7 +3393,7 @@ sub_812A144: @ 812A144
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0812A178
- ldr r3, _0812A174 @ =gUnknown_02039238
+ ldr r3, _0812A174 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3409,9 +3409,9 @@ sub_812A144: @ 812A144
b _0812A180
.align 2, 0
_0812A170: .4byte 0x020192e4
-_0812A174: .4byte gUnknown_02039238
+_0812A174: .4byte gAIScriptPtr
_0812A178:
- ldr r1, _0812A184 @ =gUnknown_02039238
+ ldr r1, _0812A184 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3419,13 +3419,13 @@ _0812A180:
pop {r0}
bx r0
.align 2, 0
-_0812A184: .4byte gUnknown_02039238
+_0812A184: .4byte gAIScriptPtr
thumb_func_end sub_812A144
thumb_func_start contest_ai_get_val_812A188
contest_ai_get_val_812A188: @ 812A188
push {r4,lr}
- ldr r4, _0812A1BC @ =gUnknown_02039238
+ ldr r4, _0812A1BC @ =gAIScriptPtr
ldr r0, [r4]
ldrb r0, [r0, 0x1]
bl sub_8128A7C
@@ -3449,7 +3449,7 @@ contest_ai_get_val_812A188: @ 812A188
pop {r0}
bx r0
.align 2, 0
-_0812A1BC: .4byte gUnknown_02039238
+_0812A1BC: .4byte gAIScriptPtr
_0812A1C0: .4byte 0x020192e4
thumb_func_end contest_ai_get_val_812A188
@@ -3462,7 +3462,7 @@ sub_812A1C4: @ 812A1C4
ldrsh r0, [r0, r1]
cmp r0, 0
beq _0812A1F8
- ldr r3, _0812A1F4 @ =gUnknown_02039238
+ ldr r3, _0812A1F4 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3478,9 +3478,9 @@ sub_812A1C4: @ 812A1C4
b _0812A200
.align 2, 0
_0812A1F0: .4byte 0x020192e4
-_0812A1F4: .4byte gUnknown_02039238
+_0812A1F4: .4byte gAIScriptPtr
_0812A1F8:
- ldr r1, _0812A204 @ =gUnknown_02039238
+ ldr r1, _0812A204 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3488,7 +3488,7 @@ _0812A200:
pop {r0}
bx r0
.align 2, 0
-_0812A204: .4byte gUnknown_02039238
+_0812A204: .4byte gAIScriptPtr
thumb_func_end sub_812A1C4
thumb_func_start sub_812A208
@@ -3500,7 +3500,7 @@ sub_812A208: @ 812A208
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0812A23C
- ldr r3, _0812A238 @ =gUnknown_02039238
+ ldr r3, _0812A238 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3516,9 +3516,9 @@ sub_812A208: @ 812A208
b _0812A244
.align 2, 0
_0812A234: .4byte 0x020192e4
-_0812A238: .4byte gUnknown_02039238
+_0812A238: .4byte gAIScriptPtr
_0812A23C:
- ldr r1, _0812A248 @ =gUnknown_02039238
+ ldr r1, _0812A248 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3526,13 +3526,13 @@ _0812A244:
pop {r0}
bx r0
.align 2, 0
-_0812A248: .4byte gUnknown_02039238
+_0812A248: .4byte gAIScriptPtr
thumb_func_end sub_812A208
thumb_func_start sub_812A24C
sub_812A24C: @ 812A24C
push {r4,r5,lr}
- ldr r5, _0812A28C @ =gUnknown_02039238
+ ldr r5, _0812A28C @ =gAIScriptPtr
ldr r0, [r5]
ldrb r0, [r0, 0x1]
bl sub_8128A7C
@@ -3563,7 +3563,7 @@ sub_812A24C: @ 812A24C
pop {r0}
bx r0
.align 2, 0
-_0812A28C: .4byte gUnknown_02039238
+_0812A28C: .4byte gAIScriptPtr
_0812A290: .4byte 0x020192e4
thumb_func_end sub_812A24C
@@ -3576,7 +3576,7 @@ sub_812A294: @ 812A294
ldrsh r0, [r0, r1]
cmp r0, 0
bge _0812A2C8
- ldr r3, _0812A2C4 @ =gUnknown_02039238
+ ldr r3, _0812A2C4 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3592,9 +3592,9 @@ sub_812A294: @ 812A294
b _0812A2D0
.align 2, 0
_0812A2C0: .4byte 0x020192e4
-_0812A2C4: .4byte gUnknown_02039238
+_0812A2C4: .4byte gAIScriptPtr
_0812A2C8:
- ldr r1, _0812A2D4 @ =gUnknown_02039238
+ ldr r1, _0812A2D4 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3602,7 +3602,7 @@ _0812A2D0:
pop {r0}
bx r0
.align 2, 0
-_0812A2D4: .4byte gUnknown_02039238
+_0812A2D4: .4byte gAIScriptPtr
thumb_func_end sub_812A294
thumb_func_start sub_812A2D8
@@ -3614,7 +3614,7 @@ sub_812A2D8: @ 812A2D8
ldrsh r0, [r0, r1]
cmp r0, 0
ble _0812A30C
- ldr r3, _0812A308 @ =gUnknown_02039238
+ ldr r3, _0812A308 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3630,9 +3630,9 @@ sub_812A2D8: @ 812A2D8
b _0812A314
.align 2, 0
_0812A304: .4byte 0x020192e4
-_0812A308: .4byte gUnknown_02039238
+_0812A308: .4byte gAIScriptPtr
_0812A30C:
- ldr r1, _0812A318 @ =gUnknown_02039238
+ ldr r1, _0812A318 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3640,7 +3640,7 @@ _0812A314:
pop {r0}
bx r0
.align 2, 0
-_0812A318: .4byte gUnknown_02039238
+_0812A318: .4byte gAIScriptPtr
thumb_func_end sub_812A2D8
thumb_func_start sub_812A31C
@@ -3652,7 +3652,7 @@ sub_812A31C: @ 812A31C
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0812A350
- ldr r3, _0812A34C @ =gUnknown_02039238
+ ldr r3, _0812A34C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3668,9 +3668,9 @@ sub_812A31C: @ 812A31C
b _0812A358
.align 2, 0
_0812A348: .4byte 0x020192e4
-_0812A34C: .4byte gUnknown_02039238
+_0812A34C: .4byte gAIScriptPtr
_0812A350:
- ldr r1, _0812A35C @ =gUnknown_02039238
+ ldr r1, _0812A35C @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3678,7 +3678,7 @@ _0812A358:
pop {r0}
bx r0
.align 2, 0
-_0812A35C: .4byte gUnknown_02039238
+_0812A35C: .4byte gAIScriptPtr
thumb_func_end sub_812A31C
thumb_func_start sub_812A360
@@ -3690,7 +3690,7 @@ sub_812A360: @ 812A360
ldrsh r0, [r0, r1]
cmp r0, 0
beq _0812A394
- ldr r3, _0812A390 @ =gUnknown_02039238
+ ldr r3, _0812A390 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3706,9 +3706,9 @@ sub_812A360: @ 812A360
b _0812A39C
.align 2, 0
_0812A38C: .4byte 0x020192e4
-_0812A390: .4byte gUnknown_02039238
+_0812A390: .4byte gAIScriptPtr
_0812A394:
- ldr r1, _0812A3A0 @ =gUnknown_02039238
+ ldr r1, _0812A3A0 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3716,13 +3716,13 @@ _0812A39C:
pop {r0}
bx r0
.align 2, 0
-_0812A3A0: .4byte gUnknown_02039238
+_0812A3A0: .4byte gAIScriptPtr
thumb_func_end sub_812A360
thumb_func_start sub_812A3A4
sub_812A3A4: @ 812A3A4
push {r4,lr}
- ldr r4, _0812A3D8 @ =gUnknown_02039238
+ ldr r4, _0812A3D8 @ =gAIScriptPtr
ldr r0, [r4]
ldrb r0, [r0, 0x1]
bl sub_8128A7C
@@ -3747,7 +3747,7 @@ sub_812A3A4: @ 812A3A4
pop {r0}
bx r0
.align 2, 0
-_0812A3D8: .4byte gUnknown_02039238
+_0812A3D8: .4byte gAIScriptPtr
_0812A3DC: .4byte 0x020192e4
_0812A3E0: .4byte gUnknown_02038670
thumb_func_end sub_812A3A4
@@ -3761,7 +3761,7 @@ sub_812A3E4: @ 812A3E4
ldrsh r0, [r0, r1]
cmp r0, 0
bge _0812A418
- ldr r3, _0812A414 @ =gUnknown_02039238
+ ldr r3, _0812A414 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3777,9 +3777,9 @@ sub_812A3E4: @ 812A3E4
b _0812A420
.align 2, 0
_0812A410: .4byte 0x020192e4
-_0812A414: .4byte gUnknown_02039238
+_0812A414: .4byte gAIScriptPtr
_0812A418:
- ldr r1, _0812A424 @ =gUnknown_02039238
+ ldr r1, _0812A424 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3787,7 +3787,7 @@ _0812A420:
pop {r0}
bx r0
.align 2, 0
-_0812A424: .4byte gUnknown_02039238
+_0812A424: .4byte gAIScriptPtr
thumb_func_end sub_812A3E4
thumb_func_start sub_812A428
@@ -3799,7 +3799,7 @@ sub_812A428: @ 812A428
ldrsh r0, [r0, r1]
cmp r0, 0
ble _0812A45C
- ldr r3, _0812A458 @ =gUnknown_02039238
+ ldr r3, _0812A458 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3815,9 +3815,9 @@ sub_812A428: @ 812A428
b _0812A464
.align 2, 0
_0812A454: .4byte 0x020192e4
-_0812A458: .4byte gUnknown_02039238
+_0812A458: .4byte gAIScriptPtr
_0812A45C:
- ldr r1, _0812A468 @ =gUnknown_02039238
+ ldr r1, _0812A468 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3825,7 +3825,7 @@ _0812A464:
pop {r0}
bx r0
.align 2, 0
-_0812A468: .4byte gUnknown_02039238
+_0812A468: .4byte gAIScriptPtr
thumb_func_end sub_812A428
thumb_func_start sub_812A46C
@@ -3837,7 +3837,7 @@ sub_812A46C: @ 812A46C
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0812A4A0
- ldr r3, _0812A49C @ =gUnknown_02039238
+ ldr r3, _0812A49C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3853,9 +3853,9 @@ sub_812A46C: @ 812A46C
b _0812A4A8
.align 2, 0
_0812A498: .4byte 0x020192e4
-_0812A49C: .4byte gUnknown_02039238
+_0812A49C: .4byte gAIScriptPtr
_0812A4A0:
- ldr r1, _0812A4AC @ =gUnknown_02039238
+ ldr r1, _0812A4AC @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3863,7 +3863,7 @@ _0812A4A8:
pop {r0}
bx r0
.align 2, 0
-_0812A4AC: .4byte gUnknown_02039238
+_0812A4AC: .4byte gAIScriptPtr
thumb_func_end sub_812A46C
thumb_func_start sub_812A4B0
@@ -3875,7 +3875,7 @@ sub_812A4B0: @ 812A4B0
ldrsh r0, [r0, r1]
cmp r0, 0
beq _0812A4E4
- ldr r3, _0812A4E0 @ =gUnknown_02039238
+ ldr r3, _0812A4E0 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -3891,9 +3891,9 @@ sub_812A4B0: @ 812A4B0
b _0812A4EC
.align 2, 0
_0812A4DC: .4byte 0x020192e4
-_0812A4E0: .4byte gUnknown_02039238
+_0812A4E0: .4byte gAIScriptPtr
_0812A4E4:
- ldr r1, _0812A4F0 @ =gUnknown_02039238
+ ldr r1, _0812A4F0 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -3901,13 +3901,13 @@ _0812A4EC:
pop {r0}
bx r0
.align 2, 0
-_0812A4F0: .4byte gUnknown_02039238
+_0812A4F0: .4byte gAIScriptPtr
thumb_func_end sub_812A4B0
thumb_func_start sub_812A4F4
sub_812A4F4: @ 812A4F4
push {r4,lr}
- ldr r4, _0812A52C @ =gUnknown_02039238
+ ldr r4, _0812A52C @ =gAIScriptPtr
ldr r0, [r4]
ldrb r0, [r0, 0x1]
bl sub_8128A7C
@@ -3934,7 +3934,7 @@ sub_812A4F4: @ 812A4F4
pop {r0}
bx r0
.align 2, 0
-_0812A52C: .4byte gUnknown_02039238
+_0812A52C: .4byte gAIScriptPtr
_0812A530: .4byte 0x02019204
_0812A534: .4byte gContestMoves
thumb_func_end sub_812A4F4
@@ -3946,7 +3946,7 @@ sub_812A538: @ 812A538
ldr r0, _0812A568 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A56C @ =gUnknown_02039238
+ ldr r3, _0812A56C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -3965,7 +3965,7 @@ sub_812A538: @ 812A538
b _0812A574
.align 2, 0
_0812A568: .4byte 0x020192e4
-_0812A56C: .4byte gUnknown_02039238
+_0812A56C: .4byte gAIScriptPtr
_0812A570:
adds r0, r2, 0x5
str r0, [r3]
@@ -3981,7 +3981,7 @@ sub_812A578: @ 812A578
ldr r0, _0812A5A8 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A5AC @ =gUnknown_02039238
+ ldr r3, _0812A5AC @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -4000,7 +4000,7 @@ sub_812A578: @ 812A578
b _0812A5B4
.align 2, 0
_0812A5A8: .4byte 0x020192e4
-_0812A5AC: .4byte gUnknown_02039238
+_0812A5AC: .4byte gAIScriptPtr
_0812A5B0:
adds r0, r2, 0x5
str r0, [r3]
@@ -4016,7 +4016,7 @@ sub_812A5B8: @ 812A5B8
ldr r0, _0812A5E8 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A5EC @ =gUnknown_02039238
+ ldr r3, _0812A5EC @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -4035,7 +4035,7 @@ sub_812A5B8: @ 812A5B8
b _0812A5F4
.align 2, 0
_0812A5E8: .4byte 0x020192e4
-_0812A5EC: .4byte gUnknown_02039238
+_0812A5EC: .4byte gAIScriptPtr
_0812A5F0:
adds r0, r2, 0x5
str r0, [r3]
@@ -4051,7 +4051,7 @@ sub_812A5F8: @ 812A5F8
ldr r0, _0812A628 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A62C @ =gUnknown_02039238
+ ldr r3, _0812A62C @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -4070,7 +4070,7 @@ sub_812A5F8: @ 812A5F8
b _0812A634
.align 2, 0
_0812A628: .4byte 0x020192e4
-_0812A62C: .4byte gUnknown_02039238
+_0812A62C: .4byte gAIScriptPtr
_0812A630:
adds r0, r2, 0x5
str r0, [r3]
@@ -4082,7 +4082,7 @@ _0812A634:
thumb_func_start sub_812A638
sub_812A638: @ 812A638
push {r4,lr}
- ldr r4, _0812A66C @ =gUnknown_02039238
+ ldr r4, _0812A66C @ =gAIScriptPtr
ldr r0, [r4]
ldrb r0, [r0, 0x1]
bl sub_8128A7C
@@ -4107,7 +4107,7 @@ sub_812A638: @ 812A638
pop {r0}
bx r0
.align 2, 0
-_0812A66C: .4byte gUnknown_02039238
+_0812A66C: .4byte gAIScriptPtr
_0812A670: .4byte 0x02019204
thumb_func_end sub_812A638
@@ -4118,7 +4118,7 @@ sub_812A674: @ 812A674
ldr r0, _0812A6A4 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A6A8 @ =gUnknown_02039238
+ ldr r3, _0812A6A8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -4137,7 +4137,7 @@ sub_812A674: @ 812A674
b _0812A6B0
.align 2, 0
_0812A6A4: .4byte 0x020192e4
-_0812A6A8: .4byte gUnknown_02039238
+_0812A6A8: .4byte gAIScriptPtr
_0812A6AC:
adds r0, r2, 0x5
str r0, [r3]
@@ -4153,7 +4153,7 @@ sub_812A6B4: @ 812A6B4
ldr r0, _0812A6E4 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A6E8 @ =gUnknown_02039238
+ ldr r3, _0812A6E8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -4172,7 +4172,7 @@ sub_812A6B4: @ 812A6B4
b _0812A6F0
.align 2, 0
_0812A6E4: .4byte 0x020192e4
-_0812A6E8: .4byte gUnknown_02039238
+_0812A6E8: .4byte gAIScriptPtr
_0812A6EC:
adds r0, r2, 0x5
str r0, [r3]
@@ -4188,7 +4188,7 @@ sub_812A6F4: @ 812A6F4
ldr r0, _0812A724 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A728 @ =gUnknown_02039238
+ ldr r3, _0812A728 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -4207,7 +4207,7 @@ sub_812A6F4: @ 812A6F4
b _0812A730
.align 2, 0
_0812A724: .4byte 0x020192e4
-_0812A728: .4byte gUnknown_02039238
+_0812A728: .4byte gAIScriptPtr
_0812A72C:
adds r0, r2, 0x5
str r0, [r3]
@@ -4223,7 +4223,7 @@ sub_812A734: @ 812A734
ldr r0, _0812A764 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A768 @ =gUnknown_02039238
+ ldr r3, _0812A768 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -4242,7 +4242,7 @@ sub_812A734: @ 812A734
b _0812A770
.align 2, 0
_0812A764: .4byte 0x020192e4
-_0812A768: .4byte gUnknown_02039238
+_0812A768: .4byte gAIScriptPtr
_0812A76C:
adds r0, r2, 0x5
str r0, [r3]
@@ -4254,7 +4254,7 @@ _0812A770:
thumb_func_start sub_812A774
sub_812A774: @ 812A774
push {r4,r5,lr}
- ldr r5, _0812A7B4 @ =gUnknown_02039238
+ ldr r5, _0812A7B4 @ =gAIScriptPtr
ldr r0, [r5]
ldrb r0, [r0, 0x1]
bl sub_8128A7C
@@ -4285,7 +4285,7 @@ sub_812A774: @ 812A774
pop {r0}
bx r0
.align 2, 0
-_0812A7B4: .4byte gUnknown_02039238
+_0812A7B4: .4byte gAIScriptPtr
_0812A7B8: .4byte 0x02019204
_0812A7BC: .4byte gContestEffects
_0812A7C0: .4byte gContestMoves
@@ -4298,7 +4298,7 @@ sub_812A7C4: @ 812A7C4
ldr r0, _0812A7F4 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A7F8 @ =gUnknown_02039238
+ ldr r3, _0812A7F8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -4317,7 +4317,7 @@ sub_812A7C4: @ 812A7C4
b _0812A800
.align 2, 0
_0812A7F4: .4byte 0x020192e4
-_0812A7F8: .4byte gUnknown_02039238
+_0812A7F8: .4byte gAIScriptPtr
_0812A7FC:
adds r0, r2, 0x5
str r0, [r3]
@@ -4333,7 +4333,7 @@ sub_812A804: @ 812A804
ldr r0, _0812A834 @ =0x020192e4
movs r1, 0x18
ldrsh r0, [r0, r1]
- ldr r3, _0812A838 @ =gUnknown_02039238
+ ldr r3, _0812A838 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
cmp r0, r1
@@ -4352,7 +4352,7 @@ sub_812A804: @ 812A804
b _0812A840
.align 2, 0
_0812A834: .4byte 0x020192e4
-_0812A838: .4byte gUnknown_02039238
+_0812A838: .4byte gAIScriptPtr
_0812A83C:
adds r0, r2, 0x5
str r0, [r3]
@@ -4365,7 +4365,7 @@ _0812A840:
sub_812A844: @ 812A844
push {r4,lr}
ldr r3, _0812A864 @ =0x020192e4
- ldr r4, _0812A868 @ =gUnknown_02039238
+ ldr r4, _0812A868 @ =gAIScriptPtr
ldr r2, [r4]
ldrb r0, [r2, 0x1]
lsls r0, 1
@@ -4381,14 +4381,14 @@ sub_812A844: @ 812A844
bx r0
.align 2, 0
_0812A864: .4byte 0x020192e4
-_0812A868: .4byte gUnknown_02039238
+_0812A868: .4byte gAIScriptPtr
thumb_func_end sub_812A844
thumb_func_start sub_812A86C
sub_812A86C: @ 812A86C
push {r4,lr}
ldr r0, _0812A890 @ =0x020192e4
- ldr r4, _0812A894 @ =gUnknown_02039238
+ ldr r4, _0812A894 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r2, [r3, 0x1]
lsls r2, 1
@@ -4406,14 +4406,14 @@ sub_812A86C: @ 812A86C
bx r0
.align 2, 0
_0812A890: .4byte 0x020192e4
-_0812A894: .4byte gUnknown_02039238
+_0812A894: .4byte gAIScriptPtr
thumb_func_end sub_812A86C
thumb_func_start sub_812A898
sub_812A898: @ 812A898
push {r4,lr}
ldr r0, _0812A8C4 @ =0x020192e4
- ldr r4, _0812A8C8 @ =gUnknown_02039238
+ ldr r4, _0812A8C8 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r2, [r3, 0x1]
lsls r2, 1
@@ -4434,14 +4434,14 @@ sub_812A898: @ 812A898
bx r0
.align 2, 0
_0812A8C4: .4byte 0x020192e4
-_0812A8C8: .4byte gUnknown_02039238
+_0812A8C8: .4byte gAIScriptPtr
thumb_func_end sub_812A898
thumb_func_start sub_812A8CC
sub_812A8CC: @ 812A8CC
push {r4,lr}
ldr r2, _0812A8F4 @ =0x020192e4
- ldr r4, _0812A8F8 @ =gUnknown_02039238
+ ldr r4, _0812A8F8 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3, 0x1]
lsls r1, 1
@@ -4461,14 +4461,14 @@ sub_812A8CC: @ 812A8CC
bx r0
.align 2, 0
_0812A8F4: .4byte 0x020192e4
-_0812A8F8: .4byte gUnknown_02039238
+_0812A8F8: .4byte gAIScriptPtr
thumb_func_end sub_812A8CC
thumb_func_start sub_812A8FC
sub_812A8FC: @ 812A8FC
push {r4,lr}
ldr r2, _0812A924 @ =0x020192e4
- ldr r4, _0812A928 @ =gUnknown_02039238
+ ldr r4, _0812A928 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3, 0x1]
lsls r1, 1
@@ -4488,14 +4488,14 @@ sub_812A8FC: @ 812A8FC
bx r0
.align 2, 0
_0812A924: .4byte 0x020192e4
-_0812A928: .4byte gUnknown_02039238
+_0812A928: .4byte gAIScriptPtr
thumb_func_end sub_812A8FC
thumb_func_start sub_812A92C
sub_812A92C: @ 812A92C
push {r4,lr}
ldr r1, _0812A964 @ =0x020192e4
- ldr r4, _0812A968 @ =gUnknown_02039238
+ ldr r4, _0812A968 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r0, [r3, 0x1]
lsls r0, 1
@@ -4523,7 +4523,7 @@ sub_812A92C: @ 812A92C
b _0812A972
.align 2, 0
_0812A964: .4byte 0x020192e4
-_0812A968: .4byte gUnknown_02039238
+_0812A968: .4byte gAIScriptPtr
_0812A96C:
adds r0, r3, 0
adds r0, 0x8
@@ -4538,7 +4538,7 @@ _0812A972:
sub_812A978: @ 812A978
push {r4,lr}
ldr r1, _0812A9B0 @ =0x020192e4
- ldr r4, _0812A9B4 @ =gUnknown_02039238
+ ldr r4, _0812A9B4 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r0, [r3, 0x1]
lsls r0, 1
@@ -4566,7 +4566,7 @@ sub_812A978: @ 812A978
b _0812A9BE
.align 2, 0
_0812A9B0: .4byte 0x020192e4
-_0812A9B4: .4byte gUnknown_02039238
+_0812A9B4: .4byte gAIScriptPtr
_0812A9B8:
adds r0, r3, 0
adds r0, 0x8
@@ -4581,7 +4581,7 @@ _0812A9BE:
sub_812A9C4: @ 812A9C4
push {r4,lr}
ldr r1, _0812A9FC @ =0x020192e4
- ldr r4, _0812AA00 @ =gUnknown_02039238
+ ldr r4, _0812AA00 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r0, [r3, 0x1]
lsls r0, 1
@@ -4609,7 +4609,7 @@ sub_812A9C4: @ 812A9C4
b _0812AA0A
.align 2, 0
_0812A9FC: .4byte 0x020192e4
-_0812AA00: .4byte gUnknown_02039238
+_0812AA00: .4byte gAIScriptPtr
_0812AA04:
adds r0, r3, 0
adds r0, 0x8
@@ -4624,7 +4624,7 @@ _0812AA0A:
sub_812AA10: @ 812AA10
push {r4,lr}
ldr r1, _0812AA48 @ =0x020192e4
- ldr r4, _0812AA4C @ =gUnknown_02039238
+ ldr r4, _0812AA4C @ =gAIScriptPtr
ldr r3, [r4]
ldrb r0, [r3, 0x1]
lsls r0, 1
@@ -4652,7 +4652,7 @@ sub_812AA10: @ 812AA10
b _0812AA56
.align 2, 0
_0812AA48: .4byte 0x020192e4
-_0812AA4C: .4byte gUnknown_02039238
+_0812AA4C: .4byte gAIScriptPtr
_0812AA50:
adds r0, r3, 0
adds r0, 0x8
@@ -4667,7 +4667,7 @@ _0812AA56:
sub_812AA5C: @ 812AA5C
push {r4,lr}
ldr r2, _0812AA98 @ =0x020192e4
- ldr r4, _0812AA9C @ =gUnknown_02039238
+ ldr r4, _0812AA9C @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3, 0x1]
lsls r1, 1
@@ -4696,7 +4696,7 @@ sub_812AA5C: @ 812AA5C
b _0812AAA4
.align 2, 0
_0812AA98: .4byte 0x020192e4
-_0812AA9C: .4byte gUnknown_02039238
+_0812AA9C: .4byte gAIScriptPtr
_0812AAA0:
adds r0, r3, 0x7
str r0, [r4]
@@ -4710,7 +4710,7 @@ _0812AAA4:
sub_812AAAC: @ 812AAAC
push {r4,lr}
ldr r2, _0812AAE8 @ =0x020192e4
- ldr r4, _0812AAEC @ =gUnknown_02039238
+ ldr r4, _0812AAEC @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3, 0x1]
lsls r1, 1
@@ -4739,7 +4739,7 @@ sub_812AAAC: @ 812AAAC
b _0812AAF4
.align 2, 0
_0812AAE8: .4byte 0x020192e4
-_0812AAEC: .4byte gUnknown_02039238
+_0812AAEC: .4byte gAIScriptPtr
_0812AAF0:
adds r0, r3, 0x7
str r0, [r4]
@@ -4753,7 +4753,7 @@ _0812AAF4:
sub_812AAFC: @ 812AAFC
push {r4,lr}
ldr r2, _0812AB38 @ =0x020192e4
- ldr r4, _0812AB3C @ =gUnknown_02039238
+ ldr r4, _0812AB3C @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3, 0x1]
lsls r1, 1
@@ -4782,7 +4782,7 @@ sub_812AAFC: @ 812AAFC
b _0812AB44
.align 2, 0
_0812AB38: .4byte 0x020192e4
-_0812AB3C: .4byte gUnknown_02039238
+_0812AB3C: .4byte gAIScriptPtr
_0812AB40:
adds r0, r3, 0x7
str r0, [r4]
@@ -4796,7 +4796,7 @@ _0812AB44:
sub_812AB4C: @ 812AB4C
push {r4,lr}
ldr r2, _0812AB88 @ =0x020192e4
- ldr r4, _0812AB8C @ =gUnknown_02039238
+ ldr r4, _0812AB8C @ =gAIScriptPtr
ldr r3, [r4]
ldrb r1, [r3, 0x1]
lsls r1, 1
@@ -4825,7 +4825,7 @@ sub_812AB4C: @ 812AB4C
b _0812AB94
.align 2, 0
_0812AB88: .4byte 0x020192e4
-_0812AB8C: .4byte gUnknown_02039238
+_0812AB8C: .4byte gAIScriptPtr
_0812AB90:
adds r0, r3, 0x7
str r0, [r4]
@@ -4842,7 +4842,7 @@ sub_812AB9C: @ 812AB9C
movs r2, 0xFF
ands r2, r0
ldr r1, _0812ABD4 @ =0x020192e4
- ldr r4, _0812ABD8 @ =gUnknown_02039238
+ ldr r4, _0812ABD8 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r0, [r3, 0x1]
lsls r0, 1
@@ -4866,7 +4866,7 @@ sub_812AB9C: @ 812AB9C
b _0812ABE0
.align 2, 0
_0812ABD4: .4byte 0x020192e4
-_0812ABD8: .4byte gUnknown_02039238
+_0812ABD8: .4byte gAIScriptPtr
_0812ABDC:
adds r0, r3, 0x6
str r0, [r4]
@@ -4883,7 +4883,7 @@ sub_812ABE8: @ 812ABE8
movs r2, 0xFF
ands r2, r0
ldr r1, _0812AC20 @ =0x020192e4
- ldr r4, _0812AC24 @ =gUnknown_02039238
+ ldr r4, _0812AC24 @ =gAIScriptPtr
ldr r3, [r4]
ldrb r0, [r3, 0x1]
lsls r0, 1
@@ -4907,7 +4907,7 @@ sub_812ABE8: @ 812ABE8
b _0812AC2C
.align 2, 0
_0812AC20: .4byte 0x020192e4
-_0812AC24: .4byte gUnknown_02039238
+_0812AC24: .4byte gAIScriptPtr
_0812AC28:
adds r0, r3, 0x6
str r0, [r4]
@@ -4919,7 +4919,7 @@ _0812AC2C:
thumb_func_start sub_812AC34
sub_812AC34: @ 812AC34
- ldr r3, _0812AC50 @ =gUnknown_02039238
+ ldr r3, _0812AC50 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2, 0x1]
ldrb r0, [r2, 0x2]
@@ -4934,13 +4934,13 @@ sub_812AC34: @ 812AC34
str r1, [r3]
bx lr
.align 2, 0
-_0812AC50: .4byte gUnknown_02039238
+_0812AC50: .4byte gAIScriptPtr
thumb_func_end sub_812AC34
thumb_func_start sub_812AC54
sub_812AC54: @ 812AC54
push {r4,lr}
- ldr r4, _0812AC80 @ =gUnknown_02039238
+ ldr r4, _0812AC80 @ =gAIScriptPtr
ldr r0, [r4]
adds r0, 0x5
bl sub_812ACA4
@@ -4960,7 +4960,7 @@ sub_812AC54: @ 812AC54
pop {r0}
bx r0
.align 2, 0
-_0812AC80: .4byte gUnknown_02039238
+_0812AC80: .4byte gAIScriptPtr
thumb_func_end sub_812AC54
thumb_func_start sub_812AC84
@@ -5019,7 +5019,7 @@ _0812ACDC: .4byte 0x020192e4
_0812ACE0:
subs r0, 0x1
strb r0, [r3]
- ldr r2, _0812ACF8 @ =gUnknown_02039238
+ ldr r2, _0812ACF8 @ =gAIScriptPtr
ldrb r0, [r3]
lsls r0, 2
adds r1, 0x20
@@ -5031,7 +5031,7 @@ _0812ACF4:
pop {r1}
bx r1
.align 2, 0
-_0812ACF8: .4byte gUnknown_02039238
+_0812ACF8: .4byte gAIScriptPtr
thumb_func_end sub_812ACC8
thumb_func_start contest_ai_check_for_exciting_move
@@ -5067,7 +5067,7 @@ _0812AD30:
_0812AD36:
ldr r0, _0812AD48 @ =0x020192e4
strh r5, [r0, 0x18]
- ldr r1, _0812AD4C @ =gUnknown_02039238
+ ldr r1, _0812AD4C @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x1
str r0, [r1]
@@ -5076,7 +5076,7 @@ _0812AD36:
bx r0
.align 2, 0
_0812AD48: .4byte 0x020192e4
-_0812AD4C: .4byte gUnknown_02039238
+_0812AD4C: .4byte gAIScriptPtr
thumb_func_end contest_ai_check_for_exciting_move
thumb_func_start sub_812AD50
@@ -5088,7 +5088,7 @@ sub_812AD50: @ 812AD50
ldrsh r0, [r0, r1]
cmp r0, 0
beq _0812AD84
- ldr r3, _0812AD80 @ =gUnknown_02039238
+ ldr r3, _0812AD80 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -5104,9 +5104,9 @@ sub_812AD50: @ 812AD50
b _0812AD8C
.align 2, 0
_0812AD7C: .4byte 0x020192e4
-_0812AD80: .4byte gUnknown_02039238
+_0812AD80: .4byte gAIScriptPtr
_0812AD84:
- ldr r1, _0812AD90 @ =gUnknown_02039238
+ ldr r1, _0812AD90 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -5114,7 +5114,7 @@ _0812AD8C:
pop {r0}
bx r0
.align 2, 0
-_0812AD90: .4byte gUnknown_02039238
+_0812AD90: .4byte gAIScriptPtr
thumb_func_end sub_812AD50
thumb_func_start sub_812AD94
@@ -5126,7 +5126,7 @@ sub_812AD94: @ 812AD94
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0812ADC8
- ldr r3, _0812ADC4 @ =gUnknown_02039238
+ ldr r3, _0812ADC4 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -5142,9 +5142,9 @@ sub_812AD94: @ 812AD94
b _0812ADD0
.align 2, 0
_0812ADC0: .4byte 0x020192e4
-_0812ADC4: .4byte gUnknown_02039238
+_0812ADC4: .4byte gAIScriptPtr
_0812ADC8:
- ldr r1, _0812ADD4 @ =gUnknown_02039238
+ ldr r1, _0812ADD4 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -5152,14 +5152,14 @@ _0812ADD0:
pop {r0}
bx r0
.align 2, 0
-_0812ADD4: .4byte gUnknown_02039238
+_0812ADD4: .4byte gAIScriptPtr
thumb_func_end sub_812AD94
thumb_func_start sub_812ADD8
sub_812ADD8: @ 812ADD8
push {r4-r7,lr}
movs r6, 0
- ldr r2, _0812AE08 @ =gUnknown_02039238
+ ldr r2, _0812AE08 @ =gAIScriptPtr
ldr r0, [r2]
ldrb r4, [r0, 0x1]
ldrb r0, [r0, 0x2]
@@ -5182,7 +5182,7 @@ sub_812ADD8: @ 812ADD8
mov r12, r5
b _0812AE2E
.align 2, 0
-_0812AE08: .4byte gUnknown_02039238
+_0812AE08: .4byte gAIScriptPtr
_0812AE0C: .4byte gUnknown_02038570
_0812AE10: .4byte 0x020192e4
_0812AE14:
@@ -5223,7 +5223,7 @@ sub_812AE44: @ 812AE44
ldrsh r0, [r0, r1]
cmp r0, 0
beq _0812AE78
- ldr r3, _0812AE74 @ =gUnknown_02039238
+ ldr r3, _0812AE74 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -5239,9 +5239,9 @@ sub_812AE44: @ 812AE44
b _0812AE80
.align 2, 0
_0812AE70: .4byte 0x020192e4
-_0812AE74: .4byte gUnknown_02039238
+_0812AE74: .4byte gAIScriptPtr
_0812AE78:
- ldr r1, _0812AE84 @ =gUnknown_02039238
+ ldr r1, _0812AE84 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -5249,7 +5249,7 @@ _0812AE80:
pop {r0}
bx r0
.align 2, 0
-_0812AE84: .4byte gUnknown_02039238
+_0812AE84: .4byte gAIScriptPtr
thumb_func_end sub_812AE44
thumb_func_start sub_812AE88
@@ -5261,7 +5261,7 @@ sub_812AE88: @ 812AE88
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0812AEBC
- ldr r3, _0812AEB8 @ =gUnknown_02039238
+ ldr r3, _0812AEB8 @ =gAIScriptPtr
ldr r2, [r3]
ldrb r1, [r2]
ldrb r0, [r2, 0x1]
@@ -5277,9 +5277,9 @@ sub_812AE88: @ 812AE88
b _0812AEC4
.align 2, 0
_0812AEB4: .4byte 0x020192e4
-_0812AEB8: .4byte gUnknown_02039238
+_0812AEB8: .4byte gAIScriptPtr
_0812AEBC:
- ldr r1, _0812AEC8 @ =gUnknown_02039238
+ ldr r1, _0812AEC8 @ =gAIScriptPtr
ldr r0, [r1]
adds r0, 0x4
str r0, [r1]
@@ -5287,7 +5287,7 @@ _0812AEC4:
pop {r0}
bx r0
.align 2, 0
-_0812AEC8: .4byte gUnknown_02039238
+_0812AEC8: .4byte gAIScriptPtr
thumb_func_end sub_812AE88
.align 2, 0 @ Don't pad with nop.
diff --git a/include/pokemon.h b/include/pokemon.h
index a1042b0c0..450a8174f 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -242,81 +242,72 @@ struct UnknownPokemonStruct
struct BattlePokemon
{
- /*0x00*/ u16 species;
- /*0x02*/ u16 attack;
- /*0x04*/ u16 defense;
- /*0x06*/ u16 speed;
- /*0x08*/ u16 spAttack;
- /*0x0A*/ u16 spDefense;
- /*0x0C*/ u16 moves[4];
- /*0x14*/ u32 hpIV:5;
- u32 attackIV:5;
- u32 defenseIV:5;
- u32 speedIV:5;
- u32 spAttackIV:5;
- u32 spDefenseIV:5;
- u32 isEgg:1;
- u32 altAbility:1;
- /*0x18*/ s8 statStages[8];
- /*0x20*/ u8 ability;
- /*0x21*/ u8 type1;
- /*0x22*/ u8 type2;
- /*0x23*/ u8 unknown;
- /*0x24*/ u8 pp[4];
- /*0x28*/ u16 hp;
- /*0x2A*/ u8 level;
- /*0x2B*/ u8 friendship;
- /*0x2C*/ u16 maxHP;
- /*0x2E*/ u16 item;
- /*0x30*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
- /*0x3B*/ u8 ppBonuses;
- /*0x3C*/ u8 otName[8];
- /*0x44*/ u32 experience;
- /*0x48*/ u32 personality;
- /*0x4C*/ u32 status1;
- /*0x50*/ u32 status2;
- /*0x54*/ u32 otId;
+ /* 0x00 */ u16 species;
+ /* 0x02 */ u16 attack;
+ /* 0x04 */ u16 defense;
+ /* 0x06 */ u16 speed;
+ /* 0x08 */ u16 spAttack;
+ /* 0x0A */ u16 spDefense;
+ /* 0x0C */ u16 moves[4];
+ /* 0x14 */ u32 hpIV:5;
+ /* 0x14 */ u32 attackIV:5;
+ /* 0x15 */ u32 defenseIV:5;
+ /* 0x15 */ u32 speedIV:5;
+ /* 0x16 */ u32 spAttackIV:5;
+ /* 0x17 */ u32 spDefenseIV:5;
+ /* 0x17 */ u32 isEgg:1;
+ /* 0x17 */ u32 altAbility:1;
+ /* 0x18 */ s8 statStages[8];
+ /* 0x20 */ u8 ability;
+ /* 0x21 */ u8 type1;
+ /* 0x22 */ u8 type2;
+ /* 0x23 */ u8 unknown;
+ /* 0x24 */ u8 pp[4];
+ /* 0x28 */ u16 hp;
+ /* 0x2A */ u8 level;
+ /* 0x2B */ u8 friendship;
+ /* 0x2C */ u16 maxHP;
+ /* 0x2E */ u16 item;
+ /* 0x30 */ u8 nickname[POKEMON_NAME_LENGTH + 1];
+ /* 0x3B */ u8 ppBonuses;
+ /* 0x3C */ u8 otName[8];
+ /* 0x44 */ u32 experience;
+ /* 0x48 */ u32 personality;
+ /* 0x4C */ u32 status1;
+ /* 0x50 */ u32 status2;
+ /* 0x54 */ u32 otId;
};
struct BaseStats
{
- u8 baseHP;
- u8 baseAttack;
- u8 baseDefense;
- u8 baseSpeed;
- u8 baseSpAttack;
- u8 baseSpDefense;
-
- u8 type1, type2;
-
- u8 catchRate;
-
- u8 expYield;
-
- u16 evYield_HP:2;
- u16 evYield_Attack:2;
- u16 evYield_Defense:2;
- u16 evYield_Speed:2;
- u16 evYield_SpAttack:2;
- u16 evYield_SpDefense:2;
-
- u16 item1, item2;
-
- u8 genderRatio;
-
- u8 eggCycles;
-
- u8 friendship;
-
- u8 growthRate;
-
- u8 eggGroup1, eggGroup2;
-
- u8 ability1, ability2;
-
- u8 safariZoneFleeRate;
-
- u8 bodyColor;
+ /* 0x00 */ u8 baseHP;
+ /* 0x01 */ u8 baseAttack;
+ /* 0x02 */ u8 baseDefense;
+ /* 0x03 */ u8 baseSpeed;
+ /* 0x04 */ u8 baseSpAttack;
+ /* 0x05 */ u8 baseSpDefense;
+ /* 0x06 */ u8 type1;
+ /* 0x07 */ u8 type2;
+ /* 0x08 */ u8 catchRate;
+ /* 0x09 */ u8 expYield;
+ /* 0x0A */ u16 evYield_HP:2;
+ /* 0x0A */ u16 evYield_Attack:2;
+ /* 0x0A */ u16 evYield_Defense:2;
+ /* 0x0A */ u16 evYield_Speed:2;
+ /* 0x0B */ u16 evYield_SpAttack:2;
+ /* 0x0B */ u16 evYield_SpDefense:2;
+ /* 0x0C */ u16 item1;
+ /* 0x0E */ u16 item2;
+ /* 0x10 */ u8 genderRatio;
+ /* 0x11 */ u8 eggCycles;
+ /* 0x12 */ u8 friendship;
+ /* 0x13 */ u8 growthRate;
+ /* 0x14 */ u8 eggGroup1;
+ /* 0x15 */ u8 eggGroup2;
+ /* 0x16 */ u8 ability1;
+ /* 0x17 */ u8 ability2;
+ /* 0x18 */ u8 safariZoneFleeRate;
+ /* 0x19 */ u8 bodyColor;
};
struct BattleMove
diff --git a/shared_syms.txt b/shared_syms.txt
index bc187a1ea..b85cd1f76 100644
--- a/shared_syms.txt
+++ b/shared_syms.txt
@@ -1,4 +1,6 @@
unk_2000000 = 0x2000000;
+ewram = 0x2000000;
+
unk_2004000 = 0x2004000;
unk_2007800 = 0x2007800;
@@ -6,6 +8,8 @@ unk_2007900 = 0x2007900;
unk_2008000 = 0x2008000;
+unk_2016000 = 0x2016000;
+
unk_20160BC = 0x20160BC;
unk_2016800 = 0x2016800;
diff --git a/src/battle_ai.c b/src/battle_ai.c
index ec15a7bf6..945176b64 100644
--- a/src/battle_ai.c
+++ b/src/battle_ai.c
@@ -3,45 +3,70 @@
#include "pokemon.h"
#include "rng.h"
+#define AIScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24)
+#define AIScriptRead16(ptr) ((ptr)[0] | (ptr)[1] << 8)
+#define AIScriptRead8(ptr) ((ptr)[0])
+
+/*
+this file is a mess. I stopped part way because it starts to involve a huge struct that begins at 0x2000000 and goes
+all the way to at least 0x2016800, in addition to extremely hard functions that I can't seem to get right. I am leaving this file
+as it currently is until someone bothers to document this huge struct.
+*/
+
extern u8 sub_8015A98(u8, u8, u8);
extern u8 battle_side_get_owner(u8);
-extern u32 battle_get_per_side_status(u8);
+extern s16 battle_get_per_side_status(u8);
+extern u8 b_first_side(u8, u8, u8);
extern u16 gUnknown_020239F8;
extern u8 gUnknown_02024A60;
extern u8 gUnknown_02024C07;
extern u8 gUnknown_02024C08;
extern u8 gUnknown_02024C0C;
+extern u16 gUnknown_02024DEC;
+extern u8 gUnknown_02024C68;
+extern u32 gUnknown_02024BEC;
+extern u8 gUnknown_0201601C;
+extern u8 gUnknown_0201601F;
+extern u16 gUnknown_02024BE6;
+extern u8 gCritMultiplier;
extern u16 gUnknown_02024C34[];
-extern u8 *gUnknown_02039238;
+extern u32 gUnknown_02024ACC[];
+extern u32 gUnknown_02024C98[];
+extern u16 gUnknown_02024C7A[];
+extern struct BattlePokemon gUnknown_02024A8C[];
+extern u8 gUnknown_030042E0[];
+extern u8 *gAIScriptPtr;
extern u16 gTrainerBattleOpponent;
-extern struct Trainer gTrainers[];
extern u32 gBitTable[];
extern u8 *BattleAIs[];
+extern struct Trainer gTrainers[];
extern struct BattlePokemon gBattleMons[];
+extern struct BattleMove gBattleMoves[];
+extern struct BaseStats gBaseStats[];
extern void (*gBattleAICmdTable[])(void);
struct UnknownStruct1
{
- u16 unk0[2][8];
- u8 unk20[2];
- u8 unk22[2];
- u16 items[4];
- u8 unk8;
+/* 0x00 */ u16 unk0[2][8];
+/* 0x20 */ u8 unk20[2];
+/* 0x22 */ u8 unk22[2];
+/* 0x24 */ u16 items[4];
+/* 0x2C */ u8 unk8;
};
-struct UnknownStruct2
-{
- u8 unk0;
- u8 unk1;
- u16 unk2;
- u8 unk4[4];
- u8 filler8[4];
- u32 aiFlags;
- u8 unk10;
- u8 unk11;
- u8 filler12[6];
- u8 unk18[4];
+struct UnknownStruct2 /* 0x2016800 */
+{
+/* 0x00 */ u8 unk0;
+/* 0x01 */ u8 moveConsidered;
+/* 0x02 */ u16 unk2;
+/* 0x04 */ s8 score[4]; // score?
+/* 0x08 */ u32 unk8;
+/* 0x0C */ u32 aiFlags;
+/* 0x10 */ u8 unk10;
+/* 0x11 */ u8 unk11;
+/* 0x12 */ u8 filler12[6];
+/* 0x18 */ u8 unk18[4];
};
struct UnknownStruct3
@@ -50,6 +75,22 @@ struct UnknownStruct3
u8 unk20;
};
+struct SmallBattleStruct1
+{
+ u8 unk1;
+ u8 unk2;
+ u8 unk3;
+ u8 unk4;
+};
+
+// move to battle.h before PR.
+struct BattleStruct /* 0x2000000 */
+{
+ u8 filler0[0x1601C];
+ struct SmallBattleStruct1 unk;
+};
+
+extern struct BattleStruct unk_2000000;
extern struct UnknownStruct2 unk_2016800;
extern struct UnknownStruct1 unk_2016A00;
extern struct UnknownStruct3 unk_2016C00;
@@ -88,14 +129,14 @@ void sub_810715C(void)
for(i = 0; (u32)i < 28; i++)
data[i] = 0;
for(i = 0; i < 4; i++)
- unk_2016800.unk4[i] = 100;
+ unk_2016800.score[i] = 100;
r7 = sub_8015A98(gUnknown_02024A60, 0, 0xFF);
for(i = 0; i < 4; i++)
{
u16 rand;
if(gBitTable[i] & r7)
- unk_2016800.unk4[i] = 0;
+ unk_2016800.score[i] = 0;
rand = Random();
unk_2016800.unk18[i] = 100 - (rand & 0xF);
}
@@ -139,26 +180,26 @@ u8 sub_81072A8(void)
}
unk_2016800.aiFlags >>= 1;
unk_2016800.unk11++;
- unk_2016800.unk1 = 0;
+ unk_2016800.moveConsidered = 0;
}
if(unk_2016800.unk10 & 2)
return 4;
if(unk_2016800.unk10 & 4)
return 5;
r5 = 1;
- arr1[0] = unk_2016800.unk4[0];
+ arr1[0] = unk_2016800.score[0];
arr2[0] = 0;
for(i = 1; i < 4; i++)
{
- if(arr1[0] < (s8)unk_2016800.unk4[i])
+ if(arr1[0] < (s8)unk_2016800.score[i])
{
r5 = 1;
- arr1[0] = unk_2016800.unk4[i];
+ arr1[0] = unk_2016800.score[i];
arr2[0] = i;
}
- if(arr1[0] == (s8)unk_2016800.unk4[i])
+ if(arr1[0] == (s8)unk_2016800.score[i])
{
- arr1[r5] = unk_2016800.unk4[i];
+ arr1[r5] = unk_2016800.score[i];
arr2[r5++] = i;
}
}
@@ -174,29 +215,29 @@ void sub_8107374(void)
case 3: //Needed to match.
break;
case 0:
- gUnknown_02039238 = BattleAIs[unk_2016800.unk11];
- if(gBattleMons[gUnknown_02024C07].pp[unk_2016800.unk1] == 0)
+ gAIScriptPtr = BattleAIs[unk_2016800.unk11];
+ if(gBattleMons[gUnknown_02024C07].pp[unk_2016800.moveConsidered] == 0)
{
unk_2016800.unk2 = 0;
}
else
{
- unk_2016800.unk2 = gBattleMons[gUnknown_02024C07].moves[unk_2016800.unk1];
+ unk_2016800.unk2 = gBattleMons[gUnknown_02024C07].moves[unk_2016800.moveConsidered];
}
unk_2016800.unk0++;
break;
case 1:
if(unk_2016800.unk2 != 0)
- gBattleAICmdTable[*(u8 *)gUnknown_02039238](); //weird...
+ gBattleAICmdTable[*(u8 *)gAIScriptPtr](); //weird...
else
{
- unk_2016800.unk4[unk_2016800.unk1] = 0;
+ unk_2016800.score[unk_2016800.moveConsidered] = 0;
unk_2016800.unk10 |= 1;
}
if(unk_2016800.unk10 & 1)
{
- unk_2016800.unk1++;
- if(unk_2016800.unk1 < 4 && !(unk_2016800.unk10 & 8))
+ unk_2016800.moveConsidered++;
+ if(unk_2016800.moveConsidered < 4 && !(unk_2016800.unk10 & 8))
unk_2016800.unk0 = 0;
else
unk_2016800.unk0++;
@@ -276,11 +317,1279 @@ void unref_sub_81074A0(u8 a)
void sub_81074C4(u8 a, u8 b)
{
if(battle_side_get_owner(a) == 0)
- unk_2016A00.unk20[battle_get_per_side_status(a) % 2] = b;
+ unk_2016A00.unk20[battle_get_per_side_status(a) & 1] = b;
}
void sub_81074F8(u8 a, u8 b)
{
if(battle_side_get_owner(a) == 0)
- unk_2016A00.unk22[battle_get_per_side_status(a) % 2] = b;
+ unk_2016A00.unk22[battle_get_per_side_status(a) & 1] = b;
+}
+
+void BattleAICmd_if_random(void)
+{
+ u16 random = Random();
+
+ if (!(random % 256 >= gAIScriptPtr[1])) // roll a random value. is it less than the parameter of the if_random call? (96 on if_random 80 will return true)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_if_not_random(void)
+{
+ u16 random = Random();
+
+ if (!(random % 256 <= gAIScriptPtr[1])) // roll a random value. is it greater than the parameter of the if_random call? (96 on if_random 80 will return true)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_if_random_1(void) // if RNG Value equal to
+{
+ u16 random = Random();
+
+ if (random % 256 == gAIScriptPtr[1]) // roll a random value. is it greater than the parameter of the if_random call? (96 on if_random 80 will return true)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_if_not_random_1(void) // if RNG value not equal to
+{
+ u16 random = Random();
+
+ if (random % 256 != gAIScriptPtr[1]) // roll a random value. is it greater than the parameter of the if_random call? (96 on if_random 80 will return true)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_score(void)
+{
+ unk_2016800.score[unk_2016800.moveConsidered] += gAIScriptPtr[1]; // add the result to the array of the move consider's score.
+
+ if(unk_2016800.score[unk_2016800.moveConsidered] < 0) // if the score is negative, flatten it to 0.
+ unk_2016800.score[unk_2016800.moveConsidered] = 0;
+
+ gAIScriptPtr += 2; // AI return.
+}
+
+void BattleAICmd_if_hp_less_than(void)
+{
+ u16 var;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ if ((u32)(100 * gBattleMons[var].hp / gBattleMons[var].maxHP) < gAIScriptPtr[2])
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 3);
+ else
+ gAIScriptPtr += 7;
+}
+
+void BattleAICmd_if_hp_more_than(void)
+{
+ u16 var;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ if ((u32)(100 * gBattleMons[var].hp / gBattleMons[var].maxHP) > gAIScriptPtr[2])
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 3);
+ else
+ gAIScriptPtr += 7;
+}
+
+void BattleAICmd_if_hp_equal(void)
+{
+ u16 var;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ if ((u32)(100 * gBattleMons[var].hp / gBattleMons[var].maxHP) == gAIScriptPtr[2])
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 3);
+ else
+ gAIScriptPtr += 7;
+}
+
+void BattleAICmd_if_hp_not_equal(void)
+{
+ u16 var;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ if ((u32)(100 * gBattleMons[var].hp / gBattleMons[var].maxHP) != gAIScriptPtr[2])
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 3);
+ else
+ gAIScriptPtr += 7;
+}
+
+void BattleAICmd_if_status(void)
+{
+ u16 var;
+ u32 temp;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ temp = AIScriptRead32(gAIScriptPtr + 2);
+
+ if (gBattleMons[var].status1 & temp)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 6);
+ else
+ gAIScriptPtr += 10;
+}
+
+void BattleAICmd_if_not_status(void)
+{
+ u16 var;
+ u32 temp;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ temp = AIScriptRead32(gAIScriptPtr + 2);
+
+ if (!(gBattleMons[var].status1 & temp))
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 6);
+ else
+ gAIScriptPtr += 10;
+}
+
+void BattleAICmd_if_status2(void)
+{
+ u8 var;
+ u32 temp;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ temp = AIScriptRead32(gAIScriptPtr + 2);
+
+ if (gBattleMons[var].status2 & temp)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 6);
+ else
+ gAIScriptPtr += 10;
+}
+
+void BattleAICmd_if_not_status2(void)
+{
+ u8 var;
+ u32 temp;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ temp = AIScriptRead32(gAIScriptPtr + 2);
+
+ if (!(gBattleMons[var].status2 & temp))
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 6);
+ else
+ gAIScriptPtr += 10;
+}
+
+void BattleAICmd_if_status3(void)
+{
+ u8 var;
+ u32 temp;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ temp = AIScriptRead32(gAIScriptPtr + 2);
+
+ if ( gUnknown_02024C98[var] & temp )
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 6);
+ else
+ gAIScriptPtr += 10;
+}
+
+void BattleAICmd_if_not_status3(void)
+{
+ u8 var;
+ u32 temp;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ temp = AIScriptRead32(gAIScriptPtr + 2);
+
+ if (!(gUnknown_02024C98[var] & temp))
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 6);
+ else
+ gAIScriptPtr += 10;
+}
+
+void BattleAICmd_if_status4(void)
+{
+ u8 var;
+ u32 temp;
+ u32 temp2;
+
+ if ( gAIScriptPtr[1] == 1 )
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ temp = battle_get_per_side_status(var) & 1;
+ temp2 = AIScriptRead32(gAIScriptPtr + 2);
+
+ if ( gUnknown_02024C7A[temp] & temp2 )
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 6);
+ else
+ gAIScriptPtr += 10;
+}
+
+void BattleAICmd_if_not_status4(void)
+{
+ u8 var;
+ u32 temp;
+ u32 temp2;
+
+ if (gAIScriptPtr[1] == 1)
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+
+ temp = battle_get_per_side_status(var) & 1;
+ temp2 = AIScriptRead32(gAIScriptPtr + 2);
+
+ if (!(gUnknown_02024C7A[temp] & temp2))
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 6);
+ else
+ gAIScriptPtr += 10;
+}
+
+void BattleAICmd_if_less_than(void)
+{
+ if (unk_2016800.unk8 < gAIScriptPtr[1])
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_if_more_than(void)
+{
+ if (unk_2016800.unk8 > gAIScriptPtr[1])
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_if_equal(void)
+{
+ if (unk_2016800.unk8 == gAIScriptPtr[1])
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_if_not_equal(void)
+{
+ if (unk_2016800.unk8 != gAIScriptPtr[1])
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_if_less_than_32(void)
+{
+ u8 *temp = AIScriptRead32(gAIScriptPtr + 1);
+
+ if (unk_2016800.unk8 < *temp)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 5);
+ else
+ gAIScriptPtr += 9;
+}
+
+void BattleAICmd_if_more_than_32(void)
+{
+ u8 *temp = AIScriptRead32(gAIScriptPtr + 1);
+
+ if (unk_2016800.unk8 > *temp)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 5);
+ else
+ gAIScriptPtr += 9;
+}
+
+void BattleAICmd_if_equal_32(void)
+{
+ u8 *temp = AIScriptRead32(gAIScriptPtr + 1);
+
+ if (unk_2016800.unk8 == *temp)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 5);
+ else
+ gAIScriptPtr += 9;
}
+
+void BattleAICmd_if_not_equal_32(void)
+{
+ u8 *temp = AIScriptRead32(gAIScriptPtr + 1);
+
+ if (unk_2016800.unk8 != *temp)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 5);
+ else
+ gAIScriptPtr += 9;
+}
+
+void BattleAICmd_if_move(void)
+{
+ u16 move = AIScriptRead16(gAIScriptPtr + 1);
+
+ if (unk_2016800.unk2 == move)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 3);
+ else
+ gAIScriptPtr += 7;
+}
+
+void BattleAICmd_if_not_move(void)
+{
+ u16 move = AIScriptRead16(gAIScriptPtr + 1);
+
+ if (unk_2016800.unk2 != move)
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 3);
+ else
+ gAIScriptPtr += 7;
+}
+
+void BattleAICmd_if_in_bytes(void)
+{
+ u8 *ptr = AIScriptRead32(gAIScriptPtr + 1);
+
+ while(*ptr != 0xFF)
+ {
+ if(unk_2016800.unk8 == *ptr)
+ {
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 5);
+ return;
+ }
+ ptr++;
+ }
+ gAIScriptPtr += 9;
+}
+
+void BattleAICmd_if_not_in_bytes(void)
+{
+ u8 *ptr = AIScriptRead32(gAIScriptPtr + 1);
+
+ while(*ptr != 0xFF)
+ {
+ if(unk_2016800.unk8 == *ptr)
+ {
+ gAIScriptPtr += 9;
+ return;
+ }
+ ptr++;
+ }
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 5);
+}
+
+void BattleAICmd_if_in_words(void)
+{
+ u16 *ptr = AIScriptRead32(gAIScriptPtr + 1);
+
+ while(*ptr != 0xFFFF)
+ {
+ if(unk_2016800.unk8 == *ptr)
+ {
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 5);
+ return;
+ }
+ ptr++;
+ }
+ gAIScriptPtr += 9;
+}
+
+void BattleAICmd_if_not_in_words(void)
+{
+ u16 *ptr = AIScriptRead32(gAIScriptPtr + 1);
+
+ while(*ptr != 0xFFFF)
+ {
+ if(unk_2016800.unk8 == *ptr)
+ {
+ gAIScriptPtr += 9;
+ return;
+ }
+ ptr++;
+ }
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 5);
+}
+
+void BattleAICmd_if_user_can_damage(void)
+{
+ s32 i;
+
+ for(i = 0; i < 4; i++)
+ {
+ if (gBattleMons[gUnknown_02024C07].moves[i] != 0
+ && gBattleMoves[gBattleMons[gUnknown_02024C07].moves[i]].power != 0)
+ break;
+ }
+ if(i == 4)
+ gAIScriptPtr += 5;
+ else
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 1);
+}
+
+void BattleAICmd_if_user_cant_damage(void)
+{
+ s32 i;
+
+ for(i = 0; i < 4; i++)
+ {
+ if (gBattleMons[gUnknown_02024C07].moves[i] != 0
+ && gBattleMoves[gBattleMons[gUnknown_02024C07].moves[i]].power != 0)
+ break;
+ }
+ if(i != 4)
+ gAIScriptPtr += 5;
+ else
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 1);
+}
+
+void BattleAICmd_unk_21(void)
+{
+ unk_2016800.unk8 = gUnknown_030042E0[19];
+ gAIScriptPtr += 1;
+}
+
+void BattleAICmd_get_type(void)
+{
+ u8 typeVar = gAIScriptPtr[1];
+
+ switch(typeVar)
+ {
+ case 1:
+ unk_2016800.unk8 = gBattleMons[gUnknown_02024C07].type1;
+ break;
+ case 0:
+ unk_2016800.unk8 = gBattleMons[gUnknown_02024C08].type1;
+ break;
+ case 3:
+ unk_2016800.unk8 = gBattleMons[gUnknown_02024C07].type2;
+ break;
+ case 2:
+ unk_2016800.unk8 = gBattleMons[gUnknown_02024C08].type2;
+ break;
+ case 4:
+ unk_2016800.unk8 = gBattleMoves[unk_2016800.unk2].type;
+ break;
+ }
+ gAIScriptPtr += 2;
+}
+
+void BattleAICmd_unk_23(void)
+{
+ unk_2016800.unk8 = gBattleMoves[unk_2016800.unk2].power;
+ gAIScriptPtr += 1;
+}
+
+__attribute__((naked))
+void BattleAICmd_unk_24(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x14\n\
+ movs r3, 0\n\
+ ldr r0, _08108328 @ =gUnknown_083F62BC\n\
+ ldrh r1, [r0]\n\
+ ldr r4, _0810832C @ =0x0000ffff\n\
+ ldr r6, _08108330 @ =gBattleMoves\n\
+ ldr r5, _08108334 @ =0x02016800\n\
+ cmp r1, r4\n\
+ beq _0810822E\n\
+ ldrh r1, [r5, 0x2]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldrb r2, [r0]\n\
+ ldr r1, _08108328 @ =gUnknown_083F62BC\n\
+_0810821E:\n\
+ ldrh r0, [r1]\n\
+ cmp r2, r0\n\
+ beq _0810822E\n\
+ adds r1, 0x2\n\
+ adds r3, 0x1\n\
+ ldrh r0, [r1]\n\
+ cmp r0, r4\n\
+ bne _0810821E\n\
+_0810822E:\n\
+ ldrh r0, [r5, 0x2]\n\
+ lsls r1, r0, 1\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r6\n\
+ ldrb r0, [r1, 0x1]\n\
+ cmp r0, 0x1\n\
+ bhi _08108240\n\
+ b _081083B2\n\
+_08108240:\n\
+ lsls r0, r3, 1\n\
+ ldr r1, _08108328 @ =gUnknown_083F62BC\n\
+ adds r0, r1\n\
+ ldrh r3, [r0]\n\
+ ldr r0, _0810832C @ =0x0000ffff\n\
+ cmp r3, r0\n\
+ beq _08108250\n\
+ b _081083B2\n\
+_08108250:\n\
+ ldr r0, _08108338 @ =gUnknown_02024DEC\n\
+ movs r1, 0\n\
+ strh r1, [r0]\n\
+ ldr r2, _0810833C @ =0xfffff81c\n\
+ adds r0, r5, r2\n\
+ strb r1, [r0]\n\
+ adds r2, 0x3\n\
+ adds r0, r5, r2\n\
+ movs r2, 0x1\n\
+ strb r2, [r0]\n\
+ ldr r0, _08108340 @ =gUnknown_02024C68\n\
+ strb r1, [r0]\n\
+ ldr r0, _08108344 @ =gCritMultiplier\n\
+ strb r2, [r0]\n\
+ movs r6, 0\n\
+ mov r9, r3\n\
+ ldr r0, _08108328 @ =gUnknown_083F62BC\n\
+ ldrh r0, [r0]\n\
+ str r0, [sp, 0x10]\n\
+_08108276:\n\
+ movs r3, 0\n\
+ ldr r5, _08108348 @ =gBattleMons\n\
+ lsls r4, r6, 1\n\
+ ldr r7, _0810834C @ =gUnknown_02024C07\n\
+ lsls r1, r6, 2\n\
+ mov r8, r1\n\
+ adds r2, r6, 0x1\n\
+ mov r10, r2\n\
+ ldr r0, [sp, 0x10]\n\
+ cmp r0, r9\n\
+ beq _081082BA\n\
+ ldr r2, _08108330 @ =gBattleMoves\n\
+ ldrb r1, [r7]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ adds r0, r4, r0\n\
+ adds r1, r5, 0\n\
+ adds r1, 0xC\n\
+ adds r0, r1\n\
+ ldrh r1, [r0]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldrb r2, [r0]\n\
+ ldr r1, _08108328 @ =gUnknown_083F62BC\n\
+_081082AA:\n\
+ ldrh r0, [r1]\n\
+ cmp r2, r0\n\
+ beq _081082BA\n\
+ adds r1, 0x2\n\
+ adds r3, 0x1\n\
+ ldrh r0, [r1]\n\
+ cmp r0, r9\n\
+ bne _081082AA\n\
+_081082BA:\n\
+ ldrb r1, [r7]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ adds r0, r4, r0\n\
+ adds r1, r5, 0\n\
+ adds r1, 0xC\n\
+ adds r1, r0, r1\n\
+ ldrh r0, [r1]\n\
+ cmp r0, 0\n\
+ beq _0810835C\n\
+ lsls r0, r3, 1\n\
+ ldr r2, _08108328 @ =gUnknown_083F62BC\n\
+ adds r0, r2\n\
+ ldrh r0, [r0]\n\
+ cmp r0, r9\n\
+ bne _0810835C\n\
+ ldr r0, _08108330 @ =gBattleMoves\n\
+ ldrh r2, [r1]\n\
+ lsls r1, r2, 1\n\
+ adds r1, r2\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ ldrb r0, [r1, 0x1]\n\
+ cmp r0, 0x1\n\
+ bls _0810835C\n\
+ ldr r5, _08108350 @ =gUnknown_02024BE6\n\
+ strh r2, [r5]\n\
+ ldrb r0, [r7]\n\
+ ldr r4, _08108354 @ =gUnknown_02024C08\n\
+ ldrb r1, [r4]\n\
+ bl sub_801CAF8\n\
+ ldrh r0, [r5]\n\
+ ldrb r1, [r7]\n\
+ ldrb r2, [r4]\n\
+ bl move_effectiveness_something\n\
+ mov r4, sp\n\
+ add r4, r8\n\
+ ldr r2, _08108358 @ =gUnknown_02024BEC\n\
+ ldr r0, _08108334 @ =0x02016800\n\
+ adds r0, 0x18\n\
+ adds r0, r6, r0\n\
+ ldrb r1, [r0]\n\
+ ldr r0, [r2]\n\
+ muls r0, r1\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ str r0, [r4]\n\
+ cmp r0, 0\n\
+ bne _08108364\n\
+ movs r0, 0x1\n\
+ str r0, [r4]\n\
+ b _08108364\n\
+ .align 2, 0\n\
+_08108328: .4byte gUnknown_083F62BC\n\
+_0810832C: .4byte 0x0000ffff\n\
+_08108330: .4byte gBattleMoves\n\
+_08108334: .4byte 0x02016800\n\
+_08108338: .4byte gUnknown_02024DEC\n\
+_0810833C: .4byte 0xfffff81c\n\
+_08108340: .4byte gUnknown_02024C68\n\
+_08108344: .4byte gCritMultiplier\n\
+_08108348: .4byte gBattleMons\n\
+_0810834C: .4byte gUnknown_02024C07\n\
+_08108350: .4byte gUnknown_02024BE6\n\
+_08108354: .4byte gUnknown_02024C08\n\
+_08108358: .4byte gUnknown_02024BEC\n\
+_0810835C:\n\
+ mov r1, sp\n\
+ add r1, r8\n\
+ movs r0, 0\n\
+ str r0, [r1]\n\
+_08108364:\n\
+ mov r6, r10\n\
+ cmp r6, 0x3\n\
+ ble _08108276\n\
+ movs r6, 0\n\
+ ldr r1, _081083A4 @ =0x02016800\n\
+ ldrb r0, [r1, 0x1]\n\
+ lsls r0, 2\n\
+ add r0, sp\n\
+ ldr r2, [sp]\n\
+ ldr r0, [r0]\n\
+ adds r5, r1, 0\n\
+ ldr r4, _081083A8 @ =gAIScriptPtr\n\
+ cmp r2, r0\n\
+ bgt _0810839A\n\
+ adds r3, r5, 0\n\
+ mov r2, sp\n\
+_08108384:\n\
+ adds r2, 0x4\n\
+ adds r6, 0x1\n\
+ cmp r6, 0x3\n\
+ bgt _0810839A\n\
+ ldrb r0, [r3, 0x1]\n\
+ lsls r0, 2\n\
+ add r0, sp\n\
+ ldr r1, [r2]\n\
+ ldr r0, [r0]\n\
+ cmp r1, r0\n\
+ ble _08108384\n\
+_0810839A:\n\
+ cmp r6, 0x4\n\
+ bne _081083AC\n\
+ movs r0, 0x2\n\
+ str r0, [r5, 0x8]\n\
+ b _081083B8\n\
+ .align 2, 0\n\
+_081083A4: .4byte 0x02016800\n\
+_081083A8: .4byte gAIScriptPtr\n\
+_081083AC:\n\
+ movs r0, 0x1\n\
+ str r0, [r5, 0x8]\n\
+ b _081083B8\n\
+_081083B2:\n\
+ movs r0, 0\n\
+ str r0, [r5, 0x8]\n\
+ ldr r4, _081083D0 @ =gAIScriptPtr\n\
+_081083B8:\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ str r0, [r4]\n\
+ add sp, 0x14\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_081083D0: .4byte gAIScriptPtr\n\
+ .syntax divided\n");
+}
+
+void BattleAICmd_get_move(void)
+{
+ if ( gAIScriptPtr[1] == 1 )
+ unk_2016800.unk8 = gUnknown_02024C34[gUnknown_02024C07];
+ else
+ unk_2016800.unk8 = gUnknown_02024C34[gUnknown_02024C08];
+
+ gAIScriptPtr += 2;
+}
+
+void BattleAICmd_if_type(void)
+{
+ if ( gAIScriptPtr[1] == unk_2016800.unk8 )
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_unk_27(void) // if_not_type
+{
+ if ( gAIScriptPtr[1] != unk_2016800.unk8 )
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_if_would_go_first(void)
+{
+ if ( b_first_side(gUnknown_02024C07, gUnknown_02024C08, 1) == gAIScriptPtr[1] )
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_if_would_not_go_first(void)
+{
+ if ( b_first_side(gUnknown_02024C07, gUnknown_02024C08, 1) != gAIScriptPtr[1] )
+ gAIScriptPtr = AIScriptRead32(gAIScriptPtr + 2);
+ else
+ gAIScriptPtr += 6;
+}
+
+void BattleAICmd_unk_2A(void)
+{}
+
+void BattleAICmd_unk_2B(void)
+{}
+
+__attribute__((naked))
+void BattleAICmd_count_alive_pokemon(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r9\n\
+ mov r6, r8\n\
+ push {r6,r7}\n\
+ ldr r1, _08108550 @ =0x02016800\n\
+ movs r0, 0\n\
+ str r0, [r1, 0x8]\n\
+ ldr r0, _08108554 @ =gAIScriptPtr\n\
+ ldr r0, [r0]\n\
+ ldrb r0, [r0, 0x1]\n\
+ cmp r0, 0x1\n\
+ bne _0810855C\n\
+ ldr r0, _08108558 @ =gUnknown_02024C07\n\
+ b _0810855E\n\
+ .align 2, 0\n\
+_08108550: .4byte 0x02016800\n\
+_08108554: .4byte gAIScriptPtr\n\
+_08108558: .4byte gUnknown_02024C07\n\
+_0810855C:\n\
+ ldr r0, _081085A8 @ =gUnknown_02024C08\n\
+_0810855E:\n\
+ ldrb r5, [r0]\n\
+ adds r0, r5, 0\n\
+ bl battle_side_get_owner\n\
+ lsls r0, 24\n\
+ ldr r1, _081085AC @ =gEnemyParty\n\
+ mov r9, r1\n\
+ cmp r0, 0\n\
+ bne _08108574\n\
+ ldr r0, _081085B0 @ =gPlayerParty\n\
+ mov r9, r0\n\
+_08108574:\n\
+ ldr r0, _081085B4 @ =gUnknown_020239F8\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _081085BC\n\
+ ldr r4, _081085B8 @ =gUnknown_02024A6A\n\
+ lsls r0, r5, 1\n\
+ adds r0, r4\n\
+ ldrb r0, [r0]\n\
+ mov r8, r0\n\
+ adds r0, r5, 0\n\
+ bl battle_get_per_side_status\n\
+ movs r1, 0x2\n\
+ eors r0, r1\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ bl battle_get_side_with_given_state\n\
+ lsls r0, 24\n\
+ lsrs r0, 23\n\
+ adds r0, r4\n\
+ ldrb r6, [r0]\n\
+ b _081085C6\n\
+ .align 2, 0\n\
+_081085A8: .4byte gUnknown_02024C08\n\
+_081085AC: .4byte gEnemyParty\n\
+_081085B0: .4byte gPlayerParty\n\
+_081085B4: .4byte gUnknown_020239F8\n\
+_081085B8: .4byte gUnknown_02024A6A\n\
+_081085BC:\n\
+ ldr r1, _08108624 @ =gUnknown_02024A6A\n\
+ lsls r0, r5, 1\n\
+ adds r0, r1\n\
+ ldrb r6, [r0]\n\
+ mov r8, r6\n\
+_081085C6:\n\
+ movs r5, 0\n\
+ ldr r7, _08108628 @ =0x02016800\n\
+_081085CA:\n\
+ cmp r5, r8\n\
+ beq _08108608\n\
+ cmp r5, r6\n\
+ beq _08108608\n\
+ movs r0, 0x64\n\
+ muls r0, r5\n\
+ mov r1, r9\n\
+ adds r4, r1, r0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x39\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _08108608\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x41\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _08108608\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x41\n\
+ bl GetMonData\n\
+ movs r1, 0xCE\n\
+ lsls r1, 1\n\
+ cmp r0, r1\n\
+ beq _08108608\n\
+ ldr r0, [r7, 0x8]\n\
+ adds r0, 0x1\n\
+ str r0, [r7, 0x8]\n\
+_08108608:\n\
+ adds r5, 0x1\n\
+ cmp r5, 0x5\n\
+ ble _081085CA\n\
+ ldr r1, _0810862C @ =gAIScriptPtr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x2\n\
+ str r0, [r1]\n\
+ pop {r3,r4}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_08108624: .4byte gUnknown_02024A6A\n\
+_08108628: .4byte 0x02016800\n\
+_0810862C: .4byte gAIScriptPtr\n\
+ .syntax divided");
+}
+
+void BattleAICmd_unk_2D(void)
+{
+ unk_2016800.unk8 = unk_2016800.unk2;
+ gAIScriptPtr += 1;
+}
+
+void BattleAICmd_unk_2E(void)
+{
+ unk_2016800.unk8 = gBattleMoves[unk_2016800.unk2].effect;
+ gAIScriptPtr += 1;
+}
+
+void BattleAICmd_get_ability(void)
+{
+ u8 var;
+
+ if(gAIScriptPtr[1] == 1)
+ var = gUnknown_02024C07;
+ else
+ var = gUnknown_02024C08;
+ if(battle_side_get_owner(var) == 0)
+ {
+ //register u8 unk asm("r1") = battle_get_per_side_status(var) & 1;
+ s32 unk = battle_get_per_side_status(var) & 1;
+
+ if(unk_2016A00.unk20[unk] != 0)
+ {
+ ((struct UnknownStruct2 *)((u8 *)&unk_2016A00 - 512))->unk8 = unk_2016A00.unk20[unk];
+ gAIScriptPtr += 2;
+ return;
+ }
+ //_081086C8
+ if(gBattleMons[var].ability == 0x17 || gBattleMons[var].ability == 0x2A || gBattleMons[var].ability == 0x47)
+ {
+ //_081086E4
+ unk_2016800.unk8 = gBattleMons[var].ability;
+ gAIScriptPtr += 2;
+ return;
+ }
+ //_081086FC
+ if(gBaseStats[gBattleMons[var].species].ability1 != 0)
+ {
+ if(gBaseStats[gBattleMons[var].species].ability2 != 0)
+ {
+ if(Random() & 1)
+ {
+ ((struct UnknownStruct2 *)((u8 *)&unk_2016A00 - 512))->unk8 = gBaseStats[gBattleMons[var].species].ability1;
+ gAIScriptPtr += 2;
+ return;
+ }
+ //_0810873C
+ else
+ {
+ ((struct UnknownStruct2 *)((u8 *)&unk_2016A00 - 512))->unk8 = gBaseStats[gBattleMons[var].species].ability2;
+ gAIScriptPtr += 2;
+ return;
+ }
+ }
+ //_08108754
+ else
+ {
+ ((struct UnknownStruct2 *)((u8 *)&unk_2016A00 - 512))->unk8 = gBaseStats[gBattleMons[var].species].ability1;
+ gAIScriptPtr += 2;
+ return;
+ }
+ }
+ //_08108764
+ else
+ {
+ ((struct UnknownStruct2 *)((u8 *)&unk_2016A00 - 512))->unk8 = gBaseStats[gBattleMons[var].species].ability2;
+ gAIScriptPtr += 2;
+ return;
+ }
+ }
+ //_08108774
+ unk_2016800.unk8 = gBattleMons[var].ability;
+ gAIScriptPtr += 2;
+}
+
+// this should probably be in battle.h after this file is fully decompiled.
+extern struct
+{
+ u8 unknownStuff[0x16000];
+ struct
+ {
+ u8 filler0[0x1C];
+ u8 unk1C;
+ u8 filler1D[2];
+ u8 unk1F;
+ u8 filler16020[0x7E0];
+ } unk_2016000;
+ struct UnknownStruct2 unk_2016800;
+} ewram; //0x02000000
+
+#ifdef NONMATCHING
+void BattleAICmd_unk_30(void)
+{
+ s32 loopCounter;
+
+ gUnknown_02024DEC = 0;
+ ewram.unk_2016000.unk1C = 0;
+ ewram.unk_2016000.unk1F = 1;
+ gUnknown_02024C68 = 0;
+ gCritMultiplier = 1;
+ ewram.unk_2016800.unk8 = 0;
+
+ for(loopCounter = 0; loopCounter <= 3; loopCounter++)
+ {
+ gUnknown_02024BEC = 40;
+ gUnknown_02024BE6 = gBattleMons[gUnknown_02024C07].moves[loopCounter];
+
+ if (gUnknown_02024BE6)
+ {
+ move_effectiveness_something(gUnknown_02024BE6, gUnknown_02024C07, gUnknown_02024C08);
+
+ // reduce by 1/3.
+ if (gUnknown_02024BEC == 120)
+ gUnknown_02024BEC = 80;
+ if(gUnknown_02024BEC == 240)
+ gUnknown_02024BEC = 160;
+ if(gUnknown_02024BEC == 30)
+ gUnknown_02024BEC = 20;
+ if(gUnknown_02024BEC == 15)
+ gUnknown_02024BEC = 10;
+
+ if(gUnknown_02024C68 & 8)
+ gUnknown_02024BEC = 0;
+
+ if (ewram.unk_2016800.unk8 < gUnknown_02024BEC)
+ ewram.unk_2016800.unk8 = gUnknown_02024BEC;
+ }
+ }
+ gAIScriptPtr += 1;
+}
+#else
+__attribute__((naked))
+void BattleAICmd_unk_30(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ ldr r0, _0810885C @ =gUnknown_02024DEC\n\
+ movs r2, 0\n\
+ strh r2, [r0]\n\
+ ldr r1, _08108860 @ =0x02000000\n\
+ ldr r3, _08108864 @ =0x0001601c\n\
+ adds r0, r1, r3\n\
+ movs r4, 0\n\
+ strb r2, [r0]\n\
+ adds r3, 0x3\n\
+ adds r0, r1, r3\n\
+ movs r3, 0x1\n\
+ strb r3, [r0]\n\
+ ldr r0, _08108868 @ =gUnknown_02024C68\n\
+ strb r2, [r0]\n\
+ ldr r0, _0810886C @ =gCritMultiplier\n\
+ strb r3, [r0]\n\
+ movs r0, 0xB4\n\
+ lsls r0, 9\n\
+ adds r1, r0\n\
+ str r4, [r1, 0x8]\n\
+ movs r5, 0\n\
+ ldr r4, _08108870 @ =gUnknown_02024BEC\n\
+ ldr r7, _08108874 @ =gUnknown_02024BE6\n\
+ ldr r3, _08108878 @ =gUnknown_02024A8C\n\
+ mov r8, r3\n\
+ ldr r6, _0810887C @ =gUnknown_02024C07\n\
+_081087DA:\n\
+ movs r0, 0x28\n\
+ str r0, [r4]\n\
+ lsls r1, r5, 1\n\
+ ldrb r2, [r6]\n\
+ movs r0, 0x58\n\
+ muls r0, r2\n\
+ adds r1, r0\n\
+ add r1, r8\n\
+ ldrh r0, [r1]\n\
+ strh r0, [r7]\n\
+ lsls r0, 16\n\
+ cmp r0, 0\n\
+ beq _08108844\n\
+ ldrh r0, [r7]\n\
+ ldrb r1, [r6]\n\
+ ldr r2, _08108880 @ =gUnknown_02024C08\n\
+ ldrb r2, [r2]\n\
+ bl move_effectiveness_something\n\
+ ldr r0, [r4]\n\
+ cmp r0, 0x78\n\
+ bne _0810880A\n\
+ movs r0, 0x50\n\
+ str r0, [r4]\n\
+_0810880A:\n\
+ ldr r0, [r4]\n\
+ cmp r0, 0xF0\n\
+ bne _08108814\n\
+ movs r0, 0xA0\n\
+ str r0, [r4]\n\
+_08108814:\n\
+ ldr r0, [r4]\n\
+ cmp r0, 0x1E\n\
+ bne _0810881E\n\
+ movs r0, 0x14\n\
+ str r0, [r4]\n\
+_0810881E:\n\
+ ldr r0, [r4]\n\
+ cmp r0, 0xF\n\
+ bne _08108828\n\
+ movs r0, 0xA\n\
+ str r0, [r4]\n\
+_08108828:\n\
+ ldr r0, _08108868 @ =gUnknown_02024C68\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08108838\n\
+ movs r0, 0\n\
+ str r0, [r4]\n\
+_08108838:\n\
+ ldr r2, _08108884 @ =0x02016800\n\
+ ldr r0, [r2, 0x8]\n\
+ ldr r1, [r4]\n\
+ cmp r0, r1\n\
+ bcs _08108844\n\
+ str r1, [r2, 0x8]\n\
+_08108844:\n\
+ adds r5, 0x1\n\
+ cmp r5, 0x3\n\
+ ble _081087DA\n\
+ ldr r1, _08108888 @ =gAIScriptPtr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x1\n\
+ str r0, [r1]\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_0810885C: .4byte gUnknown_02024DEC\n\
+_08108860: .4byte 0x02000000\n\
+_08108864: .4byte 0x0001601c\n\
+_08108868: .4byte gUnknown_02024C68\n\
+_0810886C: .4byte gCritMultiplier\n\
+_08108870: .4byte gUnknown_02024BEC\n\
+_08108874: .4byte gUnknown_02024BE6\n\
+_08108878: .4byte gUnknown_02024A8C\n\
+_0810887C: .4byte gUnknown_02024C07\n\
+_08108880: .4byte gUnknown_02024C08\n\
+_08108884: .4byte 0x02016800\n\
+_08108888: .4byte gAIScriptPtr\n\
+ .syntax divided\n");
+}
+#endif
+
+// same function as above but no for loop.
+__attribute__((naked))
+void BattleAICmd_if_damage_bonus(void)
+{
+ asm(".syntax unified\n\
+ push {r4,r5,lr}\n\
+ ldr r0, _08108928 @ =gUnknown_02024DEC\n\
+ movs r1, 0\n\
+ strh r1, [r0]\n\
+ ldr r2, _0810892C @ =0x02000000\n\
+ ldr r3, _08108930 @ =0x0001601c\n\
+ adds r0, r2, r3\n\
+ strb r1, [r0]\n\
+ adds r3, 0x3\n\
+ adds r0, r2, r3\n\
+ movs r3, 0x1\n\
+ strb r3, [r0]\n\
+ ldr r5, _08108934 @ =gUnknown_02024C68\n\
+ strb r1, [r5]\n\
+ ldr r0, _08108938 @ =gCritMultiplier\n\
+ strb r3, [r0]\n\
+ ldr r4, _0810893C @ =gUnknown_02024BEC\n\
+ movs r0, 0x28\n\
+ str r0, [r4]\n\
+ ldr r1, _08108940 @ =gUnknown_02024BE6\n\
+ movs r0, 0xB4\n\
+ lsls r0, 9\n\
+ adds r2, r0\n\
+ ldrh r0, [r2, 0x2]\n\
+ strh r0, [r1]\n\
+ ldrh r0, [r1]\n\
+ ldr r1, _08108944 @ =gUnknown_02024C07\n\
+ ldrb r1, [r1]\n\
+ ldr r2, _08108948 @ =gUnknown_02024C08\n\
+ ldrb r2, [r2]\n\
+ bl move_effectiveness_something\n\
+ ldr r0, [r4]\n\
+ cmp r0, 0x78\n\
+ bne _081088D6\n\
+ movs r0, 0x50\n\
+ str r0, [r4]\n\
+_081088D6:\n\
+ ldr r0, [r4]\n\
+ cmp r0, 0xF0\n\
+ bne _081088E0\n\
+ movs r0, 0xA0\n\
+ str r0, [r4]\n\
+_081088E0:\n\
+ ldr r0, [r4]\n\
+ cmp r0, 0x1E\n\
+ bne _081088EA\n\
+ movs r0, 0x14\n\
+ str r0, [r4]\n\
+_081088EA:\n\
+ ldr r0, [r4]\n\
+ cmp r0, 0xF\n\
+ bne _081088F4\n\
+ movs r0, 0xA\n\
+ str r0, [r4]\n\
+_081088F4:\n\
+ ldrb r1, [r5]\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08108902\n\
+ movs r0, 0\n\
+ str r0, [r4]\n\
+_08108902:\n\
+ ldrb r0, [r4]\n\
+ ldr r3, _0810894C @ =gAIScriptPtr\n\
+ ldr r2, [r3]\n\
+ ldrb r1, [r2, 0x1]\n\
+ cmp r0, r1\n\
+ bne _08108950\n\
+ ldrb r1, [r2, 0x2]\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ lsls r0, 16\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x5]\n\
+ lsls r0, 24\n\
+ orrs r1, r0\n\
+ str r1, [r3]\n\
+ b _08108954\n\
+ .align 2, 0\n\
+_08108928: .4byte gUnknown_02024DEC\n\
+_0810892C: .4byte 0x02000000\n\
+_08108930: .4byte 0x0001601c\n\
+_08108934: .4byte gUnknown_02024C68\n\
+_08108938: .4byte gCritMultiplier\n\
+_0810893C: .4byte gUnknown_02024BEC\n\
+_08108940: .4byte gUnknown_02024BE6\n\
+_08108944: .4byte gUnknown_02024C07\n\
+_08108948: .4byte gUnknown_02024C08\n\
+_0810894C: .4byte gAIScriptPtr\n\
+_08108950:\n\
+ adds r0, r2, 0x6\n\
+ str r0, [r3]\n\
+_08108954:\n\
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .syntax divided\n");
+}
+
+void BattleAICmd_unk_32(void)
+{}
+
+void BattleAICmd_unk_33(void)
+{}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index badfe3911..5bcdf1363 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -960,7 +960,7 @@ gUnknown_020391B4: @ 20391B4
gUnknown_02039234: @ 2039234
.space 0x4
-gUnknown_02039238: @ 2039238
+gAIScriptPtr: @ 2039238
.space 0x4
gUnknown_0203923C: @ 203923C