summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2018-10-21 00:06:42 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2018-10-21 00:06:42 +0200
commit16026fe91d5628f138be434841ae764534946b2c (patch)
treebc647520019d0078e1fc68869107908c4af30a9e /asm
parentf4e55999a5282dc1d2b94e0ca14081de6aae93ba (diff)
More battle tower.
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_frontier_2.s28
-rw-r--r--asm/battle_tower.s2546
2 files changed, 37 insertions, 2537 deletions
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index 3f6591927..48673d4fa 100644
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -6195,8 +6195,8 @@ _081A4D90:
.pool
thumb_func_end CopyFrontierBrainTrainerName
- thumb_func_start sub_81A4DB8
-sub_81A4DB8: @ 81A4DB8
+ thumb_func_start IsFrontierBrainFemale
+IsFrontierBrainFemale: @ 81A4DB8
push {lr}
ldr r0, =0x000040cf
bl VarGet
@@ -6209,10 +6209,10 @@ sub_81A4DB8: @ 81A4DB8
pop {r1}
bx r1
.pool
- thumb_func_end sub_81A4DB8
+ thumb_func_end IsFrontierBrainFemale
- thumb_func_start sub_81A4DD8
-sub_81A4DD8: @ 81A4DD8
+ thumb_func_start SetFrontierBrainTrainerGfxId
+SetFrontierBrainTrainerGfxId: @ 81A4DD8
push {lr}
ldr r0, =0x000040cf
bl VarGet
@@ -6227,10 +6227,10 @@ sub_81A4DD8: @ 81A4DD8
pop {r0}
bx r0
.pool
- thumb_func_end sub_81A4DD8
+ thumb_func_end SetFrontierBrainTrainerGfxId
- thumb_func_start sub_81A4E04
-sub_81A4E04: @ 81A4E04
+ thumb_func_start CreateFrontierBrainPokemon
+CreateFrontierBrainPokemon: @ 81A4E04
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -6460,7 +6460,7 @@ _081A4FD0:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81A4E04
+ thumb_func_end CreateFrontierBrainPokemon
thumb_func_start sub_81A4FF0
sub_81A4FF0: @ 81A4FF0
@@ -8755,7 +8755,7 @@ sub_81A63B8: @ 81A63B8
ldr r0, =gTrainerBattleOpponent_A
ldrh r0, [r0]
movs r1, 0
- bl sub_8162614
+ bl SetBattleFacilityTrainerGfxId
pop {r0}
bx r0
.pool
@@ -12662,7 +12662,7 @@ _081A831A:
str r0, [r1]
ldrh r0, [r5]
movs r1, 0
- bl sub_8162614
+ bl SetBattleFacilityTrainerGfxId
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r0, =0x00000cb2
@@ -12747,7 +12747,7 @@ _081A83EE:
strh r4, [r5]
ldrh r0, [r5]
movs r1, 0
- bl sub_8162614
+ bl SetBattleFacilityTrainerGfxId
ldr r3, =gSaveBlock2Ptr
ldr r1, [r3]
ldr r0, =0x00000cb2
@@ -12808,7 +12808,7 @@ _081A8466:
strh r4, [r5]
ldrh r0, [r5]
movs r1, 0x1
- bl sub_8162614
+ bl SetBattleFacilityTrainerGfxId
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r0, =0x00000cb2
@@ -17319,7 +17319,7 @@ _081AA8DC:
lsrs r7, r0, 16
adds r4, r7, 0
adds r0, r4, 0
- bl sub_81627A4
+ bl GetBattleFacilityTrainerGfxId
strb r0, [r5, 0x1]
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 8eedaf72f..fd011c555 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -6,2508 +6,8 @@
.text
- thumb_func_start sub_81623F0
-sub_81623F0: @ 81623F0
- push {r4-r7,lr}
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x2
- bne _08162414
- bl sub_8165E18
- b _08162530
- .pool
-_08162414:
- ldr r0, =0x000040ce
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_81A39C4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- bl GetFacilityEnemyMonLevel
- subs r4, 0x2
- cmp r4, 0x1
- bhi _08162488
- ldr r1, [r6]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r3, [r0]
- ldr r2, =gTrainerBattleOpponent_A
- lsls r0, r3, 2
- ldr r4, =0x00000cb4
- adds r1, r4
- adds r0, r1, r0
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r4, =gTrainerBattleOpponent_B
- lsls r0, r3, 1
- adds r0, 0x1
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r4]
- ldrh r0, [r2]
- movs r1, 0
- bl sub_8162614
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_8162614
- b _08162530
- .pool
-_08162488:
- bl ChooseSpecialBattleTowerTrainer
- lsls r0, 24
- cmp r0, 0
- beq _081624B4
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r0, [r4]
- movs r1, 0
- bl sub_8162614
- ldr r1, [r6]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 1
- adds r2, 0x2
- b _08162528
- .pool
-_081624B4:
- lsls r7, r5, 24
- adds r5, r6, 0
- ldr r6, =0x00000cb2
-_081624BA:
- ldr r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsrs r0, r7, 24
- bl sub_8162548
- lsls r0, 16
- lsrs r3, r0, 16
- movs r4, 0
- ldr r1, [r5]
- adds r0, r1, r6
- ldrh r0, [r0]
- cmp r4, r0
- bge _081624FC
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, r3
- beq _081624FC
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- subs r2, 0x2
- adds r0, r1, r2
- ldrh r2, [r0]
- ldr r0, =0x00000cb4
- adds r1, r0
-_081624EE:
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, r2
- bge _081624FC
- ldrh r0, [r1]
- cmp r0, r3
- bne _081624EE
-_081624FC:
- ldr r0, [r5]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _081624BA
- ldr r4, =gTrainerBattleOpponent_A
- strh r3, [r4]
- ldrh r0, [r4]
- movs r1, 0
- bl sub_8162614
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r2, [r0]
- adds r0, r2, 0x1
- cmp r0, 0x6
- bgt _08162530
- lsls r0, r2, 1
- ldr r2, =0x00000cb4
-_08162528:
- adds r1, r2
- adds r1, r0
- ldrh r0, [r4]
- strh r0, [r1]
-_08162530:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81623F0
-
- thumb_func_start sub_8162548
-sub_8162548: @ 8162548
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0x7
- bhi _08162584
- cmp r1, 0x6
- bne _08162570
- ldr r2, =gUnknown_085DFA1A
- lsls r1, r0, 2
- adds r0, r2, 0x2
- adds r0, r1, r0
- adds r1, r2
- ldrh r0, [r0]
- ldrh r4, [r1]
- b _0816258A
- .pool
-_08162570:
- ldr r2, =gUnknown_085DF9FA
- lsls r1, r3, 2
- adds r0, r2, 0x2
- adds r0, r1, r0
- adds r1, r2
- ldrh r0, [r0]
- ldrh r4, [r1]
- b _0816258A
- .pool
-_08162584:
- ldr r1, =gUnknown_085DF9FA
- ldrh r0, [r1, 0x1E]
- ldrh r4, [r1, 0x1C]
-_0816258A:
- subs r0, r4
- adds r0, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __umodsi3
- adds r4, r0
- lsls r4, 16
- lsrs r5, r4, 16
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8162548
-
- thumb_func_start sub_81625B4
-sub_81625B4: @ 81625B4
- push {r4,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0x7
- bhi _081625F4
- cmp r1, 0x6
- bne _081625D4
- ldr r1, =gUnknown_085DFA1A
- lsls r2, r0, 2
- b _081625D8
- .pool
-_081625D4:
- ldr r1, =gUnknown_085DF9FA
- lsls r2, 2
-_081625D8:
- adds r0, r1, 0x2
- adds r0, r2, r0
- adds r2, r1
- ldrh r0, [r0]
- ldrh r1, [r2]
- subs r0, r1
- adds r0, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- ldrh r0, [r2]
- b _08162604
- .pool
-_081625F4:
- ldr r0, =gUnknown_085DF9FA
- ldrh r1, [r0, 0x1E]
- ldrh r2, [r0, 0x1C]
- subs r1, r2
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- ldrh r0, [r0, 0x1C]
-_08162604:
- strh r0, [r4]
- strb r1, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81625B4
-
- thumb_func_start sub_8162614
-sub_8162614: @ 8162614
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _08162640
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bed
- adds r0, r1
- b _081626BA
- .pool
-_08162640:
- ldr r0, =0x000003fe
- cmp r4, r0
- bne _08162650
- bl sub_81A4DD8
- b _08162788
- .pool
-_08162650:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _0816266C
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- b _081626BA
- .pool
-_0816266C:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162698
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r1, =0x00000739
- adds r0, r1
- b _081626BA
- .pool
-_08162698:
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r6, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x32
-_081626BA:
- ldrb r2, [r0]
- movs r1, 0
- ldr r3, =gUnknown_085DCEDC
- ldrb r0, [r3]
- cmp r0, r2
- beq _081626D4
-_081626C6:
- adds r1, 0x1
- cmp r1, 0x1D
- bhi _081626D4
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _081626C6
-_081626D4:
- cmp r1, 0x1E
- beq _08162700
- ldr r0, =gUnknown_085DCF0E
- adds r0, r1, r0
- ldrb r1, [r0]
- cmp r5, 0x1
- beq _08162744
- cmp r5, 0x1
- ble _0816272E
- cmp r5, 0xF
- bne _0816272E
- b _08162750
- .pool
-_08162700:
- movs r1, 0
- ldr r3, =gUnknown_085DCEFA
- ldrb r0, [r3]
- cmp r0, r2
- beq _08162718
-_0816270A:
- adds r1, 0x1
- cmp r1, 0x13
- bhi _08162718
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _0816270A
-_08162718:
- cmp r1, 0x14
- beq _0816275C
- ldr r0, =gUnknown_085DCF2C
- adds r0, r1, r0
- ldrb r1, [r0]
- cmp r5, 0x1
- beq _08162744
- cmp r5, 0x1
- ble _0816272E
- cmp r5, 0xF
- beq _08162750
-_0816272E:
- ldr r0, =0x00004010
- bl VarSet
- b _08162788
- .pool
-_08162744:
- ldr r0, =0x00004011
- bl VarSet
- b _08162788
- .pool
-_08162750:
- ldr r0, =0x0000401e
- bl VarSet
- b _08162788
- .pool
-_0816275C:
- cmp r5, 0x1
- beq _08162770
- cmp r5, 0x1
- ble _08162768
- cmp r5, 0xF
- beq _08162780
-_08162768:
- ldr r0, =0x00004010
- b _08162772
- .pool
-_08162770:
- ldr r0, =0x00004011
-_08162772:
- movs r1, 0x7
- bl VarSet
- b _08162788
- .pool
-_08162780:
- ldr r0, =0x0000401e
- movs r1, 0x7
- bl VarSet
-_08162788:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8162614
-
- thumb_func_start sub_8162794
-sub_8162794: @ 8162794
- push {lr}
- movs r0, 0xFA
- lsls r0, 1
- movs r1, 0
- bl sub_8162614
- pop {r0}
- bx r0
- thumb_func_end sub_8162794
-
- thumb_func_start sub_81627A4
-sub_81627A4: @ 81627A4
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _081627CC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bed
- adds r0, r1
- b _08162836
- .pool
-_081627CC:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _081627E8
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- b _08162836
- .pool
-_081627E8:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162814
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r1, =0x00000739
- adds r0, r1
- b _08162836
- .pool
-_08162814:
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r5, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x32
-_08162836:
- ldrb r2, [r0]
- movs r1, 0
- ldr r3, =gUnknown_085DCEDC
- ldrb r0, [r3]
- cmp r0, r2
- beq _08162850
-_08162842:
- adds r1, 0x1
- cmp r1, 0x1D
- bhi _08162850
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _08162842
-_08162850:
- cmp r1, 0x1E
- beq _0816286C
- ldr r0, =gUnknown_085DCF0E
- b _08162892
- .pool
-_0816286C:
- movs r1, 0
- ldr r3, =gUnknown_085DCEFA
- ldrb r0, [r3]
- cmp r0, r2
- beq _08162884
-_08162876:
- adds r1, 0x1
- cmp r1, 0x13
- bhi _08162884
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _08162876
-_08162884:
- cmp r1, 0x14
- bne _08162890
- movs r0, 0x7
- b _08162896
- .pool
-_08162890:
- ldr r0, =gUnknown_085DCF2C
-_08162892:
- adds r0, r1, r0
- ldrb r0, [r0]
-_08162896:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81627A4
-
- thumb_func_start sub_81628A0
-sub_81628A0: @ 81628A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- movs r1, 0
- mov r8, r1
- mov r10, r0
- movs r5, 0
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- mov r4, r10
- ldrb r4, [r4, 0xC]
- str r4, [sp, 0x18]
- mov r9, r5
- movs r7, 0x4
- str r7, [sp, 0x1C]
- ldr r1, =0x00000744
- adds r1, r0
- mov r12, r1
-_081628CA:
- movs r6, 0
- movs r3, 0
- mov r2, r12
- ldrb r0, [r2]
- ldr r4, [sp, 0x18]
- cmp r0, r4
- bne _081628FA
- mov r4, r9
- mov r2, r10
- adds r2, 0xC
-_081628DE:
- adds r3, 0x1
- cmp r3, 0x3
- bgt _081628FA
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- adds r1, r3, r4
- ldr r7, =0x00000744
- adds r0, r7
- adds r0, r1
- adds r1, r2, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _081628DE
-_081628FA:
- cmp r3, 0x4
- bne _08162944
- movs r6, 0
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r3, =0x0000073c
- adds r0, r3
- ldr r2, [sp, 0x1C]
- adds r0, r2
- ldrb r0, [r0]
- mov r4, r10
- ldrb r4, [r4, 0x8]
- cmp r0, r4
- bne _08162944
- adds r1, r0, 0
- mov r2, r9
- adds r2, 0x4
-_0816291C:
- cmp r1, 0xFF
- bne _08162930
- movs r6, 0x7
- b _08162944
- .pool
-_08162930:
- adds r6, 0x1
- cmp r6, 0x6
- bgt _08162944
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- adds r0, r3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, r1
- beq _0816291C
-_08162944:
- cmp r6, 0x7
- beq _0816295A
- movs r0, 0xEC
- add r9, r0
- ldr r1, [sp, 0x1C]
- adds r1, 0xEC
- str r1, [sp, 0x1C]
- add r12, r0
- adds r5, 0x1
- cmp r5, 0x4
- ble _081628CA
-_0816295A:
- cmp r5, 0x4
- bgt _08162974
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- movs r1, 0xEC
- muls r1, r5
- adds r0, r1
- movs r4, 0xE7
- lsls r4, 3
- adds r0, r4
- b _081629B2
- .pool
-_08162974:
- movs r5, 0
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- ldr r1, =0x0000073a
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0816299E
- adds r3, r7, 0
- adds r2, r1, 0
- movs r1, 0
-_0816298A:
- adds r1, 0xEC
- adds r5, 0x1
- cmp r5, 0x4
- bgt _081629C4
- ldr r0, [r3]
- adds r0, r1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _0816298A
-_0816299E:
- cmp r5, 0x4
- bgt _081629C4
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r1, 0xEC
- muls r1, r5
- adds r0, r1
- movs r2, 0xE7
- lsls r2, 3
- adds r0, r2
-_081629B2:
- mov r1, r10
- movs r2, 0xEC
- bl memcpy
- b _08162A8A
- .pool
-_081629C4:
- mov r2, sp
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r3, =0x0000073a
- adds r0, r3
- ldrh r0, [r0]
- movs r1, 0
- strh r0, [r2]
- add r0, sp, 0xC
- strh r1, [r0]
- movs r7, 0x1
- add r8, r7
- movs r5, 0x1
- add r0, sp, 0xC
- mov r9, r0
- mov r12, r3
-_081629E4:
- movs r3, 0
- adds r7, r5, 0x1
- cmp r3, r8
- bge _08162A2E
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r2, 0xEC
- adds r1, r5, 0
- muls r1, r2
- adds r0, r1
- mov r1, r12
- adds r4, r0, r1
- mov r6, sp
-_081629FE:
- lsls r0, r3, 1
- add r0, sp
- ldrh r2, [r4]
- adds r1, r2, 0
- ldrh r0, [r0]
- cmp r1, r0
- bcs _08162A24
- movs r3, 0
- movs r4, 0x1
- mov r8, r4
- strh r2, [r6]
- mov r0, r9
- strh r5, [r0]
- b _08162A2E
- .pool
-_08162A24:
- cmp r1, r0
- bhi _08162A2E
- adds r3, 0x1
- cmp r3, r8
- blt _081629FE
-_08162A2E:
- cmp r3, r8
- bne _08162A54
- mov r1, r8
- lsls r2, r1, 1
- mov r4, sp
- adds r3, r4, r2
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r4, 0xEC
- adds r1, r5, 0
- muls r1, r4
- adds r0, r1
- add r0, r12
- ldrh r0, [r0]
- strh r0, [r3]
- add r2, r9
- strh r5, [r2]
- movs r0, 0x1
- add r8, r0
-_08162A54:
- adds r5, r7, 0
- cmp r5, 0x4
- ble _081629E4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- bl __modsi3
- adds r5, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r5, 1
- add r1, sp
- adds r1, 0xC
- ldrh r2, [r1]
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r1
- mov r1, r10
- movs r2, 0xEC
- bl memcpy
-_08162A8A:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81628A0
-
- thumb_func_start GetFrontierTrainerFrontSpriteId
-GetFrontierTrainerFrontSpriteId: @ 8162AA0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _08162AD0
- ldr r1, =gFacilityClassToPicIndex
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000bed
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- b _08162BC8
- .pool
-_08162AD0:
- ldr r0, =0x000003fe
- cmp r4, r0
- bne _08162AE4
- bl GetFrontierBrainTrainerPicIndex
- lsls r0, 24
- lsrs r0, 24
- b _08162BCA
- .pool
-_08162AE4:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _08162B08
- ldr r2, =gFacilityClassToPicIndex
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
- b _08162BC8
- .pool
-_08162B08:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162B64
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162B38
- ldr r4, =gFacilityClassToPicIndex
- bl sub_818649C
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- b _08162BC8
- .pool
-_08162B38:
- ldr r3, =gFacilityClassToPicIndex
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r2, =0x00000739
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
- b _08162BC8
- .pool
-_08162B64:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- bne _08162BB0
- ldr r4, =gFacilityClassToPicIndex
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r5, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x32
- ldrb r0, [r0]
- adds r0, r4
- b _08162BC8
- .pool
-_08162BB0:
- ldr r5, =gFacilityClassToPicIndex
- ldr r4, =gApprentices
- bl sub_81864A8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x58
- muls r0, r1
- adds r0, r4
- adds r0, 0x32
- ldrb r0, [r0]
- adds r0, r5
-_08162BC8:
- ldrb r0, [r0]
-_08162BCA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFrontierTrainerFrontSpriteId
-
- thumb_func_start GetFrontierOpponentClass
-GetFrontierOpponentClass: @ 8162BD8
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _08162C08
- ldr r1, =gFacilityClassToTrainerClass
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000bed
- adds r0, r2
- ldrb r0, [r0]
- b _08162C26
- .pool
-_08162C08:
- ldr r0, =0x000003fe
- cmp r4, r0
- bne _08162C1C
- bl GetFrontierBrainTrainerClass
- lsls r0, 24
- lsrs r0, 24
- b _08162D1E
- .pool
-_08162C1C:
- ldr r0, =0x00000c03
- cmp r4, r0
- bne _08162C38
- ldr r0, =gTrainers
- ldr r1, =0x00007da1
-_08162C26:
- adds r0, r1
- ldrb r0, [r0]
- b _08162D1E
- .pool
-_08162C38:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _08162C60
- ldr r2, =gFacilityClassToTrainerClass
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- b _08162D1E
- .pool
-_08162C60:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162CBC
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162C90
- ldr r4, =gFacilityClassToTrainerClass
- bl sub_818649C
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r0, [r0]
- b _08162D1E
- .pool
-_08162C90:
- ldr r3, =gFacilityClassToTrainerClass
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r2, =0x00000739
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
- ldrb r0, [r0]
- b _08162D1E
- .pool
-_08162CBC:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162CF4
- ldr r5, =gFacilityClassToTrainerClass
- ldr r4, =gApprentices
- bl sub_81864A8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x58
- muls r0, r1
- adds r0, r4
- adds r0, 0x32
- ldrb r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- b _08162D1E
- .pool
-_08162CF4:
- ldr r4, =gFacilityClassToTrainerClass
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r5, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x32
- ldrb r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
-_08162D1E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFrontierOpponentClass
-
- thumb_func_start sub_8162D34
-sub_8162D34: @ 8162D34
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _08162D5C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bed
- adds r0, r1
- b _08162E0A
- .pool
-_08162D5C:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _08162D78
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- b _08162E0A
- .pool
-_08162D78:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162DC0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162DA0
- bl sub_818649C
- lsls r0, 24
- lsrs r0, 24
- b _08162E0C
- .pool
-_08162DA0:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r1, =0x00000739
- adds r0, r1
- b _08162E0A
- .pool
-_08162DC0:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162DE8
- ldr r4, =gApprentices
- bl sub_81864A8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x58
- muls r0, r1
- adds r0, r4
- b _08162E08
- .pool
-_08162DE8:
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r5, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
-_08162E08:
- adds r0, 0x32
-_08162E0A:
- ldrb r0, [r0]
-_08162E0C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8162D34
-
- thumb_func_start GetFrontierTrainerName
-GetFrontierTrainerName: @ 8162E20
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r5, r0
- bne _08162E54
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xBF
- lsls r1, 4
- adds r2, r0, r1
-_08162E40:
- adds r0, r6, r4
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x6
- ble _08162E40
- b _08162F5C
- .pool
-_08162E54:
- ldr r0, =0x000003fe
- cmp r5, r0
- bne _08162E68
- adds r0, r6, 0
- bl CopyFrontierBrainTrainerName
- b _08162F62
- .pool
-_08162E68:
- ldr r0, =0x00000c03
- cmp r5, r0
- bne _08162E88
- ldr r2, =gTrainers + 804 * 0x28 + 0x4 @ TRAINER_STEVEN name
-_08162E70:
- adds r0, r6, r4
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x6
- ble _08162E70
- b _08162F5C
- .pool
-_08162E88:
- ldr r0, =0x0000012b
- cmp r5, r0
- bhi _08162EB4
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r5
- adds r0, r1
- adds r2, r0, 0x4
-_08162E9A:
- adds r0, r6, r4
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x6
- ble _08162E9A
- b _08162F5C
- .pool
-_08162EB4:
- ldr r0, =0x0000018f
- cmp r5, r0
- bhi _08162F00
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162ED8
- adds r0, r6, 0
- bl sub_8186468
- b _08162F62
- .pool
-_08162ED8:
- ldr r2, =gSaveBlock2Ptr
- movs r0, 0xEC
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =0xfffef2a8
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r1, r0, 0x4
- adds r0, 0xE4
- ldrb r2, [r0]
- adds r0, r6, 0
- bl TVShowConvertInternationalString
- b _08162F62
- .pool
-_08162F00:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162F24
- bl sub_81864A8
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_81864C0
- lsls r0, 24
- lsrs r4, r0, 24
- b _08162F3E
- .pool
-_08162F24:
- ldr r1, =gSaveBlock2Ptr
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r2, =0xffff969c
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r5, r0, 27
- adds r1, 0x3F
- ldrb r4, [r1]
-_08162F3E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl GetApprenticeNameInLanguage
- adds r1, r0, 0
- adds r0, r6, 0
- adds r2, r4, 0
- bl TVShowConvertInternationalString
- b _08162F62
- .pool
-_08162F5C:
- adds r1, r6, r4
- movs r0, 0xFF
- strb r0, [r1]
-_08162F62:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end GetFrontierTrainerName
-
- thumb_func_start sub_8162F68
-sub_8162F68: @ 8162F68
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _08162F90
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bed
- adds r0, r1
- b _0816300E
- .pool
-_08162F90:
- ldr r0, =0x000003fe
- cmp r4, r0
- bne _08162FA4
- bl sub_81A4DB8
- lsls r0, 24
- lsrs r0, 24
- b _08163042
- .pool
-_08162FA4:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _08162FC0
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- b _0816300E
- .pool
-_08162FC0:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162FEC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r1, =0x00000739
- adds r0, r1
- b _0816300E
- .pool
-_08162FEC:
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r5, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x32
-_0816300E:
- ldrb r2, [r0]
- movs r1, 0
- ldr r3, =gUnknown_085DCEFA
- ldrb r0, [r3]
- cmp r0, r2
- beq _08163028
-_0816301A:
- adds r1, 0x1
- cmp r1, 0x13
- bhi _08163028
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _0816301A
-_08163028:
- cmp r1, 0x14
- bne _08163040
- movs r0, 0
- b _08163042
- .pool
-_08163040:
- movs r0, 0x1
-_08163042:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8162F68
-
- thumb_func_start sub_8163048
-sub_8163048: @ 8163048
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ZeroEnemyPartyMons
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- adds r2, r4, 0
- bl sub_81630C4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8163048
-
- thumb_func_start sub_816306C
-sub_816306C: @ 816306C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ZeroEnemyPartyMons
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- adds r2, r4, 0
- bl sub_81630C4
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r0, [r0]
- movs r1, 0x3
- adds r2, r4, 0
- bl sub_81630C4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816306C
-
- thumb_func_start sub_81630A0
-sub_81630A0: @ 81630A0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ZeroEnemyPartyMons
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- adds r2, r4, 0
- bl sub_8165EA4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81630A0
-
- thumb_func_start sub_81630C4
-sub_81630C4: @ 81630C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x18]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x1C]
- add r4, sp, 0x14
- movs r0, 0xFF
- strb r0, [r4]
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x20]
- ldr r0, =0x0000012b
- cmp r5, r0
- bhi _08163138
- adds r0, r5, 0
- bl sub_8165D08
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r2, [r0]
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r2
- adds r0, r1
- ldr r0, [r0, 0x30]
- str r0, [sp, 0x2C]
- movs r0, 0
- str r0, [sp, 0x28]
- ldr r2, [sp, 0x2C]
- ldrh r1, [r2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08163124
- b _08163278
-_08163124:
- b _08163260
- .pool
-_08163138:
- movs r0, 0xFA
- lsls r0, 1
- cmp r5, r0
- bne _08163180
- ldr r7, [sp, 0x18]
- adds r0, r7, 0x3
- cmp r7, r0
- blt _0816314A
- b _08163426
-_0816314A:
- ldr r4, =gSaveBlock2Ptr
-_0816314C:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
- adds r0, r1
- ldr r5, [sp, 0x18]
- subs r2, r7, r5
- movs r1, 0x2C
- muls r2, r1
- movs r6, 0xC2
- lsls r6, 4
- adds r2, r6
- ldr r1, [r4]
- adds r1, r2
- bl sub_806819C
- adds r7, 0x1
- adds r0, r5, 0
- adds r0, 0x3
- cmp r7, r0
- blt _0816314C
- b _08163426
- .pool
-_08163180:
- ldr r0, =0x000003fe
- cmp r5, r0
- bne _08163190
- bl sub_81A4E04
- b _08163426
- .pool
-_08163190:
- ldr r0, =0x0000018f
- cmp r5, r0
- bhi _08163218
- movs r6, 0
- ldr r7, [sp, 0x18]
- ldr r1, [sp, 0x1C]
- adds r0, r7, r1
- cmp r7, r0
- blt _081631A4
- b _08163426
-_081631A4:
- ldr r2, =0xfffffed4
- adds r1, r5, r2
- movs r0, 0xEC
- adds r2, r1, 0
- muls r2, r0
- mov r8, r2
- muls r0, r5
- ldr r5, =0xfffef2a8
- adds r4, r0, r5
-_081631B6:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- movs r0, 0x2C
- adds r2, r6, 0
- muls r2, r0
- mov r1, r8
- adds r0, r2, r1
- adds r1, r3, r0
- ldr r5, =0x0000076c
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _081631F0
- adds r5, 0xC
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r1, [sp, 0x20]
- cmp r0, r1
- bhi _081631F0
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
- adds r0, r1
- adds r1, r3, r4
- adds r2, 0x34
- adds r1, r2
- movs r2, 0
- bl sub_8068338
-_081631F0:
- adds r6, 0x1
- adds r7, 0x1
- ldr r2, [sp, 0x18]
- ldr r5, [sp, 0x1C]
- adds r0, r2, r5
- cmp r7, r0
- blt _081631B6
- b _08163426
- .pool
-_08163218:
- ldr r7, [sp, 0x18]
- adds r0, r7, 0x3
- cmp r7, r0
- blt _08163222
- b _08163426
-_08163222:
- ldr r6, =gSaveBlock2Ptr
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r1, =0xffff969c
- adds r5, r0, r1
- movs r4, 0
-_08163230:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
- adds r0, r1
- ldr r1, [r6]
- adds r1, r5
- lsrs r2, r4, 24
- bl CreateApprenticeMon
- movs r2, 0x80
- lsls r2, 17
- adds r4, r2
- adds r7, 0x1
- ldr r0, [sp, 0x18]
- adds r0, 0x3
- cmp r7, r0
- blt _08163230
- b _08163426
- .pool
-_08163260:
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- lsls r0, 1
- ldr r5, [sp, 0x2C]
- adds r0, r5
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08163260
-_08163278:
- movs r7, 0
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 16
- orrs r4, r0
- str r4, [sp, 0x30]
- ldr r6, [sp, 0x1C]
- cmp r7, r6
- bne _08163296
- b _08163426
-_08163296:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x28]
- bl __modsi3
- lsls r0, 1
- ldr r1, [sp, 0x2C]
- adds r0, r1
- ldrh r4, [r0]
- ldr r2, [sp, 0x20]
- cmp r2, 0x32
- beq _081632B6
- cmp r2, 0x14
- bne _081632BE
-_081632B6:
- ldr r0, =0x00000351
- cmp r4, r0
- bls _081632BE
- b _0816341E
-_081632BE:
- movs r6, 0
- ldr r5, [sp, 0x18]
- adds r5, r7
- mov r8, r5
- b _081632D2
- .pool
-_081632D0:
- adds r6, 0x1
-_081632D2:
- cmp r6, r8
- bge _081632F6
- movs r1, 0x64
- adds r0, r6, 0
- muls r0, r1
- ldr r2, =gEnemyParty
- adds r0, r2
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- ldr r1, =gFacilityTrainerMons
- ldr r2, [r1]
- lsls r1, r4, 4
- adds r1, r2
- ldrh r1, [r1]
- cmp r0, r1
- bne _081632D0
-_081632F6:
- cmp r6, r8
- beq _081632FC
- b _0816341E
-_081632FC:
- movs r6, 0
- cmp r6, r8
- bge _08163346
- ldr r5, =gBattleFrontierHeldItems
- mov r9, r5
- movs r3, 0
-_08163308:
- ldr r0, =gEnemyParty
- adds r5, r3, r0
- adds r0, r5, 0
- movs r1, 0xC
- movs r2, 0
- str r3, [sp, 0x38]
- bl GetMonData
- ldr r3, [sp, 0x38]
- cmp r0, 0
- beq _0816333E
- adds r0, r5, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- ldr r1, =gFacilityTrainerMons
- ldr r2, [r1]
- lsls r1, r4, 4
- adds r1, r2
- ldrb r1, [r1, 0xA]
- lsls r1, 1
- add r1, r9
- ldr r3, [sp, 0x38]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08163346
-_0816333E:
- adds r3, 0x64
- adds r6, 0x1
- cmp r6, r8
- blt _08163308
-_08163346:
- cmp r6, r8
- bne _0816341E
- movs r6, 0
- cmp r6, r7
- bge _08163368
- add r0, sp, 0xC
- ldrh r0, [r0]
- cmp r0, r4
- beq _08163368
- add r1, sp, 0xC
-_0816335A:
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, r7
- bge _08163368
- ldrh r0, [r1]
- cmp r0, r4
- bne _0816335A
-_08163368:
- cmp r6, r7
- bne _0816341E
- lsls r0, r7, 1
- add r0, sp
- adds r0, 0xC
- strh r4, [r0]
- movs r1, 0x64
- mov r0, r8
- muls r0, r1
- ldr r2, =gEnemyParty
- adds r0, r2
- ldr r5, =gFacilityTrainerMons
- ldr r2, [r5]
- lsls r4, 4
- adds r2, r4, r2
- ldrh r1, [r2]
- ldrb r3, [r2, 0xC]
- ldr r6, [sp, 0x24]
- str r6, [sp]
- ldrb r2, [r2, 0xB]
- str r2, [sp, 0x4]
- ldr r2, [sp, 0x30]
- str r2, [sp, 0x8]
- ldr r2, [sp, 0x20]
- bl CreateMonWithEVSpreadPersonalityOTID
- movs r0, 0xFF
- mov r6, sp
- strb r0, [r6, 0x14]
- movs r6, 0
- adds r0, r7, 0x1
- str r0, [sp, 0x34]
- mov r9, r4
- movs r0, 0x64
- mov r3, r8
- muls r3, r0
- mov r1, r9
- str r1, [sp, 0x3C]
- ldr r2, =gEnemyParty
- mov r10, r2
-_081633B8:
- ldr r0, [r5]
- ldr r7, [sp, 0x3C]
- adds r0, r7, r0
- lsls r4, r6, 1
- adds r0, 0x2
- adds r0, r4
- ldrh r1, [r0]
- lsls r2, r6, 24
- lsrs r2, 24
- mov r7, r10
- adds r0, r3, r7
- str r3, [sp, 0x38]
- bl SetMonMoveSlot
- ldr r0, [r5]
- ldr r1, [sp, 0x3C]
- adds r0, r1, r0
- adds r0, 0x2
- adds r0, r4
- ldrh r0, [r0]
- ldr r3, [sp, 0x38]
- cmp r0, 0xDA
- bne _081633EC
- movs r0, 0
- mov r2, sp
- strb r0, [r2, 0x14]
-_081633EC:
- adds r6, 0x1
- cmp r6, 0x3
- ble _081633B8
- movs r5, 0x64
- mov r4, r8
- muls r4, r5
- ldr r6, =gEnemyParty
- adds r4, r6
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0x14
- bl SetMonData
- ldr r0, =gFacilityTrainerMons
- ldr r0, [r0]
- add r0, r9
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- ldr r7, [sp, 0x34]
-_0816341E:
- ldr r0, [sp, 0x1C]
- cmp r7, r0
- beq _08163426
- b _08163296
-_08163426:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81630C4
-
- thumb_func_start sub_8163444
-sub_8163444: @ 8163444
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x8]
- movs r1, 0xFF
- add r0, sp, 0x4
- strb r1, [r0]
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- movs r0, 0xDC
- adds r0, r2
- mov r10, r0
- ldrb r0, [r0, 0x1]
- movs r1, 0x9
- str r1, [sp, 0x10]
- cmp r0, 0x4
- bhi _08163474
- movs r0, 0x6
- str r0, [sp, 0x10]
-_08163474:
- ldr r1, =0x00000ca9
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- movs r1, 0x32
- str r1, [sp, 0xC]
- cmp r0, 0
- beq _0816348A
- movs r0, 0x64
- str r0, [sp, 0xC]
-_0816348A:
- movs r7, 0
- adds r2, 0xE2
- str r2, [sp, 0x14]
- add r1, sp, 0x4
- mov r9, r1
-_08163494:
- ldr r2, [sp, 0x8]
- adds r6, r2, r7
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gEnemyParty
- adds r0, r1
- lsls r5, r7, 1
- adds r4, r5, r7
- lsls r4, 2
- mov r2, r10
- adds r1, r2, r4
- ldrh r1, [r1, 0x4]
- movs r2, 0x8
- str r2, [sp]
- ldr r2, [sp, 0xC]
- ldr r3, [sp, 0x10]
- bl CreateMonWithEVSpread
- movs r0, 0xFF
- mov r1, r9
- strb r0, [r1]
- adds r2, r7, 0x1
- mov r8, r2
- movs r1, 0x3
-_081634C4:
- ldr r2, [sp, 0x14]
- adds r0, r2, r4
- ldrh r0, [r0]
- cmp r0, 0xDA
- bne _081634D4
- movs r2, 0
- mov r0, r9
- strb r2, [r0]
-_081634D4:
- adds r4, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _081634C4
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0x4
- bl SetMonData
- adds r2, r5, r7
- lsls r2, 2
- add r2, r10
- adds r2, 0xE
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r7, r8
- cmp r7, 0x3
- bne _08163494
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8163444
-
- thumb_func_start RandomizeFacilityTrainerMonId
-RandomizeFacilityTrainerMonId: @ 8163524
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- ldr r5, [r0, 0x30]
- movs r4, 0
- ldrh r1, [r5]
- b _08163558
- .pool
-_0816354C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 1
- adds r0, r5
- ldrh r1, [r0]
-_08163558:
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _0816354C
-_0816355E:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- cmp r6, 0x32
- beq _0816357A
- cmp r6, 0x14
- bne _08163580
-_0816357A:
- ldr r0, =0x00000351
- cmp r1, r0
- bhi _0816355E
-_08163580:
- adds r0, r1, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end RandomizeFacilityTrainerMonId
-
- thumb_func_start sub_8163590
-sub_8163590: @ 8163590
- push {lr}
- bl ZeroEnemyPartyMons
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _081635C0
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- bl sub_81635D4
- b _081635CA
- .pool
-_081635C0:
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- bl sub_816379C
-_081635CA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8163590
-
- thumb_func_start sub_81635D4
-sub_81635D4: @ 81635D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsrs r2, r0, 16
- adds r3, r2, 0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- ldr r0, =0x0000012b
- cmp r2, r0
- bhi _0816364A
- ldr r4, =gSaveBlock2Ptr
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 24
- ldr r4, [r4]
- lsrs r0, 22
- movs r2, 0xCE
- lsls r2, 4
- adds r1, r4, r2
- adds r1, r0
- ldrh r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =0x00000cb2
- adds r4, r3
- ldrh r0, [r4]
- cmp r0, 0x5
- bhi _0816363C
- adds r0, r1, 0
- movs r1, 0
- bl sub_81A6CA8
- lsls r0, 24
- lsrs r0, 24
- b _081636A6
- .pool
-_0816363C:
- adds r0, r1, 0
- movs r1, 0x1
- bl sub_81A6CA8
- lsls r0, 24
- lsrs r0, 24
- b _081636A6
-_0816364A:
- movs r0, 0xFA
- lsls r0, 1
- cmp r2, r0
- bne _08163694
- ldr r7, [sp, 0x10]
- adds r0, r7, 0x3
- cmp r7, r0
- blt _0816365C
- b _08163776
-_0816365C:
- ldr r4, =gSaveBlock2Ptr
-_0816365E:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
- adds r0, r1
- ldr r1, [sp, 0x10]
- subs r2, r7, r1
- movs r1, 0x2C
- muls r2, r1
- movs r3, 0xC2
- lsls r3, 4
- adds r2, r3
- ldr r1, [r4]
- adds r1, r2
- bl sub_806819C
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [sp, 0x10]
- adds r0, 0x3
- cmp r7, r0
- blt _0816365E
- b _08163776
- .pool
-_08163694:
- ldr r0, =0x000003fe
- cmp r3, r0
- bne _081636A4
- bl sub_81A6CD0
- b _08163776
- .pool
-_081636A4:
- movs r0, 0x1F
-_081636A6:
- str r0, [sp, 0x18]
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0xA]
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- orrs r2, r0
- mov r8, r2
- movs r7, 0
-_081636CE:
- ldr r1, =gUnknown_03006298
- lsls r0, r7, 1
- adds r0, r1
- ldrh r0, [r0]
- mov r9, r0
- ldr r3, [sp, 0x10]
- adds r5, r3, r7
- movs r0, 0x64
- adds r6, r5, 0
- muls r6, r0
- ldr r1, =gEnemyParty
- adds r0, r6, r1
- ldr r3, =gFacilityTrainerMons
- ldr r2, [r3]
- mov r1, r9
- lsls r4, r1, 4
- adds r2, r4, r2
- ldrh r1, [r2]
- ldrb r3, [r2, 0xC]
- mov r10, r3
- ldr r3, [sp, 0x18]
- str r3, [sp]
- ldrb r2, [r2, 0xB]
- str r2, [sp, 0x4]
- mov r2, r8
- str r2, [sp, 0x8]
- ldr r2, [sp, 0x14]
- mov r3, r10
- bl CreateMonWithEVSpreadPersonalityOTID
- movs r1, 0
- add r0, sp, 0xC
- strb r1, [r0]
- movs r3, 0
- adds r7, 0x1
- mov r10, r7
- adds r7, r4, 0
-_08163718:
- ldr r0, =gFacilityTrainerMons
- ldr r1, [r0]
- mov r2, r9
- lsls r0, r2, 4
- adds r0, r1
- lsls r1, r3, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r1, [r0]
- ldr r2, =gEnemyParty
- adds r0, r6, r2
- adds r2, r3, 0
- str r3, [sp, 0x1C]
- bl SetMonMoveAvoidReturn
- ldr r3, [sp, 0x1C]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _08163718
- movs r3, 0x64
- adds r4, r5, 0
- muls r4, r3
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- ldr r1, =gFacilityTrainerMons
- ldr r0, [r1]
- adds r0, r7, r0
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r2, r10
- lsls r0, r2, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _081636CE
-_08163776:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81635D4
- thumb_func_start sub_816379C
-sub_816379C: @ 816379C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0xA]
- mov r9, r0
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- mov r2, r9
- orrs r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- orrs r2, r0
- mov r9, r2
- movs r7, 0
- mov r8, r7
-_081637D0:
- ldr r1, =gUnknown_03006298
- mov r2, r8
- lsls r0, r2, 1
- adds r0, r1
- ldrh r4, [r0]
- ldr r5, [sp, 0x10]
- add r5, r8
- movs r7, 0x64
- adds r6, r5, 0
- muls r6, r7
- ldr r1, =gEnemyParty
- adds r0, r6, r1
- ldr r7, =gFacilityTrainerMons
- ldr r2, [r7]
- lsls r4, 4
- adds r2, r4, r2
- ldrh r1, [r2]
- ldrb r3, [r2, 0xC]
- movs r7, 0
- str r7, [sp]
- ldrb r2, [r2, 0xB]
- str r2, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- movs r2, 0x1E
- bl CreateMonWithEVSpreadPersonalityOTID
- movs r1, 0
- add r0, sp, 0xC
- strb r1, [r0]
- mov r10, r5
- mov r0, r8
- adds r0, 0x1
- str r0, [sp, 0x14]
- mov r8, r4
- mov r5, r8
-_08163818:
- ldr r1, =gFacilityTrainerMons
- ldr r0, [r1]
- adds r0, r5, r0
- lsls r4, r7, 1
- adds r0, 0x2
- adds r0, r4
- ldrh r1, [r0]
- ldr r2, =gEnemyParty
- adds r0, r6, r2
- adds r2, r7, 0
- bl SetMonMoveAvoidReturn
- ldr r1, =gFacilityTrainerMons
- ldr r0, [r1]
- adds r0, r5, r0
- adds r0, 0x2
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0xDA
- bne _08163846
- movs r1, 0
- add r0, sp, 0xC
- strb r1, [r0]
-_08163846:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _08163818
- movs r2, 0x64
- mov r4, r10
- muls r4, r2
- ldr r7, =gEnemyParty
- adds r4, r7
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- ldr r1, =gFacilityTrainerMons
- ldr r0, [r1]
- add r0, r8
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- ldr r2, [sp, 0x14]
- lsls r0, r2, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x2
- bls _081637D0
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816379C
- thumb_func_start ConvertBattleFrontierTrainerSpeechToString
-ConvertBattleFrontierTrainerSpeechToString: @ 81638AC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- movs r3, 0x2
- bl ConvertEasyChatWordsToString
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- adds r1, r4, 0
- bl GetStringWidth
- cmp r0, 0xCC
- bls _0816390A
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertEasyChatWordsToString
- ldrb r0, [r4]
- movs r1, 0x1
- cmp r0, 0xFE
- beq _081638EE
- adds r2, r4, 0
-_081638E4:
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r1, 0x1
- cmp r0, 0xFE
- bne _081638E4
-_081638EE:
- ldr r2, =gStringVar4
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r2, 0
- cmp r0, 0xFE
- beq _08163904
-_081638FA:
- adds r1, 0x1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFE
- bne _081638FA
-_08163904:
- adds r1, r3
- movs r0, 0xFA
- strb r0, [r1]
-_0816390A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ConvertBattleFrontierTrainerSpeechToString
thumb_func_start sub_8163914
sub_8163914: @ 8163914
@@ -3118,7 +618,7 @@ sub_8163EE4: @ 8163EE4
ldrb r0, [r2, 0x8]
cmp r0, 0
beq _08163F40
- ldr r4, =gUnknown_085DCEFA
+ ldr r4, =gTowerFemaleFacilityClasses
ldrb r0, [r2, 0xA]
ldrb r1, [r2, 0xB]
adds r0, r1
@@ -3130,7 +630,7 @@ sub_8163EE4: @ 8163EE4
b _08163F52
.pool
_08163F40:
- ldr r4, =gUnknown_085DCEDC
+ ldr r4, =gTowerMaleFacilityClasses
ldrb r0, [r2, 0xA]
ldrb r1, [r2, 0xB]
adds r0, r1
@@ -3650,7 +1150,7 @@ _0816438C:
adds r0, r1
ldrh r0, [r0]
mov r8, r0
- bl sub_81627A4
+ bl GetBattleFacilityTrainerGfxId
ldr r4, [sp, 0x40]
strb r0, [r4, 0x19]
movs r7, 0
@@ -3841,7 +1341,7 @@ _081644E0:
adds r4, r5
strh r0, [r4]
ldrh r0, [r4]
- bl sub_81627A4
+ bl GetBattleFacilityTrainerGfxId
ldr r1, [sp, 0x24]
adds r1, 0xA8
strb r0, [r1, 0x1]
@@ -4003,7 +1503,7 @@ _08164660:
adds r4, r5
strh r0, [r4]
ldrh r0, [r4]
- bl sub_81627A4
+ bl GetBattleFacilityTrainerGfxId
ldr r1, [sp, 0x24]
adds r1, 0xC0
strb r0, [r1, 0x1]
@@ -4223,7 +1723,7 @@ _08164884:
cmp r1, 0x31
bhi _0816489A
lsrs r0, r6, 16
- bl sub_8162D34
+ bl GetFrontierTrainerFacilityClass
lsls r0, 24
lsrs r0, 24
ldr r1, [r4]
@@ -4739,10 +2239,10 @@ _08164D14:
strh r0, [r4]
ldrh r0, [r2]
movs r1, 0
- bl sub_8162614
+ bl SetBattleFacilityTrainerGfxId
ldrh r0, [r4]
movs r1, 0x1
- bl sub_8162614
+ bl SetBattleFacilityTrainerGfxId
ldr r0, =gReceivedRemoteLinkPlayers
ldrb r0, [r0]
cmp r0, 0
@@ -4805,7 +2305,7 @@ sub_8164DE4: @ 8164DE4
adds r0, r1
ldrh r0, [r0]
movs r1, 0xF
- bl sub_8162614
+ bl SetBattleFacilityTrainerGfxId
pop {r0}
bx r0
.pool
@@ -5234,7 +2734,7 @@ sub_816515C: @ 816515C
adds r5, r1, 0
cmp r0, 0
beq _08165194
- ldr r4, =gUnknown_085DCEFA
+ ldr r4, =gTowerFemaleFacilityClasses
ldrb r0, [r2, 0xA]
ldrb r1, [r2, 0xB]
adds r0, r1
@@ -5246,7 +2746,7 @@ sub_816515C: @ 816515C
b _081651A6
.pool
_08165194:
- ldr r4, =gUnknown_085DCEDC
+ ldr r4, =gTowerMaleFacilityClasses
ldrb r0, [r2, 0xA]
ldrb r1, [r2, 0xB]
adds r0, r1
@@ -5716,7 +3216,7 @@ _0816556C:
lsrs r0, 24
str r0, [sp, 0x50]
adds r0, r7, 0
- bl sub_8165D08
+ bl GetFrontierTrainerFixedIvs
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x4C]
@@ -5866,7 +3366,7 @@ _0816567E:
add r2, sp, 0x10
bl SetMonData
adds r0, r7, 0
- bl sub_8162F68
+ bl IsFrontierTrainerFemale
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x44]
@@ -5981,7 +3481,7 @@ _0816579C:
adds r0, r7, r2
lsls r0, 16
lsrs r0, 16
- bl sub_8162F68
+ bl IsFrontierTrainerFemale
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x44]
@@ -6037,7 +3537,7 @@ _08165812:
adds r0, r7, r3
lsls r0, 16
lsrs r0, 16
- bl sub_8162F68
+ bl IsFrontierTrainerFemale
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x44]
@@ -6666,8 +4166,8 @@ _08165CF4:
.pool
thumb_func_end sub_8165CB4
- thumb_func_start sub_8165D08
-sub_8165D08: @ 8165D08
+ thumb_func_start GetFrontierTrainerFixedIvs
+GetFrontierTrainerFixedIvs: @ 8165D08
push {lr}
lsls r0, 16
lsrs r0, 16
@@ -6697,7 +4197,7 @@ _08165D3A:
adds r0, r1, 0
pop {r1}
bx r1
- thumb_func_end sub_8165D08
+ thumb_func_end GetFrontierTrainerFixedIvs
thumb_func_start sub_8165D40
sub_8165D40: @ 8165D40
@@ -6831,7 +4331,7 @@ _08165E58:
strh r4, [r5]
ldrh r0, [r5]
movs r1, 0
- bl sub_8162614
+ bl SetBattleFacilityTrainerGfxId
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r2, =0x00000cb2
@@ -7121,7 +4621,7 @@ sub_81660B8: @ 81660B8
lsls r0, 24
lsrs r2, r0, 24
movs r1, 0
- ldr r3, =gUnknown_085DCEDC
+ ldr r3, =gTowerMaleFacilityClasses
ldrb r0, [r3]
cmp r0, r2
beq _081660DA
@@ -7138,12 +4638,12 @@ _081660C8:
_081660DA:
cmp r1, 0x1E
beq _081660EC
- ldr r0, =gUnknown_085DCF0E
+ ldr r0, =gTowerMaleTrainerGfxIds
b _08166116
.pool
_081660EC:
movs r1, 0
- ldr r3, =gUnknown_085DCEFA
+ ldr r3, =gTowerFemaleFacilityClasses
ldrb r0, [r3]
cmp r0, r2
beq _08166108
@@ -7164,7 +4664,7 @@ _08166108:
b _0816611A
.pool
_08166114:
- ldr r0, =gUnknown_085DCF2C
+ ldr r0, =gTowerFemaleTrainerGfxIds
_08166116:
adds r0, r1, r0
ldrb r0, [r0]