mirror of
https://github.com/pret/pokediamond.git
synced 2026-04-26 00:11:26 -05:00
More syncing with pokeheartgold
This commit is contained in:
parent
b208876983
commit
8d23c1a447
|
|
@ -625,7 +625,7 @@ _020431D4:
|
|||
add r7, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r1, r7, #0x0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
add r0, r7, #0x0
|
||||
mov r1, #0x90
|
||||
add r2, r5, #0x0
|
||||
|
|
@ -696,7 +696,7 @@ sub_02043274: ; 0x02043274
|
|||
mov r1, #0x0
|
||||
bl BufferPlayersName
|
||||
add r0, r7, #0x4
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r5, #0x4]
|
||||
mov r1, #0x1
|
||||
|
|
@ -742,7 +742,7 @@ sub_020432C8: ; 0x020432C8
|
|||
mov r1, #0x0
|
||||
bl BufferPlayersName
|
||||
add r0, r7, #0x4
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r5, #0x4]
|
||||
mov r1, #0x1
|
||||
|
|
|
|||
|
|
@ -550,7 +550,7 @@ sub_02042288: ; 0x02042288
|
|||
add r4, r1, #0x0
|
||||
bl SaveArray_Party_Get
|
||||
bl GetFirstNonEggInParty
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x0
|
||||
|
|
|
|||
|
|
@ -133,10 +133,10 @@ sub_0202BF7C: ; 0x0202BF7C
|
|||
mov r1, #0xec
|
||||
mul r1, r2
|
||||
add r1, r3, r1
|
||||
ldr r3, _0202BF8C ; =CopyBoxPokemonToPokemon
|
||||
ldr r3, _0202BF8C ; =BoxPokemon_CopyToPokemon
|
||||
bx r3
|
||||
nop
|
||||
_0202BF8C: .word CopyBoxPokemonToPokemon
|
||||
_0202BF8C: .word BoxPokemon_CopyToPokemon
|
||||
|
||||
thumb_func_start sub_0202BF90
|
||||
sub_0202BF90: ; 0x0202BF90
|
||||
|
|
|
|||
|
|
@ -1442,12 +1442,12 @@ sub_02038144: ; 0x02038144
|
|||
mov r0, #0x20
|
||||
bl Heap_Alloc
|
||||
str r0, [r5, #0x38]
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
add r1, r0, #0x0
|
||||
mov r0, #0x20
|
||||
bl Heap_Alloc
|
||||
str r0, [r5, #0x3c]
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
add r1, r0, #0x0
|
||||
mov r0, #0x20
|
||||
bl Heap_Alloc
|
||||
|
|
@ -1561,10 +1561,10 @@ _02038288:
|
|||
ldr r0, [r4, #0x3c]
|
||||
str r0, [r4, #0x50]
|
||||
ldr r0, [r4, #0x40]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
str r0, [r4, #0x48]
|
||||
ldr r0, [r4, #0x44]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
str r0, [r4, #0x4c]
|
||||
ldr r0, [r5, #0xc]
|
||||
bl Save_PlayerData_GetOptionsAddr
|
||||
|
|
@ -1687,7 +1687,7 @@ _02038386:
|
|||
bl Party_GetMonByIndex
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [r4, #0x44]
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r0, [r4, #0x60]
|
||||
bl sub_0206C92C
|
||||
mov r0, #0x1a
|
||||
|
|
|
|||
|
|
@ -663,7 +663,7 @@ _02047C40:
|
|||
add r1, r4, #0x0
|
||||
bl Party_GetMonByIndex
|
||||
add r1, r5, #0x0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0xa0
|
||||
mov r2, #0x0
|
||||
|
|
@ -858,7 +858,7 @@ _02047DEE:
|
|||
sub r1, r1, #0x1
|
||||
bl Party_GetMonByIndex
|
||||
ldr r1, [sp, #0x8]
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r1, [sp, #0x8]
|
||||
add r0, r5, #0x0
|
||||
mov r2, #0x0
|
||||
|
|
|
|||
|
|
@ -958,7 +958,7 @@ _020515BA:
|
|||
ldrb r1, [r1, #0x0]
|
||||
ldr r0, [r4, #0x50]
|
||||
bl Party_GetMonByIndex
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0x28]
|
||||
mov r1, #0x1
|
||||
|
|
@ -1467,7 +1467,7 @@ sub_020519F0: ; 0x020519F0
|
|||
bl SaveArray_Party_Get
|
||||
str r0, [sp, #0x0]
|
||||
ldr r4, [r7, #0x4c]
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
add r6, r0, #0x0
|
||||
lsl r0, r6, #0x1
|
||||
add r0, r6, r0
|
||||
|
|
@ -1549,7 +1549,7 @@ _02051A8C:
|
|||
sub_02051A90: ; 0x02051A90
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
lsl r1, r0, #0x1
|
||||
ldr r2, [r4, #0x48]
|
||||
add r0, r0, r1
|
||||
|
|
@ -1607,7 +1607,7 @@ _02051AEC:
|
|||
sub_02051AF0: ; 0x02051AF0
|
||||
push {r4-r6, lr}
|
||||
add r5, r0, #0x0
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
add r6, r0, #0x0
|
||||
ldr r0, [r5, #0x50]
|
||||
mov r1, #0x3
|
||||
|
|
@ -1630,7 +1630,7 @@ _02051B04:
|
|||
sub_02051B1C: ; 0x02051B1C
|
||||
push {r4-r6, lr}
|
||||
add r6, r0, #0x0
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
add r4, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
add r0, #0x84
|
||||
|
|
@ -1682,7 +1682,7 @@ sub_02051B68: ; 0x02051B68
|
|||
mov r3, #0x4
|
||||
bl NewMsgDataFromNarc
|
||||
str r0, [sp, #0x18]
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
str r0, [sp, #0x1c]
|
||||
mov r0, #0x9
|
||||
str r0, [sp, #0x0]
|
||||
|
|
@ -2037,7 +2037,7 @@ _02051E52:
|
|||
thumb_func_start sub_02051E54
|
||||
sub_02051E54: ; 0x02051E54
|
||||
push {r3, lr}
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
lsl r1, r0, #0x1
|
||||
add r0, r0, r1
|
||||
add r0, r0, #0x4
|
||||
|
|
|
|||
|
|
@ -639,7 +639,7 @@ _0206CBE4:
|
|||
ldrh r0, [r0, #0x0]
|
||||
bl sub_02005578
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x0
|
||||
|
|
@ -1046,13 +1046,13 @@ _0206CF7E:
|
|||
ldr r0, [r4, #0x28]
|
||||
bl Pokemon_CalcLevelAndStats
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x0
|
||||
bl BufferBoxMonNickname
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x1
|
||||
|
|
@ -1104,7 +1104,7 @@ _0206CFFA:
|
|||
mov r1, #0x16
|
||||
bl GameStats_AddSpecial
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [r4, #0x54]
|
||||
bl Save_Poketch_PokemonHistoryAddMon
|
||||
|
|
@ -1132,7 +1132,7 @@ _0206D06E:
|
|||
ldr r0, [r4, #0x28]
|
||||
add r1, #0x68
|
||||
add r2, sp, #0xc
|
||||
bl sub_02069818
|
||||
bl Pokemon_TryLevelUpMove
|
||||
cmp r0, #0x0
|
||||
beq _0206D08E
|
||||
ldr r1, _0206D1DC ; =0x0000FFFE
|
||||
|
|
@ -1164,7 +1164,7 @@ _0206D098:
|
|||
pop {r3-r4, pc}
|
||||
_0206D0AC:
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x0
|
||||
|
|
@ -1191,7 +1191,7 @@ _0206D0AC:
|
|||
pop {r3-r4, pc}
|
||||
_0206D0E8:
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x0
|
||||
|
|
@ -1222,7 +1222,7 @@ _0206D0E8:
|
|||
pop {r3-r4, pc}
|
||||
_0206D12C:
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x0
|
||||
|
|
@ -1561,7 +1561,7 @@ _0206D3EE:
|
|||
pop {r3-r4, pc}
|
||||
_0206D406:
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x0
|
||||
|
|
@ -1641,7 +1641,7 @@ _0206D480:
|
|||
pop {r3-r4, pc}
|
||||
_0206D4A6:
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x0
|
||||
|
|
@ -1697,7 +1697,7 @@ _0206D4F8:
|
|||
pop {r3-r4, pc}
|
||||
_0206D51E:
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x0
|
||||
|
|
@ -1744,7 +1744,7 @@ _0206D560:
|
|||
ldrh r1, [r1, #0x0]
|
||||
ldrb r2, [r2, #0x0]
|
||||
ldr r0, [r4, #0x28]
|
||||
bl MonSetMoveInSlot
|
||||
bl Pokemon_SetMoveInSlot
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x14
|
||||
add r0, #0x66
|
||||
|
|
@ -1962,7 +1962,7 @@ _0206D748:
|
|||
cmp r0, #0x0
|
||||
bne _0206D806
|
||||
ldr r0, [r4, #0x28]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
ldr r0, [r4, #0xc]
|
||||
mov r1, #0x0
|
||||
|
|
@ -2096,7 +2096,7 @@ _0206D86E:
|
|||
add r5, r0, #0x0
|
||||
ldr r0, [r4, #0x28]
|
||||
add r1, r5, #0x0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
mov r0, #0x49
|
||||
lsl r0, r0, #0x2
|
||||
str r0, [sp, #0x0]
|
||||
|
|
@ -2206,7 +2206,7 @@ _0206D8EA:
|
|||
mov r1, #0x16
|
||||
bl GameStats_AddSpecial
|
||||
add r0, r5, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [r4, #0x54]
|
||||
bl Save_Poketch_PokemonHistoryAddMon
|
||||
|
|
@ -2576,7 +2576,7 @@ sub_0206DC80: ; 0x0206DC80
|
|||
add r5, r0, #0x0
|
||||
ldr r0, [r4, #0x28]
|
||||
add r1, r5, #0x0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
add r2, r4, #0x0
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x5
|
||||
|
|
|
|||
|
|
@ -5044,7 +5044,7 @@ _02071B34:
|
|||
bl NewString_ReadMsgData
|
||||
add r5, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -5567,7 +5567,7 @@ _02071FA0:
|
|||
ldr r2, [r5, r2]
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -5600,7 +5600,7 @@ _02071FF2:
|
|||
ldr r2, [r5, r2]
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -5995,7 +5995,7 @@ sub_0207230C: ; 0x0207230C
|
|||
ldr r2, [r5, r2]
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r7, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
|
|||
|
|
@ -590,7 +590,7 @@ _0207297E:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -651,7 +651,7 @@ sub_02072A00: ; 0x02072A00
|
|||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
add r0, r7, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ sub_02073EEC: ; 0x02073EEC
|
|||
mov r1, #0x51
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -254,7 +254,7 @@ _02073F66:
|
|||
ldr r2, [r5, r2]
|
||||
bl ReadMsgDataIntoString
|
||||
add r0, r6, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
|
|||
|
|
@ -366,7 +366,7 @@ sub_020757F4: ; 0x020757F4
|
|||
ldr r0, [r0, #0x0]
|
||||
add r5, r2, #0x0
|
||||
bl Party_GetMonByIndex
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -1281,7 +1281,7 @@ _02075FCE:
|
|||
add r7, r0, #0x0
|
||||
_02075FDA:
|
||||
ldr r0, [sp, #0x8]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -1581,7 +1581,7 @@ _02076212:
|
|||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -1872,7 +1872,7 @@ sub_0207640C: ; 0x0207640C
|
|||
bl NewString_ReadMsgData
|
||||
add r7, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -2063,7 +2063,7 @@ _02076680:
|
|||
add r1, r2, #0x0
|
||||
add r1, #0x34
|
||||
add r2, #0x26
|
||||
bl sub_02069818
|
||||
bl Pokemon_TryLevelUpMove
|
||||
cmp r0, #0x0
|
||||
beq _020766B2
|
||||
ldr r1, _0207687C ; =0x0000FFFE
|
||||
|
|
@ -2083,7 +2083,7 @@ _020766B2:
|
|||
b _02076868
|
||||
_020766BA:
|
||||
add r0, r5, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -2130,7 +2130,7 @@ _020766BA:
|
|||
pop {r3-r5, pc}
|
||||
_02076724:
|
||||
add r0, r5, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -2309,7 +2309,7 @@ sub_02076890: ; 0x02076890
|
|||
ldr r0, [r0, #0x0]
|
||||
bl Party_GetMonByIndex
|
||||
add r5, r0, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -2593,7 +2593,7 @@ sub_02076AF8: ; 0x02076AF8
|
|||
bl sub_02076AA0
|
||||
add r5, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
@ -2777,7 +2777,7 @@ sub_02076C94: ; 0x02076C94
|
|||
ldr r0, [r0, #0x0]
|
||||
bl Party_GetMonByIndex
|
||||
add r5, r0, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x6a
|
||||
lsl r0, r0, #0x4
|
||||
|
|
|
|||
|
|
@ -1989,7 +1989,7 @@ _02077D88:
|
|||
mov r2, #0x5
|
||||
bl Pokemon_InitWithParams
|
||||
add r0, r5, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x5a
|
||||
lsl r0, r0, #0x2
|
||||
|
|
@ -2169,7 +2169,7 @@ _02077F1A:
|
|||
mov r2, #0x1
|
||||
bl Pokemon_InitWithParams
|
||||
add r0, r6, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x5a
|
||||
lsl r0, r0, #0x2
|
||||
|
|
|
|||
|
|
@ -1536,7 +1536,7 @@ _0207A896:
|
|||
add r4, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl CopyBoxPokemonToPokemon
|
||||
bl BoxPokemon_CopyToPokemon
|
||||
b _0207A8C0
|
||||
_0207A8BA:
|
||||
bl sub_0207B628
|
||||
|
|
@ -1825,7 +1825,7 @@ sub_0207AAE0: ; 0x0207AAE0
|
|||
add r4, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl CopyBoxPokemonToPokemon
|
||||
bl BoxPokemon_CopyToPokemon
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
add r2, r7, #0x0
|
||||
|
|
@ -1851,7 +1851,7 @@ sub_0207AB0C: ; 0x0207AB0C
|
|||
bl Pokemon_GetData
|
||||
strh r0, [r5, #0xc]
|
||||
add r0, r6, #0x0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
ldr r2, _0207AEAC ; =0x00000674
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [r7, r2]
|
||||
|
|
@ -3113,7 +3113,7 @@ _0207B522:
|
|||
mvn r0, r0
|
||||
pop {r3-r7, pc}
|
||||
_0207B528:
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
mov r1, #0x93
|
||||
lsl r1, r1, #0x2
|
||||
ldr r1, [r5, r1]
|
||||
|
|
@ -3217,7 +3217,7 @@ _0207B5E6:
|
|||
mvn r0, r0
|
||||
pop {r3-r7, pc}
|
||||
_0207B5EC:
|
||||
bl sub_020690C8
|
||||
bl BoxPokemon_Size
|
||||
mov r1, #0x93
|
||||
lsl r1, r1, #0x2
|
||||
ldr r1, [r5, r1]
|
||||
|
|
@ -3260,7 +3260,7 @@ sub_0207B628: ; 0x0207B628
|
|||
beq _0207B658
|
||||
b _0207B666
|
||||
_0207B640:
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
ldrb r1, [r4, #0x14]
|
||||
ldr r2, [r4, #0x0]
|
||||
mul r0, r1
|
||||
|
|
@ -3272,7 +3272,7 @@ _0207B64E:
|
|||
bl Party_GetMonByIndex
|
||||
pop {r4, pc}
|
||||
_0207B658:
|
||||
bl sub_020690C8
|
||||
bl BoxPokemon_Size
|
||||
ldrb r1, [r4, #0x14]
|
||||
ldr r2, [r4, #0x0]
|
||||
mul r0, r1
|
||||
|
|
@ -3706,7 +3706,7 @@ sub_0207B9C0: ; 0x0207B9C0
|
|||
lsl r2, r2, #0x18
|
||||
lsr r1, r1, #0x1c
|
||||
lsr r2, r2, #0x1c
|
||||
bl sub_020698E8
|
||||
bl BoxPokemon_SwapMoveSlots
|
||||
b _0207B9F4
|
||||
_0207B9E6:
|
||||
ldrb r2, [r4, r1]
|
||||
|
|
@ -3714,7 +3714,7 @@ _0207B9E6:
|
|||
lsl r2, r2, #0x18
|
||||
lsr r1, r1, #0x1c
|
||||
lsr r2, r2, #0x1c
|
||||
bl sub_020698E0
|
||||
bl Pokemon_SwapMoveSlots
|
||||
_0207B9F4:
|
||||
ldr r0, _0207BA70 ; =0x0000068D
|
||||
mov r1, #0xa1
|
||||
|
|
|
|||
|
|
@ -1540,7 +1540,7 @@ sub_0207E190: ; 0x0207E190
|
|||
add r4, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl CopyBoxPokemonToPokemon
|
||||
bl BoxPokemon_CopyToPokemon
|
||||
mov r0, #0x91
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r5, r0]
|
||||
|
|
|
|||
|
|
@ -930,7 +930,7 @@ _02081304:
|
|||
bl Chatot_Copy
|
||||
ldr r0, [r6, #0x8]
|
||||
ldr r1, [r4, #0x0]
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
mov r0, #0x8
|
||||
mov r1, #0x14
|
||||
bl String_New
|
||||
|
|
@ -2685,7 +2685,7 @@ sub_0208206C: ; 0x0208206C
|
|||
bl sub_020832E4
|
||||
lsl r0, r0, #0x2
|
||||
ldr r0, [r5, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r1, r6, #0x0
|
||||
|
|
|
|||
|
|
@ -586,7 +586,7 @@ sub_020867EC: ; 0x020867EC
|
|||
bl String_New
|
||||
add r4, r0, #0x0
|
||||
ldr r0, [sp, #0x10]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
|
|
|
|||
|
|
@ -4780,29 +4780,29 @@
|
|||
.extern sub_02069010
|
||||
.extern sub_02069038
|
||||
.extern sub_020690AC
|
||||
.extern sub_020690C4
|
||||
.extern sub_020690C8
|
||||
.extern GetMonUnownLetter
|
||||
.extern GetBoxMonUnownLetter
|
||||
.extern sub_020690E4
|
||||
.extern sub_020690E8
|
||||
.extern Pokemon_Size
|
||||
.extern BoxPokemon_Size
|
||||
.extern Pokemon_GetForm
|
||||
.extern BoxPokemon_GetForm
|
||||
.extern Pokemon_GetBoxMon
|
||||
.extern Pokemon_TryLevelUp
|
||||
.extern GetMonEvolution
|
||||
.extern ReadFromPersonalPmsNarc
|
||||
.extern GetEggSpecies
|
||||
.extern sub_02069698
|
||||
.extern sub_02069708
|
||||
.extern MonSetMoveInSlot
|
||||
.extern sub_02069818
|
||||
.extern sub_020698E0
|
||||
.extern sub_020698E8
|
||||
.extern sub_020699A4
|
||||
.extern CopyBoxPokemonToPokemon
|
||||
.extern Pokemon_TryAppendMove
|
||||
.extern Pokemon_ForceAppendMove
|
||||
.extern Pokemon_SetMoveInSlot
|
||||
.extern Pokemon_TryLevelUpMove
|
||||
.extern Pokemon_SwapMoveSlots
|
||||
.extern BoxPokemon_SwapMoveSlots
|
||||
.extern Pokemon_ClearMoveSlot
|
||||
.extern BoxPokemon_CopyToPokemon
|
||||
.extern Party_GetMaxLevel
|
||||
.extern SpeciesToSinnohDexNo
|
||||
.extern SinnohDexNoToSpecies
|
||||
.extern CopyPokemonToPokemon
|
||||
.extern CopyPokemonToBoxPokemon
|
||||
.extern CopyBoxPokemonToBoxPokemon
|
||||
.extern Pokemon_Copy
|
||||
.extern Pokemon_CopyToBoxPokemon
|
||||
.extern BoxPokemon_Copy
|
||||
.extern MonGetFlavorPreference
|
||||
.extern GetFlavorPreferenceFromPID
|
||||
.extern Species_LoadLearnsetTable
|
||||
|
|
@ -4815,12 +4815,12 @@
|
|||
.extern Pokemon_UpdateArceusForm
|
||||
.extern BoxMon_UpdateArceusForm
|
||||
.extern GetArceusTypeByHeldItemEffect
|
||||
.extern LoadLevelUpLearnset_HandleAlternateForm
|
||||
.extern Species_LoadLevelUpLearnset
|
||||
.extern sub_02069FB0
|
||||
.extern sub_0206A014
|
||||
.extern sub_0206A094
|
||||
.extern sub_0206A13C
|
||||
.extern sub_0206A16C
|
||||
.extern Species_CanLearnTMHM
|
||||
.extern sub_0206A1C4
|
||||
.extern sub_0206A23C
|
||||
.extern MaskOfFlagNo
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ ov05_021EC4F0: ; 0x021EC4F0
|
|||
add r2, sp, #0xc
|
||||
bl Pokemon_GetData
|
||||
add r0, r4, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
bl ov05_021EC4DC
|
||||
cmp r0, #0
|
||||
beq _021EC544
|
||||
|
|
@ -121,7 +121,7 @@ ov05_021EC4F0: ; 0x021EC4F0
|
|||
_021EC544:
|
||||
ldr r1, [sp, #4]
|
||||
add r0, r4, #0
|
||||
bl CopyBoxPokemonToBoxPokemon
|
||||
bl BoxPokemon_Copy
|
||||
add r0, r5, #0
|
||||
mov r1, #0
|
||||
bl DaycareMon_SetSteps
|
||||
|
|
@ -217,7 +217,7 @@ ov05_021EC604: ; 0x021EC604
|
|||
add r7, sp, #4
|
||||
_021EC616:
|
||||
add r0, r5, #0
|
||||
bl sub_020690E8
|
||||
bl Pokemon_TryLevelUp
|
||||
cmp r0, #0
|
||||
beq _021EC658
|
||||
mov r0, #0
|
||||
|
|
@ -225,7 +225,7 @@ _021EC616:
|
|||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
add r2, r6, #0
|
||||
bl sub_02069818
|
||||
bl Pokemon_TryLevelUpMove
|
||||
cmp r0, #0
|
||||
beq _021EC64E
|
||||
_021EC632:
|
||||
|
|
@ -234,12 +234,12 @@ _021EC632:
|
|||
bne _021EC640
|
||||
ldrh r1, [r7]
|
||||
add r0, r5, #0
|
||||
bl sub_02069708
|
||||
bl Pokemon_ForceAppendMove
|
||||
_021EC640:
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
add r2, r6, #0
|
||||
bl sub_02069818
|
||||
bl Pokemon_TryLevelUpMove
|
||||
cmp r0, #0
|
||||
bne _021EC632
|
||||
_021EC64E:
|
||||
|
|
@ -284,7 +284,7 @@ ov05_021EC668: ; 0x021EC668
|
|||
lsr r7, r0, #0x10
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl CopyBoxPokemonToPokemon
|
||||
bl BoxPokemon_CopyToPokemon
|
||||
add r0, r4, #0
|
||||
mov r1, #0xa0
|
||||
mov r2, #0
|
||||
|
|
@ -361,11 +361,11 @@ ov05_021EC744: ; 0x021EC744
|
|||
add r5, r1, #0
|
||||
bl Pokemon_New
|
||||
add r7, r0, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r4, r0, #0
|
||||
add r0, r6, #0
|
||||
add r1, r4, #0
|
||||
bl CopyPokemonToBoxPokemon
|
||||
bl Pokemon_CopyToBoxPokemon
|
||||
add r0, r4, #0
|
||||
mov r1, #8
|
||||
mov r2, #0
|
||||
|
|
@ -979,7 +979,7 @@ _021ECC10:
|
|||
lsl r1, r1, #0x10
|
||||
add r0, r7, #0
|
||||
lsr r1, r1, #0x10
|
||||
bl sub_02069698
|
||||
bl Pokemon_TryAppendMove
|
||||
ldr r1, _021ECD60 ; =0x0000FFFF
|
||||
cmp r0, r1
|
||||
bne _021ECC46
|
||||
|
|
@ -988,7 +988,7 @@ _021ECC10:
|
|||
ldr r1, [r4, r1]
|
||||
lsl r1, r1, #0x10
|
||||
lsr r1, r1, #0x10
|
||||
bl sub_02069708
|
||||
bl Pokemon_ForceAppendMove
|
||||
b _021ECC46
|
||||
_021ECC3C:
|
||||
add r0, r0, #1
|
||||
|
|
@ -1026,14 +1026,14 @@ _021ECC60:
|
|||
ldr r0, [sp, #0x18]
|
||||
ldr r1, [sp, #0xc]
|
||||
lsr r2, r2, #0x18
|
||||
bl sub_0206A16C
|
||||
bl Species_CanLearnTMHM
|
||||
cmp r0, #0
|
||||
beq _021ECCA2
|
||||
ldr r1, [r4, r6]
|
||||
add r0, r7, #0
|
||||
lsl r1, r1, #0x10
|
||||
lsr r1, r1, #0x10
|
||||
bl sub_02069698
|
||||
bl Pokemon_TryAppendMove
|
||||
ldr r1, _021ECD60 ; =0x0000FFFF
|
||||
cmp r0, r1
|
||||
bne _021ECCA2
|
||||
|
|
@ -1041,7 +1041,7 @@ _021ECC60:
|
|||
add r0, r7, #0
|
||||
lsl r1, r1, #0x10
|
||||
lsr r1, r1, #0x10
|
||||
bl sub_02069708
|
||||
bl Pokemon_ForceAppendMove
|
||||
_021ECCA2:
|
||||
add r0, r5, #1
|
||||
lsl r0, r0, #0x10
|
||||
|
|
@ -1116,7 +1116,7 @@ _021ECD10:
|
|||
lsl r1, r3, #0x10
|
||||
add r0, r7, #0
|
||||
lsr r1, r1, #0x10
|
||||
bl sub_02069698
|
||||
bl Pokemon_TryAppendMove
|
||||
ldr r1, _021ECD60 ; =0x0000FFFF
|
||||
cmp r0, r1
|
||||
bne _021ECD4A
|
||||
|
|
@ -1124,7 +1124,7 @@ _021ECD10:
|
|||
add r0, r7, #0
|
||||
lsl r1, r1, #0x10
|
||||
lsr r1, r1, #0x10
|
||||
bl sub_02069708
|
||||
bl Pokemon_ForceAppendMove
|
||||
b _021ECD4A
|
||||
_021ECD3E:
|
||||
add r0, r2, #1
|
||||
|
|
@ -1247,14 +1247,14 @@ _021ECE20:
|
|||
mov r1, #0x56
|
||||
add r0, r4, #0
|
||||
lsl r1, r1, #2
|
||||
bl sub_02069698
|
||||
bl Pokemon_TryAppendMove
|
||||
ldr r1, _021ECE40 ; =0x0000FFFF
|
||||
cmp r0, r1
|
||||
bne _021ECE3A
|
||||
mov r1, #0x56
|
||||
add r0, r4, #0
|
||||
lsl r1, r1, #2
|
||||
bl sub_02069708
|
||||
bl Pokemon_ForceAppendMove
|
||||
_021ECE3A:
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
|
|
@ -2199,7 +2199,7 @@ ov05_021ED5C4: ; 0x021ED5C4
|
|||
add r5, r2, #0
|
||||
bl Party_GetMonByIndex
|
||||
add r4, r0, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
mov r1, #0
|
||||
|
|
@ -2596,7 +2596,7 @@ _021ED7CE:
|
|||
bl Pokemon_SetData
|
||||
add r0, r6, #0
|
||||
add r1, r4, #0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r0, [sp, #0x10]
|
||||
bl String_Delete
|
||||
add r0, r6, #0
|
||||
|
|
|
|||
|
|
@ -22218,7 +22218,7 @@ _022445A6:
|
|||
ldr r0, [sp, #4]
|
||||
bl Party_GetMonByIndex
|
||||
add r1, r4, #0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
add r0, r4, #0
|
||||
mov r1, #0xa0
|
||||
mov r2, #0
|
||||
|
|
@ -31096,15 +31096,15 @@ ov06_0224891C: ; 0x0224891C
|
|||
bl CreateInGameTradeMon
|
||||
ldr r1, [sp, #0x20]
|
||||
add r0, r7, #0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r0, [r5, #4]
|
||||
ldr r1, [sp, #0x24]
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r0, [sp, #0x20]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
str r0, [r4]
|
||||
ldr r0, [sp, #0x24]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
str r0, [r4, #4]
|
||||
ldr r0, [r5, #8]
|
||||
str r0, [r4, #8]
|
||||
|
|
|
|||
|
|
@ -4503,7 +4503,7 @@ _022142BE:
|
|||
bl NewString_ReadMsgData
|
||||
str r0, [sp, #0x20]
|
||||
ldr r0, [sp, #0x18]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [sp, #0x14]
|
||||
mov r1, #0
|
||||
|
|
|
|||
|
|
@ -3495,7 +3495,7 @@ _02213A30:
|
|||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0
|
||||
ldr r0, [r4]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _02213B74 ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -3530,7 +3530,7 @@ _02213A82:
|
|||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0
|
||||
ldr r0, [r4]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _02213B74 ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -3579,7 +3579,7 @@ _02213AD4:
|
|||
mul r0, r4
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, #4]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _02213B74 ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -3611,7 +3611,7 @@ _02213B24:
|
|||
bl NewString_ReadMsgData
|
||||
add r7, r0, #0
|
||||
ldr r0, [r4, r6]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _02213B74 ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -4083,7 +4083,7 @@ ov09_02213E84: ; 0x02213E84
|
|||
str r0, [sp, #0x18]
|
||||
ldr r0, [sp, #0x24]
|
||||
ldr r0, [r7, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _02214020 ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -6967,7 +6967,7 @@ ov09_02215784: ; 0x02215784
|
|||
bl NewString_ReadMsgData
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5, r7]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022158DC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8428,7 +8428,7 @@ _02216444:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022166CC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8453,7 +8453,7 @@ _0221648E:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022166CC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8512,7 +8512,7 @@ _02216512:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022166CC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8535,7 +8535,7 @@ _0221654A:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022166CC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8558,7 +8558,7 @@ _02216580:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022166CC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8581,7 +8581,7 @@ _022165B6:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022166CC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8604,7 +8604,7 @@ _022165EC:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022166CC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8627,7 +8627,7 @@ _02216622:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022166CC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8650,7 +8650,7 @@ _02216658:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022166CC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8671,7 +8671,7 @@ _0221668E:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _022166CC ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -8713,7 +8713,7 @@ ov09_022166D0: ; 0x022166D0
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r6, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, _0221672C ; =0x00001FAC
|
||||
mov r1, #0
|
||||
|
|
@ -13347,7 +13347,7 @@ _02218C68:
|
|||
bl NewString_ReadMsgData
|
||||
add r4, r0, #0
|
||||
add r0, r6, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5, #0x14]
|
||||
mov r1, #0
|
||||
|
|
|
|||
|
|
@ -2227,7 +2227,7 @@ ov11_02230F88: ; 0x02230F88
|
|||
cmp r0, #0
|
||||
beq _02230FA4
|
||||
add r0, r1, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r4, #0x98
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4]
|
||||
|
|
|
|||
|
|
@ -17356,7 +17356,7 @@ _0223AACA:
|
|||
pop {r4, r5, r6, r7, pc}
|
||||
_0223AADE:
|
||||
add r0, r6, #0
|
||||
bl sub_020690E8
|
||||
bl Pokemon_TryLevelUp
|
||||
cmp r0, #0
|
||||
beq _0223AB0E
|
||||
ldr r1, [r4, #4]
|
||||
|
|
@ -17825,7 +17825,7 @@ _0223AEC0:
|
|||
add r0, r6, #0
|
||||
add r1, #0x38
|
||||
add r2, sp, #0x44
|
||||
bl sub_02069818
|
||||
bl Pokemon_TryLevelUpMove
|
||||
cmp r0, #0
|
||||
beq _0223AEE6
|
||||
ldr r1, _0223AF74 ; =0x0000FFFE
|
||||
|
|
@ -18244,7 +18244,7 @@ _0223B1F6:
|
|||
add r0, r6, #0
|
||||
lsr r1, r1, #0x10
|
||||
lsr r2, r2, #0x18
|
||||
bl MonSetMoveInSlot
|
||||
bl Pokemon_SetMoveInSlot
|
||||
ldr r1, [r4, #4]
|
||||
ldr r0, _0223B2D8 ; =0x0000219C
|
||||
add r2, r1, r7
|
||||
|
|
@ -19554,7 +19554,7 @@ _0223BD3E:
|
|||
cmp r5, #4
|
||||
blt _0223BD3E
|
||||
add r0, r6, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r1, [sp, #0x14]
|
||||
|
|
@ -21803,7 +21803,7 @@ _0223CF52:
|
|||
add r6, r0, #0
|
||||
_0223CF5C:
|
||||
ldr r0, [sp, #0x18]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [sp, #0x24]
|
||||
mov r1, #0
|
||||
|
|
|
|||
|
|
@ -9471,7 +9471,7 @@ _022521DC:
|
|||
bl Party_GetMonByIndex
|
||||
add r1, r0, #0
|
||||
ldr r0, [sp, #0x1c]
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r0, [r4, #4]
|
||||
ldrb r1, [r5, #0x1c]
|
||||
add r0, r0, r6
|
||||
|
|
@ -9511,7 +9511,7 @@ _02252232:
|
|||
bl Party_GetMonByIndex
|
||||
add r1, r0, #0
|
||||
ldr r0, [sp, #0x20]
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r0, [r4, #4]
|
||||
ldrb r1, [r5, #0x1c]
|
||||
add r0, r0, r7
|
||||
|
|
|
|||
|
|
@ -1199,7 +1199,7 @@ ov11_022574F0: ; 0x022574F0
|
|||
ldrb r2, [r2]
|
||||
ldr r0, [r5, #0xc]
|
||||
bl ov11_02230014
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
|
|
|
|||
|
|
@ -2980,7 +2980,7 @@ _02259D2A:
|
|||
add r1, r6, #0
|
||||
bl ov11_02230014
|
||||
str r0, [sp, #0x20]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [sp, #0x1c]
|
||||
mov r1, #0
|
||||
|
|
|
|||
|
|
@ -14730,7 +14730,7 @@ _02234AC4:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14742,7 +14742,7 @@ _02234AE2:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14754,7 +14754,7 @@ _02234AFC:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14795,7 +14795,7 @@ _02234B50:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14804,7 +14804,7 @@ _02234B50:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -14816,7 +14816,7 @@ _02234B80:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14832,7 +14832,7 @@ _02234BA4:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14852,7 +14852,7 @@ _02234BD0:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14873,7 +14873,7 @@ _02234BFE:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14882,7 +14882,7 @@ _02234BFE:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -14894,7 +14894,7 @@ _02234C2E:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14910,7 +14910,7 @@ _02234C52:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14930,7 +14930,7 @@ _02234C7E:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -14939,7 +14939,7 @@ _02234C7E:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -14955,7 +14955,7 @@ _02234CAE:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -14971,7 +14971,7 @@ _02234CD2:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -15002,7 +15002,7 @@ _02234D16:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -15021,7 +15021,7 @@ _02234D3A:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -15040,7 +15040,7 @@ _02234D64:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -15073,7 +15073,7 @@ _02234DAC:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -15094,7 +15094,7 @@ _02234DD6:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -15115,7 +15115,7 @@ _02234E04:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #1
|
||||
|
|
@ -15163,7 +15163,7 @@ _02234E7E:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
mov r1, #0
|
||||
|
|
@ -15202,7 +15202,7 @@ _02234ECC:
|
|||
ldr r1, [r4, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x54]
|
||||
add r1, r5, #1
|
||||
|
|
@ -25469,7 +25469,7 @@ _02239A82:
|
|||
ldr r1, [r5, #0xc]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5, #0x48]
|
||||
mov r1, #1
|
||||
|
|
@ -34574,7 +34574,7 @@ _0223E09E:
|
|||
ldr r1, [r4, #0x14]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r4, #0x9c
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4]
|
||||
|
|
@ -34634,7 +34634,7 @@ _0223E0F4:
|
|||
ldr r1, [r4, #0x14]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r4, #0x9c
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4]
|
||||
|
|
@ -34647,7 +34647,7 @@ _0223E138:
|
|||
ldr r1, [r4, #0x14]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
add r0, #0x9c
|
||||
|
|
@ -34713,7 +34713,7 @@ _0223E16A:
|
|||
ldr r1, [r4, #0x14]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r4, #0x9c
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4]
|
||||
|
|
@ -43460,7 +43460,7 @@ _02242552:
|
|||
ldr r1, [r4, #0x10]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r4, #0xc8
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4]
|
||||
|
|
@ -43500,7 +43500,7 @@ _02242596:
|
|||
ldr r1, [r4, #0x10]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r1, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r4, #0xc8
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4]
|
||||
|
|
|
|||
|
|
@ -7790,7 +7790,7 @@ _021DB464:
|
|||
ov14_021DB470: ; 0x021DB470
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_020690C8
|
||||
bl BoxPokemon_Size
|
||||
add r2, r0, #0
|
||||
mov r1, #0x1e
|
||||
mov r0, #9
|
||||
|
|
@ -8635,7 +8635,7 @@ ov14_021DBA5C: ; 0x021DBA5C
|
|||
bl ov14_021DC3CC
|
||||
cmp r0, #0
|
||||
bne _021DBA98
|
||||
bl sub_020690C8
|
||||
bl BoxPokemon_Size
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5]
|
||||
ldr r1, [r4]
|
||||
|
|
@ -8651,7 +8651,7 @@ ov14_021DBA5C: ; 0x021DBA5C
|
|||
mov r0, #0
|
||||
b _021DBAB6
|
||||
_021DBA98:
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5]
|
||||
ldr r1, [r4]
|
||||
|
|
@ -8698,7 +8698,7 @@ ov14_021DBAE0: ; 0x021DBAE0
|
|||
str r1, [sp, #4]
|
||||
bl ov14_021DC3E0
|
||||
str r0, [sp, #0x14]
|
||||
bl sub_020690C8
|
||||
bl BoxPokemon_Size
|
||||
str r0, [sp, #0x10]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
|
|
@ -8885,7 +8885,7 @@ _021DBC56:
|
|||
lsl r1, r1, #4
|
||||
ldr r0, [r4]
|
||||
ldr r1, [r5, r1]
|
||||
bl CopyBoxPokemonToPokemon
|
||||
bl BoxPokemon_CopyToPokemon
|
||||
mov r1, #0x49
|
||||
lsl r1, r1, #2
|
||||
ldr r0, [r5, r1]
|
||||
|
|
@ -8928,7 +8928,7 @@ ov14_021DBCA0: ; 0x021DBCA0
|
|||
str r0, [sp, #8]
|
||||
ldrb r0, [r6, #9]
|
||||
str r0, [sp, #0xc]
|
||||
bl sub_020690C8
|
||||
bl BoxPokemon_Size
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [sp]
|
||||
mov r5, #0
|
||||
|
|
@ -8996,7 +8996,7 @@ ov14_021DBD34: ; 0x021DBD34
|
|||
str r1, [sp]
|
||||
add r5, r0, #0
|
||||
add r4, #0x14
|
||||
bl sub_020690C4
|
||||
bl Pokemon_Size
|
||||
add r6, r0, #0
|
||||
ldr r0, [sp]
|
||||
add r2, r6, #0
|
||||
|
|
@ -9038,7 +9038,7 @@ _021DBD8E:
|
|||
lsl r1, r1, #4
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r7, r6
|
||||
bl CopyBoxPokemonToPokemon
|
||||
bl BoxPokemon_CopyToPokemon
|
||||
b _021DBDB0
|
||||
_021DBDA2:
|
||||
mov r1, #0x1a
|
||||
|
|
@ -9367,7 +9367,7 @@ _021DC034:
|
|||
lsl r1, r1, #4
|
||||
ldr r0, [sp]
|
||||
ldr r1, [r5, r1]
|
||||
bl CopyBoxPokemonToPokemon
|
||||
bl BoxPokemon_CopyToPokemon
|
||||
mov r0, #0x1a
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r5, r0]
|
||||
|
|
|
|||
|
|
@ -14507,7 +14507,7 @@ ov17_021DE0F4: ; 0x021DE0F4
|
|||
add r1, r6, #0
|
||||
bl sub_02027B78
|
||||
add r0, r6, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r7, #0
|
||||
mov r1, #4
|
||||
|
|
|
|||
|
|
@ -4466,7 +4466,7 @@ ov62_0222F80C: ; 0x0222F80C
|
|||
add r1, #0x64
|
||||
ldr r0, [r0, #4]
|
||||
ldr r1, [r5, r1]
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0222F832:
|
||||
ldr r1, [r5]
|
||||
|
|
@ -4487,7 +4487,7 @@ _0222F83E:
|
|||
ldr r1, _0222F86C ; =0x00000428
|
||||
add r0, r7, #0
|
||||
ldr r1, [r5, r1]
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0222F85C:
|
||||
ldr r1, [r5]
|
||||
|
|
|
|||
|
|
@ -3309,7 +3309,7 @@ ov67_021D8F00: ; 0x021D8F00
|
|||
mov r3, #0x20
|
||||
bl Pokemon_InitWithGenderNatureLetter
|
||||
add r0, r6, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5, #0x54]
|
||||
ldr r1, [sp, #0xc]
|
||||
|
|
|
|||
|
|
@ -2354,7 +2354,7 @@ HOF_MonGetUIStrings: ; 0x0222E8FC
|
|||
sub sp, #8
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x24]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
mov r1, #0
|
||||
|
|
@ -2499,7 +2499,7 @@ _0222E9FC:
|
|||
pop {r3, r4, r5, pc}
|
||||
_0222EA2E:
|
||||
ldr r0, [r4, #0x24]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
mov r1, #0
|
||||
|
|
|
|||
|
|
@ -651,7 +651,7 @@ _0222DB70:
|
|||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl Party_GetMonByIndex
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r7, #0
|
||||
add r1, r4, r6
|
||||
|
|
@ -4876,7 +4876,7 @@ ov71_0222FDD8: ; 0x0222FDD8
|
|||
ldr r0, [r4, r0]
|
||||
ldr r1, [r1]
|
||||
bl Party_GetMonByIndex
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
mov r0, #0x5f
|
||||
lsl r0, r0, #2
|
||||
|
|
@ -5695,7 +5695,7 @@ ov71_022304AC: ; 0x022304AC
|
|||
ldr r0, [r4, r0]
|
||||
ldr r1, [r1]
|
||||
bl Party_GetMonByIndex
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
mov r0, #0x5f
|
||||
lsl r0, r0, #2
|
||||
|
|
@ -5709,7 +5709,7 @@ ov71_022304AC: ; 0x022304AC
|
|||
ldr r0, [r4, r0]
|
||||
sub r1, r1, #6
|
||||
bl Party_GetMonByIndex
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
mov r0, #0x5f
|
||||
lsl r0, r0, #2
|
||||
|
|
@ -6122,7 +6122,7 @@ ov71_02230810: ; 0x02230810
|
|||
ldr r0, [r4, r0]
|
||||
sub r1, r1, #6
|
||||
bl Party_GetMonByIndex
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
mov r0, #0x5f
|
||||
lsl r0, r0, #2
|
||||
|
|
@ -6329,12 +6329,12 @@ ov71_022309E8: ; 0x022309E8
|
|||
add r1, r6, #0
|
||||
bl Party_GetMonByIndex
|
||||
add r1, r7, #0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r0, [sp, #8]
|
||||
ldr r1, [sp, #0xc]
|
||||
bl Party_GetMonByIndex
|
||||
add r1, r4, #0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
add r0, r4, #0
|
||||
mov r1, #0x4c
|
||||
mov r2, #0
|
||||
|
|
@ -6362,10 +6362,10 @@ _02230A40:
|
|||
bl Pokemon_RemoveCapsule
|
||||
ldr r1, [r5, #0x3c]
|
||||
add r0, r7, #0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r1, [r5, #0x40]
|
||||
add r0, r4, #0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
bl sub_02031190
|
||||
mov r1, #1
|
||||
eor r0, r1
|
||||
|
|
@ -6390,13 +6390,13 @@ _02230A98:
|
|||
bl Party_GetMonByIndex
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r0, [sp, #8]
|
||||
ldr r1, [sp, #0xc]
|
||||
bl Party_GetMonByIndex
|
||||
add r1, r0, #0
|
||||
add r0, r7, #0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
ldr r0, [r5, #0x1c]
|
||||
add r1, r4, #0
|
||||
bl ov71_02230AE4
|
||||
|
|
|
|||
|
|
@ -1830,7 +1830,7 @@ _021D836C: ; jump table
|
|||
_021D8382:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
add r0, #0xfc
|
||||
|
|
@ -1850,7 +1850,7 @@ _021D839A:
|
|||
_021D83AE:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
add r0, #0xfc
|
||||
|
|
@ -1861,7 +1861,7 @@ _021D83AE:
|
|||
_021D83C6:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
add r0, #0xfc
|
||||
|
|
@ -1880,7 +1880,7 @@ _021D83C6:
|
|||
_021D83F2:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
add r0, #0xfc
|
||||
|
|
@ -1899,7 +1899,7 @@ _021D83F2:
|
|||
_021D841E:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
add r0, #0xfc
|
||||
|
|
@ -1918,7 +1918,7 @@ _021D841E:
|
|||
_021D844A:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
add r0, #0xfc
|
||||
|
|
@ -1946,7 +1946,7 @@ _021D8476:
|
|||
_021D848A:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
add r0, #0xfc
|
||||
|
|
|
|||
|
|
@ -3839,7 +3839,7 @@ ov80_0222F394: ; 0x0222F394
|
|||
bl ov80_0222F690
|
||||
add r0, r4, #0
|
||||
add r0, #0xd4
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
str r0, [sp]
|
||||
mov r0, #7
|
||||
lsl r0, r0, #6
|
||||
|
|
@ -4783,7 +4783,7 @@ ov80_0222FB3C: ; 0x0222FB3C
|
|||
ldr r0, [sp, #0x24]
|
||||
add r6, r1, #0
|
||||
add r4, r2, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
mov r0, #0xb3
|
||||
lsl r0, r0, #4
|
||||
|
|
@ -5167,7 +5167,7 @@ ov80_0222FE60: ; 0x0222FE60
|
|||
add r0, #0xd4
|
||||
add r0, r4, r0
|
||||
add r0, r0, r5
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
str r0, [sp]
|
||||
mov r0, #0xb9
|
||||
lsl r0, r0, #2
|
||||
|
|
@ -11042,7 +11042,7 @@ _02232E4A:
|
|||
ldr r0, [r0, #8]
|
||||
bl Party_GetMonByIndex
|
||||
str r0, [sp, #0x24]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
ldr r1, _02232F84 ; =0x00001004
|
||||
lsl r6, r4, #2
|
||||
ldr r1, [r5, r1]
|
||||
|
|
@ -11231,7 +11231,7 @@ _02232FDC:
|
|||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl Party_GetMonByIndex
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02232FEA:
|
||||
add r0, r7, #0
|
||||
|
|
@ -11455,7 +11455,7 @@ ov80_0223311C: ; 0x0223311C
|
|||
sub r0, #0xd4
|
||||
mul r0, r1
|
||||
add r0, r2, r0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
mov r1, #5
|
||||
mov r2, #0
|
||||
add r5, r0, #0
|
||||
|
|
@ -13583,7 +13583,7 @@ _022342B0:
|
|||
add r0, #0xbc
|
||||
ldr r0, [r0]
|
||||
add r1, r5, #0
|
||||
bl CopyBoxPokemonToPokemon
|
||||
bl BoxPokemon_CopyToPokemon
|
||||
_022342BC:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0, #0x1c]
|
||||
|
|
@ -15250,7 +15250,7 @@ _02234F38:
|
|||
ldr r0, [r0]
|
||||
bl sub_0202ABEC
|
||||
add r0, r5, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
mov r0, #0xb3
|
||||
lsl r0, r0, #4
|
||||
|
|
@ -15296,7 +15296,7 @@ _02234FA4:
|
|||
ldr r0, [r0]
|
||||
bl sub_0202ABEC
|
||||
add r0, r5, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
mov r0, #0xb3
|
||||
lsl r0, r0, #4
|
||||
|
|
@ -16076,7 +16076,7 @@ ov80_02235534: ; 0x02235534
|
|||
ldr r0, [r0, #0xc]
|
||||
bl PCStorage_GetMonByIndexPair
|
||||
add r1, r4, #0
|
||||
bl CopyBoxPokemonToPokemon
|
||||
bl BoxPokemon_CopyToPokemon
|
||||
add r2, r5, #0
|
||||
ldr r0, [r5]
|
||||
add r2, #0xb8
|
||||
|
|
@ -16205,7 +16205,7 @@ _02235664:
|
|||
add r2, sp, #4
|
||||
bl PCStorage_FindFirstEmptySlot
|
||||
add r0, r4, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5]
|
||||
ldr r1, [sp, #0x20]
|
||||
|
|
@ -16284,7 +16284,7 @@ _02235706:
|
|||
add r2, sp, #4
|
||||
bl PCStorage_FindFirstEmptySlot
|
||||
add r0, r4, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5]
|
||||
ldr r1, [sp, #0x20]
|
||||
|
|
@ -17224,7 +17224,7 @@ _02235E2C: ; jump table
|
|||
_02235E42:
|
||||
add r0, r4, #0
|
||||
add r0, #0xd4
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r1, r4, #0
|
||||
add r1, #0x90
|
||||
str r0, [r1]
|
||||
|
|
@ -17258,7 +17258,7 @@ _02235E42:
|
|||
_02235E88:
|
||||
add r0, r4, #0
|
||||
add r0, #0xd4
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r1, r4, #0
|
||||
add r1, #0x94
|
||||
str r0, [r1]
|
||||
|
|
@ -17292,7 +17292,7 @@ _02235E88:
|
|||
_02235ECE:
|
||||
add r0, r4, #0
|
||||
add r0, #0xd4
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r1, r4, #0
|
||||
add r1, #0x94
|
||||
str r0, [r1]
|
||||
|
|
@ -17305,7 +17305,7 @@ _02235ECE:
|
|||
mov r0, #1
|
||||
lsl r0, r0, #0xc
|
||||
ldr r0, [r4, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r1, r4, #0
|
||||
add r1, #0x90
|
||||
str r0, [r1]
|
||||
|
|
@ -17338,7 +17338,7 @@ _02235F26:
|
|||
mov r0, #1
|
||||
lsl r0, r0, #0xc
|
||||
ldr r0, [r4, r0]
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r1, r4, #0
|
||||
add r1, #0x90
|
||||
str r0, [r1]
|
||||
|
|
@ -17351,7 +17351,7 @@ _02235F26:
|
|||
sub r1, #0xd4
|
||||
mul r1, r0
|
||||
add r0, r2, r1
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r1, r4, #0
|
||||
add r1, #0x94
|
||||
str r0, [r1]
|
||||
|
|
@ -17720,7 +17720,7 @@ ov80_02236218: ; 0x02236218
|
|||
bl Party_GetMonByIndex
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl CopyPokemonToPokemon
|
||||
bl Pokemon_Copy
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
_02236248:
|
||||
|
|
@ -17742,7 +17742,7 @@ _02236248:
|
|||
add r2, sp, #0
|
||||
bl PCStorage_FindFirstEmptySlot
|
||||
add r0, r4, #0
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r2, r0, #0
|
||||
ldr r0, [r5]
|
||||
ldr r1, [sp, #4]
|
||||
|
|
|
|||
|
|
@ -15370,7 +15370,7 @@ ov83_02234E6C: ; 0x02234E6C
|
|||
bl sub_02022528
|
||||
str r0, [sp]
|
||||
add r0, sp, #8
|
||||
bl sub_020690E4
|
||||
bl Pokemon_GetBoxMon
|
||||
add r6, r0, #0
|
||||
mov r4, #0
|
||||
add r5, r7, #0
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ u16 *MoveRelearner_GetEligibleLevelUpMoves(Pokemon *mon, enum HeapID heapID) {
|
|||
u16 *tableFromFile = Heap_Alloc(heapID, LEVEL_UP_LEARNSET_MAX * 2);
|
||||
u16 *returnTable = Heap_Alloc(heapID, LEVEL_UP_LEARNSET_MAX * 2);
|
||||
|
||||
LoadLevelUpLearnset_HandleAlternateForm(species, form, tableFromFile);
|
||||
Species_LoadLevelUpLearnset(species, form, tableFromFile);
|
||||
|
||||
for (u8 i = 0, j, k = 0; i < LEVEL_UP_LEARNSET_MAX; i++) {
|
||||
if (tableFromFile[i] == LEVEL_UP_LEARNSET_END) {
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ static inline void SetSeenUnownLetter(struct Pokedex *pokedex, u32 species, s32
|
|||
|
||||
void Pokedex_SetMonSeenForm(struct Pokedex *pokedex, u16 species, struct Pokemon *pokemon) {
|
||||
if (species == SPECIES_UNOWN) {
|
||||
SetSeenUnownLetter(pokedex, species, GetMonUnownLetter(pokemon));
|
||||
SetSeenUnownLetter(pokedex, species, Pokemon_GetForm(pokemon));
|
||||
} else if (species == SPECIES_BURMY) {
|
||||
Pokedex_SetSeenBurmyOrWormadamForm(pokedex, species, (s32)Pokemon_GetData(pokemon, MON_DATA_FORM, NULL));
|
||||
} else if (species == SPECIES_WORMADAM) {
|
||||
|
|
|
|||
|
|
@ -34,24 +34,24 @@ u8 SpeciesData_GetGenderFromPersonality(SpeciesData *speciesData, u16 species, u
|
|||
u8 BoxPokemon_IsShiny(BoxPokemon *boxMon);
|
||||
u8 Personality_IsShiny(u32 otID, u32 personality);
|
||||
void BoxPokemon_SetDefaultMoves(BoxPokemon *boxMon);
|
||||
u32 sub_020696A8(BoxPokemon *boxMon, u16 move);
|
||||
void sub_02069718(BoxPokemon *boxMon, u16 move);
|
||||
void BoxMonSetMoveInSlot(BoxPokemon *boxMon, u16 move, u8 slot);
|
||||
void sub_020698E8(BoxPokemon *boxMon, int slot1, int slot2);
|
||||
u32 BoxPokemon_TryAppendMove(BoxPokemon *boxMon, u16 move);
|
||||
void BoxPokemon_ForceAppendMove(BoxPokemon *boxMon, u16 move);
|
||||
void BoxPokemon_SetMoveInSlot(BoxPokemon *boxMon, u16 move, u8 slot);
|
||||
void BoxPokemon_SwapMoveSlots(BoxPokemon *boxMon, int slot1, int slot2);
|
||||
s8 BoxMonGetFlavorPreference(BoxPokemon *boxMon, int flavor);
|
||||
s8 GetFlavorPreferenceFromPID(u32 personality, int flavor);
|
||||
u8 Party_MaskMonsWithPokerus(struct Party *party_p, u8 mask);
|
||||
BOOL BoxMon_HasPokerus(BoxPokemon *boxMon);
|
||||
BOOL BoxMon_IsImmuneToPokerus(BoxPokemon *boxMon);
|
||||
void BoxMon_UpdateArceusForm(BoxPokemon *boxMon);
|
||||
void LoadLevelUpLearnset_HandleAlternateForm(int species, int form, u16 *levelUpLearnset);
|
||||
void Species_LoadLevelUpLearnset(int species, int form, u16 *levelUpLearnset);
|
||||
void sub_0206A054(BoxPokemon *boxMon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, enum HeapID heapID);
|
||||
BOOL MonHasMove(Pokemon *pokemon, u16 move);
|
||||
BOOL sub_0206A144(BoxPokemon *boxMon, u32 a1);
|
||||
BOOL sub_0206A16C(u16 species, int form, u32 a2);
|
||||
BOOL Pokemon_HasMove(Pokemon *mon, u16 move);
|
||||
BOOL BoxPokemon_CanLearnTMHM(BoxPokemon *boxMon, u32 tmHM);
|
||||
BOOL Species_CanLearnTMHM(u16 species, int form, u32 a2);
|
||||
void sub_0206A1CC(BoxPokemon *boxMon);
|
||||
u32 MaskOfFlagNo(int flagno);
|
||||
void SpeciesData_LoadSpecies(int species, SpeciesData *personal);
|
||||
void SpeciesData_LoadSpecies(int species, SpeciesData *speciesData);
|
||||
void LoadMonEvolutionTable(u16 species, struct Evolution *dest);
|
||||
|
||||
int ResolveMonForm(int species, int form);
|
||||
|
|
@ -61,7 +61,7 @@ u16 MonEncryptionLCRNG(u32 *seed);
|
|||
u16 CalcMonChecksum(u16 *datap, u32 size);
|
||||
PokemonDataBlock *GetSubstruct(BoxPokemon *boxMon, u32 personality, u8 which_struct);
|
||||
void SpeciesData_LoadForm(int species, int form, SpeciesData *baseStats);
|
||||
u8 GetBoxMonUnownLetter(BoxPokemon *boxMon);
|
||||
u8 BoxPokemon_GetForm(BoxPokemon *boxMon);
|
||||
|
||||
#define ENCRY_ARGS_PARTY(mon) (u16 *)&(mon)->party, sizeof((mon)->party), (mon)->box.personality
|
||||
#define ENCRY_ARGS_BOX(boxMon) (u16 *)&(boxMon)->dataBlocks, sizeof((boxMon)->dataBlocks), (boxMon)->checksum
|
||||
|
|
@ -2074,8 +2074,8 @@ u32 Personality_GenerateShiny(u32 otID) {
|
|||
return rndLow | (rndHigh << 16);
|
||||
}
|
||||
|
||||
void sub_02068B68(struct SomeDrawPokemonStruct *spC, Pokemon *pokemon, u8 sp10) {
|
||||
sub_02068B70(spC, &pokemon->box, sp10);
|
||||
void sub_02068B68(struct SomeDrawPokemonStruct *spC, Pokemon *mon, u8 sp10) {
|
||||
sub_02068B70(spC, &mon->box, sp10);
|
||||
}
|
||||
|
||||
void sub_02068B70(struct SomeDrawPokemonStruct *spC, BoxPokemon *boxMon, u8 sp10) {
|
||||
|
|
@ -2201,8 +2201,8 @@ void sub_02068C00(struct SomeDrawPokemonStruct *spC, int species, u8 gender, u8
|
|||
}
|
||||
}
|
||||
|
||||
u8 sub_02068E14(Pokemon *pokemon, u32 a1) {
|
||||
return sub_02068E1C(&pokemon->box, a1);
|
||||
u8 sub_02068E14(Pokemon *mon, u32 a1) {
|
||||
return sub_02068E1C(&mon->box, a1);
|
||||
}
|
||||
|
||||
u8 sub_02068E1C(BoxPokemon *boxMon, u32 a1) {
|
||||
|
|
@ -2357,48 +2357,48 @@ void sub_020690AC(struct SomeDrawPokemonStruct *a0, u32 a1) {
|
|||
a0->unkC = 0;
|
||||
}
|
||||
|
||||
u32 sub_020690C4(void) {
|
||||
return sizeof(struct Pokemon);
|
||||
u32 Pokemon_Size(void) {
|
||||
return sizeof(Pokemon);
|
||||
}
|
||||
|
||||
u32 sub_020690C8(void) {
|
||||
return sizeof(struct BoxPokemon);
|
||||
u32 BoxPokemon_Size(void) {
|
||||
return sizeof(BoxPokemon);
|
||||
}
|
||||
|
||||
u8 GetMonUnownLetter(Pokemon *pokemon) // not just used for unown
|
||||
{
|
||||
return GetBoxMonUnownLetter(&pokemon->box);
|
||||
u8 Pokemon_GetForm(Pokemon *mon) {
|
||||
return BoxPokemon_GetForm(&mon->box);
|
||||
}
|
||||
|
||||
u8 GetBoxMonUnownLetter(BoxPokemon *boxMon) {
|
||||
return (u8)BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL);
|
||||
u8 BoxPokemon_GetForm(BoxPokemon *boxMon) {
|
||||
return BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL);
|
||||
}
|
||||
|
||||
BoxPokemon *sub_020690E4(Pokemon *pokemon) {
|
||||
return &pokemon->box;
|
||||
BoxPokemon *Pokemon_GetBoxMon(Pokemon *mon) {
|
||||
return &mon->box;
|
||||
}
|
||||
|
||||
BOOL sub_020690E8(Pokemon *pokemon) {
|
||||
u16 species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL);
|
||||
u8 level = (u8)(Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL) + 1);
|
||||
u32 exp = Pokemon_GetData(pokemon, MON_DATA_EXPERIENCE, NULL);
|
||||
u32 growthrate = (u32)Species_GetValue(species, SPECIES_DATA_EXP_RATE);
|
||||
u32 maxexp = ExpRate_GetExpAtLevel((int)growthrate, 100);
|
||||
if (exp > maxexp) {
|
||||
exp = maxexp;
|
||||
Pokemon_SetData(pokemon, MON_DATA_EXPERIENCE, &exp);
|
||||
BOOL Pokemon_TryLevelUp(Pokemon *mon) {
|
||||
u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL);
|
||||
u8 nextLevel = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL) + 1;
|
||||
u32 exp = Pokemon_GetData(mon, MON_DATA_EXPERIENCE, NULL);
|
||||
int expRate = Species_GetValue(species, SPECIES_DATA_EXP_RATE);
|
||||
u32 maxExp = ExpRate_GetExpAtLevel(expRate, MAX_LEVEL);
|
||||
|
||||
if (exp > maxExp) {
|
||||
exp = maxExp;
|
||||
Pokemon_SetData(mon, MON_DATA_EXPERIENCE, &exp);
|
||||
}
|
||||
if (level > 100) {
|
||||
if (nextLevel > MAX_LEVEL) {
|
||||
return FALSE;
|
||||
}
|
||||
if (exp >= ExpRate_GetExpAtLevel((int)growthrate, level)) {
|
||||
Pokemon_SetData(pokemon, MON_DATA_LEVEL, &level);
|
||||
if (exp >= ExpRate_GetExpAtLevel(expRate, nextLevel)) {
|
||||
Pokemon_SetData(mon, MON_DATA_LEVEL, &nextLevel);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u16 GetMonEvolution(struct Party *party, Pokemon *pokemon, u32 context, u32 usedItem, u32 *method_ret) {
|
||||
u16 GetMonEvolution(struct Party *party, Pokemon *mon, u32 context, u32 usedItem, u32 *method_ret) {
|
||||
u16 target = SPECIES_NONE;
|
||||
u32 sp40;
|
||||
u16 species;
|
||||
|
|
@ -2412,10 +2412,10 @@ u16 GetMonEvolution(struct Party *party, Pokemon *pokemon, u32 context, u32 used
|
|||
struct Evolution *evoTable;
|
||||
u8 r1;
|
||||
|
||||
species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL);
|
||||
heldItem = (u16)Pokemon_GetData(pokemon, MON_DATA_HELD_ITEM, NULL);
|
||||
personality = Pokemon_GetData(pokemon, MON_DATA_PERSONALITY, NULL);
|
||||
beauty = (u8)Pokemon_GetData(pokemon, MON_DATA_BEAUTY, NULL);
|
||||
species = (u16)Pokemon_GetData(mon, MON_DATA_SPECIES, NULL);
|
||||
heldItem = (u16)Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL);
|
||||
personality = Pokemon_GetData(mon, MON_DATA_PERSONALITY, NULL);
|
||||
beauty = (u8)Pokemon_GetData(mon, MON_DATA_BEAUTY, NULL);
|
||||
pid_hi = (u16)((personality & 0xFFFF0000) >> 16);
|
||||
r1 = (u8)GetItemAttr(heldItem, 1, HEAP_ID_DEFAULT);
|
||||
if (species != SPECIES_KADABRA && r1 == HOLD_EFFECT_NO_EVOLVE && context != 3) {
|
||||
|
|
@ -2428,8 +2428,8 @@ u16 GetMonEvolution(struct Party *party, Pokemon *pokemon, u32 context, u32 used
|
|||
LoadMonEvolutionTable(species, evoTable);
|
||||
switch (context) {
|
||||
case 0:
|
||||
level = (u8)Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL);
|
||||
friendship = (u16)Pokemon_GetData(pokemon, MON_DATA_FRIENDSHIP, NULL);
|
||||
level = (u8)Pokemon_GetData(mon, MON_DATA_LEVEL, NULL);
|
||||
friendship = (u16)Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL);
|
||||
for (i = 0; i < 7; i++) {
|
||||
switch (evoTable[i].method) {
|
||||
case EVO_NONE:
|
||||
|
|
@ -2465,19 +2465,19 @@ u16 GetMonEvolution(struct Party *party, Pokemon *pokemon, u32 context, u32 used
|
|||
case EVO_STONE:
|
||||
break;
|
||||
case EVO_LEVEL_ATK_GT_DEF:
|
||||
if (evoTable[i].param <= level && Pokemon_GetData(pokemon, MON_DATA_ATK, NULL) > Pokemon_GetData(pokemon, MON_DATA_DEF, NULL)) {
|
||||
if (evoTable[i].param <= level && Pokemon_GetData(mon, MON_DATA_ATK, NULL) > Pokemon_GetData(mon, MON_DATA_DEF, NULL)) {
|
||||
target = evoTable[i].target;
|
||||
*method_ret = EVO_LEVEL_ATK_GT_DEF;
|
||||
}
|
||||
break;
|
||||
case EVO_LEVEL_ATK_EQ_DEF:
|
||||
if (evoTable[i].param <= level && Pokemon_GetData(pokemon, MON_DATA_ATK, NULL) == Pokemon_GetData(pokemon, MON_DATA_DEF, NULL)) {
|
||||
if (evoTable[i].param <= level && Pokemon_GetData(mon, MON_DATA_ATK, NULL) == Pokemon_GetData(mon, MON_DATA_DEF, NULL)) {
|
||||
target = evoTable[i].target;
|
||||
*method_ret = EVO_LEVEL_ATK_EQ_DEF;
|
||||
}
|
||||
break;
|
||||
case EVO_LEVEL_ATK_LT_DEF:
|
||||
if (evoTable[i].param <= level && Pokemon_GetData(pokemon, MON_DATA_ATK, NULL) < Pokemon_GetData(pokemon, MON_DATA_DEF, NULL)) {
|
||||
if (evoTable[i].param <= level && Pokemon_GetData(mon, MON_DATA_ATK, NULL) < Pokemon_GetData(mon, MON_DATA_DEF, NULL)) {
|
||||
target = evoTable[i].target;
|
||||
*method_ret = EVO_LEVEL_ATK_LT_DEF;
|
||||
}
|
||||
|
|
@ -2526,7 +2526,7 @@ u16 GetMonEvolution(struct Party *party, Pokemon *pokemon, u32 context, u32 used
|
|||
}
|
||||
break;
|
||||
case EVO_HAS_MOVE:
|
||||
if (MonHasMove(pokemon, evoTable[i].param) == TRUE) {
|
||||
if (Pokemon_HasMove(mon, evoTable[i].param) == TRUE) {
|
||||
target = evoTable[i].target;
|
||||
*method_ret = EVO_HAS_MOVE;
|
||||
}
|
||||
|
|
@ -2538,13 +2538,13 @@ u16 GetMonEvolution(struct Party *party, Pokemon *pokemon, u32 context, u32 used
|
|||
}
|
||||
break;
|
||||
case EVO_LEVEL_MALE:
|
||||
if (Pokemon_GetData(pokemon, MON_DATA_GENDER, NULL) == MON_MALE && evoTable[i].param <= level) {
|
||||
if (Pokemon_GetData(mon, MON_DATA_GENDER, NULL) == MON_MALE && evoTable[i].param <= level) {
|
||||
target = evoTable[i].target;
|
||||
*method_ret = EVO_LEVEL_MALE;
|
||||
}
|
||||
break;
|
||||
case EVO_LEVEL_FEMALE:
|
||||
if (Pokemon_GetData(pokemon, MON_DATA_GENDER, NULL) == MON_FEMALE && evoTable[i].param <= level) {
|
||||
if (Pokemon_GetData(mon, MON_DATA_GENDER, NULL) == MON_FEMALE && evoTable[i].param <= level) {
|
||||
target = evoTable[i].target;
|
||||
*method_ret = EVO_LEVEL_FEMALE;
|
||||
}
|
||||
|
|
@ -2600,12 +2600,12 @@ u16 GetMonEvolution(struct Party *party, Pokemon *pokemon, u32 context, u32 used
|
|||
*method_ret = 0;
|
||||
break;
|
||||
}
|
||||
if (evoTable[i].method == EVO_STONE_MALE && Pokemon_GetData(pokemon, MON_DATA_GENDER, NULL) == MON_MALE && usedItem == evoTable[i].param) {
|
||||
if (evoTable[i].method == EVO_STONE_MALE && Pokemon_GetData(mon, MON_DATA_GENDER, NULL) == MON_MALE && usedItem == evoTable[i].param) {
|
||||
target = evoTable[i].target;
|
||||
*method_ret = 0;
|
||||
break;
|
||||
}
|
||||
if (evoTable[i].method == EVO_STONE_FEMALE && Pokemon_GetData(pokemon, MON_DATA_GENDER, NULL) == MON_FEMALE && usedItem == evoTable[i].param) {
|
||||
if (evoTable[i].method == EVO_STONE_FEMALE && Pokemon_GetData(mon, MON_DATA_GENDER, NULL) == MON_FEMALE && usedItem == evoTable[i].param) {
|
||||
target = evoTable[i].target;
|
||||
*method_ret = 0;
|
||||
break;
|
||||
|
|
@ -2633,13 +2633,13 @@ u16 ReadFromPersonalPmsNarc(u16 species) {
|
|||
|
||||
u16 GetEggSpecies(u16 species) {
|
||||
switch (species) {
|
||||
case SPECIES_SUDOWOODO:
|
||||
case SPECIES_MARILL:
|
||||
case SPECIES_MR_MIME:
|
||||
case SPECIES_CHANSEY:
|
||||
case SPECIES_MR_MIME:
|
||||
case SPECIES_SNORLAX:
|
||||
case SPECIES_MANTINE:
|
||||
case SPECIES_MARILL:
|
||||
case SPECIES_SUDOWOODO:
|
||||
case SPECIES_WOBBUFFET:
|
||||
case SPECIES_MANTINE:
|
||||
case SPECIES_ROSELIA:
|
||||
case SPECIES_CHIMECHO:
|
||||
return species;
|
||||
|
|
@ -2649,144 +2649,139 @@ u16 GetEggSpecies(u16 species) {
|
|||
}
|
||||
|
||||
void BoxPokemon_SetDefaultMoves(BoxPokemon *boxMon) {
|
||||
BOOL decry;
|
||||
u16 *levelUpLearnset;
|
||||
int i;
|
||||
u16 species;
|
||||
u32 form;
|
||||
u8 level;
|
||||
u16 move;
|
||||
levelUpLearnset = Heap_Alloc(HEAP_ID_DEFAULT, MAX_LEARNED_MOVES * sizeof(u16));
|
||||
decry = BoxPokemon_UnlockEncryption(boxMon);
|
||||
species = (u16)BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL);
|
||||
form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL);
|
||||
level = (u8)BoxPokemon_CalcLevel(boxMon);
|
||||
LoadLevelUpLearnset_HandleAlternateForm(species, (int)form, levelUpLearnset);
|
||||
for (i = 0; levelUpLearnset[i] != LEVEL_UP_LEARNSET_END; i++) {
|
||||
BOOL reencrypt;
|
||||
u16 *levelUpLearnset = Heap_Alloc(HEAP_ID_DEFAULT, MAX_LEARNED_MOVES * sizeof(u16));
|
||||
reencrypt = BoxPokemon_UnlockEncryption(boxMon);
|
||||
|
||||
u16 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL);
|
||||
int form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL);
|
||||
u8 level = BoxPokemon_CalcLevel(boxMon);
|
||||
|
||||
Species_LoadLevelUpLearnset(species, form, levelUpLearnset);
|
||||
|
||||
for (int i = 0; levelUpLearnset[i] != LEVEL_UP_LEARNSET_END; i++) {
|
||||
if ((levelUpLearnset[i] & LEVEL_UP_LEARNSET_LEVEL_MASK) > (level << LEVEL_UP_LEARNSET_LEVEL_SHIFT)) {
|
||||
break;
|
||||
}
|
||||
move = LEVEL_UP_LEARNSET_MOVE(levelUpLearnset[i]);
|
||||
if (sub_020696A8(boxMon, move) == 0xFFFF) {
|
||||
sub_02069718(boxMon, move);
|
||||
u16 move = LEVEL_UP_LEARNSET_MOVE(levelUpLearnset[i]);
|
||||
if (BoxPokemon_TryAppendMove(boxMon, move) == 0xFFFF) {
|
||||
BoxPokemon_ForceAppendMove(boxMon, move);
|
||||
}
|
||||
}
|
||||
Heap_Free(levelUpLearnset);
|
||||
BoxPokemon_LockEncryption(boxMon, decry);
|
||||
BoxPokemon_LockEncryption(boxMon, reencrypt);
|
||||
}
|
||||
|
||||
u32 sub_02069698(Pokemon *pokemon, u16 move) {
|
||||
return sub_020696A8(sub_020690E4(pokemon), move);
|
||||
u32 Pokemon_TryAppendMove(Pokemon *mon, u16 move) {
|
||||
return BoxPokemon_TryAppendMove(Pokemon_GetBoxMon(mon), move);
|
||||
}
|
||||
|
||||
u32 sub_020696A8(BoxPokemon *boxMon, u16 move) {
|
||||
u32 BoxPokemon_TryAppendMove(BoxPokemon *boxMon, u16 move) {
|
||||
u32 ret = 0xFFFF;
|
||||
int i;
|
||||
BOOL decry = BoxPokemon_UnlockEncryption(boxMon);
|
||||
u16 cur_move;
|
||||
for (i = 0; i < 4; i++) {
|
||||
cur_move = (u16)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i, NULL);
|
||||
if (cur_move == MOVE_NONE) {
|
||||
BoxMonSetMoveInSlot(boxMon, move, (u8)i);
|
||||
BOOL reencrypt = BoxPokemon_UnlockEncryption(boxMon);
|
||||
|
||||
for (int i = 0; i < MAX_MON_MOVES; i++) {
|
||||
u16 slotMove = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i, NULL);
|
||||
if (slotMove == MOVE_NONE) {
|
||||
BoxPokemon_SetMoveInSlot(boxMon, move, (u8)i);
|
||||
ret = move;
|
||||
break;
|
||||
}
|
||||
if (cur_move == move) {
|
||||
if (slotMove == move) {
|
||||
ret = 0xFFFE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
BoxPokemon_LockEncryption(boxMon, decry);
|
||||
BoxPokemon_LockEncryption(boxMon, reencrypt);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void sub_02069708(Pokemon *pokemon, u16 move) {
|
||||
sub_02069718(sub_020690E4(pokemon), move);
|
||||
void Pokemon_ForceAppendMove(Pokemon *mon, u16 move) {
|
||||
BoxPokemon_ForceAppendMove(Pokemon_GetBoxMon(mon), move);
|
||||
}
|
||||
|
||||
void sub_02069718(BoxPokemon *boxMon, u16 move) {
|
||||
BOOL decry = BoxPokemon_UnlockEncryption(boxMon);
|
||||
int i;
|
||||
u16 moves[4];
|
||||
u8 pp[4];
|
||||
u8 ppUp[4];
|
||||
void BoxPokemon_ForceAppendMove(BoxPokemon *boxMon, u16 move) {
|
||||
BOOL reencrypt = BoxPokemon_UnlockEncryption(boxMon);
|
||||
u16 moves[MAX_MON_MOVES];
|
||||
u8 pp[MAX_MON_MOVES];
|
||||
u8 ppUp[MAX_MON_MOVES];
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
moves[i] = (u16)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i + 1, NULL);
|
||||
pp[i] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + i + 1, NULL);
|
||||
ppUp[i] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + i + 1, NULL);
|
||||
// Bubble move slots 2 through 4 upwards
|
||||
for (int i = 0; i < MAX_MON_MOVES - 1; i++) {
|
||||
moves[i] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i + 1, NULL);
|
||||
pp[i] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + i + 1, NULL);
|
||||
ppUp[i] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + i + 1, NULL);
|
||||
}
|
||||
|
||||
moves[3] = move;
|
||||
pp[3] = (u8)GetWazaAttr(move, MOVEATTR_PP);
|
||||
ppUp[3] = 0;
|
||||
moves[MAX_MON_MOVES - 1] = move;
|
||||
pp[MAX_MON_MOVES - 1] = GetWazaAttr(move, MOVEATTR_PP);
|
||||
ppUp[MAX_MON_MOVES - 1] = 0;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
for (int i = 0; i < MAX_MON_MOVES; i++) {
|
||||
BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + i, &moves[i]);
|
||||
BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + i, &pp[i]);
|
||||
BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP_UPS + i, &ppUp[i]);
|
||||
}
|
||||
|
||||
BoxPokemon_LockEncryption(boxMon, decry);
|
||||
BoxPokemon_LockEncryption(boxMon, reencrypt);
|
||||
}
|
||||
|
||||
void MonSetMoveInSlot(Pokemon *pokemon, u16 move, u8 slot) {
|
||||
BoxMonSetMoveInSlot(&pokemon->box, move, slot);
|
||||
void Pokemon_SetMoveInSlot(Pokemon *mon, u16 move, u8 slot) {
|
||||
BoxPokemon_SetMoveInSlot(&mon->box, move, slot);
|
||||
}
|
||||
|
||||
void BoxMonSetMoveInSlot(BoxPokemon *boxMon, u16 move, u8 slot) {
|
||||
u8 ppUp;
|
||||
u8 pp;
|
||||
|
||||
void BoxPokemon_SetMoveInSlot(BoxPokemon *boxMon, u16 move, u8 slot) {
|
||||
BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + slot, &move);
|
||||
ppUp = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot, NULL);
|
||||
pp = (u8)WazaGetMaxPp(move, ppUp);
|
||||
|
||||
u8 ppUps = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot, NULL);
|
||||
u8 pp = WazaGetMaxPp(move, ppUps);
|
||||
BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + slot, &pp);
|
||||
}
|
||||
|
||||
u32 sub_02069818(Pokemon *pokemon, u32 *r5, u16 *sp0) {
|
||||
u32 ret = 0;
|
||||
u32 Pokemon_TryLevelUpMove(Pokemon *mon, u32 *index, u16 *move) {
|
||||
u32 ret = MOVE_NONE;
|
||||
u16 *levelUpLearnset = Heap_Alloc(HEAP_ID_DEFAULT, MAX_LEARNED_MOVES * sizeof(u16));
|
||||
u16 species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL);
|
||||
u32 form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL);
|
||||
u8 level = (u8)Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL);
|
||||
LoadLevelUpLearnset_HandleAlternateForm(species, (int)form, levelUpLearnset);
|
||||
u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL);
|
||||
int form = Pokemon_GetData(mon, MON_DATA_FORM, NULL);
|
||||
u8 level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL);
|
||||
Species_LoadLevelUpLearnset(species, form, levelUpLearnset);
|
||||
|
||||
if (levelUpLearnset[*r5] == 0xFFFF) {
|
||||
if (levelUpLearnset[*index] == 0xFFFF) {
|
||||
Heap_Free(levelUpLearnset);
|
||||
return 0;
|
||||
return MOVE_NONE;
|
||||
}
|
||||
while ((levelUpLearnset[*r5] & LEVEL_UP_LEARNSET_LEVEL_MASK) != (level << LEVEL_UP_LEARNSET_LEVEL_SHIFT)) {
|
||||
(*r5)++;
|
||||
if (levelUpLearnset[*r5] == 0xFFFF) {
|
||||
|
||||
while ((levelUpLearnset[*index] & LEVEL_UP_LEARNSET_LEVEL_MASK) != (level << LEVEL_UP_LEARNSET_LEVEL_SHIFT)) {
|
||||
(*index)++;
|
||||
if (levelUpLearnset[*index] == 0xFFFF) {
|
||||
Heap_Free(levelUpLearnset);
|
||||
return 0;
|
||||
return MOVE_NONE;
|
||||
}
|
||||
}
|
||||
if ((levelUpLearnset[*r5] & LEVEL_UP_LEARNSET_LEVEL_MASK) == (level << LEVEL_UP_LEARNSET_LEVEL_SHIFT)) {
|
||||
*sp0 = LEVEL_UP_LEARNSET_MOVE(levelUpLearnset[*r5]);
|
||||
(*r5)++;
|
||||
ret = sub_02069698(pokemon, *sp0);
|
||||
if ((levelUpLearnset[*index] & LEVEL_UP_LEARNSET_LEVEL_MASK) == (level << LEVEL_UP_LEARNSET_LEVEL_SHIFT)) {
|
||||
*move = LEVEL_UP_LEARNSET_MOVE(levelUpLearnset[*index]);
|
||||
(*index)++;
|
||||
ret = Pokemon_TryAppendMove(mon, *move);
|
||||
}
|
||||
Heap_Free(levelUpLearnset);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void sub_020698E0(Pokemon *pokemon, int slot1, int slot2) {
|
||||
sub_020698E8(&pokemon->box, slot1, slot2);
|
||||
void Pokemon_SwapMoveSlots(Pokemon *mon, int slot1, int slot2) {
|
||||
BoxPokemon_SwapMoveSlots(&mon->box, slot1, slot2);
|
||||
}
|
||||
|
||||
void sub_020698E8(BoxPokemon *boxMon, int slot1, int slot2) {
|
||||
void BoxPokemon_SwapMoveSlots(BoxPokemon *boxMon, int slot1, int slot2) {
|
||||
u16 moves[2];
|
||||
u8 pp[2];
|
||||
u8 ppUp[2];
|
||||
|
||||
moves[0] = (u16)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + slot1, NULL);
|
||||
pp[0] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + slot1, NULL);
|
||||
ppUp[0] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot1, NULL);
|
||||
moves[1] = (u16)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + slot2, NULL);
|
||||
pp[1] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + slot2, NULL);
|
||||
ppUp[1] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot2, NULL);
|
||||
moves[0] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + slot1, NULL);
|
||||
pp[0] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + slot1, NULL);
|
||||
ppUp[0] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot1, NULL);
|
||||
moves[1] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + slot2, NULL);
|
||||
pp[1] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + slot2, NULL);
|
||||
ppUp[1] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot2, NULL);
|
||||
|
||||
BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + slot1, &moves[1]);
|
||||
BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + slot1, &pp[1]);
|
||||
|
|
@ -2796,70 +2791,71 @@ void sub_020698E8(BoxPokemon *boxMon, int slot1, int slot2) {
|
|||
BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot2, &ppUp[0]);
|
||||
}
|
||||
|
||||
void sub_020699A4(Pokemon *pokemon, u32 slot) {
|
||||
void Pokemon_ClearMoveSlot(Pokemon *mon, u32 slot) {
|
||||
u16 move;
|
||||
u8 pp;
|
||||
u8 ppUp;
|
||||
for (; slot < 3; slot++) {
|
||||
move = (u16)Pokemon_GetData(pokemon, (int)(MON_DATA_MOVE1 + slot + 1), NULL);
|
||||
pp = (u8)Pokemon_GetData(pokemon, (int)(MON_DATA_MOVE1_PP + slot + 1), NULL);
|
||||
ppUp = (u8)Pokemon_GetData(pokemon, (int)(MON_DATA_MOVE1_PP_UPS + slot + 1), NULL);
|
||||
Pokemon_SetData(pokemon, (int)(MON_DATA_MOVE1 + slot), &move);
|
||||
Pokemon_SetData(pokemon, (int)(MON_DATA_MOVE1_PP + slot), &pp);
|
||||
Pokemon_SetData(pokemon, (int)(MON_DATA_MOVE1_PP_UPS + slot), &ppUp);
|
||||
|
||||
for (u32 i = slot; i < MAX_MON_MOVES - 1; i++) {
|
||||
move = Pokemon_GetData(mon, MON_DATA_MOVE1 + i + 1, NULL);
|
||||
pp = Pokemon_GetData(mon, MON_DATA_MOVE1_PP + i + 1, NULL);
|
||||
ppUp = Pokemon_GetData(mon, MON_DATA_MOVE1_PP_UPS + i + 1, NULL);
|
||||
Pokemon_SetData(mon, MON_DATA_MOVE1 + i, &move);
|
||||
Pokemon_SetData(mon, MON_DATA_MOVE1_PP + i, &pp);
|
||||
Pokemon_SetData(mon, MON_DATA_MOVE1_PP_UPS + i, &ppUp);
|
||||
}
|
||||
|
||||
move = MOVE_NONE;
|
||||
pp = 0;
|
||||
ppUp = 0;
|
||||
Pokemon_SetData(pokemon, MON_DATA_MOVE1 + 3, &move);
|
||||
Pokemon_SetData(pokemon, MON_DATA_MOVE1_PP + 3, &pp);
|
||||
Pokemon_SetData(pokemon, MON_DATA_MOVE1_PP_UPS + 3, &ppUp);
|
||||
Pokemon_SetData(mon, MON_DATA_MOVE1 + MAX_MON_MOVES - 1, &move);
|
||||
Pokemon_SetData(mon, MON_DATA_MOVE1_PP + MAX_MON_MOVES - 1, &pp);
|
||||
Pokemon_SetData(mon, MON_DATA_MOVE1_PP_UPS + MAX_MON_MOVES - 1, &ppUp);
|
||||
}
|
||||
|
||||
BOOL MonHasMove(Pokemon *pokemon, u16 move) {
|
||||
BOOL Pokemon_HasMove(Pokemon *mon, u16 move) {
|
||||
int i;
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (Pokemon_GetData(pokemon, MON_DATA_MOVE1 + i, NULL) == move) {
|
||||
for (i = 0; i < MAX_MON_MOVES; i++) {
|
||||
if (Pokemon_GetData(mon, MON_DATA_MOVE1 + i, NULL) == move) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (i != 4) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
return i != MAX_MON_MOVES;
|
||||
}
|
||||
|
||||
void CopyBoxPokemonToPokemon(BoxPokemon *src, Pokemon *dest) {
|
||||
u32 sp0 = 0;
|
||||
CapsuleArray sp4;
|
||||
struct Mail *mail;
|
||||
void BoxPokemon_CopyToPokemon(BoxPokemon *src, Pokemon *dest) {
|
||||
u32 zero = 0;
|
||||
|
||||
dest->box = *src;
|
||||
if (dest->box.boxDecrypted) {
|
||||
dest->box.partyDecrypted = TRUE;
|
||||
}
|
||||
Pokemon_SetData(dest, MON_DATA_STATUS, &sp0);
|
||||
Pokemon_SetData(dest, MON_DATA_HP, &sp0);
|
||||
Pokemon_SetData(dest, MON_DATA_MAX_HP, &sp0);
|
||||
mail = Mail_New(HEAP_ID_DEFAULT);
|
||||
Pokemon_SetData(dest, MON_DATA_STATUS, &zero);
|
||||
Pokemon_SetData(dest, MON_DATA_HP, &zero);
|
||||
Pokemon_SetData(dest, MON_DATA_MAX_HP, &zero);
|
||||
|
||||
Mail *mail = Mail_New(HEAP_ID_DEFAULT);
|
||||
Pokemon_SetData(dest, MON_DATA_MAIL, mail);
|
||||
Heap_Free(mail);
|
||||
Pokemon_SetData(dest, MON_DATA_BALL_CAPSULE_ID, &sp0);
|
||||
MI_CpuClearFast(&sp4, sizeof(sp4));
|
||||
Pokemon_SetData(dest, MON_DATA_BALL_CAPSULE, &sp4);
|
||||
|
||||
CapsuleArray capsule;
|
||||
Pokemon_SetData(dest, MON_DATA_BALL_CAPSULE_ID, &zero);
|
||||
MI_CpuClearFast(&capsule, sizeof(capsule));
|
||||
Pokemon_SetData(dest, MON_DATA_BALL_CAPSULE, &capsule);
|
||||
|
||||
Pokemon_CalcLevelAndStats(dest);
|
||||
}
|
||||
|
||||
u8 Party_GetMaxLevel(struct Party *party) {
|
||||
int i;
|
||||
int r7 = Party_GetCount(party);
|
||||
u8 Party_GetMaxLevel(Party *party) {
|
||||
int count = Party_GetCount(party);
|
||||
u8 ret = 1;
|
||||
u8 level;
|
||||
for (i = 0; i < r7; i++) {
|
||||
Pokemon *pokemon = Party_GetMonByIndex(party, i);
|
||||
if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_NONE
|
||||
&& !Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL)) {
|
||||
level = (u8)Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
Pokemon *mon = Party_GetMonByIndex(party, i);
|
||||
|
||||
if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_NONE
|
||||
&& !Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) {
|
||||
u8 level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL);
|
||||
if (level > ret) {
|
||||
ret = level;
|
||||
}
|
||||
|
|
@ -2882,20 +2878,20 @@ u16 SinnohDexNoToSpecies(u16 sinnoh_dex) {
|
|||
return ret;
|
||||
}
|
||||
|
||||
void CopyPokemonToPokemon(Pokemon *src, Pokemon *dest) {
|
||||
void Pokemon_Copy(Pokemon *src, Pokemon *dest) {
|
||||
*dest = *src;
|
||||
}
|
||||
|
||||
void CopyPokemonToBoxPokemon(Pokemon *src, BoxPokemon *dest) {
|
||||
void Pokemon_CopyToBoxPokemon(Pokemon *src, BoxPokemon *dest) {
|
||||
*dest = src->box;
|
||||
}
|
||||
|
||||
void CopyBoxPokemonToBoxPokemon(BoxPokemon *src, BoxPokemon *dest) {
|
||||
void BoxPokemon_Copy(BoxPokemon *src, BoxPokemon *dest) {
|
||||
*dest = *src;
|
||||
}
|
||||
|
||||
s8 MonGetFlavorPreference(Pokemon *pokemon, int flavor) {
|
||||
return BoxMonGetFlavorPreference(&pokemon->box, flavor);
|
||||
s8 MonGetFlavorPreference(Pokemon *mon, int flavor) {
|
||||
return BoxMonGetFlavorPreference(&mon->box, flavor);
|
||||
}
|
||||
|
||||
s8 BoxMonGetFlavorPreference(BoxPokemon *boxMon, int flavor) {
|
||||
|
|
@ -2910,7 +2906,7 @@ s8 GetFlavorPreferenceFromPID(u32 personality, int flavor) {
|
|||
int Species_LoadLearnsetTable(u16 species, u32 form, u16 *dest) {
|
||||
int i;
|
||||
u16 *levelUpLearnset = Heap_Alloc(HEAP_ID_DEFAULT, MAX_LEARNED_MOVES * sizeof(u16));
|
||||
LoadLevelUpLearnset_HandleAlternateForm(species, (int)form, levelUpLearnset);
|
||||
Species_LoadLevelUpLearnset(species, (int)form, levelUpLearnset);
|
||||
for (i = 0; levelUpLearnset[i] != LEVEL_UP_LEARNSET_END; i++) {
|
||||
dest[i] = LEVEL_UP_LEARNSET_MOVE(levelUpLearnset[i]);
|
||||
}
|
||||
|
|
@ -2918,10 +2914,10 @@ int Species_LoadLearnsetTable(u16 species, u32 form, u16 *dest) {
|
|||
return i;
|
||||
}
|
||||
|
||||
void Party_GivePokerusAtRandom(struct Party *party) {
|
||||
void Party_GivePokerusAtRandom(Party *party) {
|
||||
int count = Party_GetCount(party);
|
||||
int idx;
|
||||
Pokemon *pokemon;
|
||||
Pokemon *mon;
|
||||
u8 sp0;
|
||||
switch (LCRandom()) {
|
||||
case 0x4000:
|
||||
|
|
@ -2929,8 +2925,8 @@ void Party_GivePokerusAtRandom(struct Party *party) {
|
|||
case 0xC000:
|
||||
do {
|
||||
idx = LCRandom() % count;
|
||||
pokemon = Party_GetMonByIndex(party, idx);
|
||||
} while (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) == SPECIES_NONE || Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL));
|
||||
mon = Party_GetMonByIndex(party, idx);
|
||||
} while (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) == SPECIES_NONE || Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL));
|
||||
if (!Party_MaskMonsWithPokerus(party, (u8)MaskOfFlagNo(idx))) {
|
||||
do {
|
||||
sp0 = (u8)LCRandom();
|
||||
|
|
@ -2941,21 +2937,21 @@ void Party_GivePokerusAtRandom(struct Party *party) {
|
|||
sp0 |= sp0 << 4;
|
||||
sp0 &= 0xF3;
|
||||
sp0++;
|
||||
Pokemon_SetData(pokemon, MON_DATA_POKERUS, &sp0);
|
||||
Pokemon_SetData(mon, MON_DATA_POKERUS, &sp0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u8 Party_MaskMonsWithPokerus(struct Party *party, u8 mask) {
|
||||
u8 Party_MaskMonsWithPokerus(Party *party, u8 mask) {
|
||||
int i = 0;
|
||||
u32 flag = 1;
|
||||
u8 ret = 0;
|
||||
Pokemon *pokemon;
|
||||
Pokemon *mon;
|
||||
if (mask != 0) {
|
||||
do {
|
||||
if (mask & 1) {
|
||||
pokemon = Party_GetMonByIndex(party, i);
|
||||
if (Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL)) {
|
||||
mon = Party_GetMonByIndex(party, i);
|
||||
if (Pokemon_GetData(mon, MON_DATA_POKERUS, NULL)) {
|
||||
ret |= flag;
|
||||
}
|
||||
}
|
||||
|
|
@ -2964,23 +2960,23 @@ u8 Party_MaskMonsWithPokerus(struct Party *party, u8 mask) {
|
|||
mask >>= 1;
|
||||
} while (mask != 0);
|
||||
} else {
|
||||
pokemon = Party_GetMonByIndex(party, 0);
|
||||
if (Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL)) {
|
||||
mon = Party_GetMonByIndex(party, 0);
|
||||
if (Pokemon_GetData(mon, MON_DATA_POKERUS, NULL)) {
|
||||
ret++;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Party_UpdatePokerus(struct Party *party, int r5) {
|
||||
void Party_UpdatePokerus(Party *party, int r5) {
|
||||
int i;
|
||||
u8 pokerus;
|
||||
Pokemon *pokemon;
|
||||
Pokemon *mon;
|
||||
int count = Party_GetCount(party);
|
||||
for (i = 0; i < count; i++) {
|
||||
pokemon = Party_GetMonByIndex(party, i);
|
||||
if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) {
|
||||
pokerus = (u8)Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL);
|
||||
mon = Party_GetMonByIndex(party, i);
|
||||
if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) {
|
||||
pokerus = (u8)Pokemon_GetData(mon, MON_DATA_POKERUS, NULL);
|
||||
if (pokerus & 0xF) {
|
||||
if ((pokerus & 0xF) < r5 || r5 > 4) {
|
||||
pokerus &= 0xF0;
|
||||
|
|
@ -2990,33 +2986,33 @@ void Party_UpdatePokerus(struct Party *party, int r5) {
|
|||
if (pokerus == 0) {
|
||||
pokerus = 0x10; // immune
|
||||
}
|
||||
Pokemon_SetData(pokemon, MON_DATA_POKERUS, &pokerus);
|
||||
Pokemon_SetData(mon, MON_DATA_POKERUS, &pokerus);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Party_SpreadPokerus(struct Party *party) {
|
||||
void Party_SpreadPokerus(Party *party) {
|
||||
int count = Party_GetCount(party);
|
||||
int i;
|
||||
Pokemon *pokemon;
|
||||
Pokemon *mon;
|
||||
u8 pokerus;
|
||||
if ((LCRandom() % 3) == 0) {
|
||||
for (i = 0; i < count; i++) {
|
||||
pokemon = Party_GetMonByIndex(party, i);
|
||||
if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) {
|
||||
pokerus = (u8)Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL);
|
||||
mon = Party_GetMonByIndex(party, i);
|
||||
if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) {
|
||||
pokerus = (u8)Pokemon_GetData(mon, MON_DATA_POKERUS, NULL);
|
||||
if (pokerus & 0xF) {
|
||||
if (i != 0) {
|
||||
pokemon = Party_GetMonByIndex(party, i - 1);
|
||||
if (!(Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL) & 0xF0)) {
|
||||
Pokemon_SetData(pokemon, MON_DATA_POKERUS, &pokerus);
|
||||
mon = Party_GetMonByIndex(party, i - 1);
|
||||
if (!(Pokemon_GetData(mon, MON_DATA_POKERUS, NULL) & 0xF0)) {
|
||||
Pokemon_SetData(mon, MON_DATA_POKERUS, &pokerus);
|
||||
}
|
||||
}
|
||||
if (i < count - 1) {
|
||||
pokemon = Party_GetMonByIndex(party, i + 1);
|
||||
if (!(Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL) & 0xF0)) {
|
||||
Pokemon_SetData(pokemon, MON_DATA_POKERUS, &pokerus);
|
||||
mon = Party_GetMonByIndex(party, i + 1);
|
||||
if (!(Pokemon_GetData(mon, MON_DATA_POKERUS, NULL) & 0xF0)) {
|
||||
Pokemon_SetData(mon, MON_DATA_POKERUS, &pokerus);
|
||||
i++; // don't infect the rest of the party
|
||||
}
|
||||
}
|
||||
|
|
@ -3026,16 +3022,16 @@ void Party_SpreadPokerus(struct Party *party) {
|
|||
}
|
||||
}
|
||||
|
||||
BOOL Pokemon_HasPokerus(Pokemon *pokemon) {
|
||||
return BoxMon_HasPokerus(&pokemon->box);
|
||||
BOOL Pokemon_HasPokerus(Pokemon *mon) {
|
||||
return BoxMon_HasPokerus(&mon->box);
|
||||
}
|
||||
|
||||
BOOL BoxMon_HasPokerus(BoxPokemon *boxMon) {
|
||||
return !!(BoxPokemon_GetData(boxMon, MON_DATA_POKERUS, NULL) & 0xF);
|
||||
}
|
||||
|
||||
BOOL Pokemon_IsImmuneToPokerus(Pokemon *pokemon) {
|
||||
return BoxMon_IsImmuneToPokerus(&pokemon->box);
|
||||
BOOL Pokemon_IsImmuneToPokerus(Pokemon *mon) {
|
||||
return BoxMon_IsImmuneToPokerus(&mon->box);
|
||||
}
|
||||
|
||||
BOOL BoxMon_IsImmuneToPokerus(BoxPokemon *boxMon) {
|
||||
|
|
@ -3049,8 +3045,8 @@ BOOL BoxMon_IsImmuneToPokerus(BoxPokemon *boxMon) {
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
void Pokemon_UpdateArceusForm(Pokemon *pokemon) {
|
||||
BoxMon_UpdateArceusForm(&pokemon->box);
|
||||
void Pokemon_UpdateArceusForm(Pokemon *mon) {
|
||||
BoxMon_UpdateArceusForm(&mon->box);
|
||||
}
|
||||
|
||||
void BoxMon_UpdateArceusForm(BoxPokemon *boxMon) {
|
||||
|
|
@ -3103,7 +3099,7 @@ u32 GetArceusTypeByHeldItemEffect(u16 heldEffect) {
|
|||
}
|
||||
}
|
||||
|
||||
void LoadLevelUpLearnset_HandleAlternateForm(int species, int form, u16 *levelUpLearnset) {
|
||||
void Species_LoadLevelUpLearnset(int species, int form, u16 *levelUpLearnset) {
|
||||
ReadWholeNarcMemberByIdPair(levelUpLearnset, NARC_POKETOOL_PERSONAL_WOTBL, ResolveMonForm(species, form));
|
||||
}
|
||||
|
||||
|
|
@ -3123,14 +3119,14 @@ void sub_02069FB0(struct SaveChatotSoundClip *r7, u32 r5, u16 r4, s32 r6, s32 sp
|
|||
}
|
||||
}
|
||||
|
||||
void sub_0206A014(Pokemon *pokemon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, enum HeapID heapID) {
|
||||
void sub_0206A014(Pokemon *mon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, enum HeapID heapID) {
|
||||
u32 hp;
|
||||
sub_0206A054(&pokemon->box, a1, pokeball, a3, encounterType, heapID);
|
||||
sub_0206A054(&mon->box, a1, pokeball, a3, encounterType, heapID);
|
||||
if (pokeball == ITEM_HEAL_BALL) {
|
||||
hp = Pokemon_GetData(pokemon, MON_DATA_MAX_HP, NULL);
|
||||
Pokemon_SetData(pokemon, MON_DATA_HP, &hp);
|
||||
hp = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL);
|
||||
Pokemon_SetData(mon, MON_DATA_HP, &hp);
|
||||
hp = 0;
|
||||
Pokemon_SetData(pokemon, MON_DATA_STATUS, &hp);
|
||||
Pokemon_SetData(mon, MON_DATA_STATUS, &hp);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3146,7 +3142,7 @@ const u16 sItemOdds[2][2] = {
|
|||
{ 20, 80 },
|
||||
};
|
||||
|
||||
void sub_0206A094(Pokemon *pokemon, u32 a1, u32 a2) {
|
||||
void sub_0206A094(Pokemon *mon, u32 a1, u32 a2) {
|
||||
u32 chance;
|
||||
u16 species;
|
||||
u16 form;
|
||||
|
|
@ -3154,58 +3150,61 @@ void sub_0206A094(Pokemon *pokemon, u32 a1, u32 a2) {
|
|||
u16 item2;
|
||||
if (!(a1 & 0x81)) {
|
||||
chance = (u32)(LCRandom() % 100);
|
||||
species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, 0);
|
||||
form = (u16)Pokemon_GetData(pokemon, MON_DATA_FORM, 0);
|
||||
species = (u16)Pokemon_GetData(mon, MON_DATA_SPECIES, 0);
|
||||
form = (u16)Pokemon_GetData(mon, MON_DATA_FORM, 0);
|
||||
item1 = (u16)Species_GetFormValue(species, form, SPECIES_DATA_HELD_ITEM_COMMON);
|
||||
item2 = (u16)Species_GetFormValue(species, form, SPECIES_DATA_HELD_ITEM_RARE);
|
||||
if (item1 == item2 && item1 != ITEM_NONE) {
|
||||
Pokemon_SetData(pokemon, MON_DATA_HELD_ITEM, &item1);
|
||||
Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item1);
|
||||
} else {
|
||||
if (chance >= sItemOdds[a2][0]) {
|
||||
if (chance < sItemOdds[a2][1]) {
|
||||
Pokemon_SetData(pokemon, MON_DATA_HELD_ITEM, &item1);
|
||||
Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item1);
|
||||
} else {
|
||||
Pokemon_SetData(pokemon, MON_DATA_HELD_ITEM, &item2);
|
||||
Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL sub_0206A13C(Pokemon *pokemon, u32 a1) {
|
||||
return sub_0206A144(&pokemon->box, a1);
|
||||
BOOL sub_0206A13C(Pokemon *mon, u32 tmHM) {
|
||||
return BoxPokemon_CanLearnTMHM(&mon->box, tmHM);
|
||||
}
|
||||
|
||||
BOOL sub_0206A144(BoxPokemon *boxMon, u32 a1) {
|
||||
u16 species = (u16)BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_OR_EGG, NULL);
|
||||
int form = (int)BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL);
|
||||
return sub_0206A16C(species, form, a1);
|
||||
BOOL BoxPokemon_CanLearnTMHM(BoxPokemon *boxMon, u32 tmHM) {
|
||||
u16 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_OR_EGG, NULL);
|
||||
int form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL);
|
||||
|
||||
return Species_CanLearnTMHM(species, form, tmHM);
|
||||
}
|
||||
|
||||
BOOL sub_0206A16C(u16 species, int form, u32 a2) {
|
||||
u32 r4;
|
||||
enum SpeciesDataParam r2;
|
||||
BOOL Species_CanLearnTMHM(u16 species, int form, u32 tmHM) {
|
||||
if (species == SPECIES_EGG) {
|
||||
return FALSE;
|
||||
}
|
||||
if (a2 < 32) {
|
||||
r4 = 1ul << a2;
|
||||
r2 = SPECIES_DATA_TM_LEARNSET_MASK_1;
|
||||
} else if (a2 < 64) {
|
||||
r4 = 1ul << (a2 - 32);
|
||||
r2 = SPECIES_DATA_TM_LEARNSET_MASK_2;
|
||||
} else if (a2 < 96) {
|
||||
r4 = 1ul << (a2 - 64);
|
||||
r2 = SPECIES_DATA_TM_LEARNSET_MASK_3;
|
||||
|
||||
u32 mask;
|
||||
enum SpeciesDataParam param;
|
||||
if (tmHM < 32) {
|
||||
mask = (1 << tmHM);
|
||||
param = SPECIES_DATA_TM_LEARNSET_MASK_1;
|
||||
} else if (tmHM < 64) {
|
||||
mask = (1 << (tmHM - 32));
|
||||
param = SPECIES_DATA_TM_LEARNSET_MASK_2;
|
||||
} else if (tmHM < 96) {
|
||||
mask = (1 << (tmHM - 64));
|
||||
param = SPECIES_DATA_TM_LEARNSET_MASK_3;
|
||||
} else {
|
||||
r4 = 1ul << (a2 - 96);
|
||||
r2 = SPECIES_DATA_TM_LEARNSET_MASK_4;
|
||||
mask = (1 << (tmHM - 96));
|
||||
param = SPECIES_DATA_TM_LEARNSET_MASK_4;
|
||||
}
|
||||
return !!(Species_GetFormValue(species, form, r2) & r4);
|
||||
|
||||
return (Species_GetFormValue(species, form, param) & mask) != 0;
|
||||
}
|
||||
|
||||
void sub_0206A1C4(Pokemon *pokemon) {
|
||||
sub_0206A1CC(&pokemon->box);
|
||||
void sub_0206A1C4(Pokemon *mon) {
|
||||
sub_0206A1CC(&mon->box);
|
||||
}
|
||||
|
||||
void sub_0206A1CC(BoxPokemon *boxMon) {
|
||||
|
|
@ -3239,7 +3238,7 @@ void sub_0206A23C(Pokemon *r5, u32 personality) {
|
|||
Pokemon *sp4;
|
||||
|
||||
sp4 = Pokemon_New(HEAP_ID_DEFAULT);
|
||||
CopyPokemonToPokemon(r5, sp4);
|
||||
Pokemon_Copy(r5, sp4);
|
||||
r4 = &GetSubstruct(&sp4->box, r5->box.personality, 0)->blockA;
|
||||
r6 = &GetSubstruct(&sp4->box, r5->box.personality, 1)->blockB;
|
||||
r7 = &GetSubstruct(&sp4->box, r5->box.personality, 2)->blockC;
|
||||
|
|
@ -3263,12 +3262,12 @@ void sub_0206A23C(Pokemon *r5, u32 personality) {
|
|||
Heap_Free(sp4);
|
||||
}
|
||||
|
||||
void SpeciesData_LoadSpecies(int species, SpeciesData *personal) {
|
||||
ReadWholeNarcMemberByIdPair(personal, NARC_POKETOOL_PERSONAL_PERSONAL, species);
|
||||
void SpeciesData_LoadSpecies(int species, SpeciesData *speciesData) {
|
||||
ReadWholeNarcMemberByIdPair(speciesData, NARC_POKETOOL_PERSONAL_PERSONAL, species);
|
||||
}
|
||||
|
||||
void SpeciesData_LoadForm(int species, int form, SpeciesData *personal) {
|
||||
ReadWholeNarcMemberByIdPair(personal, NARC_POKETOOL_PERSONAL_PERSONAL, ResolveMonForm(species, form));
|
||||
void SpeciesData_LoadForm(int species, int form, SpeciesData *speciesData) {
|
||||
ReadWholeNarcMemberByIdPair(speciesData, NARC_POKETOOL_PERSONAL_PERSONAL, ResolveMonForm(species, form));
|
||||
}
|
||||
|
||||
void LoadMonEvolutionTable(u16 species, struct Evolution *evo) {
|
||||
|
|
@ -3461,8 +3460,8 @@ u16 GetLegendaryMon(u32 idx) {
|
|||
return sBattleFrontierBanlist[idx];
|
||||
}
|
||||
|
||||
BOOL sub_0206A998(Pokemon *pokemon) {
|
||||
u16 species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL);
|
||||
BOOL sub_0206A998(Pokemon *mon) {
|
||||
u16 species = (u16)Pokemon_GetData(mon, MON_DATA_SPECIES, NULL);
|
||||
return IsPokemonLegendaryOrMythical(species);
|
||||
}
|
||||
|
||||
|
|
@ -3505,12 +3504,12 @@ int sub_0206AA30(int x) {
|
|||
}
|
||||
}
|
||||
|
||||
void Pokemon_RemoveCapsule(Pokemon *pokemon) {
|
||||
void Pokemon_RemoveCapsule(Pokemon *mon) {
|
||||
u8 sp0 = 0;
|
||||
CapsuleArray sp1;
|
||||
MI_CpuClearFast(&sp1, sizeof(sp1));
|
||||
Pokemon_SetData(pokemon, MON_DATA_BALL_CAPSULE_ID, &sp0);
|
||||
Pokemon_SetData(pokemon, MON_DATA_BALL_CAPSULE, &sp1);
|
||||
Pokemon_SetData(mon, MON_DATA_BALL_CAPSULE_ID, &sp0);
|
||||
Pokemon_SetData(mon, MON_DATA_BALL_CAPSULE, &sp1);
|
||||
}
|
||||
|
||||
void RestoreBoxMonPP(BoxPokemon *boxMon) {
|
||||
|
|
|
|||
|
|
@ -1894,7 +1894,7 @@ BOOL ScrCmd_GetPokemonForm(ScriptContext *ctx) { // 0095
|
|||
u16 *variable = ScriptGetVarPointer(ctx);
|
||||
|
||||
Party *party = SaveArray_Party_Get(ctx->fieldSystem->saveData);
|
||||
*variable = GetMonUnownLetter(Party_GetMonByIndex(party, partyPosition));
|
||||
*variable = Pokemon_GetForm(Party_GetMonByIndex(party, partyPosition));
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ BOOL ScrCmd_Unk0255(struct ScriptContext *ctx) // 0255
|
|||
sub_0202BFD8(unk, i, pokemon);
|
||||
sub_0208089C(pokemon, player, 2, 0, HEAP_ID_32);
|
||||
|
||||
struct BoxPokemon *box_mon = sub_020690E4(pokemon);
|
||||
struct BoxPokemon *box_mon = Pokemon_GetBoxMon(pokemon);
|
||||
GF_ASSERT(PCStorage_PlaceMonInFirstEmptySlotInAnyBox(pc, box_mon));
|
||||
|
||||
sub_0202C144(ctx->fieldSystem->saveData, pokemon);
|
||||
|
|
|
|||
|
|
@ -570,7 +570,7 @@ BOOL ScrCmd_ForgetPartyMonMove(struct ScriptContext *ctx) // 01C9
|
|||
struct Party *party = SaveArray_Party_Get(fieldSystem->saveData);
|
||||
struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot);
|
||||
|
||||
sub_020699A4(party_mon, move_slot);
|
||||
Pokemon_ClearMoveSlot(party_mon, move_slot);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ BOOL GiveEgg(enum HeapID heapID, struct SaveData *save, u16 species, int level,
|
|||
|
||||
void PartyMonSetMoveInSlot(struct Party *party, int partySlot, int moveSlot, u16 move) {
|
||||
struct Pokemon *mon = Party_GetMonByIndex(party, partySlot);
|
||||
MonSetMoveInSlot(mon, move, (u8)moveSlot);
|
||||
Pokemon_SetMoveInSlot(mon, move, (u8)moveSlot);
|
||||
}
|
||||
|
||||
int GetIdxOfFirstPartyMonWithMove(struct Party *party, int move) {
|
||||
|
|
|
|||
|
|
@ -323,7 +323,7 @@ void CreateNPCTrainerParty(BattleSetup *setup, s32 party_id, enum HeapID heapID)
|
|||
iv = (u8)((monSpeciesMoves[i].difficulty * 31) / 255);
|
||||
Pokemon_InitWithParams(pokemon, monSpeciesMoves[i].species, monSpeciesMoves[i].level, iv, 1, (s32)personality, 2, 0);
|
||||
for (j = 0; j < 4; j++) {
|
||||
MonSetMoveInSlot(pokemon, monSpeciesMoves[i].moves[j], (u8)j);
|
||||
Pokemon_SetMoveInSlot(pokemon, monSpeciesMoves[i].moves[j], (u8)j);
|
||||
}
|
||||
Party_AddMon(setup->party[party_id], pokemon);
|
||||
}
|
||||
|
|
@ -360,7 +360,7 @@ void CreateNPCTrainerParty(BattleSetup *setup, s32 party_id, enum HeapID heapID)
|
|||
Pokemon_InitWithParams(pokemon, monSpeciesItemMoves[i].species, monSpeciesItemMoves[i].level, iv, 1, (s32)personality, 2, 0);
|
||||
Pokemon_SetData(pokemon, MON_DATA_HELD_ITEM, &monSpeciesItemMoves[i].item);
|
||||
for (j = 0; j < 4; j++) {
|
||||
MonSetMoveInSlot(pokemon, monSpeciesItemMoves[i].moves[j], (u8)j);
|
||||
Pokemon_SetMoveInSlot(pokemon, monSpeciesItemMoves[i].moves[j], (u8)j);
|
||||
}
|
||||
Party_AddMon(setup->party[party_id], pokemon);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ u32 sub_0206B688(struct BoxPokemon *boxmon) {
|
|||
}
|
||||
|
||||
u32 sub_0206B6C8(struct Pokemon *pokemon) {
|
||||
return sub_0206B688(sub_020690E4(pokemon));
|
||||
return sub_0206B688(Pokemon_GetBoxMon(pokemon));
|
||||
}
|
||||
|
||||
u32 sub_0206B6D4(u32 species, u32 is_egg, u32 form) {
|
||||
|
|
@ -56,7 +56,7 @@ u16 BoxMon_GetAlternateForm(struct BoxPokemon *boxmon) {
|
|||
u32 species = BoxPokemon_GetData(boxmon, MON_DATA_SPECIES_OR_EGG, NULL);
|
||||
switch (species) {
|
||||
case SPECIES_UNOWN:
|
||||
return GetBoxMonUnownLetter(boxmon);
|
||||
return BoxPokemon_GetForm(boxmon);
|
||||
case SPECIES_DEOXYS:
|
||||
case SPECIES_BURMY:
|
||||
case SPECIES_WORMADAM:
|
||||
|
|
@ -109,7 +109,7 @@ u32 sub_0206B83C(struct BoxPokemon *boxmon) {
|
|||
}
|
||||
|
||||
u32 sub_0206B87C(struct Pokemon *pokemon) {
|
||||
return sub_0206B83C(sub_020690E4(pokemon));
|
||||
return sub_0206B83C(Pokemon_GetBoxMon(pokemon));
|
||||
}
|
||||
|
||||
u32 sub_0206B888(void) {
|
||||
|
|
|
|||
|
|
@ -285,32 +285,32 @@ void sub_02068FE0(struct SomeDrawPokemonStruct *a0, u16 a1, int a2);
|
|||
void sub_02069010(void *dest, int a1);
|
||||
void sub_02069038(u32 a0, u32 a1, u32 a2, s32 a3, u32 a4, u32 a5, u32 a6);
|
||||
void sub_020690AC(struct SomeDrawPokemonStruct *a0, u32 a1);
|
||||
u32 sub_020690C4(void);
|
||||
u32 sub_020690C8(void);
|
||||
u8 GetBoxMonUnownLetter(BoxPokemon *boxMon);
|
||||
u8 GetMonUnownLetter(Pokemon *mon);
|
||||
void LoadLevelUpLearnset_HandleAlternateForm(int species, int form, u16 *levelUpLearnset);
|
||||
BoxPokemon *sub_020690E4(Pokemon *mon);
|
||||
u32 Pokemon_Size(void);
|
||||
u32 BoxPokemon_Size(void);
|
||||
u8 BoxPokemon_GetForm(BoxPokemon *boxMon);
|
||||
u8 Pokemon_GetForm(Pokemon *mon);
|
||||
void Species_LoadLevelUpLearnset(int species, int form, u16 *levelUpLearnset);
|
||||
BoxPokemon *Pokemon_GetBoxMon(Pokemon *mon);
|
||||
|
||||
u16 GetMonEvolution(struct Party *party, Pokemon *mon, u32 context, u32 usedItem, u32 *method_ret);
|
||||
u16 ReadFromPersonalPmsNarc(u16 species);
|
||||
u16 GetEggSpecies(u16 species);
|
||||
BOOL sub_020690E8(Pokemon *mon);
|
||||
u32 sub_02069698(Pokemon *mon, u16 move);
|
||||
void sub_02069708(Pokemon *mon, u16 move);
|
||||
void sub_02069718(BoxPokemon *boxMon, u16 move);
|
||||
void MonSetMoveInSlot(Pokemon *mon, u16 move, u8 slot);
|
||||
u32 sub_02069818(Pokemon *mon, u32 *r5, u16 *sp0);
|
||||
void sub_020698E0(Pokemon *mon, int slot1, int slot2);
|
||||
void sub_020698E8(BoxPokemon *boxMon, int slot1, int slot2);
|
||||
void sub_020699A4(Pokemon *mon, u32 slot);
|
||||
void CopyBoxPokemonToPokemon(BoxPokemon *src, Pokemon *dest);
|
||||
BOOL Pokemon_TryLevelUp(Pokemon *mon);
|
||||
u32 Pokemon_TryAppendMove(Pokemon *mon, u16 move);
|
||||
void Pokemon_ForceAppendMove(Pokemon *mon, u16 move);
|
||||
void BoxPokemon_ForceAppendMove(BoxPokemon *boxMon, u16 move);
|
||||
void Pokemon_SetMoveInSlot(Pokemon *mon, u16 move, u8 slot);
|
||||
u32 Pokemon_TryLevelUpMove(Pokemon *mon, u32 *index, u16 *move);
|
||||
void Pokemon_SwapMoveSlots(Pokemon *mon, int slot1, int slot2);
|
||||
void BoxPokemon_SwapMoveSlots(BoxPokemon *boxMon, int slot1, int slot2);
|
||||
void Pokemon_ClearMoveSlot(Pokemon *mon, u32 slot);
|
||||
void BoxPokemon_CopyToPokemon(BoxPokemon *src, Pokemon *dest);
|
||||
u8 Party_GetMaxLevel(struct Party *party);
|
||||
u16 SpeciesToSinnohDexNo(u16 species);
|
||||
u16 SinnohDexNoToSpecies(u16 sinnoh_dex);
|
||||
void CopyPokemonToPokemon(Pokemon *src, Pokemon *dest);
|
||||
void CopyPokemonToBoxPokemon(Pokemon *src, BoxPokemon *dest);
|
||||
void CopyBoxPokemonToBoxPokemon(BoxPokemon *src, BoxPokemon *dest);
|
||||
void Pokemon_Copy(Pokemon *src, Pokemon *dest);
|
||||
void Pokemon_CopyToBoxPokemon(Pokemon *src, BoxPokemon *dest);
|
||||
void BoxPokemon_Copy(BoxPokemon *src, BoxPokemon *dest);
|
||||
s8 MonGetFlavorPreference(Pokemon *mon, int flavor);
|
||||
int Species_LoadLearnsetTable(u16 species, u32 form, u16 *dest);
|
||||
void Party_GivePokerusAtRandom(struct Party *party);
|
||||
|
|
@ -322,7 +322,7 @@ void Pokemon_UpdateArceusForm(Pokemon *mon);
|
|||
void sub_02069FB0(struct SaveChatotSoundClip *r7, u32 r5, u16 r4, s32 r6, s32 sp18, u32 sp1C, enum HeapID heapID);
|
||||
void sub_0206A014(Pokemon *mon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, enum HeapID heapID);
|
||||
void sub_0206A094(Pokemon *mon, u32 a1, u32 a2);
|
||||
BOOL sub_0206A13C(Pokemon *mon, u32 a1);
|
||||
BOOL sub_0206A13C(Pokemon *mon, u32 tmHM);
|
||||
void sub_0206A1C4(Pokemon *mon);
|
||||
void sub_0206A23C(Pokemon *r5, u32 personality);
|
||||
int LowestFlagNo(u32 mask);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user