diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/field_control_avatar.s | 6 | ||||
-rw-r--r-- | asm/field_player_avatar.s | 4 | ||||
-rw-r--r-- | asm/wild_encounter.s | 1007 |
3 files changed, 5 insertions, 1012 deletions
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 46587dc52..dd84f75c1 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1725,7 +1725,7 @@ sub_806D5E8: @ 806D5E8 lsls r0, 24 cmp r0, 0 bne _0806D658 - bl sub_80830B8 + bl UpdateRepelCounter lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1956,7 +1956,7 @@ _0806D7E2: thumb_func_start RestartWildEncounterImmunitySteps RestartWildEncounterImmunitySteps: @ 806D7E8 push {lr} - bl sub_80832D4 + bl ResetEncounterRateModifiers pop {r0} bx r0 thumb_func_end RestartWildEncounterImmunitySteps @@ -1964,7 +1964,7 @@ RestartWildEncounterImmunitySteps: @ 806D7E8 thumb_func_start is_it_battle_time_3 is_it_battle_time_3: @ 806D7F4 push {lr} - bl sub_80833B0 + bl TryStandardWildEncounter lsls r0, 24 lsrs r0, 24 pop {r1} diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 5e7f64670..f6b50bdc6 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -4481,7 +4481,7 @@ sub_805D508: @ 805D508 ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - bl sub_8082F78 + bl DoesCurrentMapHaveFishingMons lsls r0, 24 cmp r0, 0 beq _0805D53A @@ -4791,7 +4791,7 @@ _0805D788: ldrh r0, [r5, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_8082FB0 + bl FishingWildEncounter ldr r0, _0805D7BC @ =sub_805D304 bl FindTaskIdByFunc lsls r0, 24 diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s deleted file mode 100644 index 9a0749cd9..000000000 --- a/asm/wild_encounter.s +++ /dev/null @@ -1,1007 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8082CBC -sub_8082CBC: @ 8082CBC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r7, r1, 16 - mov r8, r7 - ldr r0, _08082D44 @ =gUnknown_20386DC - ldrb r0, [r0] - cmp r0, 0x1 - bne _08082CD4 - b _08082E46 -_08082CD4: - bl sub_8082934 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _08082D48 @ =0x0000ffff - cmp r4, r0 - bne _08082CE4 - b _08082E46 -_08082CE4: - adds r0, r6, 0 - movs r1, 0x4 - bl sub_8058F1C - cmp r0, 0x1 - bne _08082D78 - ldr r1, _08082D4C @ =gWildMonHeaders - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - adds r5, r2, 0 - cmp r0, 0 - bne _08082D06 - b _08082E46 -_08082D06: - adds r0, r6, 0 - movs r1, 0 - bl sub_8058F1C - cmp r7, r0 - beq _08082D1E - bl sub_8082C98 - lsls r0, 24 - cmp r0, 0 - bne _08082D1E - b _08082E46 -_08082D1E: - ldr r1, _08082D4C @ =gWildMonHeaders - adds r0, r5, r4 - lsls r0, 2 - adds r1, 0x4 - adds r4, r0, r1 - ldr r0, [r4] - ldrb r0, [r0] - movs r1, 0 - bl sub_8082BCC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08082D50 -_08082D3A: - ldr r0, [r4] - ldrb r0, [r0] - bl sub_8083410 - b _08082E46 - .align 2, 0 -_08082D44: .4byte gUnknown_20386DC -_08082D48: .4byte 0x0000ffff -_08082D4C: .4byte gWildMonHeaders -_08082D50: - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08082DFA - ldr r4, [r4] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1 - bl sub_8082AEC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08082E38 - ldrb r0, [r4] - bl sub_8083410 - b _08082E46 -_08082D78: - adds r0, r6, 0 - movs r1, 0x4 - bl sub_8058F1C - cmp r0, 0x2 - beq _08082DA8 - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08082E46 - adds r0, r6, 0 - movs r1, 0 - bl sub_8058F1C - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsBridge - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08082E46 -_08082DA8: - ldr r1, _08082E18 @ =gWildMonHeaders - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - adds r5, r2, 0 - cmp r0, 0 - beq _08082E46 - adds r0, r6, 0 - movs r1, 0 - bl sub_8058F1C - cmp r8, r0 - beq _08082DD2 - bl sub_8082C98 - lsls r0, 24 - cmp r0, 0 - beq _08082E46 -_08082DD2: - ldr r1, _08082E18 @ =gWildMonHeaders - adds r0, r5, r4 - lsls r0, 2 - adds r1, 0x8 - adds r4, r0, r1 - ldr r0, [r4] - ldrb r0, [r0] - movs r1, 0 - bl sub_8082BCC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08082D3A - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08082E24 -_08082DFA: - ldr r0, _08082E1C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08082E20 @ =0x000030d0 - adds r0, r1 - ldrb r0, [r0, 0xC] - bl sub_808310C - lsls r0, 24 - cmp r0, 0 - beq _08082E46 - bl BattleSetup_StartRoamerBattle - movs r0, 0x1 - b _08082E48 - .align 2, 0 -_08082E18: .4byte gWildMonHeaders -_08082E1C: .4byte gSaveBlock1Ptr -_08082E20: .4byte 0x000030d0 -_08082E24: - ldr r4, [r4] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_8082AEC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08082E40 -_08082E38: - bl BattleSetup_StartWildBattle - movs r0, 0x1 - b _08082E48 -_08082E40: - ldrb r0, [r4] - bl sub_8083410 -_08082E46: - movs r0, 0 -_08082E48: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8082CBC - - thumb_func_start Special_RockSmashEncounter -Special_RockSmashEncounter: @ 8082E54 - push {r4,lr} - bl sub_8082934 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _08082EA4 @ =0x0000ffff - cmp r2, r0 - beq _08082EB0 - ldr r1, _08082EA8 @ =gWildMonHeaders - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0xC - adds r0, r1 - ldr r4, [r0] - cmp r4, 0 - beq _08082E9C - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8082BCC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08082EB0 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x1 - bl sub_8082AEC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _08082EB0 - bl BattleSetup_StartWildBattle -_08082E9C: - ldr r0, _08082EAC @ =gSpecialVar_Result - strh r4, [r0] - b _08082EB6 - .align 2, 0 -_08082EA4: .4byte 0x0000ffff -_08082EA8: .4byte gWildMonHeaders -_08082EAC: .4byte gSpecialVar_Result -_08082EB0: - ldr r1, _08082EBC @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] -_08082EB6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08082EBC: .4byte gSpecialVar_Result - thumb_func_end Special_RockSmashEncounter - - thumb_func_start SweetScentWildEncounter -SweetScentWildEncounter: @ 8082EC0 - push {r4,r5,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - bl sub_8082934 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _08082F14 @ =0x0000ffff - cmp r5, r0 - beq _08082F6C - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r2, 0x4 - bl sub_8058F48 - cmp r0, 0x1 - bne _08082F1C - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08082F3C - ldr r1, _08082F18 @ =gWildMonHeaders - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08082F6C - movs r1, 0 - b _08082F58 - .align 2, 0 -_08082F14: .4byte 0x0000ffff -_08082F18: .4byte gWildMonHeaders -_08082F1C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r2, 0x4 - bl sub_8058F48 - cmp r0, 0x2 - bne _08082F6C - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08082F44 -_08082F3C: - bl BattleSetup_StartRoamerBattle - movs r0, 0x1 - b _08082F6E -_08082F44: - ldr r1, _08082F68 @ =gWildMonHeaders - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08082F6C - movs r1, 0x1 -_08082F58: - movs r2, 0 - bl sub_8082AEC - bl BattleSetup_StartWildBattle - movs r0, 0x1 - b _08082F6E - .align 2, 0 -_08082F68: .4byte gWildMonHeaders -_08082F6C: - movs r0, 0 -_08082F6E: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end SweetScentWildEncounter - - thumb_func_start sub_8082F78 -sub_8082F78: @ 8082F78 - push {lr} - bl sub_8082934 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _08082FA0 @ =0x0000ffff - cmp r2, r0 - beq _08082FA8 - ldr r0, _08082FA4 @ =gWildMonHeaders - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0x10 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _08082FA8 - movs r0, 0x1 - b _08082FAA - .align 2, 0 -_08082FA0: .4byte 0x0000ffff -_08082FA4: .4byte gWildMonHeaders -_08082FA8: - movs r0, 0 -_08082FAA: - pop {r1} - bx r1 - thumb_func_end sub_8082F78 - - thumb_func_start sub_8082FB0 -sub_8082FB0: @ 8082FB0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _08082FE4 @ =gWildMonHeaders - bl sub_8082934 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r4, 0x10 - adds r1, r4 - ldr r0, [r1] - adds r1, r5, 0 - bl sub_8082B64 - movs r0, 0xC - bl IncrementGameStat - bl BattleSetup_StartWildBattle - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08082FE4: .4byte gWildMonHeaders - thumb_func_end sub_8082FB0 - - thumb_func_start GetLocalWildMon -GetLocalWildMon: @ 8082FE8 - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0 - strb r0, [r6] - bl sub_8082934 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _08083020 @ =0x0000ffff - cmp r3, r0 - beq _0808301A - ldr r2, _08083024 @ =gWildMonHeaders - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r5, [r0] - adds r2, 0x8 - adds r1, r2 - ldr r4, [r1] - cmp r5, 0 - bne _08083028 - cmp r4, 0 - bne _0808302E -_0808301A: - movs r0, 0 - b _0808306E - .align 2, 0 -_08083020: .4byte 0x0000ffff -_08083024: .4byte gWildMonHeaders -_08083028: - cmp r4, 0 - bne _0808303C - b _08083060 -_0808302E: - movs r0, 0x1 - strb r0, [r6] - bl ChooseWildMonIndex_WaterRock - lsls r0, 24 - ldr r1, [r4, 0x4] - b _08083068 -_0808303C: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4F - bls _08083060 - movs r0, 0x1 - strb r0, [r6] - bl ChooseWildMonIndex_WaterRock - lsls r0, 24 - ldr r1, [r4, 0x4] - b _08083068 -_08083060: - bl ChooseWildMonIndex_Land - lsls r0, 24 - ldr r1, [r5, 0x4] -_08083068: - lsrs r0, 22 - adds r0, r1 - ldrh r0, [r0, 0x2] -_0808306E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLocalWildMon - - thumb_func_start GetLocalWaterMon -GetLocalWaterMon: @ 8083074 - push {r4,lr} - bl sub_8082934 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _080830A8 @ =0x0000ffff - cmp r2, r0 - beq _080830B0 - ldr r1, _080830AC @ =gWildMonHeaders - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r4, [r0] - cmp r4, 0 - beq _080830B0 - bl ChooseWildMonIndex_WaterRock - lsls r0, 24 - ldr r1, [r4, 0x4] - lsrs r0, 22 - adds r0, r1 - ldrh r0, [r0, 0x2] - b _080830B2 - .align 2, 0 -_080830A8: .4byte 0x0000ffff -_080830AC: .4byte gWildMonHeaders -_080830B0: - movs r0, 0 -_080830B2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLocalWaterMon - - thumb_func_start sub_80830B8 -sub_80830B8: @ 80830B8 - push {r4,r5,lr} - bl InUnionRoom - cmp r0, 0x1 - beq _08083104 - ldr r0, _080830F8 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - beq _08083104 - ldr r5, _080830FC @ =0x00004020 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _08083104 - subs r4, r0, 0x1 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl VarSet - cmp r4, 0 - bne _08083104 - ldr r0, _08083100 @ =EventScript_1BFB65 - bl ScriptContext1_SetupScript - movs r0, 0x1 - b _08083106 - .align 2, 0 -_080830F8: .4byte gUnknown_203ADFA -_080830FC: .4byte 0x00004020 -_08083100: .4byte EventScript_1BFB65 -_08083104: - movs r0, 0 -_08083106: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80830B8 - - thumb_func_start sub_808310C -sub_808310C: @ 808310C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08083158 @ =0x00004020 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _08083152 - movs r5, 0 -_08083120: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0808315C @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08083160 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08083160 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bcc _0808316A -_08083152: - movs r0, 0x1 - b _0808316C - .align 2, 0 -_08083158: .4byte 0x00004020 -_0808315C: .4byte gPlayerParty -_08083160: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08083120 -_0808316A: - movs r0, 0 -_0808316C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808310C - - thumb_func_start ApplyFluteEncounterRateMod -ApplyFluteEncounterRateMod: @ 8083174 - push {r4,lr} - adds r4, r0, 0 - bl sub_80831A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0808318A - cmp r0, 0x2 - beq _08083192 - b _08083198 -_0808318A: - ldr r0, [r4] - lsrs r1, r0, 1 - adds r0, r1 - b _08083196 -_08083192: - ldr r0, [r4] - lsrs r0, 1 -_08083196: - str r0, [r4] -_08083198: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ApplyFluteEncounterRateMod - - thumb_func_start sub_80831A0 -sub_80831A0: @ 80831A0 - push {lr} - ldr r0, _080831B4 @ =0x00000803 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080831B8 - movs r0, 0x1 - b _080831D2 - .align 2, 0 -_080831B4: .4byte 0x00000803 -_080831B8: - ldr r0, _080831CC @ =0x00000804 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080831D0 - movs r0, 0 - b _080831D2 - .align 2, 0 -_080831CC: .4byte 0x00000804 -_080831D0: - movs r0, 0x2 -_080831D2: - pop {r1} - bx r1 - thumb_func_end sub_80831A0 - - thumb_func_start ApplyCleanseTagEncounterRateMod -ApplyCleanseTagEncounterRateMod: @ 80831D8 - push {r4,lr} - adds r4, r0, 0 - bl sub_80831F8 - lsls r0, 24 - cmp r0, 0 - beq _080831F2 - ldr r0, [r4] - lsls r0, 1 - movs r1, 0x3 - bl __udivsi3 - str r0, [r4] -_080831F2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ApplyCleanseTagEncounterRateMod - - thumb_func_start sub_80831F8 -sub_80831F8: @ 80831F8 - push {lr} - ldr r0, _08083208 @ =gUnknown_20386D0 - ldrh r0, [r0, 0xA] - cmp r0, 0xBE - beq _0808320C - movs r0, 0 - b _0808320E - .align 2, 0 -_08083208: .4byte gUnknown_20386D0 -_0808320C: - movs r0, 0x1 -_0808320E: - pop {r1} - bx r1 - thumb_func_end sub_80831F8 - - thumb_func_start sub_8083214 -sub_8083214: @ 8083214 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08083228 @ =gUnknown_20386D0 - str r0, [r1] - bl sub_80832D4 - pop {r0} - bx r0 - .align 2, 0 -_08083228: .4byte gUnknown_20386D0 - thumb_func_end sub_8083214 - - thumb_func_start sub_808322C -sub_808322C: @ 808322C - ldr r2, _08083240 @ =gUnknown_20386D0 - ldr r1, [r2] - ldr r0, _08083244 @ =0x41c64e6d - muls r0, r1 - ldr r1, _08083248 @ =0x00003039 - adds r0, r1 - str r0, [r2] - lsrs r0, 16 - bx lr - .align 2, 0 -_08083240: .4byte gUnknown_20386D0 -_08083244: .4byte 0x41c64e6d -_08083248: .4byte 0x00003039 - thumb_func_end sub_808322C - - thumb_func_start sub_808324C -sub_808324C: @ 808324C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_8082934 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _08083284 @ =0x0000ffff - cmp r2, r0 - beq _080832CC - cmp r4, 0x1 - bne _0808328C - ldr r1, _08083288 @ =gWildMonHeaders - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080832CC - ldrb r1, [r0] - cmp r1, 0x4F - bhi _080832A8 - cmp r1, 0x9 - bls _080832B4 - b _080832B8 - .align 2, 0 -_08083284: .4byte 0x0000ffff -_08083288: .4byte gWildMonHeaders -_0808328C: - cmp r5, 0x2 - bne _080832CC - ldr r1, _080832AC @ =gWildMonHeaders - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080832CC - ldrb r1, [r0] - cmp r1, 0x4F - bls _080832B0 -_080832A8: - movs r0, 0 - b _080832CE - .align 2, 0 -_080832AC: .4byte gWildMonHeaders -_080832B0: - cmp r1, 0x9 - bhi _080832B8 -_080832B4: - movs r0, 0x8 - b _080832CE -_080832B8: - ldrb r0, [r0] - movs r1, 0xA - bl __udivsi3 - adds r1, r0, 0 - movs r0, 0x8 - subs r0, r1 - lsls r0, 24 - lsrs r0, 24 - b _080832CE -_080832CC: - movs r0, 0xFF -_080832CE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_808324C - - thumb_func_start sub_80832D4 -sub_80832D4: @ 80832D4 - ldr r0, _080832E0 @ =gUnknown_20386D0 - movs r2, 0 - movs r1, 0 - strh r1, [r0, 0x6] - strb r2, [r0, 0x8] - bx lr - .align 2, 0 -_080832E0: .4byte gUnknown_20386D0 - thumb_func_end sub_80832D4 - - thumb_func_start sub_80832E4 -sub_80832E4: @ 80832E4 - push {r4,r5,lr} - movs r1, 0x4 - bl sub_8058F1C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080833A0 - bl sub_808324C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - beq _080833A0 - lsls r4, 8 - movs r5, 0xA0 - lsls r5, 3 - bl sub_80831A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08083318 - cmp r0, 0x2 - beq _08083326 - b _0808332A -_08083318: - lsrs r0, r4, 1 - subs r4, r0 - lsrs r0, r5, 1 - movs r1, 0xA0 - lsls r1, 3 - adds r5, r0, r1 - b _0808332A -_08083326: - lsls r4, 1 - lsrs r5, 1 -_0808332A: - ldr r0, _08083368 @ =gPlayerParty - movs r1, 0xC - bl GetMonData - ldr r1, _0808336C @ =gUnknown_20386D0 - strh r0, [r1, 0xA] - bl sub_80831F8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08083356 - adds r0, r4, 0 - movs r1, 0x3 - bl __udivsi3 - adds r4, r0 - adds r0, r5, 0 - movs r1, 0x3 - bl __udivsi3 - subs r5, r0 -_08083356: - bl sub_8082C58 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08083370 - cmp r0, 0x2 - beq _08083376 - b _0808337A - .align 2, 0 -_08083368: .4byte gPlayerParty -_0808336C: .4byte gUnknown_20386D0 -_08083370: - lsls r4, 1 - lsrs r5, 1 - b _0808337A -_08083376: - lsrs r4, 1 - lsls r5, 1 -_0808337A: - lsrs r4, 8 - lsrs r5, 8 - ldr r1, _080833A4 @ =gUnknown_20386D0 - ldrb r0, [r1, 0x8] - cmp r0, r4 - bcs _080833A8 - adds r0, 0x1 - strb r0, [r1, 0x8] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r5 - bcc _080833A8 -_080833A0: - movs r0, 0 - b _080833AA - .align 2, 0 -_080833A4: .4byte gUnknown_20386D0 -_080833A8: - movs r0, 0x1 -_080833AA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80832E4 - - thumb_func_start sub_80833B0 -sub_80833B0: @ 80833B0 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_80832E4 - lsls r0, 24 - cmp r0, 0 - bne _080833D4 - adds r0, r4, 0 - movs r1, 0 - bl sub_8058F1C - ldr r1, _080833D0 @ =gUnknown_20386D0 - strh r0, [r1, 0x4] - movs r0, 0 - b _0808340A - .align 2, 0 -_080833D0: .4byte gUnknown_20386D0 -_080833D4: - ldr r5, _080833F4 @ =gUnknown_20386D0 - ldrh r1, [r5, 0x4] - adds r0, r4, 0 - bl sub_8082CBC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080833F8 - adds r0, r4, 0 - movs r1, 0 - bl sub_8058F1C - strh r0, [r5, 0x4] - movs r0, 0 - b _0808340A - .align 2, 0 -_080833F4: .4byte gUnknown_20386D0 -_080833F8: - movs r0, 0 - movs r1, 0 - strh r1, [r5, 0x6] - strb r0, [r5, 0x8] - adds r0, r4, 0 - bl sub_8058F1C - strh r0, [r5, 0x4] - movs r0, 0x1 -_0808340A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80833B0 - - thumb_func_start sub_8083410 -sub_8083410: @ 8083410 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0808342C @ =0x00004020 - bl VarGet - lsls r0, 16 - cmp r0, 0 - bne _08083434 - ldr r1, _08083430 @ =gUnknown_20386D0 - ldrh r0, [r1, 0x6] - adds r0, r4 - b _08083438 - .align 2, 0 -_0808342C: .4byte 0x00004020 -_08083430: .4byte gUnknown_20386D0 -_08083434: - ldr r1, _08083440 @ =gUnknown_20386D0 - movs r0, 0 -_08083438: - strh r0, [r1, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08083440: .4byte gUnknown_20386D0 - thumb_func_end sub_8083410 - - .align 2, 0 @ Don't pad with nop. |