diff options
Diffstat (limited to 'asm')
| -rw-r--r-- | asm/battle_frontier_1.s | 12 | ||||
| -rw-r--r-- | asm/battle_frontier_2.s | 6 | ||||
| -rw-r--r-- | asm/battle_tower.s | 10 | ||||
| -rw-r--r-- | asm/main_menu.s | 4 | ||||
| -rw-r--r-- | asm/party_menu.s | 2 | ||||
| -rw-r--r-- | asm/pokemon_1.s | 2016 | ||||
| -rw-r--r-- | asm/pokemon_3.s | 529 | ||||
| -rw-r--r-- | asm/pokemon_item_effect.s | 1967 | ||||
| -rw-r--r-- | asm/pokemon_summary_screen.s | 4 | ||||
| -rw-r--r-- | asm/trade.s | 8 | ||||
| -rw-r--r-- | asm/trainer_card.s | 4 | 
11 files changed, 25 insertions, 4537 deletions
| diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index 38e0e4b0a..60ac46859 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -1591,7 +1591,7 @@ _0818F7E8:  	lsrs r1, 16  	ldr r0, [sp, 0x18]  	movs r2, 0x1 -	bl nature_stat_mod +	bl ModifyStatByNature  	lsls r0, 24  	lsrs r0, 24  	mov r1, r8 @@ -1618,7 +1618,7 @@ _0818F820:  	lsrs r1, 16  	ldr r0, [sp, 0x18]  	movs r2, 0x2 -	bl nature_stat_mod +	bl ModifyStatByNature  	lsls r0, 24  	lsrs r0, 24  	mov r1, r8 @@ -1645,7 +1645,7 @@ _0818F858:  	lsrs r1, 16  	ldr r0, [sp, 0x18]  	movs r2, 0x3 -	bl nature_stat_mod +	bl ModifyStatByNature  	lsls r0, 24  	lsrs r0, 24  	mov r1, r8 @@ -1672,7 +1672,7 @@ _0818F890:  	lsrs r1, 16  	ldr r0, [sp, 0x18]  	movs r2, 0x4 -	bl nature_stat_mod +	bl ModifyStatByNature  	lsls r0, 24  	lsrs r0, 24  	mov r1, r8 @@ -1699,7 +1699,7 @@ _0818F8C8:  	lsrs r1, 16  	ldr r0, [sp, 0x18]  	movs r2, 0x5 -	bl nature_stat_mod +	bl ModifyStatByNature  	lsls r0, 24  	lsrs r0, 24  	mov r1, r8 @@ -1941,7 +1941,7 @@ sub_818FA74: @ 818FA74  	str r4, [sp, 0x4]  	ldr r7, [sp, 0x14]  	str r7, [sp, 0x8] -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	add r0, sp, 0xC  	movs r1, 0x1  	negs r1, r1 diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 67f44a0b6..11220f369 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -1960,7 +1960,7 @@ _0819B572:  	mov r2, r9  	str r2, [sp, 0x8]  	ldr r2, [sp, 0x14] -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	movs r1, 0  	add r0, sp, 0xC  	strb r1, [r0] @@ -2103,7 +2103,7 @@ _0819B678:  	mov r2, r10  	str r2, [sp, 0x8]  	movs r2, 0x1E -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	add r0, sp, 0xC  	movs r3, 0  	strb r3, [r0] @@ -23864,7 +23864,7 @@ _081A6E0C:  	ldr r4, [sp, 0x28]  	str r4, [sp, 0x8]  	lsrs r2, 24 -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	add r0, sp, 0x1C  	movs r7, 0  	strb r7, [r0] diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 8a4036cec..13641fef0 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -2351,7 +2351,7 @@ _08163368:  	ldr r2, [sp, 0x30]  	str r2, [sp, 0x8]  	ldr r2, [sp, 0x20] -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	movs r0, 0xFF  	mov r6, sp  	strb r0, [r6, 0x14] @@ -2775,7 +2775,7 @@ _081636CE:  	str r2, [sp, 0x8]  	ldr r2, [sp, 0x14]  	mov r3, r10 -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	movs r1, 0  	add r0, sp, 0xC  	strb r1, [r0] @@ -2894,7 +2894,7 @@ _081637D0:  	mov r2, r9  	str r2, [sp, 0x8]  	movs r2, 0x1E -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	movs r1, 0  	add r0, sp, 0xC  	strb r1, [r0] @@ -6289,7 +6289,7 @@ _081655A6:  	str r3, [sp, 0x8]  	lsrs r2, 24  	mov r3, r12 -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	movs r0, 0xFF  	str r0, [sp, 0x48]  	movs r0, 0 @@ -7550,7 +7550,7 @@ _08165FDA:  	ldr r2, [sp, 0x2C]  	str r2, [sp, 0x8]  	ldr r2, [sp, 0x20] -	bl sub_8068634 +	bl CreateMonWithEVSpreadPersonalityOTID  	add r1, sp, 0x14  	movs r0, 0xFF  	strb r0, [r1] diff --git a/asm/main_menu.s b/asm/main_menu.s index 9c6cd1253..48d1411c5 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -3940,7 +3940,7 @@ AddBirchSpeechObjects: @ 803192C  	strb r1, [r2]  	strh r0, [r5, 0x1A]  	movs r0, 0x3C -	bl sub_806EFF0 +	bl FacilityClassToPicIndex  	lsls r0, 24  	lsrs r0, 24  	ldr r4, =0x0201c000 @@ -3970,7 +3970,7 @@ AddBirchSpeechObjects: @ 803192C  	strb r1, [r2, 0x5]  	strh r0, [r5, 0x1C]  	movs r0, 0x3F -	bl sub_806EFF0 +	bl FacilityClassToPicIndex  	lsls r0, 24  	lsrs r0, 24  	ldr r1, =0x0201c000 diff --git a/asm/party_menu.s b/asm/party_menu.s index 991ad3623..6e134d444 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -11943,7 +11943,7 @@ _081B6558:  	adds r1, r5, 0  _081B6572:  	adds r3, r6, 0 -	bl ExecuteTableBasedItemEffect_ +	bl ExecuteTableBasedItemEffect  	lsls r0, 24  	lsrs r0, 24  	pop {r4-r6} diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s deleted file mode 100644 index 5dbfb2ee3..000000000 --- a/asm/pokemon_1.s +++ /dev/null @@ -1,2016 +0,0 @@ -	.include "asm/macros.inc" -	.include "constants/constants.inc" - -	.syntax unified - -	.text - - - -	thumb_func_start sub_8068528 -sub_8068528: @ 8068528 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	sub sp, 0x14 -	adds r7, r0, 0 -	mov r9, r1 -	lsls r2, 24 -	lsrs r2, 24 -	ldr r6, =gUnknown_08610970 -	ldrb r0, [r1] -	lsls r3, r0, 27 -	lsrs r1, r3, 27 -	movs r5, 0x58 -	muls r1, r5 -	adds r1, r6 -	ldrh r1, [r1, 0x30] -	mov r8, r1 -	lsrs r1, r3, 27 -	muls r1, r5 -	adds r1, r6 -	ldrh r4, [r1, 0x30] -	lsrs r4, 8 -	lsrs r3, 27 -	adds r1, r3, 0 -	muls r1, r5 -	adds r1, r6 -	ldrh r3, [r1, 0x30] -	movs r1, 0xFF -	ands r1, r3 -	lsls r1, 8 -	lsls r5, r2, 1 -	adds r5, r2 -	lsls r5, 2 -	mov r2, r9 -	adds r6, r2, r5 -	orrs r4, r1 -	ldrh r1, [r6, 0x4] -	adds r4, r1 -	ldrb r1, [r2, 0x2] -	adds r4, r1 -	lsls r0, 25 -	lsrs r0, 30 -	subs r0, 0x1 -	lsls r0, 24 -	lsrs r0, 24 -	bl BattleFrontierGetOpponentLvl -	adds r2, r0, 0 -	lsls r2, 24 -	lsrs r2, 24 -	ldrh r1, [r6, 0x4] -	movs r0, 0x1 -	str r0, [sp] -	str r4, [sp, 0x4] -	str r0, [sp, 0x8] -	mov r0, r8 -	str r0, [sp, 0xC] -	adds r0, r7, 0 -	movs r3, 0x1F -	bl CreateMon -	mov r1, r9 -	adds r2, r5, r1 -	adds r2, 0xE -	adds r0, r7, 0 -	movs r1, 0xC -	bl SetMonData -	movs r4, 0 -	movs r2, 0x12 -	add r2, sp -	mov r8, r2 -	mov r6, r9 -	adds r6, 0x6 -_080685BE: -	adds r0, r6, r5 -	ldrh r1, [r0] -	lsls r2, r4, 24 -	lsrs r2, 24 -	adds r0, r7, 0 -	bl SetMonMoveSlot -	adds r5, 0x2 -	adds r4, 0x1 -	cmp r4, 0x3 -	ble _080685BE -	movs r1, 0x55 -	add r0, sp, 0x10 -	strh r1, [r0] -	movs r4, 0 -	mov r5, r9 -	adds r5, 0x3F -_080685E0: -	adds r1, r4, 0 -	adds r1, 0x1A -	adds r0, r7, 0 -	add r2, sp, 0x10 -	bl SetMonData -	adds r4, 0x1 -	cmp r4, 0x5 -	ble _080685E0 -	ldrb r0, [r5] -	mov r1, r8 -	strb r0, [r1] -	adds r0, r7, 0 -	movs r1, 0x3 -	mov r2, r8 -	bl SetMonData -	mov r2, r9 -	ldrb r0, [r2] -	lsls r0, 27 -	lsrs r0, 27 -	mov r2, r8 -	ldrb r1, [r2] -	bl sub_81A1650 -	adds r2, r0, 0 -	adds r0, r7, 0 -	movs r1, 0x7 -	bl SetMonData -	adds r0, r7, 0 -	bl CalculateMonStats -	add sp, 0x14 -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_8068528 - -	thumb_func_start sub_8068634 -sub_8068634: @ 8068634 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x18 -	adds r7, r0, 0 -	ldr r0, [sp, 0x38] -	ldr r4, [sp, 0x3C] -	lsls r1, 16 -	lsrs r1, 16 -	str r1, [sp, 0x14] -	lsls r2, 24 -	lsrs r2, 24 -	mov r10, r2 -	lsls r3, 24 -	lsrs r5, r3, 24 -	lsls r0, 24 -	lsrs r0, 24 -	mov r9, r0 -	lsls r4, 24 -	lsrs r4, 24 -	mov r8, r4 -	movs r6, 0 -_08068664: -	bl Random -	adds r4, r0, 0 -	bl Random -	lsls r4, 16 -	lsrs r4, 16 -	lsls r0, 16 -	orrs r4, r0 -	adds r0, r4, 0 -	bl GetNatureFromPersonality -	lsls r0, 24 -	lsrs r0, 24 -	cmp r5, r0 -	bne _08068664 -	movs r0, 0x1 -	str r0, [sp] -	str r4, [sp, 0x4] -	str r0, [sp, 0x8] -	ldr r0, [sp, 0x40] -	str r0, [sp, 0xC] -	adds r0, r7, 0 -	ldr r1, [sp, 0x14] -	mov r2, r10 -	mov r3, r9 -	bl CreateMon -	mov r5, r8 -	movs r1, 0x1 -	movs r4, 0x5 -_080686A2: -	adds r0, r5, 0 -	ands r0, r1 -	cmp r0, 0 -	beq _080686AC -	adds r6, 0x1 -_080686AC: -	lsrs r5, 1 -	subs r4, 0x1 -	cmp r4, 0 -	bge _080686A2 -	movs r0, 0xFF -	lsls r0, 1 -	adds r1, r6, 0 -	bl __divsi3 -	add r1, sp, 0x10 -	strh r0, [r1] -	movs r5, 0x1 -	movs r4, 0 -_080686C6: -	mov r0, r8 -	ands r0, r5 -	cmp r0, 0 -	beq _080686DA -	adds r1, r4, 0 -	adds r1, 0x1A -	adds r0, r7, 0 -	add r2, sp, 0x10 -	bl SetMonData -_080686DA: -	lsls r0, r5, 25 -	lsrs r5, r0, 24 -	adds r4, 0x1 -	cmp r4, 0x5 -	ble _080686C6 -	adds r0, r7, 0 -	bl CalculateMonStats -	add sp, 0x18 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_8068634 - -	thumb_func_start sub_80686FC -sub_80686FC: @ 80686FC -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	adds r7, r0, 0 -	adds r6, r1, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	strh r0, [r6] -	adds r0, r7, 0 -	movs r1, 0xC -	movs r2, 0 -	bl GetMonData -	lsls r0, 16 -	lsrs r0, 16 -	cmp r0, 0xAF -	bne _08068726 -	movs r0, 0 -_08068726: -	strh r0, [r6, 0x2] -	movs r5, 0 -	movs r0, 0x2B -	adds r0, r6 -	mov r8, r0 -	movs r1, 0x20 -	adds r1, r6 -	mov r9, r1 -	adds r4, r6, 0x4 -_08068738: -	adds r1, r5, 0 -	adds r1, 0xD -	adds r0, r7, 0 -	movs r2, 0 -	bl GetMonData -	strh r0, [r4] -	adds r4, 0x2 -	adds r5, 0x1 -	cmp r5, 0x3 -	ble _08068738 -	adds r0, r7, 0 -	movs r1, 0x38 -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0xC] -	adds r0, r7, 0 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0xD] -	adds r0, r7, 0 -	movs r1, 0x1 -	movs r2, 0 -	bl GetMonData -	str r0, [r6, 0x14] -	adds r0, r7, 0 -	movs r1, 0x1A -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0xE] -	adds r0, r7, 0 -	movs r1, 0x1B -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0xF] -	adds r0, r7, 0 -	movs r1, 0x1C -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0x10] -	adds r0, r7, 0 -	movs r1, 0x1D -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0x11] -	adds r0, r7, 0 -	movs r1, 0x1E -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0x12] -	adds r0, r7, 0 -	movs r1, 0x1F -	movs r2, 0 -	bl GetMonData -	strb r0, [r6, 0x13] -	adds r0, r7, 0 -	movs r1, 0x20 -	movs r2, 0 -	bl GetMonData -	mov r1, r8 -	strb r0, [r1] -	adds r0, r7, 0 -	movs r1, 0x27 -	movs r2, 0 -	bl GetMonData -	movs r4, 0x1F -	ands r0, r4 -	ldrb r2, [r6, 0x18] -	movs r1, 0x20 -	negs r1, r1 -	ands r1, r2 -	orrs r1, r0 -	strb r1, [r6, 0x18] -	adds r0, r7, 0 -	movs r1, 0x28 -	movs r2, 0 -	bl GetMonData -	movs r5, 0x1F -	ands r0, r5 -	lsls r0, 5 -	ldrh r2, [r6, 0x18] -	ldr r1, =0xfffffc1f -	ands r1, r2 -	orrs r1, r0 -	strh r1, [r6, 0x18] -	adds r0, r7, 0 -	movs r1, 0x29 -	movs r2, 0 -	bl GetMonData -	ands r0, r4 -	lsls r0, 2 -	ldrb r2, [r6, 0x19] -	movs r1, 0x7D -	negs r1, r1 -	ands r1, r2 -	orrs r1, r0 -	strb r1, [r6, 0x19] -	adds r0, r7, 0 -	movs r1, 0x2A -	movs r2, 0 -	bl GetMonData -	movs r1, 0x1F -	ands r1, r0 -	lsls r1, 15 -	ldr r0, [r6, 0x18] -	ldr r2, =0xfff07fff -	ands r0, r2 -	orrs r0, r1 -	str r0, [r6, 0x18] -	adds r0, r7, 0 -	movs r1, 0x2B -	movs r2, 0 -	bl GetMonData -	ands r0, r5 -	lsls r0, 4 -	ldrh r2, [r6, 0x1A] -	ldr r1, =0xfffffe0f -	ands r1, r2 -	orrs r1, r0 -	strh r1, [r6, 0x1A] -	adds r0, r7, 0 -	movs r1, 0x2C -	movs r2, 0 -	bl GetMonData -	ands r0, r4 -	lsls r0, 1 -	ldrb r2, [r6, 0x1B] -	movs r1, 0x3F -	negs r1, r1 -	ands r1, r2 -	orrs r1, r0 -	strb r1, [r6, 0x1B] -	adds r0, r7, 0 -	movs r1, 0x2E -	movs r2, 0 -	bl GetMonData -	lsls r0, 7 -	ldrb r2, [r6, 0x1B] -	movs r1, 0x7F -	ands r1, r2 -	orrs r1, r0 -	strb r1, [r6, 0x1B] -	adds r0, r7, 0 -	movs r1, 0 -	movs r2, 0 -	bl GetMonData -	str r0, [r6, 0x1C] -	adds r0, r7, 0 -	movs r1, 0x2 -	mov r2, r9 -	bl GetMonData -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_80686FC - -	thumb_func_start CreateObedientMon -CreateObedientMon: @ 80688A8 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	sub sp, 0x14 -	mov r8, r0 -	ldr r4, [sp, 0x2C] -	ldr r6, [sp, 0x30] -	ldr r5, [sp, 0x34] -	ldr r7, [sp, 0x38] -	lsls r1, 16 -	lsrs r1, 16 -	lsls r2, 24 -	lsrs r2, 24 -	lsls r3, 24 -	lsrs r3, 24 -	lsls r4, 24 -	lsrs r4, 24 -	lsls r5, 24 -	lsrs r5, 24 -	movs r0, 0x1 -	str r0, [sp, 0x10] -	str r4, [sp] -	str r6, [sp, 0x4] -	str r5, [sp, 0x8] -	str r7, [sp, 0xC] -	mov r0, r8 -	bl CreateMon -	mov r0, r8 -	movs r1, 0x50 -	add r2, sp, 0x10 -	bl SetMonData -	add sp, 0x14 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end CreateObedientMon - -	thumb_func_start sub_80688F8 -sub_80688F8: @ 80688F8 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, 24 -	lsrs r5, r1, 24 -	cmp r0, 0x5 -	bhi _080689CE -	lsls r0, 2 -	ldr r1, =_08068914 -	adds r0, r1 -	ldr r0, [r0] -	mov pc, r0 -	.pool -	.align 2, 0 -_08068914: -	.4byte _080689CE -	.4byte _0806892C -	.4byte _08068A00 -	.4byte _08068958 -	.4byte _08068A00 -	.4byte _08068990 -_0806892C: -	ldr r0, =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x40 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -	b _080689B6 -	.pool -_08068958: -	ldr r0, =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x40 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -	cmp r5, 0x1 -	beq _08068A00 -	cmp r5, 0x4 -	beq _08068A00 -	cmp r5, 0x5 -	beq _08068A00 -	b _080689CE -	.pool -_08068990: -	ldr r0, =gBattleTypeFlags -	ldr r2, [r0] -	movs r3, 0x2 -	adds r0, r2, 0 -	ands r0, r3 -	cmp r0, 0 -	beq _080689E4 -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	adds r0, r3, 0 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -	movs r0, 0x40 -	ands r2, r0 -	cmp r2, 0 -	beq _080689F4 -_080689B6: -	ldr r4, =gLinkPlayers -	bl GetMultiplayerId -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 3 -	subs r1, r0 -	lsls r1, 2 -	adds r1, r4 -	ldrh r0, [r1, 0x18] -	cmp r0, r5 -	bne _08068A00 -_080689CE: -	movs r0, 0 -	b _08068A02 -	.pool -_080689E4: -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	adds r0, r3, 0 -	ands r0, r1 -	cmp r0, 0 -	beq _080689CE -_080689F4: -	adds r0, r5, 0 -	bl GetBattlerSide -	lsls r0, 24 -	cmp r0, 0 -	beq _080689CE -_08068A00: -	movs r0, 0x1 -_08068A02: -	pop {r4,r5} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end sub_80688F8 - -	thumb_func_start GetDeoxysStat -GetDeoxysStat: @ 8068A10 -	push {r4-r6,lr} -	adds r5, r0, 0 -	adds r6, r1, 0 -	ldr r0, =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x20 -	ands r0, r1 -	cmp r0, 0 -	bne _08068A34 -	adds r0, r5, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	movs r1, 0xCD -	lsls r1, 1 -	cmp r0, r1 -	beq _08068A3C -_08068A34: -	movs r0, 0 -	b _08068A9A -	.pool -_08068A3C: -	adds r1, r6, 0 -	adds r1, 0x27 -	adds r0, r5, 0 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	adds r1, r6, 0 -	adds r1, 0x1A -	adds r0, r5, 0 -	movs r2, 0 -	bl GetMonData -	ldr r2, =gUnknown_08329D48 -	lsls r1, r6, 1 -	adds r1, r2 -	ldrh r1, [r1] -	lsls r1, 1 -	adds r1, r4 -	cmp r0, 0 -	bge _08068A68 -	adds r0, 0x3 -_08068A68: -	asrs r0, 2 -	adds r0, r1, r0 -	adds r1, r5, 0 -	adds r1, 0x54 -	ldrb r1, [r1] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	lsls r0, 16 -	lsrs r4, r0, 16 -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	lsls r2, r6, 24 -	lsrs r2, 24 -	adds r1, r4, 0 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r4, r0, 16 -	adds r0, r4, 0 -_08068A9A: -	pop {r4-r6} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end GetDeoxysStat - -	thumb_func_start sub_8068AA4 -sub_8068AA4: @ 8068AA4 -	push {r4,r5,lr} -	sub sp, 0x4 -	movs r5, 0 -_08068AAA: -	movs r0, 0x64 -	adds r1, r5, 0 -	muls r1, r0 -	ldr r0, =gPlayerParty -	adds r4, r1, r0 -	adds r0, r4, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	movs r1, 0xCD -	lsls r1, 1 -	cmp r0, r1 -	bne _08068B34 -	adds r0, r4, 0 -	movs r1, 0x3B -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x3B -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x3C -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x3C -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x3D -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x3D -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x3E -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x3E -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x3F -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x3F -	mov r2, sp -	bl SetMonData -_08068B34: -	adds r5, 0x1 -	cmp r5, 0x5 -	ble _08068AAA -	add sp, 0x4 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_8068AA4 - -	thumb_func_start sub_8068B48 -sub_8068B48: @ 8068B48 -	push {lr} -	ldr r0, =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x80 -	lsls r1, 18 -	ands r0, r1 -	cmp r0, 0 -	beq _08068B6C -	ldr r0, =gUnknown_0203C7B4 -	ldrb r1, [r0] -	movs r0, 0x1 -	eors r0, r1 -	b _08068B78 -	.pool -_08068B6C: -	bl GetMultiplayerId -	movs r1, 0x1 -	eors r0, r1 -	lsls r0, 24 -	lsrs r0, 24 -_08068B78: -	ldr r3, =gLinkPlayers -	lsls r1, r0, 3 -	subs r1, r0 -	lsls r1, 2 -	adds r0, r3, 0x4 -	adds r0, r1, r0 -	ldr r2, [r0] -	movs r0, 0x7 -	ands r2, r0 -	adds r1, r3 -	ldrb r0, [r1, 0x13] -	lsls r0, 3 -	orrs r2, r0 -	ldr r0, =gUnknown_08329D54 -	lsls r2, 1 -	adds r2, r0 -	ldrh r0, [r2] -	bl sub_806EFF0 -	lsls r0, 16 -	lsrs r0, 16 -	pop {r1} -	bx r1 -	.pool -	thumb_func_end sub_8068B48 - -	thumb_func_start sub_8068BB0 -sub_8068BB0: @ 8068BB0 -	push {lr} -	ldr r0, =gBattleTypeFlags -	ldr r0, [r0] -	movs r1, 0x80 -	lsls r1, 18 -	ands r0, r1 -	cmp r0, 0 -	beq _08068BD4 -	ldr r0, =gUnknown_0203C7B4 -	ldrb r1, [r0] -	movs r0, 0x1 -	eors r0, r1 -	b _08068BE0 -	.pool -_08068BD4: -	bl GetMultiplayerId -	movs r1, 0x1 -	eors r0, r1 -	lsls r0, 24 -	lsrs r0, 24 -_08068BE0: -	ldr r3, =gLinkPlayers -	lsls r1, r0, 3 -	subs r1, r0 -	lsls r1, 2 -	adds r0, r3, 0x4 -	adds r0, r1, r0 -	ldr r2, [r0] -	movs r0, 0x7 -	ands r2, r0 -	adds r1, r3 -	ldrb r0, [r1, 0x13] -	lsls r0, 3 -	orrs r2, r0 -	ldr r1, =gFacilityClassToTrainerClass -	ldr r0, =gUnknown_08329D54 -	lsls r2, 1 -	adds r2, r0 -	ldrh r0, [r2] -	adds r0, r1 -	ldrb r0, [r0] -	pop {r1} -	bx r1 -	.pool -	thumb_func_end sub_8068BB0 - -	thumb_func_start DoScriptedWildBattle -DoScriptedWildBattle: @ 8068C18 -	push {r4-r7,lr} -	sub sp, 0x14 -	ldr r0, =gSpecialVar_0x8004 -	ldrh r5, [r0] -	ldr r0, =gSpecialVar_0x8005 -	ldrh r4, [r0] -	ldr r0, =gSpecialVar_0x8006 -	ldrh r6, [r0] -	bl ZeroEnemyPartyMons -	ldr r7, =gEnemyParty -	lsls r4, 24 -	lsrs r4, 24 -	movs r0, 0 -	str r0, [sp] -	str r0, [sp, 0x4] -	str r0, [sp, 0x8] -	str r0, [sp, 0xC] -	adds r0, r7, 0 -	adds r1, r5, 0 -	adds r2, r4, 0 -	movs r3, 0x20 -	bl CreateObedientMon -	cmp r6, 0 -	beq _08068C60 -	add r0, sp, 0x10 -	strb r6, [r0] -	adds r1, r0, 0 -	asrs r0, r6, 8 -	strb r0, [r1, 0x1] -	adds r0, r7, 0 -	movs r1, 0xC -	add r2, sp, 0x10 -	bl SetMonData -_08068C60: -	add sp, 0x14 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end DoScriptedWildBattle - -	thumb_func_start CalculateBoxMonChecksum -@ int CalculateBoxMonChecksum(pokemon *mon) -CalculateBoxMonChecksum: @ 8068C78 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	adds r4, r0, 0 -	movs r6, 0 -	ldr r1, [r4] -	movs r2, 0 -	bl GetSubstruct -	adds r5, r0, 0 -	ldr r1, [r4] -	adds r0, r4, 0 -	movs r2, 0x1 -	bl GetSubstruct -	adds r7, r0, 0 -	ldr r1, [r4] -	adds r0, r4, 0 -	movs r2, 0x2 -	bl GetSubstruct -	mov r8, r0 -	ldr r1, [r4] -	adds r0, r4, 0 -	movs r2, 0x3 -	bl GetSubstruct -	adds r3, r0, 0 -	movs r1, 0x5 -_08068CB2: -	ldrh r0, [r5] -	adds r0, r6, r0 -	lsls r0, 16 -	lsrs r6, r0, 16 -	adds r5, 0x2 -	subs r1, 0x1 -	cmp r1, 0 -	bge _08068CB2 -	adds r2, r7, 0 -	movs r1, 0x5 -_08068CC6: -	ldrh r0, [r2] -	adds r0, r6, r0 -	lsls r0, 16 -	lsrs r6, r0, 16 -	adds r2, 0x2 -	subs r1, 0x1 -	cmp r1, 0 -	bge _08068CC6 -	mov r2, r8 -	movs r1, 0x5 -_08068CDA: -	ldrh r0, [r2] -	adds r0, r6, r0 -	lsls r0, 16 -	lsrs r6, r0, 16 -	adds r2, 0x2 -	subs r1, 0x1 -	cmp r1, 0 -	bge _08068CDA -	adds r2, r3, 0 -	movs r1, 0x5 -_08068CEE: -	ldrh r0, [r2] -	adds r0, r6, r0 -	lsls r0, 16 -	lsrs r6, r0, 16 -	adds r2, 0x2 -	subs r1, 0x1 -	cmp r1, 0 -	bge _08068CEE -	adds r0, r6, 0 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	thumb_func_end CalculateBoxMonChecksum - -	thumb_func_start CalculateMonStats -CalculateMonStats: @ 8068D0C -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x40 -	adds r5, r0, 0 -	movs r1, 0x3A -	movs r2, 0 -	bl GetMonData -	mov r8, r0 -	adds r0, r5, 0 -	movs r1, 0x39 -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x1C] -	adds r0, r5, 0 -	movs r1, 0x27 -	movs r2, 0 -	bl GetMonData -	adds r6, r0, 0 -	adds r0, r5, 0 -	movs r1, 0x1A -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	adds r0, r5, 0 -	movs r1, 0x28 -	movs r2, 0 -	bl GetMonData -	mov r10, r0 -	adds r0, r5, 0 -	movs r1, 0x1B -	movs r2, 0 -	bl GetMonData -	mov r9, r0 -	adds r0, r5, 0 -	movs r1, 0x29 -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x20] -	adds r0, r5, 0 -	movs r1, 0x1C -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x24] -	adds r0, r5, 0 -	movs r1, 0x2A -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x28] -	adds r0, r5, 0 -	movs r1, 0x1D -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x2C] -	adds r0, r5, 0 -	movs r1, 0x2B -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x30] -	adds r0, r5, 0 -	movs r1, 0x1E -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x34] -	adds r0, r5, 0 -	movs r1, 0x2C -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x38] -	adds r0, r5, 0 -	movs r1, 0x1F -	movs r2, 0 -	bl GetMonData -	str r0, [sp, 0x3C] -	adds r0, r5, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	lsls r0, 16 -	lsrs r7, r0, 16 -	adds r0, r5, 0 -	bl GetLevelFromMonExp -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp] -	adds r0, r5, 0 -	movs r1, 0x38 -	mov r2, sp -	bl SetMonData -	ldr r0, =0x0000012f -	cmp r7, r0 -	bne _08068DF8 -	movs r0, 0x1 -	str r0, [sp, 0x4] -	lsls r6, r7, 3 -	b _08068E26 -	.pool -_08068DF8: -	ldr r1, =gBaseStats -	lsls r2, r7, 3 -	subs r0, r2, r7 -	lsls r0, 2 -	adds r0, r1 -	ldrb r0, [r0] -	lsls r0, 1 -	adds r1, r0, r6 -	adds r0, r4, 0 -	adds r6, r2, 0 -	cmp r0, 0 -	bge _08068E12 -	adds r0, 0x3 -_08068E12: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r4, [sp] -	muls r0, r4 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, r4 -	adds r0, 0xA -	str r0, [sp, 0x4] -_08068E26: -	ldr r1, =gBattleScripting -	add r2, sp, 0x4 -	ldrb r0, [r2] -	mov r3, r8 -	subs r0, r3 -	adds r1, 0x23 -	strb r0, [r1] -	lsls r0, 24 -	cmp r0, 0 -	bne _08068E3E -	movs r0, 0x1 -	strb r0, [r1] -_08068E3E: -	adds r0, r5, 0 -	movs r1, 0x3A -	bl SetMonData -	ldr r0, =gBaseStats -	subs r1, r6, r7 -	lsls r1, 2 -	adds r6, r1, r0 -	ldrb r0, [r6, 0x1] -	lsls r0, 1 -	mov r2, r10 -	adds r1, r0, r2 -	mov r0, r9 -	cmp r0, 0 -	bge _08068E5E -	adds r0, 0x3 -_08068E5E: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r1, [sp] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	str r0, [sp, 0x8] -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	add r4, sp, 0x8 -	ldrh r1, [r4] -	movs r2, 0x1 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp, 0x8] -	adds r0, r5, 0 -	movs r1, 0x3B -	adds r2, r4, 0 -	bl SetMonData -	ldrb r0, [r6, 0x2] -	lsls r0, 1 -	ldr r3, [sp, 0x20] -	adds r1, r0, r3 -	ldr r0, [sp, 0x24] -	cmp r0, 0 -	bge _08068EA4 -	adds r0, 0x3 -_08068EA4: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r1, [sp] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	str r0, [sp, 0xC] -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	add r4, sp, 0xC -	ldrh r1, [r4] -	movs r2, 0x2 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp, 0xC] -	adds r0, r5, 0 -	movs r1, 0x3C -	adds r2, r4, 0 -	bl SetMonData -	ldrb r0, [r6, 0x3] -	lsls r0, 1 -	ldr r2, [sp, 0x28] -	adds r1, r0, r2 -	ldr r0, [sp, 0x2C] -	cmp r0, 0 -	bge _08068EEA -	adds r0, 0x3 -_08068EEA: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r1, [sp] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	str r0, [sp, 0x10] -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	add r4, sp, 0x10 -	ldrh r1, [r4] -	movs r2, 0x3 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp, 0x10] -	adds r0, r5, 0 -	movs r1, 0x3D -	adds r2, r4, 0 -	bl SetMonData -	ldrb r0, [r6, 0x4] -	lsls r0, 1 -	ldr r3, [sp, 0x30] -	adds r1, r0, r3 -	ldr r0, [sp, 0x34] -	cmp r0, 0 -	bge _08068F30 -	adds r0, 0x3 -_08068F30: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r1, [sp] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	str r0, [sp, 0x14] -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	add r4, sp, 0x14 -	ldrh r1, [r4] -	movs r2, 0x4 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp, 0x14] -	adds r0, r5, 0 -	movs r1, 0x3E -	adds r2, r4, 0 -	bl SetMonData -	ldrb r0, [r6, 0x5] -	lsls r0, 1 -	ldr r2, [sp, 0x38] -	adds r1, r0, r2 -	ldr r0, [sp, 0x3C] -	cmp r0, 0 -	bge _08068F76 -	adds r0, 0x3 -_08068F76: -	asrs r0, 2 -	adds r0, r1, r0 -	ldr r1, [sp] -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, 0x5 -	str r0, [sp, 0x18] -	adds r0, r5, 0 -	bl GetNature -	lsls r0, 24 -	lsrs r0, 24 -	add r4, sp, 0x18 -	ldrh r1, [r4] -	movs r2, 0x5 -	bl nature_stat_mod -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp, 0x18] -	adds r0, r5, 0 -	movs r1, 0x3F -	adds r2, r4, 0 -	bl SetMonData -	ldr r0, =0x0000012f -	cmp r7, r0 -	bne _08068FD0 -	ldr r0, [sp, 0x1C] -	cmp r0, 0 -	bne _08068FBE -	mov r3, r8 -	cmp r3, 0 -	bne _08068FF4 -_08068FBE: -	movs r0, 0x1 -	b _08068FE8 -	.pool -_08068FD0: -	ldr r1, [sp, 0x1C] -	cmp r1, 0 -	bne _08068FE0 -	mov r0, r8 -	cmp r0, 0 -	bne _08068FF4 -	ldr r0, [sp, 0x4] -	b _08068FE8 -_08068FE0: -	ldr r0, [sp, 0x4] -	mov r2, r8 -	subs r0, r2 -	adds r0, r1, r0 -_08068FE8: -	str r0, [sp, 0x1C] -	add r2, sp, 0x1C -	adds r0, r5, 0 -	movs r1, 0x39 -	bl SetMonData -_08068FF4: -	add sp, 0x40 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end CalculateMonStats - -	thumb_func_start BoxMonToMon -BoxMonToMon: @ 8069004 -	push {r4,lr} -	sub sp, 0x4 -	adds r2, r0, 0 -	adds r4, r1, 0 -	movs r0, 0 -	str r0, [sp] -	adds r0, r4, 0 -	adds r1, r2, 0 -	movs r2, 0x50 -	bl memcpy -	adds r0, r4, 0 -	movs r1, 0x37 -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x39 -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	movs r1, 0x3A -	mov r2, sp -	bl SetMonData -	movs r0, 0xFF -	str r0, [sp] -	adds r0, r4, 0 -	movs r1, 0x40 -	mov r2, sp -	bl SetMonData -	adds r0, r4, 0 -	bl CalculateMonStats -	add sp, 0x4 -	pop {r4} -	pop {r0} -	bx r0 -	thumb_func_end BoxMonToMon - -	thumb_func_start GetLevelFromMonExp -GetLevelFromMonExp: @ 8069054 -	push {r4-r6,lr} -	adds r5, r0, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	adds r0, r5, 0 -	movs r1, 0x19 -	movs r2, 0 -	bl GetMonData -	adds r3, r0, 0 -	movs r2, 0x1 -	ldr r6, =gExperienceTables -	ldr r1, =gBaseStats -	lsls r0, r4, 3 -	subs r0, r4 -	lsls r0, 2 -	adds r1, r0, r1 -	ldrb r0, [r1, 0x13] -	movs r5, 0xCA -	lsls r5, 1 -	muls r0, r5 -	adds r0, 0x4 -	adds r0, r6 -	ldr r0, [r0] -	cmp r0, r3 -	bhi _080690AA -	adds r4, r1, 0 -_08069094: -	adds r2, 0x1 -	cmp r2, 0x64 -	bgt _080690AA -	lsls r1, r2, 2 -	ldrb r0, [r4, 0x13] -	muls r0, r5 -	adds r1, r0 -	adds r1, r6 -	ldr r0, [r1] -	cmp r0, r3 -	bls _08069094 -_080690AA: -	subs r0, r2, 0x1 -	lsls r0, 24 -	lsrs r0, 24 -	pop {r4-r6} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end GetLevelFromMonExp - -	thumb_func_start GetLevelFromBoxMonExp -GetLevelFromBoxMonExp: @ 80690C0 -	push {r4-r6,lr} -	adds r5, r0, 0 -	movs r1, 0xB -	movs r2, 0 -	bl GetBoxMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	adds r0, r5, 0 -	movs r1, 0x19 -	movs r2, 0 -	bl GetBoxMonData -	adds r3, r0, 0 -	movs r2, 0x1 -	ldr r6, =gExperienceTables -	ldr r1, =gBaseStats -	lsls r0, r4, 3 -	subs r0, r4 -	lsls r0, 2 -	adds r1, r0, r1 -	ldrb r0, [r1, 0x13] -	movs r5, 0xCA -	lsls r5, 1 -	muls r0, r5 -	adds r0, 0x4 -	adds r0, r6 -	ldr r0, [r0] -	cmp r0, r3 -	bhi _08069116 -	adds r4, r1, 0 -_08069100: -	adds r2, 0x1 -	cmp r2, 0x64 -	bgt _08069116 -	lsls r1, r2, 2 -	ldrb r0, [r4, 0x13] -	muls r0, r5 -	adds r1, r0 -	adds r1, r6 -	ldr r0, [r1] -	cmp r0, r3 -	bls _08069100 -_08069116: -	subs r0, r2, 0x1 -	lsls r0, 24 -	lsrs r0, 24 -	pop {r4-r6} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end GetLevelFromBoxMonExp - -	thumb_func_start GiveMoveToMon -GiveMoveToMon: @ 806912C -	push {lr} -	lsls r1, 16 -	lsrs r1, 16 -	bl GiveMoveToBoxMon -	lsls r0, 16 -	lsrs r0, 16 -	pop {r1} -	bx r1 -	thumb_func_end GiveMoveToMon - -	thumb_func_start GiveMoveToBoxMon -GiveMoveToBoxMon: @ 8069140 -	push {r4-r7,lr} -	sub sp, 0x4 -	adds r7, r0, 0 -	mov r0, sp -	strh r1, [r0] -	movs r5, 0 -	mov r6, sp -_0806914E: -	adds r4, r5, 0 -	adds r4, 0xD -	adds r0, r7, 0 -	adds r1, r4, 0 -	movs r2, 0 -	bl GetBoxMonData -	lsls r0, 16 -	lsrs r0, 16 -	cmp r0, 0 -	bne _0806918C -	adds r0, r7, 0 -	adds r1, r4, 0 -	mov r2, sp -	bl SetBoxMonData -	adds r1, r5, 0 -	adds r1, 0x11 -	ldrh r0, [r6] -	lsls r2, r0, 1 -	adds r2, r0 -	lsls r2, 2 -	ldr r0, =gBattleMoves + 0x4 @ PP offset -	adds r2, r0 -	adds r0, r7, 0 -	bl SetBoxMonData -	ldrh r0, [r6] -	b _080691A4 -	.pool -_0806918C: -	ldrh r1, [r6] -	cmp r0, r1 -	bne _0806919C -	ldr r0, =0x0000fffe -	b _080691A4 -	.pool -_0806919C: -	adds r5, 0x1 -	cmp r5, 0x3 -	ble _0806914E -	ldr r0, =0x0000ffff -_080691A4: -	add sp, 0x4 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end GiveMoveToBoxMon - -	thumb_func_start GiveMoveToBattleMon -GiveMoveToBattleMon: @ 80691B0 -	push {r4,r5,lr} -	lsls r1, 16 -	lsrs r4, r1, 16 -	movs r3, 0 -	adds r5, r0, 0 -	adds r5, 0x24 -	ldr r2, =gBattleMoves -	lsls r1, r4, 1 -	adds r1, r4 -	lsls r1, 2 -	adds r2, r1, r2 -	adds r1, r0, 0 -	adds r1, 0xC -_080691CA: -	ldrh r0, [r1] -	cmp r0, 0 -	bne _080691E0 -	strh r4, [r1] -	adds r1, r5, r3 -	ldrb r0, [r2, 0x4] -	strb r0, [r1] -	adds r0, r4, 0 -	b _080691EA -	.pool -_080691E0: -	adds r1, 0x2 -	adds r3, 0x1 -	cmp r3, 0x3 -	ble _080691CA -	ldr r0, =0x0000ffff -_080691EA: -	pop {r4,r5} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end GiveMoveToBattleMon - -	thumb_func_start SetMonMoveSlot -SetMonMoveSlot: @ 80691F4 -	push {r4,r5,lr} -	sub sp, 0x4 -	adds r5, r0, 0 -	adds r4, r2, 0 -	mov r0, sp -	strh r1, [r0] -	lsls r4, 24 -	lsrs r4, 24 -	adds r1, r4, 0 -	adds r1, 0xD -	adds r0, r5, 0 -	mov r2, sp -	bl SetMonData -	adds r4, 0x11 -	mov r0, sp -	ldrh r0, [r0] -	lsls r2, r0, 1 -	adds r2, r0 -	lsls r2, 2 -	ldr r0, =gBattleMoves + 0x4 @ PP offset -	adds r2, r0 -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl SetMonData -	add sp, 0x4 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end SetMonMoveSlot - -	thumb_func_start SetBattleMonMoveSlot -SetBattleMonMoveSlot: @ 8069234 -	push {r4,lr} -	lsls r1, 16 -	lsrs r1, 16 -	lsls r2, 24 -	lsrs r2, 24 -	lsls r4, r2, 1 -	adds r3, r0, 0 -	adds r3, 0xC -	adds r3, r4 -	strh r1, [r3] -	adds r0, 0x24 -	adds r0, r2 -	ldr r3, =gBattleMoves -	lsls r2, r1, 1 -	adds r2, r1 -	lsls r2, 2 -	adds r2, r3 -	ldrb r1, [r2, 0x4] -	strb r1, [r0] -	pop {r4} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end SetBattleMonMoveSlot - -	thumb_func_start GiveMonInitialMoveset -GiveMonInitialMoveset: @ 8069264 -	push {lr} -	bl GiveBoxMonInitialMoveset -	pop {r0} -	bx r0 -	thumb_func_end GiveMonInitialMoveset - -	thumb_func_start GiveBoxMonInitialMoveset -GiveBoxMonInitialMoveset: @ 8069270 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x4 -	mov r8, r0 -	movs r1, 0xB -	movs r2, 0 -	bl GetBoxMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r8 -	bl GetLevelFromBoxMonExp -	lsls r0, 24 -	lsrs r0, 24 -	mov r10, r0 -	ldr r0, =gLevelUpLearnsets -	lsls r6, r4, 2 -	adds r0, r6, r0 -	ldr r0, [r0] -	ldrh r1, [r0] -	ldr r2, =0xffff0000 -	lsrs r0, r2, 16 -	cmp r1, r0 -	beq _080692FC -	mov r9, r2 -	movs r3, 0 -_080692AE: -	ldr r0, =gLevelUpLearnsets -	adds r7, r6, r0 -	ldr r0, [r7] -	adds r0, r3, r0 -	ldrh r2, [r0] -	movs r1, 0xFE -	lsls r1, 8 -	adds r0, r1, 0 -	ands r0, r2 -	mov r4, r10 -	lsls r1, r4, 9 -	cmp r0, r1 -	bgt _080692FC -	ldr r1, =0x000001ff -	adds r0, r1, 0 -	adds r4, r0, 0 -	ands r4, r2 -	mov r0, r8 -	adds r1, r4, 0 -	str r3, [sp] -	bl GiveMoveToBoxMon -	lsls r0, 16 -	mov r1, r9 -	lsrs r5, r1, 16 -	ldr r3, [sp] -	cmp r0, r9 -	bne _080692F0 -	mov r0, r8 -	adds r1, r4, 0 -	bl DeleteFirstMoveAndGiveMoveToBoxMon -	ldr r3, [sp] -_080692F0: -	adds r3, 0x2 -	ldr r0, [r7] -	adds r0, r3, r0 -	ldrh r0, [r0] -	cmp r0, r5 -	bne _080692AE -_080692FC: -	add sp, 0x4 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end GiveBoxMonInitialMoveset - -	thumb_func_start MonTryLearningNewMove -MonTryLearningNewMove: @ 8069318 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x4 -	mov r8, r0 -	lsls r4, r1, 24 -	lsrs r4, 24 -	movs r0, 0 -	str r0, [sp] -	mov r0, r8 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	lsls r0, 16 -	lsrs r0, 16 -	mov r9, r0 -	mov r0, r8 -	movs r1, 0x38 -	movs r2, 0 -	bl GetMonData -	lsls r0, 24 -	lsrs r0, 24 -	mov r10, r0 -	cmp r4, 0 -	beq _080693B0 -	ldr r4, =sLearningMoveTableID -	mov r1, sp -	ldrb r1, [r1] -	strb r1, [r4] -	ldr r2, =gLevelUpLearnsets -	mov r5, r9 -	lsls r3, r5, 2 -	adds r5, r3, r2 -	ldr r0, [r5] -	ldrh r1, [r0] -	movs r7, 0xFE -	lsls r7, 8 -	adds r0, r7, 0 -	ands r0, r1 -	adds r6, r4, 0 -	mov r12, r2 -	mov r1, r10 -	lsls r4, r1, 9 -	cmp r0, r4 -	beq _080693D8 -	adds r2, r6, 0 -	ldr r0, =0x0000ffff -	mov r12, r0 -	adds r6, r7, 0 -	adds r3, r5, 0 -_08069384: -	ldrb r0, [r2] -	adds r0, 0x1 -	strb r0, [r2] -	ldrb r0, [r2] -	ldr r1, [r3] -	lsls r0, 1 -	adds r0, r1 -	ldrh r1, [r0] -	cmp r1, r12 -	bne _080693A8 -	movs r0, 0 -	b _08069404 -	.pool -_080693A8: -	adds r0, r6, 0 -	ands r0, r1 -	cmp r0, r4 -	bne _08069384 -_080693B0: -	ldr r3, =gLevelUpLearnsets -	mov r1, r9 -	lsls r4, r1, 2 -	adds r1, r4, r3 -	ldr r2, =sLearningMoveTableID -	ldrb r0, [r2] -	ldr r1, [r1] -	lsls r0, 1 -	adds r0, r1 -	ldrh r1, [r0] -	movs r0, 0xFE -	lsls r0, 8 -	ands r0, r1 -	mov r5, r10 -	lsls r1, r5, 9 -	adds r6, r2, 0 -	mov r12, r3 -	adds r3, r4, 0 -	cmp r0, r1 -	bne _08069402 -_080693D8: -	ldr r2, =gMoveToLearn -	mov r0, r12 -	adds r1, r3, r0 -	ldrb r0, [r6] -	ldr r1, [r1] -	lsls r0, 1 -	adds r0, r1 -	ldrh r1, [r0] -	ldr r0, =0x000001ff -	ands r0, r1 -	strh r0, [r2] -	ldrb r0, [r6] -	adds r0, 0x1 -	strb r0, [r6] -	ldrh r1, [r2] -	mov r0, r8 -	bl GiveMoveToMon -	lsls r0, 16 -	lsrs r0, 16 -	str r0, [sp] -_08069402: -	ldr r0, [sp] -_08069404: -	add sp, 0x4 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end MonTryLearningNewMove - -	thumb_func_start DeleteFirstMoveAndGiveMoveToMon -DeleteFirstMoveAndGiveMoveToMon: @ 8069424 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	sub sp, 0x10 -	adds r6, r0, 0 -	lsls r1, 16 -	lsrs r1, 16 -	mov r8, r1 -	movs r4, 0 -	add r7, sp, 0x8 -	add r0, sp, 0xC -	mov r9, r0 -	mov r5, sp -_08069440: -	adds r1, r4, 0 -	adds r1, 0xE -	adds r0, r6, 0 -	movs r2, 0 -	bl GetMonData -	strh r0, [r5] -	adds r1, r4, 0 -	adds r1, 0x12 -	adds r0, r6, 0 -	movs r2, 0 -	bl GetMonData -	adds r1, r7, r4 -	strb r0, [r1] -	adds r5, 0x2 -	adds r4, 0x1 -	cmp r4, 0x2 -	ble _08069440 -	adds r0, r6, 0 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	mov r1, r9 -	strb r0, [r1] -	ldrb r0, [r1] -	lsrs r0, 2 -	strb r0, [r1] -	mov r0, sp -	mov r2, r8 -	strh r2, [r0, 0x6] -	ldr r1, =gBattleMoves -	mov r2, r8 -	lsls r0, r2, 1 -	add r0, r8 -	lsls r0, 2 -	adds r0, r1 -	ldrb r0, [r0, 0x4] -	strb r0, [r7, 0x3] -	movs r4, 0 -	mov r5, sp -_08069494: -	adds r1, r4, 0 -	adds r1, 0xD -	adds r0, r6, 0 -	adds r2, r5, 0 -	bl SetMonData -	adds r1, r4, 0 -	adds r1, 0x11 -	adds r2, r7, r4 -	adds r0, r6, 0 -	bl SetMonData -	adds r5, 0x2 -	adds r4, 0x1 -	cmp r4, 0x3 -	ble _08069494 -	adds r0, r6, 0 -	movs r1, 0x15 -	mov r2, r9 -	bl SetMonData -	add sp, 0x10 -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end DeleteFirstMoveAndGiveMoveToMon - -	thumb_func_start DeleteFirstMoveAndGiveMoveToBoxMon -DeleteFirstMoveAndGiveMoveToBoxMon: @ 80694D0 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	sub sp, 0x10 -	adds r6, r0, 0 -	lsls r1, 16 -	lsrs r1, 16 -	mov r8, r1 -	movs r4, 0 -	add r7, sp, 0x8 -	add r0, sp, 0xC -	mov r9, r0 -	mov r5, sp -_080694EC: -	adds r1, r4, 0 -	adds r1, 0xE -	adds r0, r6, 0 -	movs r2, 0 -	bl GetBoxMonData -	strh r0, [r5] -	adds r1, r4, 0 -	adds r1, 0x12 -	adds r0, r6, 0 -	movs r2, 0 -	bl GetBoxMonData -	adds r1, r7, r4 -	strb r0, [r1] -	adds r5, 0x2 -	adds r4, 0x1 -	cmp r4, 0x2 -	ble _080694EC -	adds r0, r6, 0 -	movs r1, 0x15 -	movs r2, 0 -	bl GetBoxMonData -	mov r1, r9 -	strb r0, [r1] -	ldrb r0, [r1] -	lsrs r0, 2 -	strb r0, [r1] -	mov r0, sp -	mov r2, r8 -	strh r2, [r0, 0x6] -	ldr r1, =gBattleMoves -	mov r2, r8 -	lsls r0, r2, 1 -	add r0, r8 -	lsls r0, 2 -	adds r0, r1 -	ldrb r0, [r0, 0x4] -	strb r0, [r7, 0x3] -	movs r4, 0 -	mov r5, sp -_08069540: -	adds r1, r4, 0 -	adds r1, 0xD -	adds r0, r6, 0 -	adds r2, r5, 0 -	bl SetBoxMonData -	adds r1, r4, 0 -	adds r1, 0x11 -	adds r2, r7, r4 -	adds r0, r6, 0 -	bl SetBoxMonData -	adds r5, 0x2 -	adds r4, 0x1 -	cmp r4, 0x3 -	ble _08069540 -	adds r0, r6, 0 -	movs r1, 0x15 -	mov r2, r9 -	bl SetBoxMonData -	add sp, 0x10 -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end DeleteFirstMoveAndGiveMoveToBoxMon - -	.align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s deleted file mode 100644 index 4301dccfd..000000000 --- a/asm/pokemon_3.s +++ /dev/null @@ -1,529 +0,0 @@ -	.include "asm/macros.inc" -	.include "constants/constants.inc" - -	.syntax unified - -	.text - - - -	thumb_func_start sub_806F160 -sub_806F160: @ 806F160 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	adds r6, r0, 0 -	ldrb r0, [r6] -	lsls r0, 28 -	movs r4, 0 -	cmp r0, 0 -	beq _0806F1EA -_0806F176: -	ldr r0, [r6, 0xC] -	lsls r2, r4, 1 -	adds r1, r2, r4 -	lsls r1, 3 -	adds r0, r1, r0 -	ldr r3, =gUnknown_08329D98 -	adds r1, r3 -	ldm r1!, {r3,r5,r7} -	stm r0!, {r3,r5,r7} -	ldm r1!, {r3,r5,r7} -	stm r0!, {r3,r5,r7} -	movs r5, 0 -	ldrb r3, [r6, 0x1] -	ldr r7, [r6, 0xC] -	mov r9, r7 -	mov r8, r2 -	ldr r0, [r6, 0x10] -	mov r12, r0 -	adds r1, r4, 0x1 -	mov r10, r1 -	cmp r5, r3 -	bcs _0806F1C8 -	mov r7, r12 -	ldr r1, [r6, 0x8] -	lsls r0, r4, 2 -	adds r0, r1 -	ldr r2, [r0] -_0806F1AC: -	adds r0, r4, 0 -	muls r0, r3 -	adds r0, r5 -	lsls r0, 3 -	adds r0, r7 -	lsls r1, r5, 11 -	adds r1, r2, r1 -	str r1, [r0] -	adds r0, r5, 0x1 -	lsls r0, 16 -	lsrs r5, r0, 16 -	ldrb r3, [r6, 0x1] -	cmp r5, r3 -	bcc _0806F1AC -_0806F1C8: -	mov r3, r8 -	adds r1, r3, r4 -	lsls r1, 3 -	add r1, r9 -	ldrb r0, [r6, 0x1] -	muls r0, r4 -	lsls r0, 3 -	add r0, r12 -	str r0, [r1, 0xC] -	mov r5, r10 -	lsls r0, r5, 16 -	lsrs r4, r0, 16 -	ldrb r0, [r6] -	lsls r0, 28 -	lsrs r0, 28 -	cmp r4, r0 -	blt _0806F176 -_0806F1EA: -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_806F160 - -	thumb_func_start sub_806F1FC -sub_806F1FC: @ 806F1FC -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	adds r4, r0, 0 -	ldrb r0, [r4] -	lsls r0, 28 -	movs r3, 0 -	cmp r0, 0 -	beq _0806F296 -	ldr r0, =gUnknown_08329F28 -	mov r10, r0 -_0806F216: -	ldr r0, [r4, 0xC] -	lsls r2, r3, 1 -	adds r1, r2, r3 -	lsls r1, 3 -	adds r1, r0 -	mov r0, r10 -	ldm r0!, {r5-r7} -	stm r1!, {r5-r7} -	ldm r0!, {r5-r7} -	stm r1!, {r5-r7} -	movs r5, 0 -	ldr r0, [r4, 0xC] -	mov r8, r0 -	mov r12, r2 -	ldr r7, [r4, 0x10] -	adds r1, r3, 0x1 -	mov r9, r1 -	ldrb r6, [r4, 0x1] -	cmp r5, r6 -	bcs _0806F26A -	adds r6, r7, 0 -	ldr r1, [r4, 0x8] -	lsls r0, r3, 2 -	adds r0, r1 -	ldr r2, [r0] -_0806F248: -	ldrb r0, [r4] -	lsls r0, 28 -	lsrs r0, 28 -	adds r1, r3, 0 -	muls r1, r0 -	adds r1, r5 -	lsls r1, 3 -	adds r1, r6 -	lsls r0, r5, 11 -	adds r0, r2, r0 -	str r0, [r1] -	adds r0, r5, 0x1 -	lsls r0, 16 -	lsrs r5, r0, 16 -	ldrb r0, [r4, 0x1] -	cmp r5, r0 -	bcc _0806F248 -_0806F26A: -	mov r5, r12 -	adds r1, r5, r3 -	lsls r1, 3 -	add r1, r8 -	ldrb r0, [r4] -	lsls r0, 28 -	lsrs r0, 28 -	muls r0, r3 -	lsls r0, 3 -	adds r0, r7, r0 -	str r0, [r1, 0xC] -	ldr r6, =gUnknown_082FF70C -	str r6, [r1, 0x8] -	strh r3, [r1, 0x2] -	mov r7, r9 -	lsls r0, r7, 16 -	lsrs r3, r0, 16 -	ldrb r0, [r4] -	lsls r0, 28 -	lsrs r0, 28 -	cmp r3, r0 -	blt _0806F216 -_0806F296: -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_806F1FC - -	thumb_func_start sub_806F2AC -sub_806F2AC: @ 806F2AC -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	lsls r0, 24 -	lsrs r6, r0, 24 -	lsls r1, 24 -	lsrs r5, r1, 24 -	movs r7, 0 -	movs r0, 0x1 -	ands r6, r0 -	movs r0, 0x14 -	bl AllocZeroed -	adds r4, r0, 0 -	cmp r4, 0 -	bne _0806F2D0 -	movs r0, 0 -	b _0806F46E -_0806F2D0: -	cmp r5, 0 -	beq _0806F2E6 -	cmp r5, 0x2 -	bne _0806F2E6 -	movs r0, 0x77 -	strb r0, [r4] -	movs r0, 0x4 -	strb r0, [r4, 0x1] -	movs r0, 0x21 -	strb r0, [r4, 0x3] -	b _0806F30E -_0806F2E6: -	ldrb r1, [r4] -	movs r2, 0x10 -	negs r2, r2 -	adds r0, r2, 0 -	ands r0, r1 -	movs r1, 0x4 -	orrs r0, r1 -	movs r3, 0xF -	ands r0, r3 -	movs r1, 0x40 -	orrs r0, r1 -	strb r0, [r4] -	movs r0, 0x4 -	strb r0, [r4, 0x1] -	ldrb r0, [r4, 0x3] -	ands r2, r0 -	movs r0, 0x1 -	orrs r2, r0 -	ands r2, r3 -	strb r2, [r4, 0x3] -_0806F30E: -	ldrb r1, [r4, 0x3] -	lsls r1, 28 -	lsrs r1, 28 -	ldrb r0, [r4] -	lsls r0, 28 -	lsrs r0, 15 -	muls r0, r1 -	bl AllocZeroed -	str r0, [r4, 0x4] -	ldrb r0, [r4] -	lsls r0, 28 -	lsrs r0, 23 -	bl AllocZeroed -	adds r1, r0, 0 -	str r1, [r4, 0x8] -	ldr r2, [r4, 0x4] -	cmp r2, 0 -	beq _0806F33A -	cmp r1, 0 -	bne _0806F344 -_0806F33A: -	movs r0, 0x1 -	orrs r7, r0 -	lsls r6, 2 -	mov r8, r6 -	b _0806F378 -_0806F344: -	ldrb r0, [r4] -	lsls r0, 28 -	movs r3, 0 -	lsls r6, 2 -	mov r8, r6 -	cmp r0, 0 -	beq _0806F378 -	adds r6, r1, 0 -	adds r5, r2, 0 -_0806F356: -	lsls r2, r3, 2 -	adds r2, r6 -	ldrb r0, [r4, 0x3] -	lsls r0, 28 -	lsrs r0, 28 -	lsls r1, r3, 13 -	muls r0, r1 -	adds r0, r5, r0 -	str r0, [r2] -	adds r0, r3, 0x1 -	lsls r0, 24 -	lsrs r3, r0, 24 -	ldrb r0, [r4] -	lsls r0, 28 -	lsrs r0, 28 -	cmp r3, r0 -	blt _0806F356 -_0806F378: -	ldrb r1, [r4] -	lsls r1, 28 -	lsrs r1, 28 -	lsls r0, r1, 1 -	adds r0, r1 -	lsls r0, 3 -	bl AllocZeroed -	str r0, [r4, 0xC] -	ldrb r1, [r4] -	lsls r1, 28 -	lsrs r1, 28 -	ldrb r0, [r4, 0x1] -	lsls r0, 3 -	muls r0, r1 -	bl AllocZeroed -	adds r1, r0, 0 -	str r1, [r4, 0x10] -	ldr r0, [r4, 0xC] -	cmp r0, 0 -	beq _0806F3A8 -	cmp r1, 0 -	bne _0806F3B2 -_0806F3A8: -	movs r0, 0x2 -	orrs r7, r0 -	lsls r0, r7, 24 -	lsrs r7, r0, 24 -	b _0806F400 -_0806F3B2: -	movs r3, 0 -	ldrb r0, [r4, 0x1] -	ldrb r1, [r4] -	lsls r1, 28 -	lsrs r1, 28 -	muls r0, r1 -	cmp r3, r0 -	bge _0806F3E2 -	movs r2, 0x80 -	lsls r2, 4 -_0806F3C6: -	ldr r1, [r4, 0x10] -	lsls r0, r3, 3 -	adds r0, r1 -	strh r2, [r0, 0x4] -	adds r0, r3, 0x1 -	lsls r0, 24 -	lsrs r3, r0, 24 -	ldrb r1, [r4, 0x1] -	ldrb r0, [r4] -	lsls r0, 28 -	lsrs r0, 28 -	muls r0, r1 -	cmp r3, r0 -	blt _0806F3C6 -_0806F3E2: -	ldrb r0, [r4, 0x3] -	lsrs r0, 4 -	cmp r0, 0 -	blt _0806F3FA -	cmp r0, 0x1 -	ble _0806F3FA -	cmp r0, 0x2 -	bne _0806F3FA -	adds r0, r4, 0 -	bl sub_806F1FC -	b _0806F400 -_0806F3FA: -	adds r0, r4, 0 -	bl sub_806F160 -_0806F400: -	movs r0, 0x2 -	ands r0, r7 -	cmp r0, 0 -	beq _0806F424 -	ldr r0, [r4, 0x10] -	cmp r0, 0 -	beq _0806F416 -	bl Free -	movs r0, 0 -	str r0, [r4, 0x10] -_0806F416: -	ldr r0, [r4, 0xC] -	cmp r0, 0 -	beq _0806F424 -	bl Free -	movs r0, 0 -	str r0, [r4, 0xC] -_0806F424: -	movs r0, 0x1 -	ands r0, r7 -	cmp r0, 0 -	beq _0806F448 -	ldr r0, [r4, 0x8] -	cmp r0, 0 -	beq _0806F43A -	bl Free -	movs r0, 0 -	str r0, [r4, 0x8] -_0806F43A: -	ldr r0, [r4, 0x4] -	cmp r0, 0 -	beq _0806F448 -	bl Free -	movs r0, 0 -	str r0, [r4, 0x4] -_0806F448: -	cmp r7, 0 -	beq _0806F45E -	adds r0, r4, 0 -	movs r1, 0 -	movs r2, 0x14 -	bl memset -	adds r0, r4, 0 -	bl Free -	b _0806F468 -_0806F45E: -	movs r0, 0xA3 -	strb r0, [r4, 0x2] -	ldr r0, =gUnknown_020249B4 -	add r0, r8 -	str r4, [r0] -_0806F468: -	ldr r0, =gUnknown_020249B4 -	add r0, r8 -	ldr r0, [r0] -_0806F46E: -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end sub_806F2AC - -	thumb_func_start sub_806F47C -sub_806F47C: @ 806F47C -	push {r4,lr} -	lsls r0, 24 -	lsrs r0, 24 -	movs r1, 0x1 -	ands r0, r1 -	ldr r1, =gUnknown_020249B4 -	lsls r0, 2 -	adds r0, r1 -	ldr r4, [r0] -	cmp r4, 0 -	beq _0806F4F0 -	ldrb r0, [r4, 0x2] -	cmp r0, 0xA3 -	beq _0806F4A8 -	adds r0, r4, 0 -	movs r1, 0 -	movs r2, 0x14 -	bl memset -	b _0806F4F0 -	.pool -_0806F4A8: -	ldr r0, [r4, 0x10] -	cmp r0, 0 -	beq _0806F4B6 -	bl Free -	movs r0, 0 -	str r0, [r4, 0x10] -_0806F4B6: -	ldr r0, [r4, 0xC] -	cmp r0, 0 -	beq _0806F4C4 -	bl Free -	movs r0, 0 -	str r0, [r4, 0xC] -_0806F4C4: -	ldr r0, [r4, 0x8] -	cmp r0, 0 -	beq _0806F4D2 -	bl Free -	movs r0, 0 -	str r0, [r4, 0x8] -_0806F4D2: -	ldr r0, [r4, 0x4] -	cmp r0, 0 -	beq _0806F4E0 -	bl Free -	movs r0, 0 -	str r0, [r4, 0x4] -_0806F4E0: -	adds r0, r4, 0 -	movs r1, 0 -	movs r2, 0x14 -	bl memset -	adds r0, r4, 0 -	bl Free -_0806F4F0: -	pop {r4} -	pop {r0} -	bx r0 -	thumb_func_end sub_806F47C - -	thumb_func_start sub_806F4F8 -sub_806F4F8: @ 806F4F8 -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, 24 -	lsrs r3, r1, 24 -	ldr r2, =gUnknown_020249B4 -	movs r1, 0x1 -	ands r0, r1 -	lsls r0, 2 -	adds r0, r2 -	ldr r1, [r0] -	ldrb r0, [r1, 0x2] -	cmp r0, 0xA3 -	beq _0806F51C -	movs r0, 0 -	b _0806F530 -	.pool -_0806F51C: -	ldrb r0, [r1] -	lsls r0, 28 -	lsrs r0, 28 -	cmp r3, r0 -	blt _0806F528 -	movs r3, 0 -_0806F528: -	ldr r0, [r1, 0x8] -	lsls r1, r3, 2 -	adds r1, r0 -	ldr r0, [r1] -_0806F530: -	pop {r1} -	bx r1 -	thumb_func_end sub_806F4F8 - -	.align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s deleted file mode 100644 index 2184b22b2..000000000 --- a/asm/pokemon_item_effect.s +++ /dev/null @@ -1,1967 +0,0 @@ -	.include "asm/macros.inc" -	.include "constants/constants.inc" - -	.syntax unified - -	.text - - -	thumb_func_start ExecuteTableBasedItemEffect_ -@ bool8 ExecuteTableBasedItemEffect_(struct pokemon *mon, u16 itemId, u8 a3, u8 monMoveIndex) -ExecuteTableBasedItemEffect_: @ 806BD04 -	push {r4,lr} -	sub sp, 0x4 -	lsls r1, 16 -	lsrs r1, 16 -	lsls r2, 24 -	lsrs r2, 24 -	lsls r3, 24 -	lsrs r3, 24 -	movs r4, 0 -	str r4, [sp] -	bl ExecuteTableBasedItemEffect -	lsls r0, 24 -	lsrs r0, 24 -	add sp, 0x4 -	pop {r4} -	pop {r1} -	bx r1 -	thumb_func_end ExecuteTableBasedItemEffect_ - -	thumb_func_start ExecuteTableBasedItemEffect -@ bool8 ExecuteTableBasedItemEffect(struct pokemon *mon, u16 itemId, u8 a3, u8 monMoveIndex, u8 a5) -ExecuteTableBasedItemEffect: @ 806BD28 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x44 -	mov r8, r0 -	ldr r0, [sp, 0x64] -	lsls r1, 16 -	lsrs r1, 16 -	str r1, [sp, 0xC] -	lsls r2, 24 -	lsrs r2, 24 -	str r2, [sp, 0x10] -	lsls r3, 24 -	lsrs r3, 24 -	str r3, [sp, 0x14] -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp, 0x18] -	movs r0, 0x1 -	str r0, [sp, 0x20] -	movs r1, 0x6 -	str r1, [sp, 0x28] -	movs r2, 0 -	str r2, [sp, 0x30] -	movs r3, 0x4 -	str r3, [sp, 0x38] -	movs r5, 0 -	str r5, [sp, 0x3C] -	mov r0, r8 -	movs r1, 0xC -	bl GetMonData -	lsls r0, 16 -	lsrs r0, 16 -	cmp r0, 0xAF -	bne _0806BDBC -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _0806BDA8 -	ldr r2, =gEnigmaBerries -	ldr r0, =gBattlerInMenuId -	ldrb r1, [r0] -	lsls r0, r1, 3 -	subs r0, r1 -	lsls r0, 2 -	adds r0, r2 -	ldrb r0, [r0, 0x7] -	b _0806BDC4 -	.pool -_0806BDA8: -	ldr r0, =gSaveBlock1Ptr -	ldr r0, [r0] -	ldr r2, =0x00003226 -	adds r0, r2 -	ldrb r0, [r0] -	b _0806BDC4 -	.pool -_0806BDBC: -	bl ItemId_GetHoldEffect -	lsls r0, 24 -	lsrs r0, 24 -_0806BDC4: -	str r0, [sp, 0x34] -	ldr r1, =gPotentialItemEffectBattler -	ldr r0, =gBattlerInMenuId -	ldrb r2, [r0] -	strb r2, [r1] -	ldr r0, =gMain -	ldr r3, =0x00000439 -	adds r0, r3 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	lsls r0, 24 -	lsrs r1, r0, 24 -	cmp r1, 0 -	beq _0806BE64 -	ldr r0, =gActiveBattler -	strb r2, [r0] -	ldrb r0, [r0] -	bl GetBattlerSide -	lsls r0, 24 -	lsrs r0, 24 -	negs r1, r0 -	orrs r1, r0 -	lsrs r1, 31 -	str r1, [sp, 0x1C] -	ldr r0, =gBattlersCount -	ldr r4, [sp, 0xC] -	subs r4, 0xD -	ldrb r0, [r0] -	cmp r1, r0 -	bge _0806BE70 -	ldr r2, =gBattlerPartyIndexes -	lsls r0, r1, 1 -	adds r0, r2 -	ldrh r3, [r0] -	ldr r5, [sp, 0x10] -	lsls r0, r5, 16 -	lsrs r1, r0, 16 -	adds r5, r0, 0 -	cmp r3, r1 -	bne _0806BE3C -	ldr r0, [sp, 0x1C] -	str r0, [sp, 0x38] -	b _0806BE70 -	.pool -_0806BE3C: -	ldr r1, [sp, 0x1C] -	adds r1, 0x2 -	str r1, [sp, 0x1C] -	ldr r0, =gBattlersCount -	ldrb r0, [r0] -	cmp r1, r0 -	bge _0806BE70 -	lsls r0, r1, 1 -	adds r0, r2 -	ldrh r1, [r0] -	lsrs r0, r5, 16 -	cmp r1, r0 -	bne _0806BE3C -	ldr r2, [sp, 0x1C] -	lsls r0, r2, 24 -	lsrs r0, 24 -	str r0, [sp, 0x38] -	b _0806BE70 -	.pool -_0806BE64: -	ldr r0, =gActiveBattler -	strb r1, [r0] -	movs r3, 0x4 -	str r3, [sp, 0x38] -	ldr r4, [sp, 0xC] -	subs r4, 0xD -_0806BE70: -	lsls r0, r4, 16 -	lsrs r0, 16 -	cmp r0, 0xA5 -	bhi _0806BEF0 -	ldr r1, =gItemEffectTable -	lsls r0, r4, 2 -	adds r0, r1 -	ldr r0, [r0] -	cmp r0, 0 -	bne _0806BE94 -	ldr r5, [sp, 0xC] -	cmp r5, 0xAF -	beq _0806BE9A -	b _0806BEF0 -	.pool -_0806BE94: -	ldr r1, [sp, 0xC] -	cmp r1, 0xAF -	bne _0806BEF6 -_0806BE9A: -	ldr r0, =gMain -	ldr r2, =0x00000439 -	adds r0, r2 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _0806BECC -	ldr r0, =gActiveBattler -	ldrb r1, [r0] -	lsls r0, r1, 3 -	subs r0, r1 -	lsls r0, 2 -	ldr r1, =gEnigmaBerries + 8 -	adds r0, r1 -	b _0806BEF6 -	.pool -_0806BECC: -	ldr r0, =gSaveBlock1Ptr -	ldr r0, [r0] -	ldr r3, =0x00003214 -	adds r3, r0, r3 -	str r3, [sp, 0x24] -	b _0806BEF8 -	.pool -_0806BEE0: -	mov r0, r8 -	movs r2, 0 -	ldr r3, [sp, 0x10] -	bl BeginEvolutionScene -	movs r0, 0 -	bl _0806CD5C -_0806BEF0: -	movs r0, 0x1 -	bl _0806CD5C -_0806BEF6: -	str r0, [sp, 0x24] -_0806BEF8: -	movs r5, 0 -	str r5, [sp, 0x1C] -_0806BEFC: -	ldr r0, [sp, 0x1C] -	cmp r0, 0x5 -	bls _0806BF06 -	bl _0806CD4C -_0806BF06: -	lsls r0, 2 -	ldr r1, =_0806BF14 -	adds r0, r1 -	ldr r0, [r0] -	mov pc, r0 -	.pool -	.align 2, 0 -_0806BF14: -	.4byte _0806BF2C -	.4byte _0806BFFC -	.4byte _0806C08C -	.4byte _0806C120 -	.4byte _0806C300 -	.4byte _0806C9BE -_0806BF2C: -	ldr r1, [sp, 0x24] -	ldr r3, [sp, 0x1C] -	adds r2, r1, r3 -	ldrb r1, [r2] -	movs r0, 0x80 -	ands r0, r1 -	adds r6, r2, 0 -	cmp r0, 0 -	beq _0806BF76 -	ldr r0, =gMain -	ldr r5, =0x00000439 -	adds r0, r5 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _0806BF76 -	ldr r0, [sp, 0x38] -	cmp r0, 0x4 -	beq _0806BF76 -	ldr r1, =gBattleMons -	movs r0, 0x58 -	ldr r2, [sp, 0x38] -	muls r0, r2 -	adds r1, 0x50 -	adds r2, r0, r1 -	ldr r1, [r2] -	movs r0, 0xF0 -	lsls r0, 12 -	ands r0, r1 -	cmp r0, 0 -	beq _0806BF76 -	ldr r0, =0xfff0ffff -	ands r1, r0 -	str r1, [r2] -	movs r3, 0 -	str r3, [sp, 0x20] -_0806BF76: -	ldrb r1, [r6] -	movs r0, 0x30 -	ands r0, r1 -	cmp r0, 0 -	beq _0806BFA4 -	ldr r1, =gBattleMons -	ldr r0, =gActiveBattler -	ldrb r2, [r0] -	movs r0, 0x58 -	muls r0, r2 -	adds r1, 0x50 -	adds r2, r0, r1 -	ldr r1, [r2] -	movs r3, 0x80 -	lsls r3, 13 -	adds r0, r1, 0 -	ands r0, r3 -	cmp r0, 0 -	bne _0806BFA4 -	orrs r1, r3 -	str r1, [r2] -	movs r5, 0 -	str r5, [sp, 0x20] -_0806BFA4: -	ldrb r0, [r6] -	movs r3, 0xF -	ands r3, r0 -	cmp r3, 0 -	bne _0806BFB2 -	bl _0806CD4C -_0806BFB2: -	ldr r6, =gBattleMons -	ldr r5, =gActiveBattler -	ldrb r0, [r5] -	movs r4, 0x58 -	muls r0, r4 -	adds r1, r0, r6 -	ldrb r2, [r1, 0x19] -	movs r0, 0x19 -	ldrsb r0, [r1, r0] -	cmp r0, 0xB -	ble _0806BFCC -	bl _0806CD4C -_0806BFCC: -	adds r0, r2, r3 -	strb r0, [r1, 0x19] -	ldrb r0, [r5] -	muls r0, r4 -	adds r1, r0, r6 -	movs r0, 0x19 -	ldrsb r0, [r1, r0] -	cmp r0, 0xC -	bgt _0806BFE0 -	b _0806C110 -_0806BFE0: -	movs r0, 0xC -	strb r0, [r1, 0x19] -	b _0806C110 -	.pool -_0806BFFC: -	ldr r1, [sp, 0x24] -	ldr r3, [sp, 0x1C] -	adds r2, r1, r3 -	ldrb r1, [r2] -	movs r0, 0xF0 -	ands r0, r1 -	lsls r3, r0, 24 -	adds r6, r2, 0 -	cmp r3, 0 -	beq _0806C042 -	ldr r7, =gBattleMons -	ldr r5, =gActiveBattler -	ldrb r0, [r5] -	movs r4, 0x58 -	muls r0, r4 -	adds r1, r0, r7 -	ldrb r2, [r1, 0x1A] -	movs r0, 0x1A -	ldrsb r0, [r1, r0] -	cmp r0, 0xB -	bgt _0806C042 -	lsrs r0, r3, 28 -	adds r0, r2, r0 -	strb r0, [r1, 0x1A] -	ldrb r0, [r5] -	muls r0, r4 -	adds r1, r0, r7 -	movs r0, 0x1A -	ldrsb r0, [r1, r0] -	cmp r0, 0xC -	ble _0806C03E -	movs r0, 0xC -	strb r0, [r1, 0x1A] -_0806C03E: -	movs r5, 0 -	str r5, [sp, 0x20] -_0806C042: -	ldrb r0, [r6] -	movs r3, 0xF -	ands r3, r0 -	cmp r3, 0 -	bne _0806C050 -	bl _0806CD4C -_0806C050: -	ldr r6, =gBattleMons -	ldr r5, =gActiveBattler -	ldrb r0, [r5] -	movs r4, 0x58 -	muls r0, r4 -	adds r1, r0, r6 -	ldrb r2, [r1, 0x1B] -	movs r0, 0x1B -	ldrsb r0, [r1, r0] -	cmp r0, 0xB -	ble _0806C06A -	bl _0806CD4C -_0806C06A: -	adds r0, r2, r3 -	strb r0, [r1, 0x1B] -	ldrb r0, [r5] -	muls r0, r4 -	adds r1, r0, r6 -	movs r0, 0x1B -	ldrsb r0, [r1, r0] -	cmp r0, 0xC -	ble _0806C110 -	movs r0, 0xC -	strb r0, [r1, 0x1B] -	b _0806C110 -	.pool -_0806C08C: -	ldr r1, [sp, 0x24] -	ldr r3, [sp, 0x1C] -	adds r2, r1, r3 -	ldrb r1, [r2] -	movs r0, 0xF0 -	ands r0, r1 -	lsls r3, r0, 24 -	adds r6, r2, 0 -	cmp r3, 0 -	beq _0806C0D2 -	ldr r7, =gBattleMons -	ldr r5, =gActiveBattler -	ldrb r0, [r5] -	movs r4, 0x58 -	muls r0, r4 -	adds r1, r0, r7 -	ldrb r2, [r1, 0x1E] -	movs r0, 0x1E -	ldrsb r0, [r1, r0] -	cmp r0, 0xB -	bgt _0806C0D2 -	lsrs r0, r3, 28 -	adds r0, r2, r0 -	strb r0, [r1, 0x1E] -	ldrb r0, [r5] -	muls r0, r4 -	adds r1, r0, r7 -	movs r0, 0x1E -	ldrsb r0, [r1, r0] -	cmp r0, 0xC -	ble _0806C0CE -	movs r0, 0xC -	strb r0, [r1, 0x1E] -_0806C0CE: -	movs r5, 0 -	str r5, [sp, 0x20] -_0806C0D2: -	ldrb r0, [r6] -	movs r3, 0xF -	ands r3, r0 -	cmp r3, 0 -	bne _0806C0E0 -	bl _0806CD4C -_0806C0E0: -	ldr r6, =gBattleMons -	ldr r5, =gActiveBattler -	ldrb r0, [r5] -	movs r4, 0x58 -	muls r0, r4 -	adds r1, r0, r6 -	ldrb r2, [r1, 0x1C] -	movs r0, 0x1C -	ldrsb r0, [r1, r0] -	cmp r0, 0xB -	ble _0806C0FA -	bl _0806CD4C -_0806C0FA: -	adds r0, r2, r3 -	strb r0, [r1, 0x1C] -	ldrb r0, [r5] -	muls r0, r4 -	adds r1, r0, r6 -	movs r0, 0x1C -	ldrsb r0, [r1, r0] -	cmp r0, 0xC -	ble _0806C110 -	movs r0, 0xC -	strb r0, [r1, 0x1C] -_0806C110: -	movs r0, 0 -	str r0, [sp, 0x20] -	bl _0806CD4C -	.pool -_0806C120: -	ldr r1, [sp, 0x24] -	ldr r3, [sp, 0x1C] -	adds r2, r1, r3 -	ldrb r1, [r2] -	movs r0, 0x80 -	ands r0, r1 -	adds r6, r2, 0 -	cmp r0, 0 -	beq _0806C168 -	ldr r5, =gSideTimers -	ldr r4, =gActiveBattler -	ldrb r0, [r4] -	bl GetBattlerSide -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 1 -	adds r1, r0 -	lsls r1, 2 -	adds r1, r5 -	ldrb r0, [r1, 0x4] -	cmp r0, 0 -	bne _0806C168 -	ldrb r0, [r4] -	bl GetBattlerSide -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 1 -	adds r1, r0 -	lsls r1, 2 -	adds r1, r5 -	movs r0, 0x5 -	strb r0, [r1, 0x4] -	movs r5, 0 -	str r5, [sp, 0x20] -_0806C168: -	ldrb r1, [r6] -	movs r0, 0x40 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C1CA -	mov r0, r8 -	movs r1, 0x38 -	movs r2, 0 -	bl GetMonData -	cmp r0, 0x64 -	beq _0806C1CA -	ldr r5, =gExperienceTables -	mov r0, r8 -	movs r1, 0x38 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	mov r0, r8 -	movs r1, 0xB -	movs r2, 0 -	bl GetMonData -	adds r4, 0x1 -	lsls r4, 2 -	ldr r2, =gBaseStats -	lsls r1, r0, 3 -	subs r1, r0 -	lsls r1, 2 -	adds r1, r2 -	ldrb r1, [r1, 0x13] -	movs r0, 0xCA -	lsls r0, 1 -	muls r0, r1 -	adds r4, r0 -	adds r4, r5 -	ldr r0, [r4] -	str r0, [sp] -	mov r0, r8 -	movs r1, 0x19 -	mov r2, sp -	bl SetMonData -	mov r0, r8 -	bl CalculateMonStats -	movs r0, 0 -	str r0, [sp, 0x20] -_0806C1CA: -	ldrb r1, [r6] -	movs r0, 0x20 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C206 -	mov r0, r8 -	ldr r1, [sp, 0x10] -	movs r2, 0x7 -	ldr r3, [sp, 0x38] -	bl HealStatusConditions -	lsls r0, 24 -	cmp r0, 0 -	bne _0806C206 -	ldr r1, [sp, 0x38] -	cmp r1, 0x4 -	beq _0806C202 -	ldr r1, =gBattleMons -	movs r0, 0x58 -	ldr r3, [sp, 0x38] -	adds r2, r3, 0 -	muls r2, r0 -	adds r1, 0x50 -	adds r2, r1 -	ldr r0, [r2] -	ldr r1, =0xf7ffffff -	ands r0, r1 -	str r0, [r2] -_0806C202: -	movs r5, 0 -	str r5, [sp, 0x20] -_0806C206: -	ldrb r1, [r6] -	movs r0, 0x10 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C226 -	ldr r2, =0x00000f88 -	mov r0, r8 -	ldr r1, [sp, 0x10] -	ldr r3, [sp, 0x38] -	bl HealStatusConditions -	lsls r0, 24 -	cmp r0, 0 -	bne _0806C226 -	movs r0, 0 -	str r0, [sp, 0x20] -_0806C226: -	ldrb r1, [r6] -	movs r0, 0x8 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C246 -	mov r0, r8 -	ldr r1, [sp, 0x10] -	movs r2, 0x10 -	ldr r3, [sp, 0x38] -	bl HealStatusConditions -	lsls r0, 24 -	cmp r0, 0 -	bne _0806C246 -	movs r1, 0 -	str r1, [sp, 0x20] -_0806C246: -	ldrb r1, [r6] -	movs r0, 0x4 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C266 -	mov r0, r8 -	ldr r1, [sp, 0x10] -	movs r2, 0x20 -	ldr r3, [sp, 0x38] -	bl HealStatusConditions -	lsls r0, 24 -	cmp r0, 0 -	bne _0806C266 -	movs r2, 0 -	str r2, [sp, 0x20] -_0806C266: -	ldrb r1, [r6] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C286 -	mov r0, r8 -	ldr r1, [sp, 0x10] -	movs r2, 0x40 -	ldr r3, [sp, 0x38] -	bl HealStatusConditions -	lsls r0, 24 -	cmp r0, 0 -	bne _0806C286 -	movs r3, 0 -	str r3, [sp, 0x20] -_0806C286: -	ldrb r1, [r6] -	movs r0, 0x1 -	ands r0, r1 -	cmp r0, 0 -	bne _0806C294 -	bl _0806CD4C -_0806C294: -	ldr r0, =gMain -	ldr r5, =0x00000439 -	adds r0, r5 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	bne _0806C2A8 -	bl _0806CD4C -_0806C2A8: -	ldr r0, [sp, 0x38] -	cmp r0, 0x4 -	bne _0806C2B2 -	bl _0806CD4C -_0806C2B2: -	ldr r1, =gBattleMons -	movs r0, 0x58 -	ldr r2, [sp, 0x38] -	muls r0, r2 -	adds r1, 0x50 -	adds r2, r0, r1 -	ldr r1, [r2] -	movs r0, 0x7 -	ands r0, r1 -	cmp r0, 0 -	bne _0806C2CC -	bl _0806CD4C -_0806C2CC: -	movs r0, 0x8 -	negs r0, r0 -	ands r1, r0 -	str r1, [r2] -	movs r3, 0 -	str r3, [sp, 0x20] -	bl _0806CD4C -	.pool -_0806C300: -	ldr r5, [sp, 0x24] -	ldr r1, [sp, 0x1C] -	adds r0, r5, r1 -	ldrb r0, [r0] -	mov r10, r0 -	movs r0, 0x20 -	mov r2, r10 -	ands r0, r2 -	cmp r0, 0 -	beq _0806C3D8 -	movs r0, 0xDF -	ands r2, r0 -	mov r10, r2 -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	ldr r1, =gUnknown_08329D22 -	ldr r3, [sp, 0x14] -	adds r1, r3, r1 -	ldrb r1, [r1] -	ands r0, r1 -	lsls r1, r3, 1 -	lsrs r0, r1 -	str r0, [sp] -	adds r5, r3, 0 -	adds r5, 0xD -	mov r0, r8 -	adds r1, r5, 0 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 24 -	lsrs r1, 24 -	adds r0, r4, 0 -	ldr r2, [sp, 0x14] -	bl CalculatePPWithBonus -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp, 0x2C] -	ldr r0, [sp] -	cmp r0, 0x2 -	bhi _0806C3D8 -	ldr r0, [sp, 0x2C] -	cmp r0, 0x4 -	bls _0806C3D8 -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	ldr r1, =gUnknown_08329D2A -	ldr r2, [sp, 0x14] -	adds r1, r2, r1 -	ldrb r1, [r1] -	adds r0, r1 -	str r0, [sp] -	mov r0, r8 -	movs r1, 0x15 -	mov r2, sp -	bl SetMonData -	mov r0, r8 -	adds r1, r5, 0 -	movs r2, 0 -	bl GetMonData -	lsls r0, 16 -	lsrs r0, 16 -	ldr r1, [sp] -	lsls r1, 24 -	lsrs r1, 24 -	ldr r2, [sp, 0x14] -	bl CalculatePPWithBonus -	lsls r0, 24 -	lsrs r0, 24 -	ldr r3, [sp, 0x2C] -	subs r0, r3 -	str r0, [sp] -	ldr r4, [sp, 0x14] -	adds r4, 0x11 -	mov r0, r8 -	adds r1, r4, 0 -	movs r2, 0 -	bl GetMonData -	ldr r1, [sp] -	adds r0, r1 -	str r0, [sp] -	mov r0, r8 -	adds r1, r4, 0 -	mov r2, sp -	bl SetMonData -	movs r5, 0 -	str r5, [sp, 0x20] -_0806C3D8: -	movs r0, 0 -	str r0, [sp, 0x2C] -	mov r1, r10 -	cmp r1, 0 -	bne _0806C3E6 -	bl _0806CD4C -_0806C3E6: -	movs r0, 0x1 -	mov r2, r10 -	ands r0, r2 -	cmp r0, 0 -	bne _0806C3F2 -	b _0806C9AA -_0806C3F2: -	ldr r3, [sp, 0x2C] -	cmp r3, 0x7 -	bls _0806C3FA -	b _0806C9AA -_0806C3FA: -	lsls r0, r3, 2 -	ldr r1, =_0806C410 -	adds r0, r1 -	ldr r0, [r0] -	mov pc, r0 -	.pool -	.align 2, 0 -_0806C410: -	.4byte _0806C430 -	.4byte _0806C430 -	.4byte _0806C4DC -	.4byte _0806C700 -	.4byte _0806C9AA -	.4byte _0806C9AA -	.4byte _0806C9AA -	.4byte _0806C994 -_0806C430: -	mov r0, r8 -	bl GetMonEVCount -	lsls r0, 16 -	lsrs r6, r0, 16 -	ldr r5, [sp, 0x24] -	ldr r1, [sp, 0x28] -	adds r0, r5, r1 -	ldrb r5, [r0] -	ldr r0, =gUnknown_08329EC2 -	ldr r2, [sp, 0x2C] -	adds r0, r2, r0 -	ldrb r1, [r0] -	mov r0, r8 -	movs r2, 0 -	bl GetMonData -	adds r1, r0, 0 -	str r1, [sp, 0x4] -	lsls r0, r5, 24 -	asrs r2, r0, 24 -	cmp r2, 0 -	ble _0806C498 -	ldr r0, =0x000001fd -	cmp r6, r0 -	bls _0806C466 -	b _0806BEF0 -_0806C466: -	adds r3, r1, 0 -	cmp r3, 0x63 -	ble _0806C46E -	b _0806C9AA -_0806C46E: -	adds r1, r3, r2 -	cmp r1, 0x64 -	ble _0806C484 -	adds r0, r2, 0 -	adds r0, 0x64 -	subs r5, r0, r1 -	b _0806C486 -	.pool -_0806C484: -	adds r5, r2, 0 -_0806C486: -	adds r1, r6, r5 -	movs r0, 0xFF -	lsls r0, 1 -	cmp r1, r0 -	bls _0806C494 -	adds r0, r5, r0 -	subs r5, r0, r1 -_0806C494: -	adds r0, r3, r5 -	b _0806C4B2 -_0806C498: -	cmp r1, 0 -	bne _0806C4A8 -	movs r3, 0x1 -	str r3, [sp, 0x3C] -	ldr r0, [sp, 0x28] -	adds r0, 0x1 -	lsls r0, 24 -	b _0806C83E -_0806C4A8: -	adds r0, r1, r2 -	str r0, [sp, 0x4] -	cmp r0, 0 -	bge _0806C4B4 -	movs r0, 0 -_0806C4B2: -	str r0, [sp, 0x4] -_0806C4B4: -	ldr r0, =gUnknown_08329EC2 -	ldr r5, [sp, 0x2C] -	adds r0, r5, r0 -	ldrb r1, [r0] -	add r2, sp, 0x4 -	mov r0, r8 -	bl SetMonData -	mov r0, r8 -	bl CalculateMonStats -	ldr r0, [sp, 0x28] -	adds r0, 0x1 -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp, 0x28] -	b _0806C978 -	.pool -_0806C4DC: -	movs r0, 0x10 -	mov r1, r10 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C59C -	mov r0, r8 -	movs r1, 0x39 -	movs r2, 0 -	bl GetMonData -	cmp r0, 0 -	beq _0806C4FC -	ldr r0, [sp, 0x28] -	adds r0, 0x1 -	lsls r0, 24 -	b _0806C83E -_0806C4FC: -	ldr r0, =gMain -	ldr r2, =0x00000439 -	adds r0, r2 -	ldrb r1, [r0] -	movs r4, 0x2 -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C5B2 -	ldr r3, [sp, 0x38] -	cmp r3, 0x4 -	beq _0806C55C -	ldr r2, =gAbsentBattlerFlags -	ldr r1, =gBitTable -	lsls r0, r3, 2 -	adds r0, r1 -	ldr r1, [r0] -	ldrb r0, [r2] -	bics r0, r1 -	strb r0, [r2] -	ldr r1, =gBattlerPartyIndexes -	lsls r0, r3, 1 -	adds r0, r1 -	ldrb r0, [r0] -	bl pokemon_order_func -	adds r1, r0, 0 -	lsls r1, 24 -	lsrs r1, 24 -	ldr r0, [sp, 0x38] -	bl CopyPlayerPartyMonToBattleData -	ldr r0, =gActiveBattler -	ldrb r0, [r0] -	b _0806C574 -	.pool -_0806C55C: -	ldr r3, =gAbsentBattlerFlags -	ldr r1, =gBitTable -	ldr r2, =gActiveBattler -	ldrb r0, [r2] -	eors r0, r4 -	lsls r0, 2 -	adds r0, r1 -	ldr r1, [r0] -	ldrb r0, [r3] -	bics r0, r1 -	strb r0, [r3] -	ldrb r0, [r2] -_0806C574: -	bl GetBattlerSide -	lsls r0, 24 -	cmp r0, 0 -	bne _0806C5B2 -	ldr r1, =gBattleResults -	ldrb r0, [r1, 0x4] -	cmp r0, 0xFE -	bhi _0806C5B2 -	adds r0, 0x1 -	strb r0, [r1, 0x4] -	b _0806C5B2 -	.pool -_0806C59C: -	mov r0, r8 -	movs r1, 0x39 -	movs r2, 0 -	bl GetMonData -	cmp r0, 0 -	bne _0806C5B2 -	ldr r0, [sp, 0x28] -	adds r0, 0x1 -	lsls r0, 24 -	b _0806C83E -_0806C5B2: -	ldr r1, [sp, 0x28] -	adds r0, r1, 0x1 -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp, 0x28] -	ldr r5, [sp, 0x24] -	adds r1, r5, r1 -	ldrb r1, [r1] -	str r1, [sp] -	adds r0, r1, 0 -	cmp r0, 0xFE -	beq _0806C5F4 -	cmp r0, 0xFE -	bhi _0806C5D4 -	cmp r0, 0xFD -	beq _0806C60A -	b _0806C612 -_0806C5D4: -	cmp r1, 0xFF -	bne _0806C612 -	mov r0, r8 -	movs r1, 0x3A -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	mov r0, r8 -	movs r1, 0x39 -	movs r2, 0 -	bl GetMonData -	subs r4, r0 -	str r4, [sp] -	b _0806C612 -_0806C5F4: -	mov r0, r8 -	movs r1, 0x3A -	movs r2, 0 -	bl GetMonData -	lsrs r0, 1 -	str r0, [sp] -	cmp r0, 0 -	bne _0806C612 -	movs r0, 0x1 -	b _0806C610 -_0806C60A: -	ldr r0, =gBattleScripting -	adds r0, 0x23 -	ldrb r0, [r0] -_0806C610: -	str r0, [sp] -_0806C612: -	mov r0, r8 -	movs r1, 0x3A -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	mov r0, r8 -	movs r1, 0x39 -	movs r2, 0 -	bl GetMonData -	cmp r4, r0 -	beq _0806C6F0 -	ldr r0, [sp, 0x18] -	cmp r0, 0 -	bne _0806C6E4 -	mov r0, r8 -	movs r1, 0x39 -	movs r2, 0 -	bl GetMonData -	ldr r1, [sp] -	adds r0, r1 -	str r0, [sp] -	mov r0, r8 -	movs r1, 0x3A -	movs r2, 0 -	bl GetMonData -	ldr r1, [sp] -	cmp r1, r0 -	bls _0806C65E -	mov r0, r8 -	movs r1, 0x3A -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -_0806C65E: -	mov r0, r8 -	movs r1, 0x39 -	mov r2, sp -	bl SetMonData -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C6EC -	ldr r2, [sp, 0x38] -	cmp r2, 0x4 -	beq _0806C6EC -	ldr r1, =gBattleMons -	movs r0, 0x58 -	muls r0, r2 -	adds r0, r1 -	ldr r1, [sp] -	strh r1, [r0, 0x28] -	movs r0, 0x10 -	mov r3, r10 -	ands r0, r3 -	cmp r0, 0 -	bne _0806C6EC -	ldr r4, =gActiveBattler -	ldrb r0, [r4] -	bl GetBattlerSide -	lsls r0, 24 -	cmp r0, 0 -	bne _0806C6EC -	ldr r1, =gBattleResults -	ldrb r0, [r1, 0x3] -	cmp r0, 0xFE -	bhi _0806C6AE -	adds r0, 0x1 -	strb r0, [r1, 0x3] -_0806C6AE: -	ldrb r5, [r4] -	add r0, sp, 0x38 -	ldrb r0, [r0] -	strb r0, [r4] -	movs r0, 0 -	movs r1, 0 -	movs r2, 0 -	bl BtlController_EmitGetMonData -	ldrb r0, [r4] -	bl MarkBattlerForControllerExec -	strb r5, [r4] -	b _0806C6EC -	.pool -_0806C6E4: -	ldr r1, =gBattleMoveDamage -	ldr r0, [sp] -	negs r0, r0 -	str r0, [r1] -_0806C6EC: -	movs r1, 0 -	str r1, [sp, 0x20] -_0806C6F0: -	movs r0, 0xEF -	mov r2, r10 -	ands r2, r0 -	mov r10, r2 -	b _0806C9AA -	.pool -_0806C700: -	movs r7, 0x2 -	mov r0, r10 -	ands r0, r7 -	cmp r0, 0 -	beq _0806C70C -	b _0806C858 -_0806C70C: -	movs r5, 0 -	ldr r3, [sp, 0x28] -	adds r3, 0x1 -	str r3, [sp, 0x40] -_0806C714: -	movs r0, 0x11 -	adds r0, r5 -	mov r9, r0 -	mov r0, r8 -	mov r1, r9 -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	adds r7, r5, 0 -	adds r7, 0xD -	mov r0, r8 -	adds r1, r7, 0 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 24 -	lsrs r1, 24 -	lsls r0, r5, 24 -	lsrs r6, r0, 24 -	adds r0, r4, 0 -	adds r2, r6, 0 -	bl CalculatePPWithBonus -	lsls r0, 24 -	lsrs r0, 24 -	ldr r1, [sp] -	cmp r1, r0 -	beq _0806C832 -	ldr r2, [sp, 0x24] -	ldr r3, [sp, 0x28] -	adds r0, r2, r3 -	ldrb r0, [r0] -	adds r0, r1, r0 -	str r0, [sp] -	mov r0, r8 -	adds r1, r7, 0 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 24 -	lsrs r1, 24 -	adds r0, r4, 0 -	adds r2, r6, 0 -	bl CalculatePPWithBonus -	lsls r0, 24 -	lsrs r0, 24 -	ldr r1, [sp] -	cmp r1, r0 -	bls _0806C7CC -	mov r0, r8 -	adds r1, r7, 0 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 24 -	lsrs r1, 24 -	adds r0, r4, 0 -	adds r2, r6, 0 -	bl CalculatePPWithBonus -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp] -_0806C7CC: -	mov r0, r8 -	mov r1, r9 -	mov r2, sp -	bl SetMonData -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	movs r0, 0x2 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C82E -	ldr r2, [sp, 0x38] -	cmp r2, 0x4 -	beq _0806C82E -	ldr r4, =gBattleMons -	movs r0, 0x58 -	adds r3, r2, 0 -	muls r3, r0 -	adds r0, r4, 0 -	adds r0, 0x50 -	adds r0, r3, r0 -	ldr r1, [r0] -	movs r0, 0x80 -	lsls r0, 14 -	ands r1, r0 -	cmp r1, 0 -	bne _0806C82E -	ldr r1, =gDisableStructs -	lsls r0, r2, 3 -	subs r0, r2 -	lsls r0, 2 -	adds r0, r1 -	ldrb r1, [r0, 0x18] -	lsrs r1, 4 -	ldr r2, =gBitTable -	lsls r0, r5, 2 -	adds r0, r2 -	ldr r0, [r0] -	ands r1, r0 -	cmp r1, 0 -	bne _0806C82E -	adds r0, r5, r3 -	adds r1, r4, 0 -	adds r1, 0x24 -	adds r0, r1 -	ldr r1, [sp] -	strb r1, [r0] -_0806C82E: -	movs r3, 0 -	str r3, [sp, 0x20] -_0806C832: -	adds r5, 0x1 -	cmp r5, 0x3 -	bgt _0806C83A -	b _0806C714 -_0806C83A: -	ldr r5, [sp, 0x40] -	lsls r0, r5, 24 -_0806C83E: -	lsrs r0, 24 -	str r0, [sp, 0x28] -	b _0806C9AA -	.pool -_0806C858: -	ldr r6, [sp, 0x14] -	adds r6, 0x11 -	mov r0, r8 -	adds r1, r6, 0 -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	ldr r5, [sp, 0x14] -	adds r5, 0xD -	mov r0, r8 -	adds r1, r5, 0 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 24 -	lsrs r1, 24 -	adds r0, r4, 0 -	ldr r2, [sp, 0x14] -	bl CalculatePPWithBonus -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, [sp] -	cmp r2, r0 -	bne _0806C8A0 -	b _0806C9AA -_0806C8A0: -	ldr r1, [sp, 0x28] -	adds r0, r1, 0x1 -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp, 0x28] -	ldr r0, [sp, 0x24] -	adds r1, r0, r1 -	ldrb r0, [r1] -	adds r0, r2, r0 -	str r0, [sp] -	mov r0, r8 -	adds r1, r5, 0 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 24 -	lsrs r1, 24 -	adds r0, r4, 0 -	ldr r2, [sp, 0x14] -	bl CalculatePPWithBonus -	lsls r0, 24 -	lsrs r0, 24 -	ldr r1, [sp] -	cmp r1, r0 -	bls _0806C914 -	mov r0, r8 -	adds r1, r5, 0 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 24 -	lsrs r1, 24 -	adds r0, r4, 0 -	ldr r2, [sp, 0x14] -	bl CalculatePPWithBonus -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp] -_0806C914: -	mov r0, r8 -	adds r1, r6, 0 -	mov r2, sp -	bl SetMonData -	ldr r0, =gMain -	ldr r1, =0x00000439 -	adds r0, r1 -	ldrb r1, [r0] -	adds r0, r7, 0 -	ands r0, r1 -	cmp r0, 0 -	beq _0806C978 -	ldr r2, [sp, 0x38] -	cmp r2, 0x4 -	beq _0806C978 -	ldr r4, =gBattleMons -	movs r0, 0x58 -	adds r3, r2, 0 -	muls r3, r0 -	adds r0, r4, 0 -	adds r0, 0x50 -	adds r0, r3, r0 -	ldr r0, [r0] -	movs r1, 0x80 -	lsls r1, 14 -	ands r0, r1 -	cmp r0, 0 -	bne _0806C978 -	ldr r1, =gDisableStructs -	lsls r0, r2, 3 -	subs r0, r2 -	lsls r0, 2 -	adds r0, r1 -	ldrb r1, [r0, 0x18] -	lsrs r1, 4 -	ldr r2, =gBitTable -	ldr r5, [sp, 0x14] -	lsls r0, r5, 2 -	adds r0, r2 -	ldr r0, [r0] -	ands r1, r0 -	cmp r1, 0 -	bne _0806C978 -	adds r0, r5, r3 -	adds r1, r4, 0 -	adds r1, 0x24 -	adds r0, r1 -	ldr r1, [sp] -	strb r1, [r0] -_0806C978: -	movs r0, 0 -	str r0, [sp, 0x20] -	b _0806C9AA -	.pool -_0806C994: -	mov r0, r8 -	movs r1, 0x2 -	ldr r2, [sp, 0xC] -	bl GetEvolutionTargetSpecies -	lsls r0, 16 -	lsrs r1, r0, 16 -	cmp r1, 0 -	beq _0806C9AA -	bl _0806BEE0 -_0806C9AA: -	ldr r1, [sp, 0x2C] -	adds r1, 0x1 -	str r1, [sp, 0x2C] -	mov r2, r10 -	lsrs r2, 1 -	mov r10, r2 -	cmp r2, 0 -	beq _0806C9BC -	b _0806C3E6 -_0806C9BC: -	b _0806CD4C -_0806C9BE: -	ldr r3, [sp, 0x24] -	ldr r5, [sp, 0x1C] -	adds r0, r3, r5 -	ldrb r0, [r0] -	mov r10, r0 -	movs r0, 0 -	str r0, [sp, 0x2C] -	mov r1, r10 -	cmp r1, 0 -	bne _0806C9D4 -	b _0806CD4C -_0806C9D4: -	movs r0, 0x1 -	mov r2, r10 -	ands r0, r2 -	cmp r0, 0 -	bne _0806C9E0 -	b _0806CD3A -_0806C9E0: -	ldr r3, [sp, 0x2C] -	cmp r3, 0x7 -	bls _0806C9E8 -	b _0806CD3A -_0806C9E8: -	lsls r0, r3, 2 -	ldr r1, =_0806C9F8 -	adds r0, r1 -	ldr r0, [r0] -	mov pc, r0 -	.pool -	.align 2, 0 -_0806C9F8: -	.4byte _0806CA18 -	.4byte _0806CA18 -	.4byte _0806CA18 -	.4byte _0806CA18 -	.4byte _0806CAB8 -	.4byte _0806CB94 -	.4byte _0806CC00 -	.4byte _0806CC68 -_0806CA18: -	mov r0, r8 -	bl GetMonEVCount -	lsls r0, 16 -	lsrs r6, r0, 16 -	ldr r5, [sp, 0x24] -	ldr r1, [sp, 0x28] -	adds r0, r5, r1 -	ldrb r5, [r0] -	ldr r0, =gUnknown_08329EC2 -	ldr r4, [sp, 0x2C] -	adds r4, 0x2 -	adds r0, r4, r0 -	ldrb r1, [r0] -	mov r0, r8 -	movs r2, 0 -	bl GetMonData -	adds r1, r0, 0 -	str r1, [sp, 0x4] -	lsls r0, r5, 24 -	asrs r2, r0, 24 -	cmp r2, 0 -	ble _0806CA84 -	ldr r0, =0x000001fd -	cmp r6, r0 -	bls _0806CA52 -	bl _0806BEF0 -_0806CA52: -	adds r3, r1, 0 -	cmp r3, 0x63 -	ble _0806CA5A -	b _0806CD3A -_0806CA5A: -	adds r1, r3, r2 -	cmp r1, 0x64 -	ble _0806CA70 -	adds r0, r2, 0 -	adds r0, 0x64 -	subs r5, r0, r1 -	b _0806CA72 -	.pool -_0806CA70: -	adds r5, r2, 0 -_0806CA72: -	adds r1, r6, r5 -	movs r0, 0xFF -	lsls r0, 1 -	cmp r1, r0 -	bls _0806CA80 -	adds r0, r5, r0 -	subs r5, r0, r1 -_0806CA80: -	adds r0, r3, r5 -	b _0806CA98 -_0806CA84: -	cmp r1, 0 -	bne _0806CA8E -	movs r2, 0x1 -	str r2, [sp, 0x3C] -	b _0806CD30 -_0806CA8E: -	adds r0, r1, r2 -	str r0, [sp, 0x4] -	cmp r0, 0 -	bge _0806CA9A -	movs r0, 0 -_0806CA98: -	str r0, [sp, 0x4] -_0806CA9A: -	ldr r0, =gUnknown_08329EC2 -	adds r0, r4, r0 -	ldrb r1, [r0] -	add r2, sp, 0x4 -	mov r0, r8 -	bl SetMonData -	mov r0, r8 -	bl CalculateMonStats -	movs r3, 0 -	str r3, [sp, 0x20] -	b _0806CD30 -	.pool -_0806CAB8: -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	ldr r1, =gUnknown_08329D22 -	ldr r5, [sp, 0x14] -	adds r1, r5, r1 -	ldrb r1, [r1] -	ands r0, r1 -	lsls r1, r5, 1 -	lsrs r0, r1 -	str r0, [sp] -	adds r6, r5, 0 -	adds r6, 0xD -	mov r0, r8 -	adds r1, r6, 0 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	adds r1, r0, 0 -	lsls r1, 24 -	lsrs r1, 24 -	adds r0, r4, 0 -	ldr r2, [sp, 0x14] -	bl CalculatePPWithBonus -	lsls r0, 24 -	lsrs r5, r0, 24 -	ldr r0, [sp] -	cmp r0, 0x2 -	bls _0806CB0A -	b _0806CD3A -_0806CB0A: -	cmp r5, 0x4 -	bhi _0806CB10 -	b _0806CD3A -_0806CB10: -	mov r0, r8 -	movs r1, 0x15 -	movs r2, 0 -	bl GetMonData -	str r0, [sp] -	ldr r1, =gUnknown_08329D26 -	ldr r2, [sp, 0x14] -	adds r1, r2, r1 -	ldrb r2, [r1] -	ands r2, r0 -	str r2, [sp] -	ldr r0, =gUnknown_08329D2A -	ldr r3, [sp, 0x14] -	adds r0, r3, r0 -	ldrb r1, [r0] -	lsls r0, r1, 1 -	adds r0, r1 -	adds r2, r0 -	str r2, [sp] -	mov r0, r8 -	movs r1, 0x15 -	mov r2, sp -	bl SetMonData -	mov r0, r8 -	adds r1, r6, 0 -	movs r2, 0 -	bl GetMonData -	lsls r0, 16 -	lsrs r0, 16 -	ldr r1, [sp] -	lsls r1, 24 -	lsrs r1, 24 -	ldr r2, [sp, 0x14] -	bl CalculatePPWithBonus -	lsls r0, 24 -	lsrs r0, 24 -	subs r0, r5 -	str r0, [sp] -	ldr r4, [sp, 0x14] -	adds r4, 0x11 -	mov r0, r8 -	adds r1, r4, 0 -	movs r2, 0 -	bl GetMonData -	ldr r1, [sp] -	adds r0, r1 -	str r0, [sp] -	mov r0, r8 -	adds r1, r4, 0 -	mov r2, sp -	bl SetMonData -	movs r5, 0 -	str r5, [sp, 0x20] -	b _0806CD3A -	.pool -_0806CB94: -	mov r0, r8 -	movs r1, 0x20 -	movs r2, 0 -	bl GetMonData -	cmp r0, 0x63 -	bls _0806CBA4 -	b _0806CD30 -_0806CBA4: -	ldr r0, [sp, 0x20] -	cmp r0, 0 -	beq _0806CBB2 -	ldr r1, [sp, 0x3C] -	cmp r1, 0 -	bne _0806CBB2 -	b _0806CD30 -_0806CBB2: -	bl sub_806F104 -	lsls r0, 24 -	cmp r0, 0 -	beq _0806CBBE -	b _0806CD30 -_0806CBBE: -	ldr r2, [sp, 0x30] -	cmp r2, 0 -	beq _0806CBC6 -	b _0806CD30 -_0806CBC6: -	ldr r3, [sp, 0x24] -	ldr r5, [sp, 0x28] -	adds r0, r3, r5 -	ldrb r0, [r0] -	str r0, [sp, 0x30] -	mov r0, r8 -	movs r1, 0x20 -	movs r2, 0 -	bl GetMonData -	adds r5, r0, 0 -	str r5, [sp, 0x8] -	ldr r0, [sp, 0x30] -	lsls r4, r0, 24 -	asrs r1, r4, 24 -	cmp r1, 0 -	ble _0806CCCC -	ldr r2, [sp, 0x34] -	cmp r2, 0x1B -	bne _0806CCCC -	movs r0, 0x96 -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, r5, r0 -	str r0, [sp, 0x8] -	adds r2, r4, 0 -	b _0806CCD8 -_0806CC00: -	mov r0, r8 -	movs r1, 0x20 -	movs r2, 0 -	bl GetMonData -	cmp r0, 0x63 -	bhi _0806CC10 -	b _0806CD30 -_0806CC10: -	mov r0, r8 -	movs r1, 0x20 -	movs r2, 0 -	bl GetMonData -	cmp r0, 0xC7 -	bls _0806CC20 -	b _0806CD30 -_0806CC20: -	ldr r0, [sp, 0x20] -	cmp r0, 0 -	beq _0806CC2E -	ldr r1, [sp, 0x3C] -	cmp r1, 0 -	bne _0806CC2E -	b _0806CD30 -_0806CC2E: -	bl sub_806F104 -	lsls r0, 24 -	cmp r0, 0 -	bne _0806CD30 -	ldr r2, [sp, 0x30] -	cmp r2, 0 -	bne _0806CD30 -	ldr r3, [sp, 0x24] -	ldr r5, [sp, 0x28] -	adds r0, r3, r5 -	ldrb r0, [r0] -	str r0, [sp, 0x30] -	mov r0, r8 -	movs r1, 0x20 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	str r4, [sp, 0x8] -	ldr r0, [sp, 0x30] -	lsls r5, r0, 24 -	asrs r1, r5, 24 -	cmp r1, 0 -	ble _0806CCCC -	ldr r2, [sp, 0x34] -	cmp r2, 0x1B -	beq _0806CCBA -	b _0806CCCC -_0806CC68: -	mov r0, r8 -	movs r1, 0x20 -	movs r2, 0 -	bl GetMonData -	cmp r0, 0xC7 -	bls _0806CD30 -	ldr r0, [sp, 0x20] -	cmp r0, 0 -	beq _0806CC82 -	ldr r1, [sp, 0x3C] -	cmp r1, 0 -	beq _0806CD30 -_0806CC82: -	bl sub_806F104 -	lsls r0, 24 -	cmp r0, 0 -	bne _0806CD30 -	ldr r2, [sp, 0x30] -	cmp r2, 0 -	bne _0806CD30 -	ldr r3, [sp, 0x24] -	ldr r5, [sp, 0x28] -	adds r0, r3, r5 -	ldrb r0, [r0] -	str r0, [sp, 0x30] -	mov r0, r8 -	movs r1, 0x20 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	str r4, [sp, 0x8] -	ldr r0, [sp, 0x30] -	lsls r5, r0, 24 -	asrs r1, r5, 24 -	cmp r1, 0 -	ble _0806CCCC -	ldr r2, [sp, 0x34] -	cmp r2, 0x1B -	bne _0806CCCC -_0806CCBA: -	movs r0, 0x96 -	muls r0, r1 -	movs r1, 0x64 -	bl __divsi3 -	adds r0, r4, r0 -	str r0, [sp, 0x8] -	adds r2, r5, 0 -	b _0806CCD8 -_0806CCCC: -	ldr r3, [sp, 0x30] -	lsls r2, r3, 24 -	asrs r1, r2, 24 -	ldr r0, [sp, 0x8] -	adds r0, r1 -	str r0, [sp, 0x8] -_0806CCD8: -	cmp r2, 0 -	ble _0806CD0E -	mov r0, r8 -	movs r1, 0x26 -	movs r2, 0 -	bl GetMonData -	cmp r0, 0xB -	bne _0806CCF0 -	ldr r0, [sp, 0x8] -	adds r0, 0x1 -	str r0, [sp, 0x8] -_0806CCF0: -	mov r0, r8 -	movs r1, 0x23 -	movs r2, 0 -	bl GetMonData -	adds r4, r0, 0 -	bl sav1_map_get_name -	lsls r0, 24 -	lsrs r0, 24 -	cmp r4, r0 -	bne _0806CD0E -	ldr r0, [sp, 0x8] -	adds r0, 0x1 -	str r0, [sp, 0x8] -_0806CD0E: -	ldr r0, [sp, 0x8] -	cmp r0, 0 -	bge _0806CD18 -	movs r0, 0 -	str r0, [sp, 0x8] -_0806CD18: -	ldr r0, [sp, 0x8] -	cmp r0, 0xFF -	ble _0806CD22 -	movs r0, 0xFF -	str r0, [sp, 0x8] -_0806CD22: -	add r2, sp, 0x8 -	mov r0, r8 -	movs r1, 0x20 -	bl SetMonData -	movs r5, 0 -	str r5, [sp, 0x20] -_0806CD30: -	ldr r0, [sp, 0x28] -	adds r0, 0x1 -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp, 0x28] -_0806CD3A: -	ldr r0, [sp, 0x2C] -	adds r0, 0x1 -	str r0, [sp, 0x2C] -	mov r1, r10 -	lsrs r1, 1 -	mov r10, r1 -	cmp r1, 0 -	beq _0806CD4C -	b _0806C9D4 -_0806CD4C: -	ldr r2, [sp, 0x1C] -	adds r2, 0x1 -	str r2, [sp, 0x1C] -	cmp r2, 0x5 -	bgt _0806CD5A -	bl _0806BEFC -_0806CD5A: -	ldr r0, [sp, 0x20] -_0806CD5C: -	add sp, 0x44 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r1} -	bx r1 -	thumb_func_end ExecuteTableBasedItemEffect - -	.align 2, 0 @ Don't pad with nop. -    
\ No newline at end of file diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index a94d69b96..6e7c3af57 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -1173,7 +1173,7 @@ sub_81C47B4: @ 81C47B4  	ands r0, r1  	strb r0, [r7, 0x5]  	ldrh r0, [r6, 0x2] -	bl IsPokeSpriteNotFlipped +	bl IsMonSpriteNotFlipped  	lsls r0, 24  	cmp r0, 0  	bne _081C4828 @@ -1221,7 +1221,7 @@ sub_81C4844: @ 81C4844  	cmp r0, 0x1  	beq _081C487E  	ldrh r0, [r4, 0x2E] -	bl IsPokeSpriteNotFlipped +	bl IsMonSpriteNotFlipped  	lsls r0, 24  	lsrs r0, 24  	strh r0, [r4, 0x30] diff --git a/asm/trade.s b/asm/trade.s index 92364146e..f565cd7ba 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7155,7 +7155,7 @@ _0807AD94:  	bl HandleLoadSpecialPokePic_DontHandleDeoxys  _0807ADB2:  	mov r0, r8 -	bl sub_806E794 +	bl GetMonSpritePalStruct  	bl LoadCompressedObjectPalette  	ldr r0, =gUnknown_020322A0  	ldr r1, [r0] @@ -7171,7 +7171,7 @@ _0807ADB2:  	.pool  _0807ADE0:  	mov r0, r8 -	bl sub_806E794 +	bl GetMonSpritePalStruct  	ldrh r0, [r0, 0x4]  	adds r1, r4, 0  	bl sub_806A068 @@ -9589,7 +9589,7 @@ _0807C66C:  	ldr r0, [r5]  	adds r0, 0xF0  	ldrh r0, [r0] -	bl IsPokeSpriteNotFlipped +	bl IsMonSpriteNotFlipped  	lsls r0, 24  	cmp r0, 0  	bne _0807C6E4 @@ -11663,7 +11663,7 @@ _0807DA74:  	ldr r0, [r5]  	adds r0, 0xF0  	ldrh r0, [r0] -	bl IsPokeSpriteNotFlipped +	bl IsMonSpriteNotFlipped  	lsls r0, 24  	cmp r0, 0  	bne _0807DAEC diff --git a/asm/trainer_card.s b/asm/trainer_card.s index c05b948cd..d7c96054d 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -4754,7 +4754,7 @@ sub_80C4FF0: @ 80C4FF0  	ldr r1, =0x00000583  	adds r0, r1  	ldrb r0, [r0] -	bl sub_806EFF0 +	bl FacilityClassToPicIndex  	lsls r0, 16  	lsrs r0, 16  	ldr r4, =gUnknown_0856FB18 @@ -4795,7 +4795,7 @@ _080C5060:  	adds r0, r1  	adds r0, r2  	ldrb r0, [r0] -	bl sub_806EFF0 +	bl FacilityClassToPicIndex  	lsls r0, 16  	lsrs r0, 16  	ldr r4, =gUnknown_0856FB18 | 
