summaryrefslogtreecommitdiff
path: root/asm/battle_setup.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_setup.s')
-rw-r--r--asm/battle_setup.s3550
1 files changed, 0 insertions, 3550 deletions
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
deleted file mode 100644
index f77e7a5d0..000000000
--- a/asm/battle_setup.s
+++ /dev/null
@@ -1,3550 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start task01_battle_start
-task01_battle_start: @ 80B05F0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B0614
- cmp r0, 0x1
- beq _080B062E
- b _080B0652
- .pool
-_080B0614:
- bl c3_80A0DD8_is_running
- cmp r0, 0
- bne _080B0652
- ldrb r0, [r4, 0x2]
- bl sub_8145EF4
- bl sub_81BE72C
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080B0652
-_080B062E:
- bl IsBattleTransitionDone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B0652
- bl overworld_free_bg_tilemaps
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
- bl prev_quest_postbuffer_cursor_backup_reset
- bl overworld_poison_timer_set
- adds r0, r5, 0
- bl DestroyTask
-_080B0652:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task01_battle_start
-
- thumb_func_start task_add_01_battle_start
-task_add_01_battle_start: @ 80B065C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =task01_battle_start
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- adds r0, r5, 0
- bl PlayMapChosenOrBattleBGM
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_add_01_battle_start
-
- thumb_func_start BattleSetup_StartWildBattle
-BattleSetup_StartWildBattle: @ 80B0698
- push {lr}
- bl GetSafariZoneFlag
- cmp r0, 0
- beq _080B06A8
- bl sub_80B077C
- b _080B06AC
-_080B06A8:
- bl sub_80B06BC
-_080B06AC:
- pop {r0}
- bx r0
- thumb_func_end BattleSetup_StartWildBattle
-
- thumb_func_start BattleSetup_StartBattlePikeWildBattle
-BattleSetup_StartBattlePikeWildBattle: @ 80B06B0
- push {lr}
- bl sub_80B07B4
- pop {r0}
- bx r0
- thumb_func_end BattleSetup_StartBattlePikeWildBattle
-
- thumb_func_start sub_80B06BC
-sub_80B06BC: @ 80B06BC
- push {r4,lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_808BCF4
- ldr r1, =gMain
- ldr r0, =sub_80B0AF8
- str r0, [r1, 0x8]
- ldr r4, =gBattleTypeFlags
- movs r0, 0
- str r0, [r4]
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B06F2
- ldr r0, =0x0000400e
- movs r1, 0
- bl VarSet
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 14
- orrs r0, r1
- str r0, [r4]
-_080B06F2:
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B06BC
-
- thumb_func_start BattleSetup_StartRoamerBattle
-BattleSetup_StartRoamerBattle: @ 80B072C
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_808BCF4
- ldr r1, =gMain
- ldr r0, =sub_80B0AF8
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 3
- str r0, [r1]
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleSetup_StartRoamerBattle
-
- thumb_func_start sub_80B077C
-sub_80B077C: @ 80B077C
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_808BCF4
- ldr r1, =gMain
- ldr r0, =sub_80FC190
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0x80
- str r0, [r1]
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B077C
-
- thumb_func_start sub_80B07B4
-sub_80B07B4: @ 80B07B4
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_808BCF4
- ldr r1, =gMain
- ldr r0, =sub_80B0AF8
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 13
- str r0, [r1]
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B07B4
-
- thumb_func_start task_add_01_battle_start_with_music_and_stats
-task_add_01_battle_start_with_music_and_stats: @ 80B0804
- push {lr}
- bl reads_trainer_data_byte1_byte0x18
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x9
- bl IncrementGameStat
- bl sub_80B1234
- pop {r0}
- bx r0
- thumb_func_end task_add_01_battle_start_with_music_and_stats
-
- thumb_func_start sub_80B0828
-sub_80B0828: @ 80B0828
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B0846
- movs r0, 0xA
- bl sub_80B100C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- b _080B0856
-_080B0846:
- movs r0, 0xB
- bl sub_80B100C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
-_080B0856:
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x9
- bl IncrementGameStat
- bl sub_80B1234
- pop {r0}
- bx r0
- thumb_func_end sub_80B0828
-
- thumb_func_start sub_80B086C
-sub_80B086C: @ 80B086C
- push {lr}
- ldr r0, =gEnemyParty
- movs r1, 0xC4
- lsls r1, 1
- movs r2, 0x5
- bl CreateMaleMon
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 2
- str r0, [r1]
- movs r0, 0x8
- movs r1, 0
- bl task_add_01_battle_start
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B086C
-
- thumb_func_start BattleSetup_StartScriptedWildBattle
-BattleSetup_StartScriptedWildBattle: @ 80B08A8
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =sub_80B0B6C
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleSetup_StartScriptedWildBattle
-
- thumb_func_start sub_80B08EC
-sub_80B08EC: @ 80B08EC
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =sub_80B0B6C
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 6
- str r0, [r1]
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B08EC
-
- thumb_func_start sub_80B0934
-sub_80B0934: @ 80B0934
- push {r4,lr}
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =sub_80B0B6C
- str r0, [r1, 0x8]
- ldr r4, =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 6
- str r0, [r4]
- ldr r0, =gEnemyParty
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0xCA
- lsls r0, 1
- cmp r1, r0
- beq _080B09B8
- cmp r1, r0
- bhi _080B0988
- cmp r1, 0x97
- beq _080B09F4
- cmp r1, 0x97
- bcc _080B099A
- cmp r1, 0xFA
- bhi _080B099A
- cmp r1, 0xF9
- bcc _080B099A
- ldr r1, =0x00000229
- b _080B09E6
- .pool
-_080B0988:
- movs r0, 0xCB
- lsls r0, 1
- cmp r1, r0
- beq _080B09CE
- cmp r1, r0
- bcc _080B099A
- adds r0, 0x4
- cmp r1, r0
- beq _080B09E4
-_080B099A:
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 21
- orrs r0, r1
- str r0, [r2]
- movs r1, 0xF0
- lsls r1, 1
- movs r0, 0x17
- bl task_add_01_battle_start
- b _080B09FE
- .pool
-_080B09B8:
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 22
- orrs r0, r1
- str r0, [r4]
- movs r1, 0xF0
- lsls r1, 1
- movs r0, 0x16
- bl task_add_01_battle_start
- b _080B09FE
-_080B09CE:
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 23
- orrs r0, r1
- str r0, [r4]
- movs r1, 0xEB
- lsls r1, 1
- movs r0, 0x18
- bl task_add_01_battle_start
- b _080B09FE
-_080B09E4:
- ldr r1, =0x00000227
-_080B09E6:
- movs r0, 0
- bl task_add_01_battle_start
- b _080B09FE
- .pool
-_080B09F4:
- movs r1, 0xEC
- lsls r1, 1
- movs r0, 0xA
- bl task_add_01_battle_start
-_080B09FE:
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B0934
-
- thumb_func_start sub_80B0A18
-sub_80B0A18: @ 80B0A18
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =sub_80B0B6C
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0xC0
- lsls r0, 6
- str r0, [r1]
- ldr r0, =gGameVersion
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080B0A50
- movs r1, 0xF0
- lsls r1, 1
- movs r0, 0xB
- bl task_add_01_battle_start
- b _080B0A5A
- .pool
-_080B0A50:
- movs r1, 0xF0
- lsls r1, 1
- movs r0, 0x6
- bl task_add_01_battle_start
-_080B0A5A:
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- thumb_func_end sub_80B0A18
-
- thumb_func_start sub_80B0A74
-sub_80B0A74: @ 80B0A74
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =sub_80B0B6C
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0xC0
- lsls r0, 7
- str r0, [r1]
- ldr r0, =gEnemyParty
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0xC9
- lsls r0, 1
- cmp r1, r0
- beq _080B0ACC
- cmp r1, r0
- bgt _080B0ABC
- subs r0, 0x1
- cmp r1, r0
- beq _080B0AC8
- b _080B0AD4
- .pool
-_080B0ABC:
- ldr r0, =0x00000193
- cmp r2, r0
- beq _080B0AD0
- b _080B0AD4
- .pool
-_080B0AC8:
- movs r0, 0x15
- b _080B0AD6
-_080B0ACC:
- movs r0, 0x13
- b _080B0AD6
-_080B0AD0:
- movs r0, 0x14
- b _080B0AD6
-_080B0AD4:
- movs r0, 0xA
-_080B0AD6:
- ldr r1, =0x000001df
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B0A74
-
- thumb_func_start sub_80B0AF8
-sub_80B0AF8: @ 80B0AF8
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, =0x01000100
- mov r0, sp
- bl CpuSet
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- bl battle_exit_is_player_defeat
- cmp r0, 0x1
- bne _080B0B4C
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B0B4C
- bl InBattlePike
- lsls r0, 24
- cmp r0, 0
- bne _080B0B4C
- ldr r0, =c2_whiteout
- bl SetMainCallback2
- b _080B0B58
- .pool
-_080B0B4C:
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF6F0
- str r0, [r1]
-_080B0B58:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B0AF8
-
- thumb_func_start sub_80B0B6C
-sub_80B0B6C: @ 80B0B6C
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, =0x01000100
- mov r0, sp
- bl CpuSet
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- bl battle_exit_is_player_defeat
- cmp r0, 0x1
- bne _080B0BC0
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B0BB4
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- b _080B0BC6
- .pool
-_080B0BB4:
- ldr r0, =c2_whiteout
- bl SetMainCallback2
- b _080B0BC6
- .pool
-_080B0BC0:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
-_080B0BC6:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B0B6C
-
- thumb_func_start BattleSetup_GetTerrainId
-BattleSetup_GetTerrainId: @ 80B0BD0
- push {r4,r5,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsTallGrass
- lsls r0, 24
- cmp r0, 0
- beq _080B0C06
- movs r0, 0
- b _080B0D1A
-_080B0C06:
- adds r0, r4, 0
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _080B0C16
- movs r0, 0x1
- b _080B0D1A
-_080B0C16:
- adds r0, r4, 0
- bl MetatileBehavior_IsSandOrDeepSand
- lsls r0, 24
- cmp r0, 0
- bne _080B0D18
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- subs r0, 0x1
- cmp r0, 0x8
- bhi _080B0C9C
- lsls r0, 2
- ldr r1, =_080B0C40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B0C40:
- .4byte _080B0C9C
- .4byte _080B0C9C
- .4byte _080B0C9C
- .4byte _080B0C64
- .4byte _080B0C88
- .4byte _080B0C8C
- .4byte _080B0C9C
- .4byte _080B0C74
- .4byte _080B0C74
-_080B0C64:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsMB_0B
- lsls r0, 24
- cmp r0, 0
- beq _080B0C78
-_080B0C74:
- movs r0, 0x8
- b _080B0D1A
-_080B0C78:
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _080B0CE0
- movs r0, 0x7
- b _080B0D1A
-_080B0C88:
- movs r0, 0x3
- b _080B0D1A
-_080B0C8C:
- lsls r0, r5, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _080B0CF2
- b _080B0D10
-_080B0C9C:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsDeepOrOceanWater
- lsls r0, 24
- cmp r0, 0
- bne _080B0CF2
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _080B0CE0
- adds r0, r4, 0
- bl MetatileBehavior_IsMountain
- lsls r0, 24
- cmp r0, 0
- beq _080B0CC8
- movs r0, 0x6
- b _080B0D1A
-_080B0CC8:
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080B0CF6
- adds r0, r4, 0
- bl MetatileBehavior_GetBridgeSth
- lsls r0, 24
- cmp r0, 0
- beq _080B0CE4
-_080B0CE0:
- movs r0, 0x5
- b _080B0D1A
-_080B0CE4:
- adds r0, r4, 0
- bl MetatileBehavior_IsBridge
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B0CF6
-_080B0CF2:
- movs r0, 0x4
- b _080B0D1A
-_080B0CF6:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xE0
- lsls r0, 5
- cmp r1, r0
- beq _080B0D18
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- beq _080B0D18
-_080B0D10:
- movs r0, 0x9
- b _080B0D1A
- .pool
-_080B0D18:
- movs r0, 0x2
-_080B0D1A:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end BattleSetup_GetTerrainId
-
- thumb_func_start sub_80B0D24
-sub_80B0D24: @ 80B0D24
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r4, r0, 16
- bl sav1_get_flash_used_on_map
- lsls r0, 24
- cmp r0, 0
- beq _080B0D54
- movs r0, 0x2
- b _080B0D7E
-_080B0D54:
- lsls r0, r4, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _080B0D7C
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x4
- beq _080B0D78
- cmp r0, 0x5
- beq _080B0D7C
- movs r0, 0
- b _080B0D7E
- .pool
-_080B0D78:
- movs r0, 0x1
- b _080B0D7E
-_080B0D7C:
- movs r0, 0x3
-_080B0D7E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B0D24
-
- thumb_func_start sub_80B0D88
-sub_80B0D88: @ 80B0D88
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r7, 0
- movs r6, 0
-_080B0D92:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _080B0DD6
- cmp r1, 0
- beq _080B0DD6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080B0DD6
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- adds r0, r7, r0
- lsls r0, 24
- lsrs r7, r0, 24
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080B0DDC
-_080B0DD6:
- adds r6, 0x1
- cmp r6, 0x5
- ble _080B0D92
-_080B0DDC:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B0D88
-
- thumb_func_start reads_trainer_data_byte0
-reads_trainer_data_byte0: @ 80B0DE8
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r5, =gTrainers
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r5
- adds r0, r2, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, r4
- bcs _080B0E08
- adds r4, r0, 0
-_080B0E08:
- movs r3, 0
- ldrb r0, [r2]
- cmp r0, 0x1
- beq _080B0E50
- cmp r0, 0x1
- bgt _080B0E20
- cmp r0, 0
- beq _080B0E2A
- b _080B0EC0
- .pool
-_080B0E20:
- cmp r0, 0x2
- beq _080B0E76
- cmp r0, 0x3
- beq _080B0E9C
- b _080B0EC0
-_080B0E2A:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _080B0EC0
-_080B0E38:
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _080B0E38
- b _080B0EC0
-_080B0E50:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _080B0EC0
-_080B0E5E:
- lsls r0, r2, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _080B0E5E
- b _080B0EC0
-_080B0E76:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _080B0EC0
-_080B0E84:
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _080B0E84
- b _080B0EC0
-_080B0E9C:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _080B0EC0
-_080B0EAA:
- lsls r0, r2, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _080B0EAA
-_080B0EC0:
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end reads_trainer_data_byte0
-
- thumb_func_start sub_80B0EC8
-sub_80B0EC8: @ 80B0EC8
- push {r4-r6,lr}
- bl sub_80B0D24
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, =gEnemyParty
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_80B0D88
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcs _080B0F10
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B0F04
- movs r0, 0
- b _080B0F2E
- .pool
-_080B0F04:
- ldr r0, =gUnknown_0854FE88
- lsls r1, r5, 1
- b _080B0F20
- .pool
-_080B0F10:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B0F2C
- ldr r0, =gUnknown_0854FE88
- lsls r1, r6, 1
- adds r0, 0x1
-_080B0F20:
- adds r1, r0
- ldrb r0, [r1]
- b _080B0F2E
- .pool
-_080B0F2C:
- movs r0, 0xA
-_080B0F2E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B0EC8
-
- thumb_func_start reads_trainer_data_byte1_byte0x18
-reads_trainer_data_byte1_byte0x18: @ 80B0F34
- push {r4-r6,lr}
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r1, [r4]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _080B0F98
- ldr r1, =gTrainers
- ldrh r2, [r4]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x1]
- cmp r1, 0x1F
- bne _080B0F94
- adds r1, r2, 0
- ldr r0, =0x00000105
- cmp r1, r0
- bne _080B0F6C
- movs r0, 0xC
- b _080B1000
- .pool
-_080B0F6C:
- movs r0, 0x83
- lsls r0, 1
- cmp r1, r0
- bne _080B0F78
- movs r0, 0xD
- b _080B1000
-_080B0F78:
- ldr r0, =0x00000107
- cmp r1, r0
- bne _080B0F88
- movs r0, 0xE
- b _080B1000
- .pool
-_080B0F88:
- movs r0, 0x84
- lsls r0, 1
- cmp r1, r0
- bne _080B0F98
- movs r0, 0xF
- b _080B1000
-_080B0F94:
- cmp r1, 0x26
- bne _080B0F9C
-_080B0F98:
- movs r0, 0x10
- b _080B1000
-_080B0F9C:
- cmp r1, 0x9
- beq _080B0FA8
- cmp r1, 0x35
- beq _080B0FA8
- cmp r1, 0x31
- bne _080B0FAC
-_080B0FA8:
- movs r0, 0x12
- b _080B1000
-_080B0FAC:
- cmp r1, 0x3
- beq _080B0FB8
- cmp r1, 0xD
- beq _080B0FB8
- cmp r1, 0xB
- bne _080B0FBC
-_080B0FB8:
- movs r0, 0x11
- b _080B1000
-_080B0FBC:
- ldrb r0, [r0, 0x18]
- movs r5, 0x1
- cmp r0, 0x1
- bne _080B0FC6
- movs r5, 0x2
-_080B0FC6:
- bl sub_80B0D24
- lsls r0, 24
- lsrs r6, r0, 24
- ldrh r0, [r4]
- adds r1, r5, 0
- bl reads_trainer_data_byte0
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_80B0D88
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _080B0FF8
- ldr r0, =gUnknown_0854FE90
- lsls r1, r6, 1
- adds r0, 0x1
- b _080B0FFC
- .pool
-_080B0FF8:
- ldr r0, =gUnknown_0854FE90
- lsls r1, r6, 1
-_080B0FFC:
- adds r1, r0
- ldrb r0, [r1]
-_080B1000:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end reads_trainer_data_byte1_byte0x18
-
- thumb_func_start sub_80B100C
-sub_80B100C: @ 80B100C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gEnemyParty
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_80B0D88
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcs _080B1090
- cmp r5, 0xA
- beq _080B1048
- cmp r5, 0xA
- bgt _080B1040
- cmp r5, 0x3
- beq _080B105C
- b _080B106C
- .pool
-_080B1040:
- cmp r5, 0xD
- bgt _080B106C
- movs r0, 0x4
- b _080B1120
-_080B1048:
- ldr r4, =gUnknown_0854FEA4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- b _080B1114
- .pool
-_080B105C:
- ldr r4, =gUnknown_0854FEA7
- bl Random
- ands r5, r0
- lsls r0, r5, 16
- b _080B111A
- .pool
-_080B106C:
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- beq _080B10EC
- ldr r4, =gUnknown_0854FE98
- bl Random
- lsls r0, 16
- lsrs r0, 16
- b _080B1112
- .pool
-_080B1090:
- cmp r5, 0xA
- beq _080B10A6
- cmp r5, 0xA
- bgt _080B109E
- cmp r5, 0x3
- beq _080B10B8
- b _080B10C8
-_080B109E:
- cmp r5, 0xD
- bgt _080B10C8
- movs r0, 0x3
- b _080B1120
-_080B10A6:
- ldr r4, =gUnknown_0854FEA4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- b _080B1114
- .pool
-_080B10B8:
- ldr r4, =gUnknown_0854FEA7
- bl Random
- ands r5, r0
- lsls r0, r5, 16
- b _080B111A
- .pool
-_080B10C8:
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- beq _080B10EC
- ldr r4, =gUnknown_0854FE98
- bl Random
- lsls r0, 16
- lsrs r0, 16
- b _080B1112
- .pool
-_080B10EC:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r2, r0, 2
- ldr r3, =0x00000cb4
- adds r1, r3
- adds r2, r1, r2
- lsls r0, 1
- adds r0, 0x1
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gUnknown_0854FE98
-_080B1112:
- movs r1, 0xC
-_080B1114:
- bl __umodsi3
- lsls r0, 16
-_080B111A:
- lsrs r0, 16
- adds r0, r4
- ldrb r0, [r0]
-_080B1120:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B100C
-
- thumb_func_start sub_80B1138
-sub_80B1138: @ 80B1138
- push {lr}
- ldr r0, =CB2_ChooseStarter
- bl SetMainCallback2
- ldr r1, =gMain
- ldr r0, =sub_80B1158
- str r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1138
-
- thumb_func_start sub_80B1158
-sub_80B1158: @ 80B1158
- push {lr}
- sub sp, 0x8
- ldr r0, =0x00004023
- bl GetVarPointer
- ldr r2, =gSpecialVar_Result
- ldrh r1, [r2]
- strh r1, [r0]
- ldrh r0, [r2]
- bl GetStarterPokemon
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x5
- movs r2, 0
- movs r3, 0
- bl ScriptGiveMon
- bl ResetTasks
- bl PlayBattleBGM
- ldr r0, =sub_80B11A8
- bl SetMainCallback2
- movs r0, 0
- bl sub_8145F10
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1158
-
- thumb_func_start sub_80B11A8
-sub_80B11A8: @ 80B11A8
- push {lr}
- bl UpdatePaletteFade
- bl RunTasks
- bl IsBattleTransitionDone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B11F0
- ldr r1, =gBattleTypeFlags
- movs r0, 0x10
- str r0, [r1]
- ldr r1, =gMain
- ldr r0, =sub_80B1204
- str r0, [r1, 0x8]
- bl FreeAllWindowBuffers
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
- bl prev_quest_postbuffer_cursor_backup_reset
- bl overworld_poison_timer_set
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
-_080B11F0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B11A8
-
- thumb_func_start sub_80B1204
-sub_80B1204: @ 80B1204
- push {lr}
- bl sav1_reset_battle_music_maybe
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1204
-
- thumb_func_start sub_80B1218
-sub_80B1218: @ 80B1218
- push {lr}
- movs r0, 0x8
- bl GetGameStat
- movs r1, 0x3C
- bl __umodsi3
- cmp r0, 0
- bne _080B122E
- bl sub_81DA57C
-_080B122E:
- pop {r0}
- bx r0
- thumb_func_end sub_80B1218
-
- thumb_func_start sub_80B1234
-sub_80B1234: @ 80B1234
- push {lr}
- movs r0, 0x9
- bl GetGameStat
- movs r1, 0x14
- bl __umodsi3
- cmp r0, 0
- bne _080B124A
- bl sub_81DA57C
-_080B124A:
- pop {r0}
- bx r0
- thumb_func_end sub_80B1234
-
- thumb_func_start TrainerBattleLoadArg32
-@ u32 TrainerBattleLoadArg32(u8 *arg)
-TrainerBattleLoadArg32: @ 80B1250
- adds r2, r0, 0
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- orrs r0, r1
- ldrb r1, [r2, 0x2]
- lsls r1, 16
- orrs r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 24
- orrs r0, r1
- bx lr
- thumb_func_end TrainerBattleLoadArg32
-
- thumb_func_start TrainerBattleLoadArg16
-@ u16 TrainerBattleLoadArg16(u8 *arg)
-TrainerBattleLoadArg16: @ 80B1268
- adds r1, r0, 0
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- lsls r1, 8
- orrs r0, r1
- bx lr
- thumb_func_end TrainerBattleLoadArg16
-
- thumb_func_start TrainerBattleLoadArg8
-@ u8 TrainerBattleLoadArg8(u8 *arg)
-TrainerBattleLoadArg8: @ 80B1274
- ldrb r0, [r0]
- bx lr
- thumb_func_end TrainerBattleLoadArg8
-
- thumb_func_start trainerflag_opponent
-trainerflag_opponent: @ 80B1278
- ldr r1, =gTrainerBattleOpponent_A
- movs r2, 0xA0
- lsls r2, 3
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .pool
- thumb_func_end trainerflag_opponent
-
- thumb_func_start sub_80B1290
-sub_80B1290: @ 80B1290
- ldr r1, =gTrainerBattleOpponent_B
- movs r2, 0xA0
- lsls r2, 3
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .pool
- thumb_func_end sub_80B1290
-
- thumb_func_start battle_exit_is_player_defeat
-battle_exit_is_player_defeat: @ 80B12A8
- push {lr}
- subs r0, 0x1
- cmp r0, 0x6
- bhi _080B12E0
- lsls r0, 2
- ldr r1, =_080B12C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B12C0:
- .4byte _080B12E0
- .4byte _080B12DC
- .4byte _080B12DC
- .4byte _080B12E0
- .4byte _080B12E0
- .4byte _080B12E0
- .4byte _080B12E0
-_080B12DC:
- movs r0, 0x1
- b _080B12E2
-_080B12E0:
- movs r0, 0
-_080B12E2:
- pop {r1}
- bx r1
- thumb_func_end battle_exit_is_player_defeat
-
- thumb_func_start ResetTrainerOpponentIds
-ResetTrainerOpponentIds: @ 80B12E8
- ldr r0, =gTrainerBattleOpponent_A
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gTrainerBattleOpponent_B
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end ResetTrainerOpponentIds
-
- thumb_func_start InitTrainerBattleVariables
-@ void InitTrainerBattleVariables()
-InitTrainerBattleVariables: @ 80B12FC
- push {lr}
- ldr r0, =gUnknown_02038BC8
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_02038BFC
- ldrb r1, [r0]
- cmp r1, 0
- bne _080B132C
- ldr r0, =gUnknown_02038BD4
- str r1, [r0]
- ldr r0, =gUnknown_02038BDC
- str r1, [r0]
- ldr r0, =gUnknown_02038BF0
- b _080B1338
- .pool
-_080B132C:
- ldr r0, =gUnknown_02038BD8
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_02038BE0
- str r1, [r0]
- ldr r0, =gUnknown_02038BF4
-_080B1338:
- str r1, [r0]
- ldr r1, =gUnknown_02038BD0
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gUnknown_02038BE4
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_02038BE8
- str r1, [r0]
- ldr r0, =gUnknown_02038BEC
- str r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitTrainerBattleVariables
-
- thumb_func_start TrainerBattleLoadArgs
-@ void TrainerBattleLoadArgs(struct TrainerBattleArgSpec *argSpecs, u8 *args)
-TrainerBattleLoadArgs: @ 80B1370
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
-_080B1376:
- ldrb r0, [r4, 0x4]
- cmp r0, 0x6
- bhi _080B13E8
- lsls r0, 2
- ldr r1, =_080B138C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B138C:
- .4byte _080B13A8
- .4byte _080B13B6
- .4byte _080B13C4
- .4byte _080B13D2
- .4byte _080B13DA
- .4byte _080B13E2
- .4byte _080B13EC
-_080B13A8:
- adds r0, r5, 0
- bl TrainerBattleLoadArg8
- ldr r1, [r4]
- strb r0, [r1]
- adds r5, 0x1
- b _080B13E8
-_080B13B6:
- adds r0, r5, 0
- bl TrainerBattleLoadArg16
- ldr r1, [r4]
- strh r0, [r1]
- adds r5, 0x2
- b _080B13E8
-_080B13C4:
- adds r0, r5, 0
- bl TrainerBattleLoadArg32
- ldr r1, [r4]
- str r0, [r1]
- adds r5, 0x4
- b _080B13E8
-_080B13D2:
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1]
- b _080B13E8
-_080B13DA:
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1]
- b _080B13E8
-_080B13E2:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
-_080B13E8:
- adds r4, 0x8
- b _080B1376
-_080B13EC:
- ldr r0, [r4]
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end TrainerBattleLoadArgs
-
- thumb_func_start battle_80801F0
-battle_80801F0: @ 80B13F8
- push {lr}
- ldr r0, =gUnknown_02038BD0
- ldrh r1, [r0]
- cmp r1, 0
- beq _080B141A
- ldr r0, =gSpecialVar_LastTalked
- strh r1, [r0]
- lsls r0, r1, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl GetFieldObjectIdByLocalIdAndMap
- ldr r1, =gSelectedMapObject
- strb r0, [r1]
-_080B141A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end battle_80801F0
-
- thumb_func_start BattleSetup_ConfigureTrainerBattle
-@ u8 *BattleSetup_ConfigureTrainerBattle(u8 *args)
-BattleSetup_ConfigureTrainerBattle: @ 80B1430
- push {r4,r5,lr}
- adds r5, r0, 0
- bl InitTrainerBattleVariables
- ldr r4, =gUnknown_02038BC8
- adds r0, r5, 0
- bl TrainerBattleLoadArg8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldrh r0, [r4]
- subs r0, 0x1
- cmp r0, 0xB
- bls _080B1450
- b _080B15F4
-_080B1450:
- lsls r0, 2
- ldr r1, =_080B1464
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B1464:
- .4byte _080B14CC
- .4byte _080B14B0
- .4byte _080B1494
- .4byte _080B14A8
- .4byte _080B1514
- .4byte _080B14D4
- .4byte _080B14EC
- .4byte _080B14D4
- .4byte _080B153C
- .4byte _080B1590
- .4byte _080B1598
- .4byte _080B15A8
-_080B1494:
- ldr r0, =gUnknown_0854FF84
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- ldr r0, =EventScript_2713C2
- b _080B161E
- .pool
-_080B14A8:
- ldr r0, =gUnknown_0854FF3C
- b _080B14D6
- .pool
-_080B14B0:
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B14C4
- ldr r0, =gUnknown_0854FEF4
- b _080B15FE
- .pool
-_080B14C4:
- ldr r0, =gUnknown_0855005C
- b _080B1616
- .pool
-_080B14CC:
- ldr r0, =gUnknown_0854FEF4
- b _080B15FE
- .pool
-_080B14D4:
- ldr r0, =gUnknown_0854FFCC
-_080B14D6:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r0, =EventScript_27138A
- b _080B161E
- .pool
-_080B14EC:
- ldr r0, =gUnknown_0854FF3C
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r0, [r4]
- bl sub_80B2234
- strh r0, [r4]
- ldr r0, =EventScript_2713F8
- b _080B161E
- .pool
-_080B1514:
- ldr r0, =gUnknown_0854FEAC
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r0, [r4]
- bl sub_80B2234
- strh r0, [r4]
- ldr r0, =EventScript_2713D1
- b _080B161E
- .pool
-_080B153C:
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B156C
- ldr r0, =gUnknown_0854FEAC
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl sub_81A9AA8
- ldr r1, =gTrainerBattleOpponent_A
- b _080B157E
- .pool
-_080B156C:
- ldr r0, =gUnknown_08550014
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl sub_81A9AA8
-_080B157C:
- ldr r1, =gTrainerBattleOpponent_B
-_080B157E:
- strh r0, [r1]
- b _080B161C
- .pool
-_080B1590:
- ldr r0, =gUnknown_0854FEAC
- b _080B159A
- .pool
-_080B1598:
- ldr r0, =gUnknown_08550014
-_080B159A:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- movs r0, 0
- b _080B161E
- .pool
-_080B15A8:
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B15D8
- ldr r0, =gUnknown_0854FEAC
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl battle_init
- ldr r1, =gTrainerBattleOpponent_A
- b _080B157E
- .pool
-_080B15D8:
- ldr r0, =gUnknown_08550014
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl battle_init
- b _080B157C
- .pool
-_080B15F4:
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B1614
- ldr r0, =gUnknown_0854FEAC
-_080B15FE:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- b _080B161C
- .pool
-_080B1614:
- ldr r0, =gUnknown_08550014
-_080B1616:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
-_080B161C:
- ldr r0, =EventScript_271362
-_080B161E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end BattleSetup_ConfigureTrainerBattle
-
- thumb_func_start SingleTrainerWantsBattle
-@ void SingleTrainerWantsBattle(u8 trainerFieldObjectId, u8 *trainerScript)
-SingleTrainerWantsBattle: @ 80B162C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSelectedMapObject
- strb r0, [r2]
- ldr r4, =gSpecialVar_LastTalked
- ldr r3, =gMapObjects
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r0, [r2, 0x8]
- strh r0, [r4]
- adds r1, 0x1
- adds r0, r1, 0
- bl BattleSetup_ConfigureTrainerBattle
- ldr r0, =EventScript_271354
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SingleTrainerWantsBattle
-
- thumb_func_start TwoTrainersWantBattle
-@ void TwoTrainersWantBattle(u8 trainerFieldObjectId, u8 *trainerScript)
-TwoTrainersWantBattle: @ 80B1670
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSelectedMapObject
- strb r0, [r2]
- ldr r4, =gSpecialVar_LastTalked
- ldr r3, =gMapObjects
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r0, [r2, 0x8]
- strh r0, [r4]
- adds r1, 0x1
- adds r0, r1, 0
- bl BattleSetup_ConfigureTrainerBattle
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end TwoTrainersWantBattle
-
- thumb_func_start TwoTrainersWantBattleExecuteScript
-@ void TwoTrainersWantBattleExecuteScript()
-TwoTrainersWantBattleExecuteScript: @ 80B16A4
- push {lr}
- ldr r0, =EventScript_271354
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end TwoTrainersWantBattleExecuteScript
-
- thumb_func_start GetTrainerFlagFromScriptPointer
-@ u8 GetTrainerFlagFromScriptPointer(u8 *scriptPointer)
-GetTrainerFlagFromScriptPointer: @ 80B16B8
- push {lr}
- adds r0, 0x2
- bl TrainerBattleLoadArg16
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetTrainerFlagFromScriptPointer
-
- thumb_func_start sub_80B16D8
-sub_80B16D8: @ 80B16D8
- push {r4,lr}
- ldr r0, =gSelectedMapObject
- ldrb r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl npc_running_behaviour_by_direction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl npc_set_running_behaviour_etc
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B16D8
-
- thumb_func_start sub_80B170C
-sub_80B170C: @ 80B170C
- ldr r0, =gUnknown_02038BC8
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80B170C
-
- thumb_func_start check_trainer_flag
-@ pokescrcmd
-check_trainer_flag: @ 80B1718
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B1734
- ldr r0, =gSelectedMapObject
- ldrb r0, [r0]
- bl GetBattlePyramidTrainerFlag
- b _080B1752
- .pool
-_080B1734:
- bl InTrainerHill
- cmp r0, 0
- bne _080B174A
- bl trainerflag_opponent
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- b _080B1752
-_080B174A:
- ldr r0, =gSelectedMapObject
- ldrb r0, [r0]
- bl GetTrainerHillTrainerFlag
-_080B1752:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end check_trainer_flag
-
- thumb_func_start rom_npc_set_flag_for_script_id
-rom_npc_set_flag_for_script_id: @ 80B1760
- push {lr}
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r0, [r0]
- cmp r0, 0
- beq _080B1776
- bl sub_80B1290
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
-_080B1776:
- bl trainerflag_opponent
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end rom_npc_set_flag_for_script_id
-
- thumb_func_start sub_80B178C
-sub_80B178C: @ 80B178C
- push {lr}
- bl trainerflag_opponent
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- thumb_func_end sub_80B178C
-
- thumb_func_start HasTrainerAlreadyBeenFought
-HasTrainerAlreadyBeenFought: @ 80B17A0
- push {lr}
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end HasTrainerAlreadyBeenFought
-
- thumb_func_start trainer_flag_set
-trainer_flag_set: @ 80B17B8
- push {lr}
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- thumb_func_end trainer_flag_set
-
- thumb_func_start trainer_flag_clear
-trainer_flag_clear: @ 80B17CC
- push {lr}
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagClear
- pop {r0}
- bx r0
- thumb_func_end trainer_flag_clear
-
- thumb_func_start BattleSetup_StartTrainerBattle
-BattleSetup_StartTrainerBattle: @ 80B17E0
- push {r4,lr}
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080B17FC
- ldr r1, =gBattleTypeFlags
- ldr r0, =0x00008009
- b _080B1800
- .pool
-_080B17FC:
- ldr r1, =gBattleTypeFlags
- movs r0, 0x8
-_080B1800:
- str r0, [r1]
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B1884
- ldr r0, =0x0000400e
- movs r1, 0
- bl VarSet
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 14
- orrs r0, r1
- str r0, [r2]
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080B1864
- movs r0, 0x1
- bl sub_816306C
- ldr r4, =gEnemyParty + 100
- adds r0, r4, 0
- bl ZeroMonData
- adds r0, r4, 0
- adds r0, 0x64
- bl ZeroMonData
- movs r1, 0x96
- lsls r1, 1
- adds r0, r4, r1
- bl ZeroMonData
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r4, r1
- bl ZeroMonData
- b _080B187A
- .pool
-_080B1864:
- movs r0, 0x1
- bl sub_8163048
- ldr r4, =gEnemyParty + 100
- adds r0, r4, 0
- bl ZeroMonData
- adds r4, 0x64
- adds r0, r4, 0
- bl ZeroMonData
-_080B187A:
- bl sub_81A9B04
- b _080B18B8
- .pool
-_080B1884:
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- beq _080B18B8
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 19
- orrs r0, r1
- str r0, [r2]
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080B18B0
- bl sub_81D639C
- b _080B18B4
- .pool
-_080B18B0:
- bl sub_81D6384
-_080B18B4:
- bl sub_81D61E8
-_080B18B8:
- ldr r1, =gUnknown_02038BF9
- ldr r2, =gUnknown_030060A8
- ldrb r0, [r2]
- strb r0, [r1]
- movs r1, 0
- strb r1, [r2]
- ldr r0, =gUnknown_02038BF8
- strb r1, [r0]
- ldr r1, =gUnknown_03006080
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gMain
- ldr r0, =sub_80B1918
- str r0, [r1, 0x8]
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B18E8
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- beq _080B1908
-_080B18E8:
- bl sub_80B0828
- b _080B190C
- .pool
-_080B1908:
- bl task_add_01_battle_start_with_music_and_stats
-_080B190C:
- bl ScriptContext1_Stop
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BattleSetup_StartTrainerBattle
-
- thumb_func_start sub_80B1918
-sub_80B1918: @ 80B1918
- push {lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _080B1946
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- bl battle_exit_is_player_defeat
- cmp r0, 0x1
- bne _080B1968
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B1946
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- beq _080B195C
-_080B1946:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- b _080B198A
- .pool
-_080B195C:
- ldr r0, =c2_whiteout
- bl SetMainCallback2
- b _080B198A
- .pool
-_080B1968:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B198A
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- bne _080B198A
- bl sub_80B20BC
- bl rom_npc_set_flag_for_script_id
-_080B198A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1918
-
- thumb_func_start sub_80B1994
-sub_80B1994: @ 80B1994
- push {lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _080B19B4
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- b _080B19E2
- .pool
-_080B19B4:
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- bl battle_exit_is_player_defeat
- cmp r0, 0x1
- bne _080B19D0
- ldr r0, =c2_whiteout
- bl SetMainCallback2
- b _080B19E2
- .pool
-_080B19D0:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- bl sub_80B20BC
- bl rom_npc_set_flag_for_script_id
- bl sub_80B22BC
-_080B19E2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1994
-
- thumb_func_start sub_80B19EC
-sub_80B19EC: @ 80B19EC
- push {lr}
- ldr r1, =gBattleTypeFlags
- movs r0, 0x8
- str r0, [r1]
- ldr r1, =gMain
- ldr r0, =sub_80B1994
- str r0, [r1, 0x8]
- bl task_add_01_battle_start_with_music_and_stats
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B19EC
-
- thumb_func_start sub_80B1A14
-sub_80B1A14: @ 80B1A14
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B1A7C
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080B1A44
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl sub_81A9AA8
- lsls r0, 16
- lsrs r0, 16
- bl sub_81A9EDC
- b _080B1AD8
- .pool
-_080B1A44:
- ldr r3, =gMapObjects
- ldr r2, =gUnknown_03006090
- ldr r0, =gUnknown_02038BFC
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x8]
- bl sub_81A9AA8
- lsls r0, 16
- lsrs r0, 16
- bl sub_81A9EDC
- b _080B1AD8
- .pool
-_080B1A7C:
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- beq _080B1AEC
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080B1AAC
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl battle_init
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x2
- bl sub_81D572C
- b _080B1AD8
- .pool
-_080B1AAC:
- ldr r3, =gMapObjects
- ldr r2, =gUnknown_03006090
- ldr r0, =gUnknown_02038BFC
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x8]
- bl battle_init
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x2
- bl sub_81D572C
-_080B1AD8:
- bl sub_80982B8
- b _080B1AF4
- .pool
-_080B1AEC:
- bl sub_80B1C7C
- bl ShowFieldMessage
-_080B1AF4:
- pop {r0}
- bx r0
- thumb_func_end sub_80B1A14
-
- thumb_func_start BattleSetup_GetScriptAddrAfterBattle
-BattleSetup_GetScriptAddrAfterBattle: @ 80B1AF8
- push {lr}
- ldr r0, =gUnknown_02038BEC
- ldr r0, [r0]
- cmp r0, 0
- bne _080B1B04
- ldr r0, =EventScript_2C8436
-_080B1B04:
- pop {r1}
- bx r1
- .pool
- thumb_func_end BattleSetup_GetScriptAddrAfterBattle
-
- thumb_func_start BattleSetup_GetTrainerPostBattleScript
-BattleSetup_GetTrainerPostBattleScript: @ 80B1B10
- push {lr}
- ldr r1, =gUnknown_02038BF8
- ldrb r2, [r1]
- cmp r2, 0
- beq _080B1B3C
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gUnknown_02038BF4
- ldr r2, [r0]
- cmp r2, 0
- beq _080B1B54
- ldr r1, =gUnknown_03006080
- movs r0, 0x1
- strh r0, [r1]
- adds r0, r2, 0
- b _080B1B56
- .pool
-_080B1B3C:
- ldr r0, =gUnknown_02038BF0
- ldr r1, [r0]
- cmp r1, 0
- beq _080B1B54
- ldr r0, =gUnknown_03006080
- strh r2, [r0]
- adds r0, r1, 0
- b _080B1B56
- .pool
-_080B1B54:
- ldr r0, =LavaridgeTown_Gym_1F_EventScript_2742E6
-_080B1B56:
- pop {r1}
- bx r1
- .pool
- thumb_func_end BattleSetup_GetTrainerPostBattleScript
-
- thumb_func_start special_trainer_unable_to_battle
-special_trainer_unable_to_battle: @ 80B1B60
- push {lr}
- bl sub_80B1D18
- bl ShowFieldMessage
- pop {r0}
- bx r0
- thumb_func_end special_trainer_unable_to_battle
-
- thumb_func_start SetUpTrainerEncounterMusic
-@ void SetUpTrainerEncounterMusic()
-SetUpTrainerEncounterMusic: @ 80B1B70
- push {lr}
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B1B88
- ldr r0, =gTrainerBattleOpponent_A
- b _080B1B8A
- .pool
-_080B1B88:
- ldr r0, =gTrainerBattleOpponent_B
-_080B1B8A:
- ldrh r1, [r0]
- ldr r0, =gUnknown_02038BC8
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080B1C62
- cmp r0, 0x8
- beq _080B1C62
- adds r0, r1, 0
- bl GetTrainerEncounterMusicId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bhi _080B1C5C
- lsls r0, 2
- ldr r1, =_080B1BBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B1BBC:
- .4byte _080B1BF4
- .4byte _080B1BFA
- .4byte _080B1C04
- .4byte _080B1C5C
- .4byte _080B1C0C
- .4byte _080B1C12
- .4byte _080B1C1C
- .4byte _080B1C24
- .4byte _080B1C2C
- .4byte _080B1C34
- .4byte _080B1C3C
- .4byte _080B1C42
- .4byte _080B1C4C
- .4byte _080B1C54
-_080B1BF4:
- movs r0, 0xBE
- lsls r0, 1
- b _080B1C5E
-_080B1BFA:
- ldr r0, =0x00000197
- b _080B1C5E
- .pool
-_080B1C04:
- ldr r0, =0x0000017b
- b _080B1C5E
- .pool
-_080B1C0C:
- movs r0, 0xD0
- lsls r0, 1
- b _080B1C5E
-_080B1C12:
- ldr r0, =0x000001a1
- b _080B1C5E
- .pool
-_080B1C1C:
- ldr r0, =0x000001a3
- b _080B1C5E
- .pool
-_080B1C24:
- ldr r0, =0x000001b9
- b _080B1C5E
- .pool
-_080B1C2C:
- ldr r0, =0x00000181
- b _080B1C5E
- .pool
-_080B1C34:
- ldr r0, =0x000001c1
- b _080B1C5E
- .pool
-_080B1C3C:
- movs r0, 0xE1
- lsls r0, 1
- b _080B1C5E
-_080B1C42:
- ldr r0, =0x000001c3
- b _080B1C5E
- .pool
-_080B1C4C:
- ldr r0, =0x000001c5
- b _080B1C5E
- .pool
-_080B1C54:
- ldr r0, =0x0000018d
- b _080B1C5E
- .pool
-_080B1C5C:
- ldr r0, =0x000001a7
-_080B1C5E:
- bl PlayNewMapMusic
-_080B1C62:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetUpTrainerEncounterMusic
-
- thumb_func_start ReturnEmptyStringIfNull
-@ u8 *ReturnEmptyStringIfNull(u8 *str)
-ReturnEmptyStringIfNull: @ 80B1C6C
- push {lr}
- cmp r0, 0
- bne _080B1C74
- ldr r0, =gText_EmptyString2
-_080B1C74:
- pop {r1}
- bx r1
- .pool
- thumb_func_end ReturnEmptyStringIfNull
-
- thumb_func_start sub_80B1C7C
-sub_80B1C7C: @ 80B1C7C
- push {lr}
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B1C94
- ldr r0, =gUnknown_02038BD8
- b _080B1C96
- .pool
-_080B1C94:
- ldr r0, =gUnknown_02038BD4
-_080B1C96:
- ldr r0, [r0]
- bl ReturnEmptyStringIfNull
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B1C7C
-
- thumb_func_start GetTrainer1LoseText
-GetTrainer1LoseText: @ 80B1CA4
- push {r4,lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _080B1CBC
- bl sub_80EA250
- b _080B1CC0
- .pool
-_080B1CBC:
- ldr r0, =gUnknown_02038BDC
- ldr r0, [r0]
-_080B1CC0:
- ldr r4, =gStringVar4
- bl ReturnEmptyStringIfNull
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetTrainer1LoseText
-
- thumb_func_start GetTrainer2LoseText
-GetTrainer2LoseText: @ 80B1CE0
- push {r4,lr}
- ldr r4, =gStringVar4
- ldr r0, =gUnknown_02038BE0
- ldr r0, [r0]
- bl ReturnEmptyStringIfNull
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetTrainer2LoseText
-
- thumb_func_start sub_80B1D04
-sub_80B1D04: @ 80B1D04
- push {lr}
- ldr r0, =gUnknown_02038BE4
- ldr r0, [r0]
- bl ReturnEmptyStringIfNull
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B1D04
-
- thumb_func_start sub_80B1D18
-sub_80B1D18: @ 80B1D18
- push {lr}
- ldr r0, =gUnknown_02038BE8
- ldr r0, [r0]
- bl ReturnEmptyStringIfNull
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B1D18
-
- thumb_func_start sub_80B1D2C
-sub_80B1D2C: @ 80B1D2C
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- movs r3, 0
- adds r2, r0, 0
-_080B1D36:
- ldrh r0, [r2]
- cmp r0, r1
- bne _080B1D40
- adds r0, r3, 0
- b _080B1D4C
-_080B1D40:
- adds r2, 0x10
- adds r3, 0x1
- cmp r3, 0x4D
- ble _080B1D36
- movs r0, 0x1
- negs r0, r0
-_080B1D4C:
- pop {r1}
- bx r1
- thumb_func_end sub_80B1D2C
-
- thumb_func_start sub_80B1D50
-sub_80B1D50: @ 80B1D50
- push {r4,r5,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
- adds r2, r0, 0
-_080B1D5A:
- movs r1, 0
- ldrh r0, [r2]
- cmp r0, 0
- beq _080B1D80
- movs r3, 0
-_080B1D64:
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, r5
- bne _080B1D70
- adds r0, r4, 0
- b _080B1D8C
-_080B1D70:
- adds r3, 0x2
- adds r1, 0x1
- cmp r1, 0x4
- bgt _080B1D80
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _080B1D64
-_080B1D80:
- adds r2, 0x10
- adds r4, 0x1
- cmp r4, 0x4D
- ble _080B1D5A
- movs r0, 0x1
- negs r0, r0
-_080B1D8C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B1D50
-
- thumb_func_start sub_80B1D94
-sub_80B1D94: @ 80B1D94
- push {lr}
- cmp r0, 0x48
- ble _080B1D9E
- movs r0, 0x1
- b _080B1DB8
-_080B1D9E:
- cmp r0, 0x40
- bne _080B1DB6
- movs r0, 0x7E
- bl FlagGet
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _080B1DB2
- movs r1, 0x1
-_080B1DB2:
- adds r0, r1, 0
- b _080B1DB8
-_080B1DB6:
- movs r0, 0
-_080B1DB8:
- pop {r1}
- bx r1
- thumb_func_end sub_80B1D94
-
- thumb_func_start sub_80B1DBC
-sub_80B1DBC: @ 80B1DBC
- push {r4-r6,lr}
- adds r6, r1, 0
- movs r5, 0x1
- lsls r1, r6, 4
- adds r1, r0
- adds r4, r1, 0x2
- b _080B1DCE
-_080B1DCA:
- adds r4, 0x2
- adds r5, 0x1
-_080B1DCE:
- cmp r5, 0x4
- bgt _080B1DE2
- ldrh r0, [r4]
- cmp r0, 0
- beq _080B1DE2
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- bne _080B1DCA
-_080B1DE2:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000009ca
- adds r0, r1
- adds r0, r6
- strb r5, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1DBC
-
- thumb_func_start sub_80B1DFC
-sub_80B1DFC: @ 80B1DFC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- movs r7, 0
- movs r5, 0
- adds r4, r6, 0
- adds r4, 0xA
-_080B1E1A:
- ldrh r0, [r4]
- cmp r0, r9
- bne _080B1E74
- ldrh r0, [r4, 0x2]
- cmp r0, r8
- bne _080B1E74
- adds r0, r5, 0
- bl sub_80B1D94
- cmp r0, 0
- bne _080B1E74
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000009ca
- adds r0, r1
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B1E72
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r5, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080B1E74
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bhi _080B1E74
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80B1DBC
-_080B1E72:
- movs r7, 0x1
-_080B1E74:
- adds r4, 0x10
- adds r5, 0x1
- cmp r5, 0x40
- ble _080B1E1A
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B1DFC
-
- thumb_func_start sub_80B1E94
-sub_80B1E94: @ 80B1E94
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_085500A4
- lsls r0, r4, 4
- adds r0, r5
- ldrh r0, [r0]
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B1EB4
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80B1DBC
-_080B1EB4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1E94
-
- thumb_func_start sub_80B1EC0
-sub_80B1EC0: @ 80B1EC0
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0
- adds r3, r0, 0
- adds r3, 0xA
- ldr r5, =gSaveBlock1Ptr
-_080B1ED2:
- ldrh r0, [r3]
- cmp r0, r4
- bne _080B1EF8
- ldrh r0, [r3, 0x2]
- cmp r0, r2
- bne _080B1EF8
- ldr r0, [r5]
- ldr r6, =0x000009ca
- adds r0, r6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B1EF8
- movs r0, 0x1
- b _080B1F02
- .pool
-_080B1EF8:
- adds r3, 0x10
- adds r1, 0x1
- cmp r1, 0x4D
- ble _080B1ED2
- movs r0, 0
-_080B1F02:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B1EC0
-
- thumb_func_start sub_80B1F08
-sub_80B1F08: @ 80B1F08
- push {r4,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0
- adds r3, r0, 0
- adds r3, 0xA
-_080B1F18:
- ldrh r0, [r3]
- cmp r0, r4
- bne _080B1F28
- ldrh r0, [r3, 0x2]
- cmp r0, r2
- bne _080B1F28
- movs r0, 0x1
- b _080B1F32
-_080B1F28:
- adds r3, 0x10
- adds r1, 0x1
- cmp r1, 0x4D
- ble _080B1F18
- movs r0, 0
-_080B1F32:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B1F08
-
- thumb_func_start sub_80B1F38
-sub_80B1F38: @ 80B1F38
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D2C
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080B1F6C
- cmp r1, 0x63
- bgt _080B1F6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000009ca
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B1F6C
- movs r0, 0x1
- b _080B1F6E
- .pool
-_080B1F6C:
- movs r0, 0
-_080B1F6E:
- pop {r1}
- bx r1
- thumb_func_end sub_80B1F38
-
- thumb_func_start sub_80B1F74
-sub_80B1F74: @ 80B1F74
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D50
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080B1FA8
- cmp r1, 0x63
- bgt _080B1FA8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000009ca
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B1FA8
- movs r0, 0x1
- b _080B1FAA
- .pool
-_080B1FA8:
- movs r0, 0
-_080B1FAA:
- pop {r1}
- bx r1
- thumb_func_end sub_80B1F74
-
- thumb_func_start sub_80B1FB0
-sub_80B1FB0: @ 80B1FB0
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D2C
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080B1FD8
- movs r0, 0
- b _080B1FFE
-_080B1FCA:
- subs r0, r6, 0x1
- lsls r0, 1
- adds r0, r7, r0
- ldrh r0, [r0]
- b _080B1FFE
-_080B1FD4:
- ldrh r0, [r5]
- b _080B1FFE
-_080B1FD8:
- lsls r0, r1, 4
- adds r7, r4, r0
- movs r6, 0x1
- adds r5, r7, 0x2
- adds r4, r5, 0
-_080B1FE2:
- ldrh r0, [r4]
- cmp r0, 0
- beq _080B1FCA
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _080B1FD4
- adds r4, 0x2
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, 0x4
- ble _080B1FE2
- ldrh r0, [r7, 0x8]
-_080B1FFE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B1FB0
-
- thumb_func_start sub_80B2004
-sub_80B2004: @ 80B2004
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D2C
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080B2032
- movs r0, 0
- b _080B2054
-_080B201E:
- subs r0, r5, 0x1
- lsls r0, 1
- adds r0, r6, r0
- ldrh r0, [r0]
- b _080B2054
-_080B2028:
- subs r0, r5, 0x1
- lsls r0, 1
- adds r0, r6, r0
- ldrh r0, [r0]
- b _080B2054
-_080B2032:
- lsls r0, r1, 4
- adds r6, r4, r0
- movs r5, 0x1
- adds r4, r6, 0x2
-_080B203A:
- ldrh r0, [r4]
- cmp r0, 0
- beq _080B201E
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _080B2028
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x4
- ble _080B203A
- ldrh r0, [r6, 0x8]
-_080B2054:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B2004
-
- thumb_func_start sub_80B205C
-sub_80B205C: @ 80B205C
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D50
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080B207E
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000009ca
- adds r0, r2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080B207E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B205C
-
- thumb_func_start sub_80B208C
-sub_80B208C: @ 80B208C
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0
- movs r4, 0xAE
- lsls r4, 1
- ldr r2, =gUnknown_085500A4
-_080B2098:
- ldrh r0, [r2]
- cmp r0, r3
- bne _080B20A8
- adds r0, r1, r4
- b _080B20B2
- .pool
-_080B20A8:
- adds r2, 0x10
- adds r1, 0x1
- cmp r1, 0x4D
- ble _080B2098
- ldr r0, =0x0000ffff
-_080B20B2:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B208C
-
- thumb_func_start sub_80B20BC
-sub_80B20BC: @ 80B20BC
- push {lr}
- ldr r0, =0x0000012f
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080B20E2
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- bl sub_80B208C
- adds r1, r0, 0
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _080B20E2
- lsls r0, r1, 16
- lsrs r0, 16
- bl FlagSet
-_080B20E2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B20BC
-
- thumb_func_start sub_80B20F4
-sub_80B20F4: @ 80B20F4
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D2C
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080B211E
- lsls r0, r1, 4
- adds r0, r4
- ldrh r0, [r0, 0x2]
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _080B211E
- movs r0, 0x1
- b _080B2120
-_080B211E:
- movs r0, 0
-_080B2120:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B20F4
-
- thumb_func_start sub_80B2128
-sub_80B2128: @ 80B2128
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
- ldr r4, =gUnknown_08550584
-_080B2130:
- ldrh r0, [r4]
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B214C
- adds r6, 0x1
- cmp r6, 0x4
- ble _080B214C
- movs r0, 0x1
- b _080B2156
- .pool
-_080B214C:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x7
- bls _080B2130
- movs r0, 0
-_080B2156:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B2128
-
- thumb_func_start sub_80B215C
-sub_80B215C: @ 80B215C
- push {lr}
- bl sub_80B2128
- cmp r0, 0
- beq _080B2184
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000009c8
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0xFE
- bls _080B2180
- movs r0, 0xFF
- b _080B2182
- .pool
-_080B2180:
- adds r0, 0x1
-_080B2182:
- strh r0, [r1]
-_080B2184:
- pop {r0}
- bx r0
- thumb_func_end sub_80B215C
-
- thumb_func_start sub_80B2188
-sub_80B2188: @ 80B2188
- push {lr}
- bl sub_80B2128
- cmp r0, 0
- beq _080B21AC
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000009c8
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xFE
- bls _080B21AC
- movs r0, 0x1
- b _080B21AE
- .pool
-_080B21AC:
- movs r0, 0
-_080B21AE:
- pop {r1}
- bx r1
- thumb_func_end sub_80B2188
-
- thumb_func_start sub_80B21B4
-sub_80B21B4: @ 80B21B4
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- bl sub_80B2188
- cmp r0, 0
- beq _080B21E0
- ldr r0, =gUnknown_085500A4
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80B1DFC
- cmp r0, 0x1
- bne _080B21E0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000009c8
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
-_080B21E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B21B4
-
- thumb_func_start sub_80B21F4
-sub_80B21F4: @ 80B21F4
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_085500A4
- adds r1, r3, 0
- bl sub_80B1EC0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B21F4
-
- thumb_func_start sub_80B2214
-sub_80B2214: @ 80B2214
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_085500A4
- adds r1, r3, 0
- bl sub_80B1F08
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B2214
-
- thumb_func_start sub_80B2234
-sub_80B2234: @ 80B2234
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gUnknown_085500A4
- bl sub_80B1FB0
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B2234
-
- thumb_func_start sub_80B2250
-sub_80B2250: @ 80B2250
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gUnknown_085500A4
- bl sub_80B2004
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B2250
-
- thumb_func_start sub_80B226C
-sub_80B226C: @ 80B226C
- push {r4,r5,lr}
- ldr r5, =gUnknown_085500A4
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r1, [r4]
- adds r0, r5, 0
- bl sub_80B1F38
- lsls r0, 24
- cmp r0, 0
- bne _080B2298
- ldrh r1, [r4]
- adds r0, r5, 0
- bl sub_80B20F4
- lsls r0, 24
- lsrs r0, 24
- b _080B229A
- .pool
-_080B2298:
- movs r0, 0x1
-_080B229A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B226C
-
- thumb_func_start sub_80B22A0
-sub_80B22A0: @ 80B22A0
- push {lr}
- ldr r0, =gUnknown_085500A4
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r1, [r1]
- bl sub_80B1F74
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B22A0
-
- thumb_func_start sub_80B22BC
-sub_80B22BC: @ 80B22BC
- push {lr}
- ldr r0, =gUnknown_085500A4
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r1, [r1]
- bl sub_80B205C
- bl rom_npc_set_flag_for_script_id
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B22BC
-
- thumb_func_start CheckIfMultipleTrainersWantBattle
-CheckIfMultipleTrainersWantBattle: @ 80B22D8
- push {lr}
- ldr r1, =gUnknown_02038BF9
- ldrb r0, [r1]
- cmp r0, 0x1
- bls _080B2300
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_02038BF8
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _080B230A
- .pool
-_080B2300:
- ldr r1, =gUnknown_02038BF8
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gSpecialVar_Result
- movs r0, 0
-_080B230A:
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end CheckIfMultipleTrainersWantBattle
-
- thumb_func_start sub_80B2318
-sub_80B2318: @ 80B2318
- push {r4-r7,lr}
- lsls r0, 16
- ldr r7, =gUnknown_085500A4
- lsrs r4, r0, 12
- adds r6, r4, r7
- ldrh r0, [r6]
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B2338
- movs r0, 0
- b _080B2364
- .pool
-_080B2338:
- movs r5, 0x1
- adds r0, r4, 0x2
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, 0
- beq _080B2360
- adds r4, r6, 0x2
-_080B2346:
- ldrh r0, [r4]
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _080B2360
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x4
- bgt _080B2360
- ldrh r0, [r4]
- cmp r0, 0
- bne _080B2346
-_080B2360:
- lsls r0, r5, 16
- lsrs r0, 16
-_080B2364:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B2318
-
- .align 2, 0 @ Don't pad with nop.