diff options
| author | DizzyEggg <jajkodizzy@wp.pl> | 2017-11-17 17:50:07 +0100 | 
|---|---|---|
| committer | DizzyEggg <jajkodizzy@wp.pl> | 2017-11-17 17:50:07 +0100 | 
| commit | a2a17bba926d1465108ab55c47f9145494ff78e5 (patch) | |
| tree | f72fbf0ffd636f9f7ac39f49b2a2448ae9a6762c /asm | |
| parent | b37d8c0821997038c96723d85bcc95734af0c159 (diff) | |
more work on wild encounter
Diffstat (limited to 'asm')
| -rwxr-xr-x | asm/battle_frontier_2.s | 20 | ||||
| -rw-r--r-- | asm/battle_setup.s | 18 | ||||
| -rw-r--r-- | asm/field_control_avatar.s | 2 | ||||
| -rw-r--r-- | asm/field_player_avatar.s | 2 | ||||
| -rw-r--r-- | asm/wild_encounter.s | 593 | 
5 files changed, 22 insertions, 613 deletions
| diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index f92f964bb..43ad02708 100755 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -25426,8 +25426,8 @@ sub_81A7B84: @ 81A7B84  	.pool  	thumb_func_end sub_81A7B84 -	thumb_func_start sub_81A7B90 -sub_81A7B90: @ 81A7B90 +	thumb_func_start TryGenerateBattlePikeWildMon +TryGenerateBattlePikeWildMon: @ 81A7B90  	push {r4-r7,lr}  	mov r7, r10  	mov r6, r9 @@ -25437,7 +25437,7 @@ sub_81A7B90: @ 81A7B90  	lsls r0, 24  	lsrs r0, 24  	mov r8, r0 -	bl sub_81A7D00 +	bl GetBattlePikeWildMonHeaderId  	lsls r0, 24  	lsrs r6, r0, 24  	ldr r7, =gSaveBlock2Ptr @@ -25596,10 +25596,10 @@ _081A7CE2:  	pop {r1}  	bx r1  	.pool -	thumb_func_end sub_81A7B90 +	thumb_func_end TryGenerateBattlePikeWildMon -	thumb_func_start sub_81A7D00 -sub_81A7D00: @ 81A7D00 +	thumb_func_start GetBattlePikeWildMonHeaderId +GetBattlePikeWildMonHeaderId: @ 81A7D00  	push {lr}  	ldr r0, =gSaveBlock2Ptr  	ldr r1, [r0] @@ -25638,7 +25638,7 @@ _081A7D4C:  	adds r0, r1, 0  	pop {r1}  	bx r1 -	thumb_func_end sub_81A7D00 +	thumb_func_end GetBattlePikeWildMonHeaderId  	thumb_func_start sub_81A7D54  sub_81A7D54: @ 81A7D54 @@ -29386,8 +29386,8 @@ _081A9B86:  	.pool  	thumb_func_end sub_81A9B44 -	thumb_func_start sub_81A9C04 -sub_81A9C04: @ 81A9C04 +	thumb_func_start GenerateBattlePyramidWildMon +GenerateBattlePyramidWildMon: @ 81A9C04  	push {r4-r6,lr}  	sub sp, 0x14  	ldr r0, =gSaveBlock2Ptr @@ -29627,7 +29627,7 @@ _081A9E0C:  	pop {r0}  	bx r0  	.pool -	thumb_func_end sub_81A9C04 +	thumb_func_end GenerateBattlePyramidWildMon  	thumb_func_start sub_81A9E28  sub_81A9E28: @ 81A9E28 diff --git a/asm/battle_setup.s b/asm/battle_setup.s index 621749734..f77e7a5d0 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -82,8 +82,8 @@ task_add_01_battle_start: @ 80B065C  	.pool  	thumb_func_end task_add_01_battle_start -	thumb_func_start sub_80B0698 -sub_80B0698: @ 80B0698 +	thumb_func_start BattleSetup_StartWildBattle +BattleSetup_StartWildBattle: @ 80B0698  	push {lr}  	bl GetSafariZoneFlag  	cmp r0, 0 @@ -95,15 +95,15 @@ _080B06A8:  _080B06AC:  	pop {r0}  	bx r0 -	thumb_func_end sub_80B0698 +	thumb_func_end BattleSetup_StartWildBattle -	thumb_func_start sub_80B06B0 -sub_80B06B0: @ 80B06B0 +	thumb_func_start BattleSetup_StartBattlePikeWildBattle +BattleSetup_StartBattlePikeWildBattle: @ 80B06B0  	push {lr}  	bl sub_80B07B4  	pop {r0}  	bx r0 -	thumb_func_end sub_80B06B0 +	thumb_func_end BattleSetup_StartBattlePikeWildBattle  	thumb_func_start sub_80B06BC  sub_80B06BC: @ 80B06BC @@ -147,8 +147,8 @@ _080B06F2:  	.pool  	thumb_func_end sub_80B06BC -	thumb_func_start sub_80B072C -sub_80B072C: @ 80B072C +	thumb_func_start BattleSetup_StartRoamerBattle +BattleSetup_StartRoamerBattle: @ 80B072C  	push {lr}  	bl ScriptContext2_Enable  	bl player_bitmagic @@ -174,7 +174,7 @@ sub_80B072C: @ 80B072C  	pop {r0}  	bx r0  	.pool -	thumb_func_end sub_80B072C +	thumb_func_end BattleSetup_StartRoamerBattle  	thumb_func_start sub_80B077C  sub_80B077C: @ 80B077C diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 7ce989d94..a6d3c93ea 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1607,7 +1607,7 @@ _0809CC0C:  	ldr r5, =gUnknown_020375D6  	ldrh r1, [r5]  	adds r0, r4, 0 -	bl is_it_battle_time_2 +	bl StandardWildEncounter  	lsls r0, 24  	lsrs r0, 24  	cmp r0, 0x1 diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 34ff54f61..28c90d23d 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -4316,7 +4316,7 @@ fish5: @ 808CABC  	adds r0, 0x1  	strh r0, [r5, 0x8]  	movs r6, 0 -	bl GetFishingWildMonListHeader +	bl DoesCurrentMapHaveFishingMons  	lsls r0, 24  	cmp r0, 0  	bne _0808CADC diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s index 19b7eeba6..d8f02ae83 100644 --- a/asm/wild_encounter.s +++ b/asm/wild_encounter.s @@ -6,598 +6,7 @@  	.text -	thumb_func_start DoGlobalWildEncounterDiceRoll -DoGlobalWildEncounterDiceRoll: @ 80B523C -	push {lr} -	bl Random -	lsls r0, 16 -	lsrs r0, 16 -	movs r1, 0x64 -	bl __umodsi3 -	lsls r0, 16 -	lsrs r0, 16 -	cmp r0, 0x3B -	bhi _080B5258 -	movs r0, 0x1 -	b _080B525A -_080B5258: -	movs r0, 0 -_080B525A: -	pop {r1} -	bx r1 -	thumb_func_end DoGlobalWildEncounterDiceRoll - -	thumb_func_start sub_80B5260 -sub_80B5260: @ 80B5260 -	push {lr} -	ldr r0, =gSaveBlock1Ptr -	ldr r0, [r0] -	ldrh r1, [r0, 0x4] -	movs r0, 0xE0 -	lsls r0, 3 -	cmp r1, r0 -	bne _080B5280 -	movs r0, 0x53 -	bl FlagGet -	lsls r0, 24 -	lsrs r0, 24 -	b _080B5282 -	.pool -_080B5280: -	movs r0, 0 -_080B5282: -	pop {r1} -	bx r1 -	thumb_func_end sub_80B5260 -	thumb_func_start is_it_battle_time_2 -is_it_battle_time_2: @ 80B5288 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	lsls r0, 16 -	lsrs r6, r0, 16 -	mov r9, r6 -	lsls r1, 16 -	lsrs r7, r1, 16 -	mov r8, r7 -	ldr r0, =sWildEncountersDisabled -	ldrb r0, [r0] -	cmp r0, 0x1 -	bne _080B52A6 -	b _080B54FE -_080B52A6: -	bl GetCurrentMapWildMonHeaderId -	lsls r0, 16 -	lsrs r5, r0, 16 -	ldr r0, =0x0000ffff -	cmp r5, r0 -	bne _080B539C -	ldr r0, =gMapHeader -	ldrh r1, [r0, 0x12] -	movs r0, 0xB3 -	lsls r0, 1 -	cmp r1, r0 -	bne _080B5330 -	bl sub_81A7D00 -	lsls r0, 24 -	lsrs r5, r0, 24 -	cmp r7, r6 -	beq _080B52D8 -	bl DoGlobalWildEncounterDiceRoll -	lsls r0, 24 -	cmp r0, 0 -	bne _080B52D8 -	b _080B54FE -_080B52D8: -	ldr r1, =gUnknown_08553A14 -	lsls r0, r5, 2 -	adds r0, r5 -	lsls r0, 2 -	adds r1, 0x4 -	adds r4, r0, r1 -	ldr r0, [r4] -	ldrb r0, [r0] -	movs r1, 0 -	bl DoWildEncounterRateTest -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B52F8 -	b _080B54FE -_080B52F8: -	ldr r0, [r4] -	movs r1, 0 -	movs r2, 0x2 -	bl TryGenerateWildMon -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B530C -	b _080B54FE -_080B530C: -	movs r0, 0x1 -	bl sub_81A7B90 -	cmp r0, 0 -	bne _080B5318 -	b _080B54FE -_080B5318: -	bl sub_80B06B0 -	movs r0, 0x1 -	b _080B5500 -	.pool -_080B5330: -	ldr r0, =0x00000169 -	cmp r1, r0 -	beq _080B5338 -	b _080B54FE -_080B5338: -	ldr r0, =gSaveBlock2Ptr -	ldr r0, [r0] -	ldr r1, =0x00000cb2 -	adds r0, r1 -	ldrh r5, [r0] -	cmp r7, r6 -	beq _080B5352 -	bl DoGlobalWildEncounterDiceRoll -	lsls r0, 24 -	cmp r0, 0 -	bne _080B5352 -	b _080B54FE -_080B5352: -	ldr r1, =gUnknown_08553894 -	lsls r0, r5, 2 -	adds r0, r5 -	lsls r0, 2 -	adds r1, 0x4 -	adds r4, r0, r1 -	ldr r0, [r4] -	ldrb r0, [r0] -	movs r1, 0 -	bl DoWildEncounterRateTest -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B5372 -	b _080B54FE -_080B5372: -	ldr r0, [r4] -	movs r1, 0 -	movs r2, 0x2 -	bl TryGenerateWildMon -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B5386 -	b _080B54FE -_080B5386: -	bl sub_81A9C04 -	b _080B54F6 -	.pool -_080B539C: -	lsls r0, r6, 24 -	lsrs r4, r0, 24 -	adds r0, r4, 0 -	bl MetatileBehavior_IsLandWildEncounter -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B543C -	ldr r1, =gWildMonHeaders -	lsls r2, r5, 2 -	adds r0, r2, r5 -	lsls r0, 2 -	adds r1, 0x4 -	adds r0, r1 -	ldr r0, [r0] -	adds r4, r2, 0 -	cmp r0, 0 -	bne _080B53C4 -	b _080B54FE -_080B53C4: -	cmp r7, r6 -	beq _080B53D4 -	bl DoGlobalWildEncounterDiceRoll -	lsls r0, 24 -	cmp r0, 0 -	bne _080B53D4 -	b _080B54FE -_080B53D4: -	ldr r1, =gWildMonHeaders -	adds r0, r4, r5 -	lsls r0, 2 -	adds r1, 0x4 -	adds r0, r1 -	ldr r0, [r0] -	ldrb r0, [r0] -	movs r1, 0 -	bl DoWildEncounterRateTest -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B53F2 -	b _080B54FE -_080B53F2: -	bl TryStartRoamerEncounter -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B54BA -	bl DoMassOutbreakEncounterTest -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B5418 -	movs r0, 0x3 -	bl SetUpMassOutbreakEncounter -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B54F6 -_080B5418: -	ldr r1, =gWildMonHeaders -	adds r0, r4, r5 -	lsls r0, 2 -	adds r1, 0x4 -	adds r0, r1 -	ldr r0, [r0] -	movs r1, 0 -	movs r2, 0x3 -	bl TryGenerateWildMon -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B54F6 -	b _080B54FE -	.pool -_080B543C: -	adds r0, r4, 0 -	bl MetatileBehavior_IsWaterWildEncounter -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B5464 -	movs r0, 0x8 -	bl TestPlayerAvatarFlags -	lsls r0, 24 -	cmp r0, 0 -	beq _080B54FE -	adds r0, r4, 0 -	bl MetatileBehavior_IsBridge -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B54FE -_080B5464: -	bl sub_80B5260 -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B54FE -	ldr r1, =gWildMonHeaders -	lsls r2, r5, 2 -	adds r0, r2, r5 -	lsls r0, 2 -	adds r1, 0x8 -	adds r0, r1 -	ldr r0, [r0] -	adds r4, r2, 0 -	cmp r0, 0 -	beq _080B54FE -	cmp r8, r9 -	beq _080B5492 -	bl DoGlobalWildEncounterDiceRoll -	lsls r0, 24 -	cmp r0, 0 -	beq _080B54FE -_080B5492: -	ldr r1, =gWildMonHeaders -	adds r0, r4, r5 -	lsls r0, 2 -	adds r1, 0x8 -	adds r4, r0, r1 -	ldr r0, [r4] -	ldrb r0, [r0] -	movs r1, 0 -	bl DoWildEncounterRateTest -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B54FE -	bl TryStartRoamerEncounter -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B54E4 -_080B54BA: -	ldr r0, =gSaveBlock1Ptr -	ldr r0, [r0] -	ldr r1, =0x000031dc -	adds r0, r1 -	ldrb r0, [r0, 0xC] -	bl IsWildLevelAllowedByRepel -	lsls r0, 24 -	cmp r0, 0 -	beq _080B54FE -	bl sub_80B072C -	movs r0, 0x1 -	b _080B5500 -	.pool -_080B54E4: -	ldr r0, [r4] -	movs r1, 0x1 -	movs r2, 0x3 -	bl TryGenerateWildMon -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B54FE -_080B54F6: -	bl sub_80B0698 -	movs r0, 0x1 -	b _080B5500 -_080B54FE: -	movs r0, 0 -_080B5500: -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r1} -	bx r1 -	thumb_func_end is_it_battle_time_2 - -	thumb_func_start rock_smash_wild_pokemon_encounter -rock_smash_wild_pokemon_encounter: @ 80B550C -	push {r4,lr} -	bl GetCurrentMapWildMonHeaderId -	lsls r0, 16 -	lsrs r2, r0, 16 -	ldr r0, =0x0000ffff -	cmp r2, r0 -	beq _080B5568 -	ldr r1, =gWildMonHeaders -	lsls r0, r2, 2 -	adds r0, r2 -	lsls r0, 2 -	adds r1, 0xC -	adds r0, r1 -	ldr r4, [r0] -	cmp r4, 0 -	beq _080B5554 -	ldrb r0, [r4] -	movs r1, 0x1 -	bl DoWildEncounterRateTest -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B5568 -	adds r0, r4, 0 -	movs r1, 0x2 -	movs r2, 0x3 -	bl TryGenerateWildMon -	lsls r0, 24 -	lsrs r4, r0, 24 -	cmp r4, 0x1 -	bne _080B5568 -	bl sub_80B0698 -_080B5554: -	ldr r0, =gSpecialVar_Result -	strh r4, [r0] -	b _080B556E -	.pool -_080B5568: -	ldr r1, =gSpecialVar_Result -	movs r0, 0 -	strh r0, [r1] -_080B556E: -	pop {r4} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end rock_smash_wild_pokemon_encounter - -	thumb_func_start SweetScentWildEncounter -SweetScentWildEncounter: @ 80B5578 -	push {r4,r5,lr} -	sub sp, 0x4 -	mov r5, sp -	adds r5, 0x2 -	mov r0, sp -	adds r1, r5, 0 -	bl PlayerGetDestCoords -	bl GetCurrentMapWildMonHeaderId -	lsls r0, 16 -	lsrs r4, r0, 16 -	ldr r0, =0x0000ffff -	cmp r4, r0 -	bne _080B562C -	ldr r0, =gMapHeader -	ldrh r1, [r0, 0x12] -	movs r0, 0xB3 -	lsls r0, 1 -	cmp r1, r0 -	bne _080B55E4 -	bl sub_81A7D00 -	lsls r0, 24 -	lsrs r4, r0, 24 -	ldr r1, =gUnknown_08553A14 -	lsls r0, r4, 2 -	adds r0, r4 -	lsls r0, 2 -	adds r1, 0x4 -	adds r0, r1 -	ldr r0, [r0] -	movs r1, 0 -	movs r2, 0 -	bl TryGenerateWildMon -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B55CA -	b _080B56F2 -_080B55CA: -	movs r0, 0 -	bl sub_81A7B90 -	bl sub_80B06B0 -	movs r0, 0x1 -	b _080B56F4 -	.pool -_080B55E4: -	ldr r0, =0x00000169 -	cmp r1, r0 -	beq _080B55EC -	b _080B56F2 -_080B55EC: -	ldr r0, =gSaveBlock2Ptr -	ldr r0, [r0] -	ldr r1, =0x00000cb2 -	adds r0, r1 -	ldrh r4, [r0] -	ldr r1, =gUnknown_08553894 -	lsls r0, r4, 2 -	adds r0, r4 -	lsls r0, 2 -	adds r1, 0x4 -	adds r0, r1 -	ldr r0, [r0] -	movs r1, 0 -	movs r2, 0 -	bl TryGenerateWildMon -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B56F2 -	bl sub_81A9C04 -	b _080B56EA -	.pool -_080B562C: -	mov r0, sp -	movs r2, 0 -	ldrsh r0, [r0, r2] -	movs r2, 0 -	ldrsh r1, [r5, r2] -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 24 -	lsrs r0, 24 -	bl MetatileBehavior_IsLandWildEncounter -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B568C -	ldr r1, =gWildMonHeaders -	lsls r0, r4, 2 -	adds r0, r4 -	lsls r0, 2 -	adds r1, 0x4 -	adds r0, r1 -	ldr r4, [r0] -	cmp r4, 0 -	beq _080B56F2 -	bl TryStartRoamerEncounter -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B56D4 -	bl DoMassOutbreakEncounterTest -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B5680 -	movs r0, 0 -	bl SetUpMassOutbreakEncounter -	b _080B56EA -	.pool -_080B5680: -	adds r0, r4, 0 -	movs r1, 0 -	movs r2, 0 -	bl TryGenerateWildMon -	b _080B56EA -_080B568C: -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	movs r2, 0 -	ldrsh r1, [r5, r2] -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 24 -	lsrs r0, 24 -	bl MetatileBehavior_IsWaterWildEncounter -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B56F2 -	bl sub_80B5260 -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _080B56F2 -	ldr r1, =gWildMonHeaders -	lsls r0, r4, 2 -	adds r0, r4 -	lsls r0, 2 -	adds r1, 0x8 -	adds r0, r1 -	ldr r4, [r0] -	cmp r4, 0 -	beq _080B56F2 -	bl TryStartRoamerEncounter -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _080B56E0 -_080B56D4: -	bl sub_80B072C -	movs r0, 0x1 -	b _080B56F4 -	.pool -_080B56E0: -	adds r0, r4, 0 -	movs r1, 0x1 -	movs r2, 0 -	bl TryGenerateWildMon -_080B56EA: -	bl sub_80B0698 -	movs r0, 0x1 -	b _080B56F4 -_080B56F2: -	movs r0, 0 -_080B56F4: -	add sp, 0x4 -	pop {r4,r5} -	pop {r1} -	bx r1 -	thumb_func_end SweetScentWildEncounter - -	thumb_func_start GetFishingWildMonListHeader -GetFishingWildMonListHeader: @ 80B56FC -	push {lr} -	bl GetCurrentMapWildMonHeaderId -	lsls r0, 16 -	lsrs r2, r0, 16 -	ldr r0, =0x0000ffff -	cmp r2, r0 -	beq _080B572C -	ldr r0, =gWildMonHeaders -	lsls r1, r2, 2 -	adds r1, r2 -	lsls r1, 2 -	adds r0, 0x10 -	adds r1, r0 -	ldr r0, [r1] -	cmp r0, 0 -	beq _080B572C -	movs r0, 0x1 -	b _080B572E -	.pool -_080B572C: -	movs r0, 0 -_080B572E: -	pop {r1} -	bx r1 -	thumb_func_end GetFishingWildMonListHeader  	thumb_func_start sub_80B5734  sub_80B5734: @ 80B5734 @@ -640,7 +49,7 @@ _080B5784:  	bl IncrementGameStat  	adds r0, r4, 0  	bl sub_80EDA3C -	bl sub_80B0698 +	bl BattleSetup_StartWildBattle  	pop {r4,r5}  	pop {r0}  	bx r0 | 
