summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/code_801DCC4.s522
-rw-r--r--asm/code_80428A0.s4
-rw-r--r--asm/code_80450F8.s6
-rw-r--r--asm/code_8048480.s6
-rw-r--r--asm/code_80521D0.s30
-rw-r--r--asm/code_8057144.s6
-rw-r--r--asm/code_8057824.s58
-rw-r--r--asm/code_807001C.s2
-rw-r--r--asm/code_80718D8.s10
-rw-r--r--asm/code_8075BA4.s20
-rw-r--r--asm/code_8090208.s2
-rw-r--r--asm/code_8094148.s749
-rw-r--r--asm/friend_area_action_menu_1.s391
-rw-r--r--asm/friend_list_menu.s2
-rw-r--r--asm/kangaskhan_storage_2.s649
-rw-r--r--asm/moves_1.s (renamed from asm/code_8092334.s)1725
-rw-r--r--asm/pokemon.s4
-rw-r--r--data/data_80D47B8.s5
-rw-r--r--data/move/move_data.json826
-rw-r--r--include/constants/move.h12
-rw-r--r--include/friend_area_action_menu.h7
-rw-r--r--include/gulpin_shop.h8
-rw-r--r--include/item.h21
-rw-r--r--include/kangaskhan_storage.h27
-rw-r--r--include/pokemon.h10
-rwxr-xr-xld_script.txt7
-rw-r--r--src/code_801AFA4.c4
-rw-r--r--src/code_801DCC4.c22
-rw-r--r--src/code_8057824.c7
-rw-r--r--src/friend_area_action_menu.c14
-rw-r--r--src/friend_area_action_menu_1.c194
-rw-r--r--src/gulpin_shop.c4
-rw-r--r--src/gulpin_shop_1.c4
-rw-r--r--src/hints_menu.c285
-rw-r--r--src/items.c18
-rw-r--r--src/kangaskhan_storage_2.c25
-rw-r--r--src/kangaskhan_storage_3.c340
-rw-r--r--src/kecleon_items_1.c3
-rw-r--r--src/moves.c336
-rw-r--r--src/moves_1.c100
-rw-r--r--src/pokemon_mid.c8
-rw-r--r--tools/dungeonjson/dungeonjson.cpp2
42 files changed, 2601 insertions, 3874 deletions
diff --git a/asm/code_801DCC4.s b/asm/code_801DCC4.s
index ed678b6..52212b1 100644
--- a/asm/code_801DCC4.s
+++ b/asm/code_801DCC4.s
@@ -308,526 +308,4 @@ _0801E3E8: .4byte gWindowBGGreenString
_0801E3EC: .4byte gUnknown_203B260
thumb_func_end CreateOptionsMenu
- thumb_func_start sub_801E3F0
-sub_801E3F0:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _0801E46C
- ldr r0, [r4]
- cmp r0, 0
- bne _0801E406
- movs r0, 0x9C
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_0801E406:
- ldr r0, [r4]
- str r5, [r0, 0x34]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x3C
- adds r1, r0, r1
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801E470
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r4]
- ldr r0, [r0, 0x38]
- movs r1, 0xA
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x5
- movs r2, 0xA
- adds r3, r5, 0
- bl sub_8013818
- bl sub_801E594
- bl sub_801E5E8
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E46C: .4byte gUnknown_203B264
-_0801E470: .4byte gUnknown_80DC0BC
- thumb_func_end sub_801E3F0
-
- thumb_func_start sub_801E474
-sub_801E474:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801E48C
- ldr r0, _0801E488
- ldr r0, [r0]
- bl sub_8013660
- movs r0, 0
- b _0801E4EE
- .align 2, 0
-_0801E488: .4byte gUnknown_203B264
-_0801E48C:
- ldr r0, _0801E4A4
- ldr r0, [r0]
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801E4AE
- cmp r0, 0x2
- bgt _0801E4A8
- cmp r0, 0x1
- beq _0801E4B8
- b _0801E4CC
- .align 2, 0
-_0801E4A4: .4byte gUnknown_203B264
-_0801E4A8:
- cmp r0, 0x4
- beq _0801E4C2
- b _0801E4CC
-_0801E4AE:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801E4EE
-_0801E4B8:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0801E4EE
-_0801E4C2:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _0801E4EE
-_0801E4CC:
- ldr r0, _0801E4E0
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801E4E4
- movs r0, 0
- b _0801E4EE
- .align 2, 0
-_0801E4E0: .4byte gUnknown_203B264
-_0801E4E4:
- bl sub_801E594
- bl sub_801E5E8
- movs r0, 0x1
-_0801E4EE:
- pop {r1}
- bx r1
- thumb_func_end sub_801E474
-
- thumb_func_start sub_801E4F4
-sub_801E4F4:
- ldr r0, _0801E50C
- ldr r1, [r0]
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- muls r0, r2
- movs r2, 0x18
- ldrsh r1, [r1, r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_0801E50C: .4byte gUnknown_203B264
- thumb_func_end sub_801E4F4
-
- thumb_func_start sub_801E510
-sub_801E510:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _0801E548
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- bl sub_8013984
- bl sub_801E594
- bl sub_801E5E8
- cmp r4, 0
- beq _0801E542
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0801E542:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E548: .4byte gUnknown_203B264
- thumb_func_end sub_801E510
-
- thumb_func_start sub_801E54C
-sub_801E54C:
- push {r4,r5,lr}
- ldr r4, _0801E58C
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E586
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801E590
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E586:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E58C: .4byte gUnknown_203B264
-_0801E590: .4byte gUnknown_80DC0A0
- thumb_func_end sub_801E54C
-
- thumb_func_start sub_801E594
-sub_801E594:
- push {r4,lr}
- ldr r4, _0801E5E4
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E5E4: .4byte gUnknown_203B264
- thumb_func_end sub_801E594
-
- thumb_func_start sub_801E5E8
-sub_801E5E8:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r4, _0801E64C
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r2, _0801E650
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- bl xxx_call_draw_string
- movs r5, 0
- adds r6, r4, 0
- ldr r4, _0801E654
-_0801E616:
- ldr r0, [r6]
- adds r1, r5, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, [r4]
- ldr r0, [r6]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- bl xxx_call_draw_string
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x4
- ble _0801E616
- ldr r0, _0801E64C
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E64C: .4byte gUnknown_203B264
-_0801E650: .4byte gUnknown_80DC0D4
-_0801E654: .4byte gUnknown_80DAA98
- thumb_func_end sub_801E5E8
-
- thumb_func_start sub_801E658
-sub_801E658:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _0801E6C4
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x34]
- adds r1, r0, 0
- adds r1, 0x3C
- str r1, [r0, 0x38]
- adds r0, r1, 0
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801E6C8
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r4]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r1, 0x5
- movs r2, 0x1
- bl sub_8013818
- ldr r0, [r4]
- strh r5, [r0, 0x1E]
- bl sub_801E714
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E6C4: .4byte gUnknown_203B268
-_0801E6C8: .4byte gUnknown_80DC0FC
- thumb_func_end sub_801E658
-
- thumb_func_start sub_801E6CC
-sub_801E6CC:
- push {r4,lr}
- ldr r4, _0801E6E8
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _0801E6EC
- cmp r0, 0x2
- bne _0801E6F6
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801E70C
- .align 2, 0
-_0801E6E8: .4byte gUnknown_203B268
-_0801E6EC:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0801E70C
-_0801E6F6:
- ldr r0, [r4]
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- bne _0801E706
- movs r0, 0
- b _0801E70C
-_0801E706:
- bl sub_801E714
- movs r0, 0x1
-_0801E70C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801E6CC
-
- thumb_func_start sub_801E714
-sub_801E714:
- push {lr}
- bl sub_801E76C
- bl sub_801E7AC
- pop {r0}
- bx r0
- thumb_func_end sub_801E714
-
- thumb_func_start sub_801E724
-sub_801E724:
- push {r4,r5,lr}
- ldr r4, _0801E764
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E75E
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801E768
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E75E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E764: .4byte gUnknown_203B268
-_0801E768: .4byte gUnknown_80DC0E4
- thumb_func_end sub_801E724
-
- thumb_func_start sub_801E76C
-sub_801E76C:
- push {r4,lr}
- ldr r4, _0801E7A8
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- adds r0, 0x9C
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- adds r0, 0x9D
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0xF
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E7A8: .4byte gUnknown_203B268
- thumb_func_end sub_801E76C
-
- thumb_func_start sub_801E7AC
-sub_801E7AC:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, _0801E804
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r3, [r5]
- movs r0, 0x1E
- ldrsh r1, [r3, r0]
- lsls r1, 3
- adds r0, r1, 0
- adds r0, 0x10
- ldr r4, _0801E808
- adds r1, r4
- ldr r2, [r1]
- ldr r3, [r3, 0x34]
- movs r6, 0
- str r6, [sp]
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r5]
- movs r2, 0x1E
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
- ldr r2, [r0]
- ldr r3, [r1, 0x34]
- str r6, [sp]
- movs r0, 0xA
- movs r1, 0x14
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E804: .4byte gUnknown_203B268
-_0801E808: .4byte gUnknown_80DAA98
- thumb_func_end sub_801E7AC
-
.align 2,0
diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s
index 52a4ab0..11aae2e 100644
--- a/asm/code_80428A0.s
+++ b/asm/code_80428A0.s
@@ -2391,7 +2391,7 @@ _08043E46:
cmp r0, 0
beq _08043E58
adds r0, r5, 0
- bl sub_8092BF4
+ bl GetMoveMaxPP
strb r0, [r4, 0x4]
_08043E58:
adds r4, 0x8
@@ -2710,7 +2710,7 @@ _080440D0:
bne _080440F0
ldrh r1, [r5]
adds r0, r2, 0
- bl sub_8092AD4
+ bl InitZeroedPPPokemonMove
b _080440F8
.align 2, 0
_080440E4: .4byte gRecruitedPokemonRef
diff --git a/asm/code_80450F8.s b/asm/code_80450F8.s
index 70bbadf..3040a44 100644
--- a/asm/code_80450F8.s
+++ b/asm/code_80450F8.s
@@ -4593,7 +4593,7 @@ _080473E0:
add r4, sp, 0x208
adds r0, r4, 0
ldr r1, _080474B8
- bl sub_8092A88
+ bl InitPokemonMove
ldr r0, [r5, 0x10]
adds r1, r4, 0
bl sub_80571F0
@@ -5120,7 +5120,7 @@ _080477FA:
lsrs r7, r1, 31
ldr r1, _08047854
add r0, sp, 0x8
- bl sub_8092A88
+ bl InitPokemonMove
ldr r0, [r4, 0x10]
add r1, sp, 0x8
bl sub_80571F0
@@ -6275,7 +6275,7 @@ sub_80482FC:
add r5, sp, 0x4
ldr r1, _0804833C
adds r0, r5, 0
- bl sub_8092A88
+ bl InitPokemonMove
strb r6, [r5, 0x4]
movs r3, 0x80
lsls r3, 1
diff --git a/asm/code_8048480.s b/asm/code_8048480.s
index f7665b0..79a323d 100644
--- a/asm/code_8048480.s
+++ b/asm/code_8048480.s
@@ -118,12 +118,12 @@ _080485EE:
cmp r0, 0
beq _0804862C
adds r0, r5, 0
- bl sub_8092BC0
+ bl GetMovePower
cmp r0, 0
beq _0804862C
ldrb r6, [r4, 0x5]
adds r0, r5, 0
- bl sub_8092C0C
+ bl GetMoveUnk12
adds r1, r0, 0
ldrb r0, [r4, 0x5]
add r0, r10
@@ -1615,7 +1615,7 @@ _080492FA:
ldrb r4, [r5, 0x4]
adds r0, r7, 0
str r2, [sp]
- bl sub_8092BF4
+ bl GetMoveMaxPP
ldr r2, [sp]
cmp r4, r0
beq _0804930C
diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s
index 2352de4..0bbdd13 100644
--- a/asm/code_80521D0.s
+++ b/asm/code_80521D0.s
@@ -2451,7 +2451,7 @@ _08053734:
ldrb r1, [r1]
strb r1, [r0]
ldr r0, [sp, 0x18]
- bl sub_8092CD8
+ bl GetMoveTargetsUser
lsls r0, 24
cmp r0, 0
beq _080537B4
@@ -2856,7 +2856,7 @@ _08053A86:
cmp r0, 0x5
bne _08053AE8
ldr r0, [sp, 0x18]
- bl sub_8092CC0
+ bl GetMoveAffectedByMagicCoat
lsls r0, 24
cmp r0, 0
beq _08053B5C
@@ -3006,7 +3006,7 @@ _08053BC0:
cmp r0, 0
beq _08053BFA
mov r0, r8
- bl sub_8092D08
+ bl IsBlockedBySoundproof
lsls r0, 24
cmp r0, 0
beq _08053BFA
@@ -5866,7 +5866,7 @@ sub_8055640:
bl sub_8071A44
mov r8, r0
adds r0, r5, 0
- bl sub_8092C24
+ bl GetMoveCriticalHitChance
str r0, [sp]
add r0, sp, 0x14
str r0, [sp, 0x4]
@@ -5920,7 +5920,7 @@ sub_80556BC:
bl sub_8071A44
mov r8, r0
adds r0, r5, 0
- bl sub_8092C24
+ bl GetMoveCriticalHitChance
str r0, [sp]
add r0, sp, 0x14
str r0, [sp, 0x4]
@@ -6179,7 +6179,7 @@ sub_80558DC:
mov r9, r2
ldr r1, [r1, 0x70]
mov r10, r1
- bl sub_8092B00
+ bl GetMoveType
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x1
@@ -7042,7 +7042,7 @@ sub_8055FA0:
adds r0, r1
ldrh r1, [r0]
adds r0, r4, 0
- bl sub_8092A88
+ bl InitPokemonMove
ldrb r1, [r7]
add r0, sp, 0x110
strb r1, [r0]
@@ -7084,7 +7084,7 @@ _0805602C:
adds r0, r1
ldrh r1, [r0]
adds r0, r4, 0
- bl sub_8092A88
+ bl InitPokemonMove
ldrb r1, [r7]
add r0, sp, 0x118
strb r1, [r0]
@@ -7142,7 +7142,7 @@ _08056084:
beq _080560CC
_080560AE:
ldrh r0, [r7, 0x2]
- bl sub_809422C
+ bl DoesMoveCharge
lsls r0, 24
cmp r0, 0
beq _080560CC
@@ -7194,7 +7194,7 @@ _08056124:
cmp r0, 0
bne _08056132
ldrh r0, [r7, 0x2]
- bl sub_8092CA8
+ bl GetMoveUseText
b _08056136
_08056132:
ldr r0, _08056194
@@ -7222,7 +7222,7 @@ _08056156:
cmp r0, 0x1
bne _080561A0
ldrh r0, [r7, 0x2]
- bl sub_8092CF0
+ bl GetMoveAffectedByMuzzled
lsls r0, 24
cmp r0, 0
beq _080561A0
@@ -8461,7 +8461,7 @@ sub_8056B34:
lsls r4, 24
lsrs r4, 24
mov r0, r8
- bl sub_8092BD8
+ bl GetMoveAccuracy
adds r5, r0, 0
movs r0, 0x64
bl DungeonRandomCapped
@@ -8608,7 +8608,7 @@ _08056C5A:
cmp r0, 0
beq _08056C86
mov r0, r8
- bl sub_8092B00
+ bl GetMoveType
lsls r0, 24
lsrs r0, 24
bl sub_8092354
@@ -9152,7 +9152,7 @@ _0805706C: .4byte gUnknown_203B438
thumb_func_start sub_8057070
sub_8057070:
push {lr}
- bl sub_8092BA8
+ bl GetMoveHitCount
cmp r0, 0
bne _08057082
movs r0, 0x2
@@ -9231,4 +9231,4 @@ _080570EA:
_080570F0: .4byte gUnknown_81069F4
thumb_func_end sub_80570AC
- .align 2, 0 \ No newline at end of file
+ .align 2, 0
diff --git a/asm/code_8057144.s b/asm/code_8057144.s
index ce48efa..09ba149 100644
--- a/asm/code_8057144.s
+++ b/asm/code_8057144.s
@@ -392,7 +392,7 @@ sub_80573CC:
cmp r1, 0x5
bne _08057414
adds r0, r4, 0
- bl sub_8092C54
+ bl GetMoveDealsDirectDamage
lsls r0, 24
cmp r0, 0
beq _0805743E
@@ -460,7 +460,7 @@ sub_805744C:
cmp r1, 0x5
bne _0805748E
adds r0, r4, 0
- bl sub_8092C54
+ bl GetMoveDealsDirectDamage
lsls r0, 24
cmp r0, 0
beq _080574B6
@@ -603,7 +603,7 @@ sub_805755C:
b _08057580
_08057576:
adds r0, r4, 0
- bl sub_809422C
+ bl DoesMoveCharge
lsls r0, 24
lsrs r0, 24
_08057580:
diff --git a/asm/code_8057824.s b/asm/code_8057824.s
index a14ab18..554a536 100644
--- a/asm/code_8057824.s
+++ b/asm/code_8057824.s
@@ -162,7 +162,7 @@ _08057B12:
movs r1, 0xB0
lsls r1, 1
mov r0, sp
- bl sub_8092A88
+ bl InitPokemonMove
ldrb r1, [r4]
movs r0, 0x20
orrs r0, r1
@@ -896,7 +896,7 @@ _080580A0:
bge _08058088
_080580B0:
adds r0, r5, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -1285,7 +1285,7 @@ sub_805836C:
adds r4, r0, 0
_0805838A:
adds r0, r2, 0
- bl sub_8092B00
+ bl GetMoveType
lsls r0, 24
lsrs r0, 24
add r1, sp, 0x18
@@ -1470,7 +1470,7 @@ sub_80584C0:
movs r5, 0
_080584F0:
adds r0, r6, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -2902,7 +2902,7 @@ _08058F7E:
adds r0, r5, r4
ldrh r1, [r0]
mov r0, sp
- bl sub_8092A88
+ bl InitPokemonMove
adds r4, 0x4
adds r5, r4
ldr r4, [r5]
@@ -2975,7 +2975,7 @@ sub_8059004:
adds r5, r2, 0
adds r6, r3, 0
adds r0, r5, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3094,7 +3094,7 @@ sub_80590D4:
mov r1, r9
strb r1, [r0]
adds r0, r5, 0
- bl sub_8092B00
+ bl GetMoveType
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3125,7 +3125,7 @@ _0805911C:
_08059130: .4byte gUnknown_80FEB88
_08059134:
adds r0, r5, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3469,7 +3469,7 @@ _080593C8: .4byte gUnknown_80FE3BC
_080593CC:
adds r0, r5, 0
mov r1, r12
- bl sub_8092A88
+ bl InitPokemonMove
ldr r0, _0805941C
adds r1, r5, 0
movs r2, 0
@@ -3765,7 +3765,7 @@ sub_80595EC:
add r0, sp, 0x18
strb r7, [r0]
adds r0, r5, 0
- bl sub_8092B00
+ bl GetMoveType
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3785,7 +3785,7 @@ sub_80595EC:
_0805962C: .4byte gUnknown_80FEB8C
_08059630:
adds r0, r5, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3916,7 +3916,7 @@ sub_8059714:
add r0, sp, 0x18
strb r5, [r0]
adds r0, r6, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -4023,7 +4023,7 @@ sub_80597F0:
adds r5, r2, 0
adds r6, r3, 0
adds r0, r5, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -4328,7 +4328,7 @@ sub_8059A2C:
ldrb r0, [r0, 0x9]
mov r10, r0
adds r0, r6, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -4433,7 +4433,7 @@ sub_8059AF8:
add r0, sp, 0x18
strb r7, [r0]
adds r0, r5, 0
- bl sub_8092B00
+ bl GetMoveType
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4453,7 +4453,7 @@ sub_8059AF8:
_08059B38: .4byte gUnknown_80FEB90
_08059B3C:
adds r0, r5, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -4921,7 +4921,7 @@ _08059E8A:
bl sub_8071A44
adds r5, r0, 0
adds r0, r7, 0
- bl sub_8092C24
+ bl GetMoveCriticalHitChance
str r0, [sp]
add r2, sp, 0x18
str r2, [sp, 0x4]
@@ -5103,7 +5103,7 @@ _08059FFE:
bl sub_8071A44
adds r5, r0, 0
adds r0, r7, 0
- bl sub_8092C24
+ bl GetMoveCriticalHitChance
str r0, [sp]
add r2, sp, 0x18
str r2, [sp, 0x4]
@@ -6340,7 +6340,7 @@ _0805A94C:
add r4, sp, 0x1C
ldr r1, _0805AA44
adds r0, r4, 0
- bl sub_8092A88
+ bl InitPokemonMove
adds r0, r5, 0
adds r1, r4, 0
bl sub_80571F0
@@ -7957,7 +7957,7 @@ _0805B588:
bge _0805B570
_0805B598:
adds r0, r6, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -8039,7 +8039,7 @@ sub_805B618:
adds r0, r4, r5
ldrh r1, [r0]
mov r0, sp
- bl sub_8092A88
+ bl InitPokemonMove
adds r5, 0x4
adds r4, r5
ldr r4, [r4]
@@ -8295,7 +8295,7 @@ sub_805B808:
add r0, sp, 0x18
strb r5, [r0]
adds r0, r6, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -9523,7 +9523,7 @@ sub_805C138:
add r0, sp, 0x18
strb r5, [r0]
adds r0, r6, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -9643,7 +9643,7 @@ sub_805C208:
bl GetSizeOrbDmg
mov r10, r0
adds r0, r6, 0
- bl sub_8092B00
+ bl GetMoveType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -10965,7 +10965,7 @@ sub_805CEB8:
cmp r0, 0x1
bne _0805CEE0
adds r0, r7, 0
- bl sub_8092C3C
+ bl GetMoveCannotHitFrozen
lsls r0, 24
cmp r0, 0
beq _0805CEE0
@@ -24313,7 +24313,7 @@ sub_8063C88:
lsls r1, 1
adds r0, r1
ldrh r0, [r0]
- bl sub_809422C
+ bl DoesMoveCharge
lsls r0, 24
cmp r0, 0
beq _08063CAE
@@ -24333,7 +24333,7 @@ _08063CAE:
adds r4, r0, r4
_08063CBC:
ldrh r0, [r4, 0x2]
- bl sub_809422C
+ bl DoesMoveCharge
lsls r0, 24
cmp r0, 0
bne _08063CA6
@@ -31816,7 +31816,7 @@ sub_8067904:
str r0, [r1]
add r0, sp, 0x8
mov r1, r9
- bl sub_8092A88
+ bl InitPokemonMove
adds r0, r6, 0
adds r0, 0xBC
ldrb r0, [r0]
@@ -37270,7 +37270,7 @@ _0806A3A0:
orrs r0, r1
strb r0, [r4, 0x1]
adds r0, r5, 0
- bl sub_8092BF4
+ bl GetMoveMaxPP
strb r0, [r4, 0x4]
_0806A3C2:
adds r4, 0x8
diff --git a/asm/code_807001C.s b/asm/code_807001C.s
index 5d56aeb..5d900ee 100644
--- a/asm/code_807001C.s
+++ b/asm/code_807001C.s
@@ -1558,4 +1558,4 @@ _08070B68:
bx r1
thumb_func_end sub_8070B48
- .align 2, 0 \ No newline at end of file
+ .align 2, 0
diff --git a/asm/code_80718D8.s b/asm/code_80718D8.s
index e93f114..7eeb1e9 100644
--- a/asm/code_80718D8.s
+++ b/asm/code_80718D8.s
@@ -190,7 +190,7 @@ sub_8071A1C:
cmp r1, r0
beq _08071A38
adds r0, r2, 0
- bl sub_8092B00
+ bl GetMoveType
lsls r0, 24
lsrs r0, 24
b _08071A3E
@@ -214,7 +214,7 @@ sub_8071A44:
cmp r1, r0
beq _08071A60
adds r0, r4, 0
- bl sub_8092BC0
+ bl GetMovePower
ldrb r1, [r4, 0x5]
adds r0, r1
b _08071A6A
@@ -1983,7 +1983,7 @@ _080727E4:
bne _08072806
ldrh r1, [r6]
adds r0, r3, 0
- bl sub_8092A88
+ bl InitPokemonMove
ldrb r1, [r5]
movs r0, 0x4
orrs r0, r1
@@ -2177,7 +2177,7 @@ _08072964:
bne _08072980
adds r0, r2, 0
adds r1, r5, 0
- bl sub_8092A88
+ bl InitPokemonMove
ldrb r1, [r4, 0x1]
movs r0, 0x4
orrs r0, r1
@@ -6311,7 +6311,7 @@ _08074A46:
add r4, sp, 0x28
ldr r1, _08074B48
adds r0, r4, 0
- bl sub_8092A88
+ bl InitPokemonMove
ldrb r0, [r4]
movs r1, 0x10
orrs r0, r1
diff --git a/asm/code_8075BA4.s b/asm/code_8075BA4.s
index c7f9c58..d872a55 100644
--- a/asm/code_8075BA4.s
+++ b/asm/code_8075BA4.s
@@ -6847,7 +6847,7 @@ _08079326:
ldrb r0, [r4, 0x4]
str r0, [sp]
adds r0, r5, 0
- bl sub_8092BF4
+ bl GetMoveMaxPP
str r0, [sp, 0x4]
ldr r1, [sp]
ldr r0, [sp, 0x4]
@@ -12176,7 +12176,7 @@ _0807BCB0:
movs r1, 0xB0
lsls r1, 1
adds r0, r4, 0
- bl sub_8092A88
+ bl InitPokemonMove
mov r0, sp
mov r1, r10
adds r2, r4, 0
@@ -12380,7 +12380,7 @@ _0807BE38:
b _0807BE54
_0807BE4A:
adds r0, r6, 0
- bl sub_8092B90
+ bl GetMoveWeight
lsls r0, 24
lsrs r0, 24
_0807BE54:
@@ -12698,7 +12698,7 @@ _0807C06E:
cmp r0, 0x5
bne _0807C0B0
mov r0, r10
- bl sub_8092C54
+ bl GetMoveDealsDirectDamage
lsls r0, 24
cmp r0, 0
beq _0807C0C4
@@ -13610,7 +13610,7 @@ _0807C77C:
_0807C78A:
mov r0, r8
movs r1, 0x2
- bl sub_8092BD8
+ bl GetMoveAccuracy
adds r4, r0, 0
movs r0, 0x64
bl DungeonRandomCapped
@@ -14176,7 +14176,7 @@ _0807CBAC:
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
- bl sub_8092A88
+ bl InitPokemonMove
ldrb r0, [r7, 0x7]
mov r10, r4
mov r9, r5
@@ -14394,7 +14394,7 @@ sub_807CD64:
_0807CD88:
adds r0, r4, 0
adds r1, r5, 0
- bl sub_8092AE0
+ bl GetMoveTargetingFlags
lsls r0, 16
asrs r0, 16
_0807CD94:
@@ -14625,7 +14625,7 @@ _0807CF4E:
add r4, sp, 0x1C
ldr r1, _0807D058
adds r0, r4, 0
- bl sub_8092A88
+ bl InitPokemonMove
ldr r0, [sp, 0x28]
adds r1, r4, 0
bl sub_80571F0
@@ -16903,7 +16903,7 @@ sub_807E1A0:
add r4, sp, 0x1C
ldr r1, _0807E20C
adds r0, r4, 0
- bl sub_8092A88
+ bl InitPokemonMove
adds r0, r6, 0
adds r1, r4, 0
bl sub_80571F0
@@ -19797,7 +19797,7 @@ _0807F8FA:
add r4, sp, 0xE4
ldr r1, _0807F9AC
adds r0, r4, 0
- bl sub_8092A88
+ bl InitPokemonMove
adds r0, r6, 0
adds r1, r4, 0
bl sub_80571F0
diff --git a/asm/code_8090208.s b/asm/code_8090208.s
index 05fb931..463cffa 100644
--- a/asm/code_8090208.s
+++ b/asm/code_8090208.s
@@ -412,7 +412,7 @@ _080905A6:
adds r0, 0xCC
ldrh r1, [r0]
adds r0, r4, 0
- bl sub_8092A88
+ bl InitPokemonMove
ldr r0, _080905E0
adds r1, r4, 0
movs r2, 0
diff --git a/asm/code_8094148.s b/asm/code_8094148.s
new file mode 100644
index 0000000..66feab4
--- /dev/null
+++ b/asm/code_8094148.s
@@ -0,0 +1,749 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8094268
+sub_8094268:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r3, r1, 0
+ asrs r0, r3, 16
+ asrs r1, r2, 16
+ adds r0, r1
+ lsls r0, 16
+ ldr r6, _080942B0
+ ands r3, r6
+ orrs r3, r0
+ adds r2, r3, r2
+ lsls r2, 16
+ lsrs r2, 16
+ ldr r4, _080942B4
+ ands r3, r4
+ orrs r3, r2
+ asrs r1, r3, 16
+ ldr r0, _080942B8
+ cmp r1, r0
+ ble _080942A6
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ ands r3, r4
+ orrs r3, r0
+ asrs r0, r3, 16
+ ldr r1, _080942BC
+ adds r0, r1
+ lsls r0, 16
+ ands r3, r6
+ orrs r3, r0
+_080942A6:
+ str r3, [r5]
+ adds r0, r5, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080942B0: .4byte 0x0000ffff
+_080942B4: .4byte 0xffff0000
+_080942B8: .4byte 0x000003e7
+_080942BC: .4byte 0xfffffc18
+ thumb_func_end sub_8094268
+
+ thumb_func_start sub_80942C0
+sub_80942C0:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r3, r1, 0
+ asrs r0, r3, 16
+ asrs r1, r2, 16
+ subs r0, r1
+ lsls r0, 16
+ ldr r4, _08094310
+ ands r3, r4
+ orrs r3, r0
+ subs r2, r3, r2
+ lsls r2, 16
+ lsrs r2, 16
+ ldr r1, _08094314
+ ands r3, r1
+ orrs r3, r2
+ cmp r3, 0
+ bge _080942FC
+ subs r0, r3, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ ands r3, r1
+ orrs r3, r0
+ asrs r0, r3, 16
+ movs r2, 0xFA
+ lsls r2, 2
+ adds r0, r2
+ lsls r0, 16
+ ands r3, r4
+ orrs r3, r0
+_080942FC:
+ lsls r0, r3, 16
+ cmp r0, 0
+ bge _08094304
+ movs r3, 0
+_08094304:
+ str r3, [r5]
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08094310: .4byte 0x0000ffff
+_08094314: .4byte 0xffff0000
+ thumb_func_end sub_80942C0
+
+ thumb_func_start sub_8094318
+sub_8094318:
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r3, r1, 0
+ lsls r0, r3, 16
+ asrs r1, r0, 16
+ lsls r0, r2, 16
+ asrs r0, 16
+ cmp r1, r0
+ bgt _08094336
+ cmp r1, r0
+ blt _0809433A
+ asrs r1, r3, 16
+ asrs r0, r2, 16
+ cmp r1, r0
+ ble _0809433A
+_08094336:
+ str r2, [r4]
+ b _0809433C
+_0809433A:
+ str r3, [r4]
+_0809433C:
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094318
+
+ thumb_func_start sub_8094344
+sub_8094344:
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r3, r1, 0
+ lsls r0, r3, 16
+ asrs r1, r0, 16
+ lsls r0, r2, 16
+ asrs r0, 16
+ cmp r1, r0
+ bgt _08094362
+ cmp r1, r0
+ blt _08094366
+ asrs r1, r3, 16
+ asrs r0, r2, 16
+ cmp r1, r0
+ ble _08094366
+_08094362:
+ str r3, [r4]
+ b _08094368
+_08094366:
+ str r2, [r4]
+_08094368:
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094344
+
+ thumb_func_start sub_8094370
+sub_8094370:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r1, 16
+ lsls r2, 16
+ ldr r4, _08094398
+ lsrs r3, r1, 16
+ orrs r3, r2
+ asrs r2, 16
+ ldr r1, _0809439C
+ asrs r0, r1, 16
+ cmp r2, r0
+ ble _0809438C
+ ands r3, r4
+ orrs r3, r1
+_0809438C:
+ str r3, [r5]
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08094398: .4byte 0x0000ffff
+_0809439C: .4byte 0x03e70000
+ thumb_func_end sub_8094370
+
+ thumb_func_start sub_80943A0
+sub_80943A0:
+ lsls r1, 16
+ lsrs r2, r1, 16
+ str r2, [r0]
+ bx lr
+ thumb_func_end sub_80943A0
+
+ thumb_func_start sub_80943A8
+sub_80943A8:
+ push {r4,r5,lr}
+ ldr r3, [r1, 0x4]
+ lsrs r2, r3, 16
+ ldr r1, _080943D4
+ ands r5, r1
+ orrs r5, r2
+ ldr r4, _080943D8
+ adds r2, r4, 0
+ ands r2, r3
+ lsls r1, r2, 5
+ subs r1, r2
+ lsls r1, 2
+ adds r1, r2
+ lsls r1, 3
+ lsrs r1, 16
+ lsls r1, 16
+ ands r5, r4
+ orrs r5, r1
+ str r5, [r0]
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080943D4: .4byte 0xffff0000
+_080943D8: .4byte 0x0000ffff
+ thumb_func_end sub_80943A8
+
+ thumb_func_start sub_80943DC
+sub_80943DC:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ mov r8, r0
+ adds r4, r1, 0
+ lsls r1, r4, 16
+ asrs r1, 16
+ lsls r0, r1, 5
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r1
+ lsls r0, 3
+ asrs r1, r4, 16
+ adds r0, r1
+ lsls r3, r2, 16
+ asrs r3, 16
+ lsls r1, r3, 5
+ subs r1, r3
+ lsls r1, 2
+ adds r1, r3
+ lsls r1, 3
+ asrs r2, 16
+ adds r1, r2
+ muls r0, r1
+ movs r5, 0xFA
+ lsls r5, 2
+ adds r1, r5, 0
+ bl __divsi3
+ adds r6, r0, 0
+ adds r1, r5, 0
+ bl __divsi3
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _08094448
+ ands r4, r1
+ orrs r4, r0
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl __modsi3
+ lsls r0, 16
+ ldr r1, _0809444C
+ ands r1, r4
+ orrs r0, r1
+ mov r1, r8
+ str r0, [r1]
+ mov r0, r8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08094448: .4byte 0xffff0000
+_0809444C: .4byte 0x0000ffff
+ thumb_func_end sub_80943DC
+
+ thumb_func_start sub_8094450
+sub_8094450:
+ push {lr}
+ adds r1, r0, 0
+ lsls r0, r1, 16
+ asrs r2, r0, 16
+ cmp r2, 0
+ bne _0809446A
+ asrs r0, r1, 16
+ cmp r0, 0
+ bne _08094466
+ movs r0, 0
+ b _08094476
+_08094466:
+ movs r0, 0x1
+ b _08094476
+_0809446A:
+ asrs r0, r1, 16
+ cmp r0, 0
+ bne _08094474
+ adds r0, r2, 0
+ b _08094476
+_08094474:
+ adds r0, r2, 0x1
+_08094476:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094450
+
+ thumb_func_start sub_809447C
+sub_809447C:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ movs r2, 0x10
+ bl RestoreIntegerBits
+ adds r4, 0x2
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x10
+ bl RestoreIntegerBits
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809447C
+
+ thumb_func_start sub_809449C
+sub_809449C:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ movs r2, 0x10
+ bl SaveIntegerBits
+ adds r4, 0x2
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x10
+ bl SaveIntegerBits
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809449C
+
+ thumb_func_start sub_80944BC
+sub_80944BC:
+ push {r4,lr}
+ sub sp, 0x8
+ adds r4, r1, 0
+ lsls r0, 16
+ asrs r1, r0, 16
+ ldr r0, _080944F4
+ cmp r1, r0
+ bgt _08094500
+ lsls r1, 16
+ lsrs r1, 16
+ mov r0, sp
+ bl sub_8092AA8
+ ldr r0, _080944F8
+ mov r1, sp
+ movs r2, 0
+ bl sub_80928C0
+ ldr r0, _080944FC
+ ldr r0, [r0]
+ adds r2, r4, 0
+ adds r2, 0xC8
+ adds r1, r4, 0
+ movs r3, 0
+ bl xxx_format_string
+ b _08094516
+ .align 2, 0
+_080944F4: .4byte 0x000001f3
+_080944F8: .4byte gUnknown_202DE58
+_080944FC: .4byte gUnknown_811383C
+_08094500:
+ ldr r0, _08094520
+ ldr r2, _08094524
+ adds r1, r2
+ lsls r1, 3
+ adds r0, 0x4
+ adds r1, r0
+ ldr r1, [r1]
+ adds r0, r4, 0
+ movs r2, 0xC8
+ bl strncpy
+_08094516:
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094520: .4byte gUnknown_8113080
+_08094524: .4byte 0xfffffe0c
+ thumb_func_end sub_80944BC
+
+ thumb_func_start sub_8094528
+sub_8094528:
+ push {lr}
+ lsls r0, 16
+ asrs r1, r0, 16
+ ldr r0, _08094544
+ cmp r1, r0
+ ble _08094550
+ ldr r0, _08094548
+ ldr r2, _0809454C
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldrb r0, [r1]
+ b _08094552
+ .align 2, 0
+_08094544: .4byte 0x000001f3
+_08094548: .4byte gUnknown_8113080
+_0809454C: .4byte 0xfffffe0c
+_08094550:
+ movs r0, 0x1
+_08094552:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094528
+
+ thumb_func_start sub_8094558
+sub_8094558:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0xCC
+ adds r7, r0, 0
+ adds r4, r1, 0
+ adds r6, r2, 0
+ bl sub_80073B8
+ movs r5, 0
+ str r5, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ adds r2, r4, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ ldr r4, _080945D0
+ adds r1, r6, 0
+ adds r1, 0x18
+ adds r0, r4, 0
+ bl sub_8090208
+ ldr r0, _080945D4
+ ldr r2, [r0]
+ str r5, [sp]
+ movs r0, 0x4
+ movs r1, 0x10
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ movs r5, 0x1A
+ adds r0, r4, 0
+ adds r1, r6, 0
+ movs r2, 0xA
+ bl sub_80922B4
+ adds r4, 0x50
+ adds r1, r6, 0
+ adds r1, 0xA
+ adds r0, r4, 0
+ movs r2, 0xA
+ bl sub_80922B4
+ movs r1, 0x14
+ ldrsh r0, [r6, r1]
+ bl sub_8094528
+ lsls r0, 24
+ cmp r0, 0
+ beq _080945DC
+ ldr r0, _080945D8
+ ldr r0, [r0]
+ add r2, sp, 0xCC
+ add r1, sp, 0x4
+ movs r3, 0
+ bl xxx_format_string
+ b _080945EA
+ .align 2, 0
+_080945D0: .4byte gAvailablePokemonNames
+_080945D4: .4byte gUnknown_8113850
+_080945D8: .4byte gUnknown_8113868
+_080945DC:
+ ldr r0, _0809465C
+ ldr r0, [r0]
+ add r2, sp, 0xCC
+ add r1, sp, 0x4
+ movs r3, 0
+ bl xxx_format_string
+_080945EA:
+ add r0, sp, 0x4
+ bl sub_8008ED0
+ movs r4, 0xB0
+ subs r0, r4, r0
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ movs r1, 0
+ mov r8, r1
+ str r1, [sp]
+ adds r1, r5, 0
+ add r2, sp, 0x4
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ adds r5, 0xA
+ movs r1, 0x14
+ ldrsh r0, [r6, r1]
+ add r1, sp, 0x4
+ bl sub_80944BC
+ add r0, sp, 0x4
+ bl sub_8008ED0
+ subs r4, r0
+ lsrs r0, r4, 31
+ adds r4, r0
+ asrs r0, r4, 1
+ mov r1, r8
+ str r1, [sp]
+ adds r1, r5, 0
+ add r2, sp, 0x4
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ adds r5, 0x10
+ ldr r1, _08094660
+ ldr r0, [r6, 0x20]
+ str r0, [r1]
+ adds r0, r6, 0
+ adds r0, 0x2A
+ ldrb r0, [r0]
+ str r0, [r1, 0x4]
+ cmp r0, 0x63
+ ble _08094668
+ ldr r0, _08094664
+ ldr r2, [r0]
+ mov r0, r8
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ b _0809467A
+ .align 2, 0
+_0809465C: .4byte gUnknown_8113870
+_08094660: .4byte gUnknown_202DE30
+_08094664: .4byte gUnknown_81138C0
+_08094668:
+ ldr r0, _080946CC
+ ldr r2, [r0]
+ mov r1, r8
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+_0809467A:
+ adds r5, 0xA
+ ldr r4, _080946D0
+ movs r1, 0x24
+ ldrsh r0, [r6, r1]
+ str r0, [r4]
+ ldr r0, _080946D4
+ ldr r2, [r0]
+ movs r0, 0
+ mov r8, r0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ adds r5, 0xA
+ adds r0, r6, 0
+ adds r0, 0x26
+ ldrb r2, [r0]
+ str r2, [r4]
+ adds r0, 0x2
+ ldrb r0, [r0]
+ str r0, [r4, 0x4]
+ adds r0, r6, 0
+ adds r0, 0x2B
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _080946DC
+ adds r0, r1, 0
+ adds r0, r2, r0
+ str r0, [r4]
+ ldr r0, _080946D8
+ ldr r2, [r0]
+ mov r1, r8
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ b _080946EC
+ .align 2, 0
+_080946CC: .4byte gUnknown_8113898
+_080946D0: .4byte gUnknown_202DE30
+_080946D4: .4byte gUnknown_81138D0
+_080946D8: .4byte gUnknown_8113950
+_080946DC:
+ ldr r0, _08094714
+ ldr r2, [r0]
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+_080946EC:
+ adds r0, r6, 0
+ adds r0, 0x2D
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08094720
+ ldr r2, _08094718
+ ldr r0, [r2, 0x4]
+ adds r0, r1
+ str r0, [r2, 0x4]
+ ldr r0, _0809471C
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ b _08094730
+ .align 2, 0
+_08094714: .4byte gUnknown_81138E4
+_08094718: .4byte gUnknown_202DE30
+_0809471C: .4byte gUnknown_8113974
+_08094720:
+ ldr r0, _08094768
+ ldr r2, [r0]
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+_08094730:
+ adds r5, 0xA
+ ldr r2, _0809476C
+ adds r0, r6, 0
+ adds r0, 0x27
+ ldrb r3, [r0]
+ str r3, [r2]
+ adds r0, 0x2
+ ldrb r0, [r0]
+ str r0, [r2, 0x4]
+ adds r0, r6, 0
+ adds r0, 0x2C
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _08094774
+ adds r0, r1, 0
+ adds r0, r3, r0
+ str r0, [r2]
+ ldr r0, _08094770
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ b _08094784
+ .align 2, 0
+_08094768: .4byte gUnknown_8113900
+_0809476C: .4byte gUnknown_202DE30
+_08094770: .4byte gUnknown_8113990
+_08094774:
+ ldr r0, _080947AC
+ ldr r2, [r0]
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+_08094784:
+ adds r0, r6, 0
+ adds r0, 0x2E
+ ldrb r1, [r0]
+ cmp r1, 0
+ beq _080947B8
+ ldr r2, _080947B0
+ ldr r0, [r2, 0x4]
+ adds r0, r1
+ str r0, [r2, 0x4]
+ ldr r0, _080947B4
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ b _080947C8
+ .align 2, 0
+_080947AC: .4byte gUnknown_8113918
+_080947B0: .4byte gUnknown_202DE30
+_080947B4: .4byte gUnknown_81139B4
+_080947B8:
+ ldr r0, _080947E4
+ ldr r2, [r0]
+ str r1, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+_080947C8:
+ adds r5, 0x10
+ adds r2, r6, 0
+ adds r2, 0x1C
+ ldrb r1, [r6, 0x1C]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080947EC
+ ldr r0, _080947E8
+ adds r1, r2, 0
+ movs r2, 0
+ bl sub_8090E14
+ b _080947F6
+ .align 2, 0
+_080947E4: .4byte gUnknown_8113934
+_080947E8: .4byte gUnknown_202DE58
+_080947EC:
+ ldr r0, _0809481C
+ ldr r1, _08094820
+ ldr r1, [r1]
+ bl strcpy
+_080947F6:
+ ldr r0, _08094824
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ adds r1, r5, 0
+ adds r3, r7, 0
+ bl xxx_format_and_draw
+ adds r0, r7, 0
+ bl sub_80073E0
+ add sp, 0xCC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809481C: .4byte gUnknown_202DE58
+_08094820: .4byte gUnknown_81139B8
+_08094824: .4byte gUnknown_81139CC
+ thumb_func_end sub_8094558
+
+ .align 2,0
diff --git a/asm/friend_area_action_menu_1.s b/asm/friend_area_action_menu_1.s
deleted file mode 100644
index 2724a25..0000000
--- a/asm/friend_area_action_menu_1.s
+++ /dev/null
@@ -1,391 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8027CA0
-sub_8027CA0:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x4
- bhi _08027CFA
- lsls r0, 2
- ldr r1, _08027CB8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027CB8: .4byte _08027CBC
- .align 2, 0
-_08027CBC:
- .4byte _08027CFA
- .4byte _08027CFA
- .4byte _08027CF0
- .4byte _08027CD0
- .4byte _08027CD0
-_08027CD0:
- bl sub_801F194
- ldr r1, _08027CEC
- ldr r1, [r1]
- str r0, [r1, 0x20]
- lsls r0, 3
- adds r0, r1, r0
- ldrh r0, [r0, 0x2A]
- strh r0, [r1, 0x24]
- movs r0, 0x10
- bl SetFriendAreaActionMenuState
- b _08027CFA
- .align 2, 0
-_08027CEC: .4byte gUnknown_203B2BC
-_08027CF0:
- bl sub_801F214
- movs r0, 0x2
- bl SetFriendAreaActionMenuState
-_08027CFA:
- pop {r0}
- bx r0
- thumb_func_end sub_8027CA0
-
- thumb_func_start sub_8027D00
-sub_8027D00:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08027D18
- cmp r0, 0x3
- bhi _08027D18
- bl sub_801F8D0
- movs r0, 0xF
- bl SetFriendAreaActionMenuState
-_08027D18:
- pop {r0}
- bx r0
- thumb_func_end sub_8027D00
-
- thumb_func_start sub_8027D1C
-sub_8027D1C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08027D34
- ldr r0, _08027D3C
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl SetFriendAreaActionMenuState
-_08027D34:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08027D3C: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027D1C
-
- thumb_func_start sub_8027D40
-sub_8027D40:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_8008C54
- adds r0, r6, 0
- bl sub_80073B8
- add r4, sp, 0x10
- adds r0, r4, 0
- adds r1, r5, 0
- bl HeldItemToSlot
- movs r5, 0
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- strb r5, [r0, 0x4]
- adds r1, r0, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08027D94
- adds r1, r4, 0
- add r2, sp, 0x4
- bl sub_8090E14
- ldr r2, _08027D98
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x3
- adds r3, r6, 0
- bl xxx_format_and_draw
- adds r0, r6, 0
- bl sub_80073E0
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08027D94: .4byte gUnknown_202DE58
-_08027D98: .4byte gUnknown_80DD958
- thumb_func_end sub_8027D40
-
- thumb_func_start sub_8027D9C
-sub_8027D9C:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08027DC0
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08027DB0
- movs r2, 0x1
-_08027DB0:
- cmp r2, 0
- beq _08027DC4
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08027DC4
-_08027DC0:
- movs r0, 0
- b _08027DC6
-_08027DC4:
- movs r0, 0x1
-_08027DC6:
- pop {r1}
- bx r1
- thumb_func_end sub_8027D9C
-
- thumb_func_start sub_8027DCC
-sub_8027DCC:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r0, r4
- beq _08027E0E
- bl sub_808D3F8
- cmp r0, r4
- beq _08027E0E
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _08027E0E
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _08027DF0
- movs r1, 0x1
-_08027DF0:
- cmp r1, 0
- beq _08027E00
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08027E0E
-_08027E00:
- adds r0, r4, 0
- bl sub_8027E18
- cmp r0, 0x3
- beq _08027E0E
- movs r0, 0x1
- b _08027E10
-_08027E0E:
- movs r0, 0
-_08027E10:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8027DCC
-
- thumb_func_start sub_8027E18
-sub_8027E18:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- bne _08027E28
- movs r0, 0
- b _08027E46
-_08027E28:
- bl GetNumberOfFilledInventorySlots
- cmp r0, 0x13
- bgt _08027E34
- movs r0, 0x1
- b _08027E46
-_08027E34:
- adds r0, r4, 0
- bl sub_8027E4C
- lsls r0, 24
- cmp r0, 0
- bne _08027E44
- movs r0, 0x3
- b _08027E46
-_08027E44:
- movs r0, 0x2
-_08027E46:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8027E18
-
- thumb_func_start sub_8027E4C
-sub_8027E4C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x28
- ldrb r0, [r4]
- bl IsNotMoneyOrUsedTMItem
- lsls r0, 24
- cmp r0, 0
- beq _08027E88
- ldrb r0, [r4]
- bl IsThrowableItem
- lsls r0, 24
- cmp r0, 0
- beq _08027E94
- ldr r0, _08027E8C
- ldr r1, [r0]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _08027E90
- cmp r1, r0
- ble _08027EA8
-_08027E88:
- movs r0, 0
- b _08027EAA
- .align 2, 0
-_08027E8C: .4byte gTeamInventory_203B460
-_08027E90: .4byte 0x000003e7
-_08027E94:
- ldr r0, _08027EB0
- ldr r1, [r0]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- ldr r0, _08027EB4
- cmp r1, r0
- bhi _08027E88
-_08027EA8:
- movs r0, 0x1
-_08027EAA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08027EB0: .4byte gTeamInventory_203B460
-_08027EB4: .4byte 0x000003e6
- thumb_func_end sub_8027E4C
-
- thumb_func_start sub_8027EB8
-sub_8027EB8:
- push {r4,lr}
- ldr r4, _08027ED4
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_8027E18
- cmp r0, 0x1
- beq _08027ED8
- cmp r0, 0x1
- bcc _08027F7C
- cmp r0, 0x2
- beq _08027F0C
- b _08027F7C
- .align 2, 0
-_08027ED4: .4byte gUnknown_203B2BC
-_08027ED8:
- ldr r0, _08027F08
- bl PlaySound
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_8091274
- bl FillInventoryGaps
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl GivePokemonItem
- movs r0, 0x6
- bl SetFriendAreaActionMenuState
- b _08027F82
- .align 2, 0
-_08027F08: .4byte 0x0000014d
-_08027F0C:
- ldr r0, _08027F38
- bl PlaySound
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- bl IsThrowableItem
- lsls r0, 24
- cmp r0, 0
- beq _08027F40
- ldr r0, _08027F3C
- ldr r1, [r0]
- ldr r2, [r4]
- ldrb r0, [r2, 0x14]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- ldrb r2, [r2, 0x15]
- adds r0, r2
- b _08027F52
- .align 2, 0
-_08027F38: .4byte 0x0000014d
-_08027F3C: .4byte gTeamInventory_203B460
-_08027F40:
- ldr r0, _08027F74
- ldr r1, [r0]
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
-_08027F52:
- strh r0, [r1]
- ldr r1, _08027F78
- ldr r0, [r1]
- movs r2, 0
- strb r2, [r0, 0x14]
- ldr r0, [r1]
- strb r2, [r0, 0x15]
- ldr r1, [r1]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl GivePokemonItem
- movs r0, 0x7
- bl SetFriendAreaActionMenuState
- b _08027F82
- .align 2, 0
-_08027F74: .4byte gTeamInventory_203B460
-_08027F78: .4byte gUnknown_203B2BC
-_08027F7C:
- movs r0, 0x2
- bl SetFriendAreaActionMenuState
-_08027F82:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8027EB8
-
-
- .align 2,0
diff --git a/asm/friend_list_menu.s b/asm/friend_list_menu.s
index 2fe7701..3db3dd9 100644
--- a/asm/friend_list_menu.s
+++ b/asm/friend_list_menu.s
@@ -3915,7 +3915,7 @@ _08020D38:
bne _08020D34
ldrh r1, [r3, 0x1E]
adds r0, r2, 0
- bl sub_8092AD4
+ bl InitZeroedPPPokemonMove
_08020D52:
cmp r5, 0x3
ble _08020D5E
diff --git a/asm/kangaskhan_storage_2.s b/asm/kangaskhan_storage_2.s
index 13f1b92..ec64f19 100644
--- a/asm/kangaskhan_storage_2.s
+++ b/asm/kangaskhan_storage_2.s
@@ -356,653 +356,4 @@ _08018582:
bx r0
thumb_func_end sub_80184D4
- thumb_func_start sub_8018588
-sub_8018588:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _080185C4
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080185B4
- ldr r0, [r4]
- adds r0, 0x70
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080185B4
- ldr r0, [r4]
- str r1, [r0, 0x14]
-_080185B4:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080185CE
- cmp r0, 0x2
- bgt _080185C8
- cmp r0, 0x1
- beq _08018610
- b _08018616
- .align 2, 0
-_080185C4: .4byte gUnknown_203B20C
-_080185C8:
- cmp r0, 0x3
- beq _080185EA
- b _08018616
-_080185CE:
- bl GetNumberOfFilledInventorySlots
- cmp r0, 0
- beq _080185F6
- movs r0, 0
- bl sub_801CF50
- lsls r0, 24
- cmp r0, 0
- bne _080185F6
- movs r0, 0x4
- bl sub_8017F10
- b _08018616
-_080185EA:
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- beq _08018608
-_080185F6:
- ldr r0, _08018604
- ldr r0, [r0]
- adds r0, 0x70
- movs r1, 0x1
- bl sub_8012EA4
- b _08018616
- .align 2, 0
-_08018604: .4byte gUnknown_203B20C
-_08018608:
- movs r0, 0xA
- bl sub_8017F10
- b _08018616
-_08018610:
- movs r0, 0x3
- bl sub_8017F10
-_08018616:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018588
-
- thumb_func_start sub_8018620
-sub_8018620:
- push {r4-r7,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _0801863C
- cmp r0, 0x3
- bhi _08018636
- cmp r0, 0x2
- beq _080186E8
- b _080186F2
-_08018636:
- cmp r0, 0x4
- beq _080186C0
- b _080186F2
-_0801863C:
- bl sub_801AEA8
- cmp r0, 0
- beq _08018698
- movs r5, 0
- ldr r6, _0801868C
- movs r7, 0
-_0801864A:
- adds r0, r5, 0
- bl sub_801AED0
- cmp r0, 0
- beq _0801866A
- lsls r4, r5, 2
- ldr r0, [r6]
- adds r0, r4
- bl MoveToStorage
- ldr r0, [r6]
- adds r0, r4
- strb r7, [r0, 0x2]
- ldr r0, [r6]
- adds r0, r4
- strb r7, [r0]
-_0801866A:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0801864A
- bl FillInventoryGaps
- bl sub_801AE84
- bl GetNumberOfFilledInventorySlots
- cmp r0, 0
- bne _08018690
- bl sub_801A928
- movs r0, 0x1
- bl sub_8017F10
- b _080186F2
- .align 2, 0
-_0801868C: .4byte gTeamInventory_203B460
-_08018690:
- movs r0, 0x5
- bl sub_8017F10
- b _080186F2
-_08018698:
- bl sub_801A8AC
- ldr r1, _080186B8
- ldr r2, [r1]
- str r0, [r2, 0xC]
- ldr r1, _080186BC
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x8]
- movs r0, 0x6
- bl sub_8017F10
- b _080186F2
- .align 2, 0
-_080186B8: .4byte gUnknown_203B20C
-_080186BC: .4byte gTeamInventory_203B460
-_080186C0:
- bl sub_801A8AC
- ldr r1, _080186E0
- ldr r2, [r1]
- str r0, [r2, 0xC]
- ldr r1, _080186E4
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x8]
- movs r0, 0x7
- bl sub_8017F10
- b _080186F2
- .align 2, 0
-_080186E0: .4byte gUnknown_203B20C
-_080186E4: .4byte gTeamInventory_203B460
-_080186E8:
- bl sub_801A928
- movs r0, 0x1
- bl sub_8017F10
-_080186F2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8018620
-
- thumb_func_start sub_80186F8
-sub_80186F8:
- push {r4-r7,lr}
- sub sp, 0x4
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x2
- bne _08018708
- b _08018838
-_08018708:
- cmp r0, 0x2
- bhi _08018714
- cmp r0, 0x1
- bne _08018712
- b _08018844
-_08018712:
- b _0801884A
-_08018714:
- cmp r0, 0x3
- beq _0801871E
- cmp r0, 0x4
- beq _0801880C
- b _0801884A
-_0801871E:
- bl sub_801CFB8
- cmp r0, 0
- beq _080187E0
- movs r6, 0
- mov r5, sp
- ldr r7, _0801876C
-_0801872C:
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_801CFE0
- cmp r0, 0
- beq _080187B2
- ldr r1, _08018770
- ldr r0, [sp]
- ands r0, r1
- orrs r0, r4
- str r0, [sp]
- ldrb r0, [r5]
- bl IsThrowableItem
- lsls r0, 24
- cmp r0, 0
- beq _08018786
- ldr r2, _08018774
- ldr r1, [r2]
- ldrb r0, [r5]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- cmp r1, 0x63
- bls _08018778
- ldr r0, [sp]
- ands r0, r7
- movs r1, 0xC6
- lsls r1, 7
- b _08018780
- .align 2, 0
-_0801876C: .4byte 0xffff00ff
-_08018770: .4byte 0xffffff00
-_08018774: .4byte gTeamInventory_203B460
-_08018778:
- lsls r1, 24
- lsrs r1, 16
- ldr r0, [sp]
- ands r0, r7
-_08018780:
- orrs r0, r1
- str r0, [sp]
- b _08018794
-_08018786:
- ldr r0, [sp]
- ands r0, r7
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- str r0, [sp]
- ldr r2, _080187DC
-_08018794:
- ldr r2, [r2]
- ldrb r0, [r5]
- lsls r0, 1
- adds r2, 0x50
- adds r2, r0
- ldr r0, [sp]
- lsrs r0, 8
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r2]
- subs r1, r0
- strh r1, [r2]
- mov r0, sp
- bl sub_8091274
-_080187B2:
- adds r6, 0x1
- cmp r6, 0xEF
- ble _0801872C
- bl FillInventoryGaps
- bl sub_801CF94
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _08018838
- bl GetNumberOfFilledInventorySlots
- cmp r0, 0x13
- bgt _08018838
- movs r0, 0xB
- bl sub_8017F10
- b _0801884A
- .align 2, 0
-_080187DC: .4byte gTeamInventory_203B460
-_080187E0:
- bl sub_801CB24
- ldr r4, _08018808
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl xxx_init_itemslot_8090A8C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0xD
- bl sub_8017F10
- b _0801884A
- .align 2, 0
-_08018808: .4byte gUnknown_203B20C
-_0801880C:
- bl sub_801CB24
- ldr r4, _08018834
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl xxx_init_itemslot_8090A8C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0xE
- bl sub_8017F10
- b _0801884A
- .align 2, 0
-_08018834: .4byte gUnknown_203B20C
-_08018838:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8017F10
- b _0801884A
-_08018844:
- movs r0, 0
- bl sub_801AD34
-_0801884A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80186F8
-
- thumb_func_start sub_8018854
-sub_8018854:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- bl sub_801CA08
- ldr r4, _080188E0
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xC0
- bl sub_8013BBC
- cmp r0, 0x1
- beq _080188F8
- cmp r0, 0x1
- bcc _080188FC
- cmp r0, 0x2
- beq _080188F0
- cmp r0, 0x3
- bne _080188FC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC0
- ldr r0, [r0]
- strb r0, [r1, 0x9]
- ldr r0, _080188E4
- ldr r1, [r0]
- ldr r3, [r4]
- ldrb r0, [r3, 0xA]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrb r2, [r3, 0x9]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldrb r2, [r3, 0xA]
- ldr r1, _080188E8
- ldr r0, [sp]
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- ldrb r1, [r3, 0x9]
- lsls r1, 8
- ldr r2, _080188EC
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_8091274
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _080188D2
- bl GetNumberOfFilledInventorySlots
- cmp r0, 0x13
- ble _080188F0
-_080188D2:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8017F10
- b _080188FC
- .align 2, 0
-_080188E0: .4byte gUnknown_203B20C
-_080188E4: .4byte gTeamInventory_203B460
-_080188E8: .4byte 0xffffff00
-_080188EC: .4byte 0xffff00ff
-_080188F0:
- movs r0, 0xB
- bl sub_8017F10
- b _080188FC
-_080188F8:
- bl sub_8018280
-_080188FC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018854
-
- thumb_func_start sub_8018904
-sub_8018904:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08018944
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08018934
- ldr r0, [r4]
- adds r0, 0x70
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08018934
- ldr r0, [r4]
- str r1, [r0, 0x18]
-_08018934:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801894E
- cmp r0, 0x2
- bgt _08018948
- cmp r0, 0x1
- beq _080189BA
- b _080189C0
- .align 2, 0
-_08018944: .4byte gUnknown_203B20C
-_08018948:
- cmp r0, 0x4
- beq _080189AC
- b _080189C0
-_0801894E:
- ldr r4, _08018978
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- bl IsNotMoneyOrUsedTMItem
- lsls r0, 24
- cmp r0, 0
- beq _0801896C
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _0801897C
-_0801896C:
- ldr r0, [r4]
- adds r0, 0x70
- movs r1, 0x1
- bl sub_8012EA4
- b _080189C0
- .align 2, 0
-_08018978: .4byte gUnknown_203B20C
-_0801897C:
- ldr r0, [r4]
- adds r0, 0x8
- bl MoveToStorage
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl ShiftItemsDownFrom
- bl FillInventoryGaps
- bl GetNumberOfFilledInventorySlots
- cmp r0, 0
- bne _080189A4
- bl sub_801A928
- movs r0, 0x1
- bl sub_8017F10
- b _080189C0
-_080189A4:
- movs r0, 0x5
- bl sub_8017F10
- b _080189C0
-_080189AC:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x7
- bl sub_8017F10
- b _080189C0
-_080189BA:
- movs r0, 0x5
- bl sub_8017F10
-_080189C0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018904
-
- thumb_func_start sub_80189C8
-sub_80189C8:
- push {r4,lr}
- sub sp, 0x8
- movs r0, 0
- str r0, [sp]
- bl sub_801CA08
- ldr r4, _08018A08
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080189F8
- ldr r0, [r4]
- adds r0, 0x70
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080189F8
- ldr r0, [r4]
- str r1, [r0, 0x1C]
-_080189F8:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08018A12
- cmp r0, 0x3
- bgt _08018A0C
- cmp r0, 0x1
- beq _08018AB8
- b _08018ABE
- .align 2, 0
-_08018A08: .4byte gUnknown_203B20C
-_08018A0C:
- cmp r0, 0x4
- beq _08018AB0
- b _08018ABE
-_08018A12:
- bl GetNumberOfFilledInventorySlots
- cmp r0, 0x13
- ble _08018A2C
- ldr r0, _08018A28
- ldr r0, [r0]
- adds r0, 0x70
- movs r1, 0x1
- bl sub_8012EA4
- b _08018ABE
- .align 2, 0
-_08018A28: .4byte gUnknown_203B20C
-_08018A2C:
- ldr r4, _08018A44
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- bl IsThrowableItem
- lsls r0, 24
- cmp r0, 0
- beq _08018A48
- movs r0, 0xC
- bl sub_8017F10
- b _08018ABE
- .align 2, 0
-_08018A44: .4byte gUnknown_203B20C
-_08018A48:
- ldr r0, _08018A9C
- ldr r1, [r0]
- ldr r3, [r4]
- ldrb r0, [r3, 0xA]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrb r2, [r3, 0x9]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldrb r2, [r3, 0xA]
- ldr r1, _08018AA0
- ldr r0, [sp, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x4]
- ldrb r1, [r3, 0x9]
- lsls r1, 8
- ldr r2, _08018AA4
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- bl sub_8091274
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _08018A90
- bl GetNumberOfFilledInventorySlots
- cmp r0, 0x13
- ble _08018AA8
-_08018A90:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8017F10
- b _08018ABE
- .align 2, 0
-_08018A9C: .4byte gTeamInventory_203B460
-_08018AA0: .4byte 0xffffff00
-_08018AA4: .4byte 0xffff00ff
-_08018AA8:
- movs r0, 0xB
- bl sub_8017F10
- b _08018ABE
-_08018AB0:
- movs r0, 0xE
- bl sub_8017F10
- b _08018ABE
-_08018AB8:
- movs r0, 0xB
- bl sub_8017F10
-_08018ABE:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80189C8
-
.align 2,0
diff --git a/asm/code_8092334.s b/asm/moves_1.s
index 86d7d03..c9f1ce8 100644
--- a/asm/code_8092334.s
+++ b/asm/moves_1.s
@@ -5,747 +5,6 @@
.text
- thumb_func_start LoadWazaParameters
-LoadWazaParameters:
- push {lr}
- ldr r0, _08092868
- ldr r1, _0809286C
- bl OpenFileAndGetFileDataPtr
- ldr r1, _08092870
- str r0, [r1]
- ldr r1, _08092874
- ldr r2, [r0, 0x4]
- ldr r0, [r2]
- str r0, [r1]
- ldr r1, _08092878
- ldr r0, [r2, 0x4]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08092868: .4byte gUnknown_81098D0
-_0809286C: .4byte gSystemFileArchive
-_08092870: .4byte gWazaParametersFile
-_08092874: .4byte gMovesData
-_08092878: .4byte gMovesRelated_2038C6C
- thumb_func_end LoadWazaParameters
-
- thumb_func_start sub_809287C
-sub_809287C:
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08092894
- ldrb r1, [r2, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092898
-_08092894:
- movs r0, 0x32
- b _0809289A
-_08092898:
- movs r0, 0x34
-_0809289A:
- pop {r1}
- bx r1
- thumb_func_end sub_809287C
-
- thumb_func_start sub_80928A0
-sub_80928A0:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r2, 0
- mov r0, sp
- bl sub_8093F10
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_80928C0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80928A0
-
- thumb_func_start sub_80928C0
-sub_80928C0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- adds r7, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, r4, 0
- bl sub_809287C
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r5, 0
- bne _080928DE
- ldr r5, _080928F0
-_080928DE:
- ldrb r1, [r4, 0x5]
- cmp r1, 0
- beq _080928F8
- ldr r1, _080928F4
- ldrb r2, [r4, 0x5]
- add r0, sp, 0x14
- bl ExpandPlaceholdersBuffer
- b _080928FC
- .align 2, 0
-_080928F0: .4byte gUnknown_81098C4
-_080928F4: .4byte gUnknown_81098DC
-_080928F8:
- add r0, sp, 0x14
- strb r1, [r0]
-_080928FC:
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- beq _08092904
- movs r6, 0x2
-_08092904:
- ldrb r0, [r5, 0x9]
- cmp r0, 0
- beq _08092918
- ldrh r0, [r4, 0x2]
- bl sub_809422C
- lsls r0, 24
- cmp r0, 0
- beq _08092918
- movs r6, 0x2
-_08092918:
- ldr r0, [r5]
- cmp r0, 0x4
- bls _08092920
- b _08092A6A
-_08092920:
- lsls r0, 2
- ldr r1, _0809292C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809292C: .4byte _08092930
- .align 2, 0
-_08092930:
- .4byte _08092944
- .4byte _0809296C
- .4byte _08092998
- .4byte _080929C4
- .4byte _08092A20
-_08092944:
- ldr r1, _08092964
- ldrh r2, [r4, 0x2]
- ldr r0, _08092968
- ldr r3, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldr r3, [r0]
- add r0, sp, 0x14
- str r0, [sp]
- adds r0, r7, 0
- adds r2, r6, 0
- bl ExpandPlaceholdersBuffer
- b _08092A6A
- .align 2, 0
-_08092964: .4byte gUnknown_81098E0
-_08092968: .4byte gMovesData
-_0809296C:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r1, _0809298C
- mov r8, r1
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- ldr r1, _08092990
- mov r12, r1
- cmp r0, 0
- beq _080929E2
- ldr r0, _08092994
- b _080929E0
- .align 2, 0
-_0809298C: .4byte gUnknown_81098EC
-_08092990: .4byte gUnknown_810990C
-_08092994: .4byte gUnknown_8109908
-_08092998:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r0, _080929B8
- mov r8, r0
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- ldr r1, _080929BC
- mov r12, r1
- cmp r0, 0
- beq _080929E2
- ldr r0, _080929C0
- b _080929E0
- .align 2, 0
-_080929B8: .4byte gUnknown_8109910
-_080929BC: .4byte gUnknown_810990C
-_080929C0: .4byte gUnknown_8109908
-_080929C4:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r0, _08092A10
- mov r8, r0
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- ldr r1, _08092A14
- mov r12, r1
- cmp r0, 0
- beq _080929E2
- ldr r0, _08092A18
-_080929E0:
- mov r12, r0
-_080929E2:
- ldrh r1, [r4, 0x2]
- ldr r0, _08092A1C
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [sp]
- add r1, sp, 0x14
- str r1, [sp, 0x4]
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0xC]
- str r3, [sp, 0x10]
- adds r0, r7, 0
- mov r1, r8
- adds r2, r6, 0
- mov r3, r12
- bl ExpandPlaceholdersBuffer
- b _08092A6A
- .align 2, 0
-_08092A10: .4byte gUnknown_81098EC
-_08092A14: .4byte gUnknown_810990C
-_08092A18: .4byte gUnknown_8109928
-_08092A1C: .4byte gMovesData
-_08092A20:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r0, _08092A78
- mov r8, r0
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- ldr r1, _08092A7C
- mov r12, r1
- cmp r0, 0
- beq _08092A3E
- ldr r0, _08092A80
- mov r12, r0
-_08092A3E:
- ldrh r1, [r4, 0x2]
- ldr r0, _08092A84
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [sp]
- add r1, sp, 0x14
- str r1, [sp, 0x4]
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0xC]
- str r3, [sp, 0x10]
- adds r0, r7, 0
- mov r1, r8
- adds r2, r6, 0
- mov r3, r12
- bl ExpandPlaceholdersBuffer
-_08092A6A:
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092A78: .4byte gUnknown_8109910
-_08092A7C: .4byte gUnknown_810990C
-_08092A80: .4byte gUnknown_8109928
-_08092A84: .4byte gMovesData
- thumb_func_end sub_80928C0
-
- thumb_func_start sub_8092A88
-sub_8092A88:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r2, 0
- movs r0, 0x5
- strb r0, [r4]
- strb r2, [r4, 0x1]
- movs r5, 0
- strh r1, [r4, 0x2]
- adds r0, r4, 0
- bl sub_8092BF4
- strb r0, [r4, 0x4]
- strb r5, [r4, 0x5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8092A88
-
- thumb_func_start sub_8092AA8
-sub_8092AA8:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r2, 0
- bne _08092AB8
- strb r2, [r5]
- b _08092ACE
-_08092AB8:
- movs r1, 0
- movs r0, 0x5
- strb r0, [r5]
- strb r1, [r5, 0x1]
- movs r4, 0
- strh r2, [r5, 0x2]
- adds r0, r5, 0
- bl sub_8092BF4
- strb r0, [r5, 0x4]
- strb r4, [r5, 0x5]
-_08092ACE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8092AA8
-
- thumb_func_start sub_8092AD4
-sub_8092AD4:
- movs r2, 0x5
- strb r2, [r0]
- movs r2, 0
- strh r1, [r0, 0x2]
- strb r2, [r0, 0x4]
- bx lr
- thumb_func_end sub_8092AD4
-
- thumb_func_start sub_8092AE0
-sub_8092AE0:
- ldrh r2, [r0, 0x2]
- ldr r0, _08092AFC
- ldr r3, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- lsls r1, 1
- adds r0, 0x8
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08092AFC: .4byte gMovesData
- thumb_func_end sub_8092AE0
-
- thumb_func_start sub_8092B00
-sub_8092B00:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092B14
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x6]
- bx lr
- .align 2, 0
-_08092B14: .4byte gMovesData
- thumb_func_end sub_8092B00
-
- thumb_func_start sub_8092B18
-sub_8092B18:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _08092B40
- cmp r1, r0
- beq _08092B48
- cmp r1, 0
- beq _08092B48
- movs r0, 0xD2
- lsls r0, 1
- cmp r2, r0
- beq _08092B48
- ldr r0, _08092B44
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r1
- ldr r0, [r0]
- b _08092B4A
- .align 2, 0
-_08092B40: .4byte 0x000001a5
-_08092B44: .4byte gMovesRelated_2038C6C
-_08092B48:
- ldr r0, _08092B50
-_08092B4A:
- pop {r1}
- bx r1
- .align 2, 0
-_08092B50: .4byte gUnknown_810992B
- thumb_func_end sub_8092B18
-
- thumb_func_start sub_8092B54
-sub_8092B54:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _08092B7C
- cmp r1, r0
- beq _08092B84
- cmp r1, 0
- beq _08092B84
- movs r0, 0xD2
- lsls r0, 1
- cmp r2, r0
- beq _08092B84
- ldr r0, _08092B80
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r1
- ldr r0, [r0, 0x4]
- b _08092B86
- .align 2, 0
-_08092B7C: .4byte 0x000001a5
-_08092B80: .4byte gMovesRelated_2038C6C
-_08092B84:
- ldr r0, _08092B8C
-_08092B86:
- pop {r1}
- bx r1
- .align 2, 0
-_08092B8C: .4byte gUnknown_810992B
- thumb_func_end sub_8092B54
-
- thumb_func_start sub_8092B90
-sub_8092B90:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092BA4
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xD]
- bx lr
- .align 2, 0
-_08092BA4: .4byte gMovesData
- thumb_func_end sub_8092B90
-
- thumb_func_start sub_8092BA8
-sub_8092BA8:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092BBC
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x11]
- bx lr
- .align 2, 0
-_08092BBC: .4byte gMovesData
- thumb_func_end sub_8092BA8
-
- thumb_func_start sub_8092BC0
-sub_8092BC0:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092BD4
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08092BD4: .4byte gMovesData
- thumb_func_end sub_8092BC0
-
- thumb_func_start sub_8092BD8
-sub_8092BD8:
- ldrh r2, [r0, 0x2]
- ldr r0, _08092BF0
- ldr r3, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- adds r0, 0xE
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08092BF0: .4byte gMovesData
- thumb_func_end sub_8092BD8
-
- thumb_func_start sub_8092BF4
-sub_8092BF4:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C08
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08092C08: .4byte gMovesData
- thumb_func_end sub_8092BF4
-
- thumb_func_start sub_8092C0C
-sub_8092C0C:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C20
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x12]
- bx lr
- .align 2, 0
-_08092C20: .4byte gMovesData
- thumb_func_end sub_8092C0C
-
- thumb_func_start sub_8092C24
-sub_8092C24:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C38
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x13]
- bx lr
- .align 2, 0
-_08092C38: .4byte gMovesData
- thumb_func_end sub_8092C24
-
- thumb_func_start sub_8092C3C
-sub_8092C3C:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C50
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x17]
- bx lr
- .align 2, 0
-_08092C50: .4byte gMovesData
- thumb_func_end sub_8092C3C
-
- thumb_func_start sub_8092C54
-sub_8092C54:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C68
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- bx lr
- .align 2, 0
-_08092C68: .4byte gMovesData
- thumb_func_end sub_8092C54
-
- thumb_func_start sub_8092C6C
-sub_8092C6C:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C80
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x19]
- bx lr
- .align 2, 0
-_08092C80: .4byte gMovesData
- thumb_func_end sub_8092C6C
-
- thumb_func_start sub_8092C84
-sub_8092C84:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- bl sub_8092A88
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0
- bl sub_80928C0
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8092C84
-
- thumb_func_start sub_8092CA8
-sub_8092CA8:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092CBC
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, [r1, 0x20]
- bx lr
- .align 2, 0
-_08092CBC: .4byte gMovesData
- thumb_func_end sub_8092CA8
-
- thumb_func_start sub_8092CC0
-sub_8092CC0:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092CD4
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x14]
- bx lr
- .align 2, 0
-_08092CD4: .4byte gMovesData
- thumb_func_end sub_8092CC0
-
- thumb_func_start sub_8092CD8
-sub_8092CD8:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092CEC
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x15]
- bx lr
- .align 2, 0
-_08092CEC: .4byte gMovesData
- thumb_func_end sub_8092CD8
-
- thumb_func_start sub_8092CF0
-sub_8092CF0:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092D04
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x16]
- bx lr
- .align 2, 0
-_08092D04: .4byte gMovesData
- thumb_func_end sub_8092CF0
-
- thumb_func_start sub_8092D08
-sub_8092D08:
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2]
- cmp r1, 0xD9
- beq _08092D4C
- movs r0, 0x8E
- lsls r0, 1
- cmp r1, r0
- beq _08092D4C
- cmp r1, 0x53
- beq _08092D4C
- cmp r1, 0x22
- beq _08092D4C
- cmp r1, 0x54
- beq _08092D4C
- cmp r1, 0xAB
- beq _08092D4C
- ldr r0, _08092D48
- cmp r1, r0
- beq _08092D4C
- cmp r1, 0x1B
- beq _08092D4C
- cmp r1, 0xF1
- beq _08092D4C
- cmp r1, 0x19
- beq _08092D4C
- ldrh r0, [r2, 0x2]
- cmp r0, 0x1A
- beq _08092D4C
- movs r0, 0
- b _08092D4E
- .align 2, 0
-_08092D48: .4byte 0x00000125
-_08092D4C:
- movs r0, 0x1
-_08092D4E:
- pop {r1}
- bx r1
- thumb_func_end sub_8092D08
-
- thumb_func_start sub_8092D54
-sub_8092D54:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r0, r1, 0
- ldr r5, _08092D78
- ldr r4, _08092D7C
- bl sub_8092C6C
- lsls r0, 2
- adds r0, r4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl ExpandPlaceholdersBuffer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092D78: .4byte gUnknown_810992C
-_08092D7C: .4byte gRangeNames
- thumb_func_end sub_8092D54
-
thumb_func_start sub_8092D80
sub_8092D80:
push {r4,r5,lr}
@@ -1704,7 +963,7 @@ sub_8093400:
lsls r0, r4, 3
adds r0, r7, r0
ldrh r0, [r0, 0x2]
- bl sub_809422C
+ bl DoesMoveCharge
lsls r0, 24
cmp r0, 0
beq _08093428
@@ -1731,7 +990,7 @@ _08093434:
cmp r0, 0
beq _08093460
ldrh r0, [r4, 0x2]
- bl sub_809422C
+ bl DoesMoveCharge
lsls r0, 24
cmp r0, 0
bne _08093460
@@ -3110,7 +2369,7 @@ sub_8093D9C:
lsls r1, 16
lsrs r1, 16
mov r0, sp
- bl sub_8092A88
+ bl InitPokemonMove
adds r0, r4, 0
mov r1, sp
adds r2, r5, 0
@@ -3252,7 +2511,7 @@ sub_8093E90:
adds r3, r5, 0
bl xxx_format_and_draw
adds r0, r6, 0
- bl sub_8092B00
+ bl GetMoveType
lsls r0, 24
lsrs r0, 24
bl GetUnformattedTypeString
@@ -3263,7 +2522,7 @@ sub_8093E90:
adds r3, r5, 0
bl xxx_format_and_draw
adds r0, r6, 0
- bl sub_8092BC0
+ bl GetMovePower
ldr r1, _08093F0C
str r0, [r1]
add sp, 0x4
@@ -3528,976 +2787,4 @@ _080940B0:
bx r0
thumb_func_end sub_8094060
- thumb_func_start sub_80940B8
-sub_80940B8:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl SaveIntegerBits
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x9
- bl SaveIntegerBits
- adds r5, 0x4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl SaveIntegerBits
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80940B8
-
- thumb_func_start sub_80940E0
-sub_80940E0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl RestoreIntegerBits
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x9
- bl RestoreIntegerBits
- adds r5, 0x4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl RestoreIntegerBits
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80940E0
-
- thumb_func_start SavePokemonMoves
-SavePokemonMoves:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r5, 0x3
-_08094110:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80940B8
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08094110
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end SavePokemonMoves
-
- thumb_func_start RestorePokemonMoves
-RestorePokemonMoves:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r5, 0x3
-_08094130:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80940E0
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08094130
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end RestorePokemonMoves
-
- thumb_func_start sub_8094148
-sub_8094148:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x4
- bl SaveIntegerBits
- adds r1, r4, 0x1
- adds r0, r5, 0
- movs r2, 0x1
- bl SaveIntegerBits
- adds r1, r4, 0x2
- adds r0, r5, 0
- movs r2, 0x9
- bl SaveIntegerBits
- adds r1, r4, 0x4
- adds r0, r5, 0
- movs r2, 0x7
- bl SaveIntegerBits
- adds r4, 0x5
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl SaveIntegerBits
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8094148
-
- thumb_func_start sub_8094184
-sub_8094184:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r4, r7, 0
- movs r5, 0x3
-_0809418E:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8094148
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _0809418E
- adds r1, r7, 0
- adds r1, 0x20
- adds r0, r6, 0
- movs r2, 0x8
- bl SaveIntegerBits
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8094184
-
- thumb_func_start sub_80941B0
-sub_80941B0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x4
- bl RestoreIntegerBits
- adds r1, r4, 0x1
- adds r0, r5, 0
- movs r2, 0x1
- bl RestoreIntegerBits
- adds r1, r4, 0x2
- adds r0, r5, 0
- movs r2, 0x9
- bl RestoreIntegerBits
- adds r1, r4, 0x4
- adds r0, r5, 0
- movs r2, 0x7
- bl RestoreIntegerBits
- adds r4, 0x5
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl RestoreIntegerBits
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80941B0
-
- thumb_func_start sub_80941FC
-sub_80941FC:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r4, r7, 0
- movs r5, 0x3
-_08094206:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80941B0
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08094206
- adds r1, r7, 0
- adds r1, 0x20
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- movs r2, 0x8
- bl RestoreIntegerBits
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80941FC
-
- thumb_func_start sub_809422C
-sub_809422C:
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- cmp r1, 0x97
- beq _08094260
- cmp r1, 0x64
- beq _08094260
- cmp r1, 0x3C
- beq _08094260
- cmp r1, 0x4B
- beq _08094260
- movs r0, 0xAE
- lsls r0, 1
- cmp r1, r0
- beq _08094260
- cmp r1, 0x99
- beq _08094260
- cmp r1, 0xCD
- beq _08094260
- cmp r1, 0x9C
- beq _08094260
- cmp r2, 0x8
- beq _08094260
- movs r0, 0
- b _08094262
-_08094260:
- movs r0, 0x1
-_08094262:
- pop {r1}
- bx r1
- thumb_func_end sub_809422C
-
- thumb_func_start sub_8094268
-sub_8094268:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r3, r1, 0
- asrs r0, r3, 16
- asrs r1, r2, 16
- adds r0, r1
- lsls r0, 16
- ldr r6, _080942B0
- ands r3, r6
- orrs r3, r0
- adds r2, r3, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r4, _080942B4
- ands r3, r4
- orrs r3, r2
- asrs r1, r3, 16
- ldr r0, _080942B8
- cmp r1, r0
- ble _080942A6
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- ands r3, r4
- orrs r3, r0
- asrs r0, r3, 16
- ldr r1, _080942BC
- adds r0, r1
- lsls r0, 16
- ands r3, r6
- orrs r3, r0
-_080942A6:
- str r3, [r5]
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080942B0: .4byte 0x0000ffff
-_080942B4: .4byte 0xffff0000
-_080942B8: .4byte 0x000003e7
-_080942BC: .4byte 0xfffffc18
- thumb_func_end sub_8094268
-
- thumb_func_start sub_80942C0
-sub_80942C0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r3, r1, 0
- asrs r0, r3, 16
- asrs r1, r2, 16
- subs r0, r1
- lsls r0, 16
- ldr r4, _08094310
- ands r3, r4
- orrs r3, r0
- subs r2, r3, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r1, _08094314
- ands r3, r1
- orrs r3, r2
- cmp r3, 0
- bge _080942FC
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- ands r3, r1
- orrs r3, r0
- asrs r0, r3, 16
- movs r2, 0xFA
- lsls r2, 2
- adds r0, r2
- lsls r0, 16
- ands r3, r4
- orrs r3, r0
-_080942FC:
- lsls r0, r3, 16
- cmp r0, 0
- bge _08094304
- movs r3, 0
-_08094304:
- str r3, [r5]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08094310: .4byte 0x0000ffff
-_08094314: .4byte 0xffff0000
- thumb_func_end sub_80942C0
-
- thumb_func_start sub_8094318
-sub_8094318:
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r0, r3, 16
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- bgt _08094336
- cmp r1, r0
- blt _0809433A
- asrs r1, r3, 16
- asrs r0, r2, 16
- cmp r1, r0
- ble _0809433A
-_08094336:
- str r2, [r4]
- b _0809433C
-_0809433A:
- str r3, [r4]
-_0809433C:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094318
-
- thumb_func_start sub_8094344
-sub_8094344:
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r0, r3, 16
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- bgt _08094362
- cmp r1, r0
- blt _08094366
- asrs r1, r3, 16
- asrs r0, r2, 16
- cmp r1, r0
- ble _08094366
-_08094362:
- str r3, [r4]
- b _08094368
-_08094366:
- str r2, [r4]
-_08094368:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094344
-
- thumb_func_start sub_8094370
-sub_8094370:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsls r2, 16
- ldr r4, _08094398
- lsrs r3, r1, 16
- orrs r3, r2
- asrs r2, 16
- ldr r1, _0809439C
- asrs r0, r1, 16
- cmp r2, r0
- ble _0809438C
- ands r3, r4
- orrs r3, r1
-_0809438C:
- str r3, [r5]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08094398: .4byte 0x0000ffff
-_0809439C: .4byte 0x03e70000
- thumb_func_end sub_8094370
-
- thumb_func_start sub_80943A0
-sub_80943A0:
- lsls r1, 16
- lsrs r2, r1, 16
- str r2, [r0]
- bx lr
- thumb_func_end sub_80943A0
-
- thumb_func_start sub_80943A8
-sub_80943A8:
- push {r4,r5,lr}
- ldr r3, [r1, 0x4]
- lsrs r2, r3, 16
- ldr r1, _080943D4
- ands r5, r1
- orrs r5, r2
- ldr r4, _080943D8
- adds r2, r4, 0
- ands r2, r3
- lsls r1, r2, 5
- subs r1, r2
- lsls r1, 2
- adds r1, r2
- lsls r1, 3
- lsrs r1, 16
- lsls r1, 16
- ands r5, r4
- orrs r5, r1
- str r5, [r0]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080943D4: .4byte 0xffff0000
-_080943D8: .4byte 0x0000ffff
- thumb_func_end sub_80943A8
-
- thumb_func_start sub_80943DC
-sub_80943DC:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- lsls r1, r4, 16
- asrs r1, 16
- lsls r0, r1, 5
- subs r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 3
- asrs r1, r4, 16
- adds r0, r1
- lsls r3, r2, 16
- asrs r3, 16
- lsls r1, r3, 5
- subs r1, r3
- lsls r1, 2
- adds r1, r3
- lsls r1, 3
- asrs r2, 16
- adds r1, r2
- muls r0, r1
- movs r5, 0xFA
- lsls r5, 2
- adds r1, r5, 0
- bl __divsi3
- adds r6, r0, 0
- adds r1, r5, 0
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08094448
- ands r4, r1
- orrs r4, r0
- adds r0, r6, 0
- adds r1, r5, 0
- bl __modsi3
- lsls r0, 16
- ldr r1, _0809444C
- ands r1, r4
- orrs r0, r1
- mov r1, r8
- str r0, [r1]
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08094448: .4byte 0xffff0000
-_0809444C: .4byte 0x0000ffff
- thumb_func_end sub_80943DC
-
- thumb_func_start sub_8094450
-sub_8094450:
- push {lr}
- adds r1, r0, 0
- lsls r0, r1, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _0809446A
- asrs r0, r1, 16
- cmp r0, 0
- bne _08094466
- movs r0, 0
- b _08094476
-_08094466:
- movs r0, 0x1
- b _08094476
-_0809446A:
- asrs r0, r1, 16
- cmp r0, 0
- bne _08094474
- adds r0, r2, 0
- b _08094476
-_08094474:
- adds r0, r2, 0x1
-_08094476:
- pop {r1}
- bx r1
- thumb_func_end sub_8094450
-
- thumb_func_start sub_809447C
-sub_809447C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x10
- bl RestoreIntegerBits
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl RestoreIntegerBits
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809447C
-
- thumb_func_start sub_809449C
-sub_809449C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x10
- bl SaveIntegerBits
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl SaveIntegerBits
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809449C
-
- thumb_func_start sub_80944BC
-sub_80944BC:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r1, 0
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _080944F4
- cmp r1, r0
- bgt _08094500
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- bl sub_8092AA8
- ldr r0, _080944F8
- mov r1, sp
- movs r2, 0
- bl sub_80928C0
- ldr r0, _080944FC
- ldr r0, [r0]
- adds r2, r4, 0
- adds r2, 0xC8
- adds r1, r4, 0
- movs r3, 0
- bl xxx_format_string
- b _08094516
- .align 2, 0
-_080944F4: .4byte 0x000001f3
-_080944F8: .4byte gUnknown_202DE58
-_080944FC: .4byte gUnknown_811383C
-_08094500:
- ldr r0, _08094520
- ldr r2, _08094524
- adds r1, r2
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r4, 0
- movs r2, 0xC8
- bl strncpy
-_08094516:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094520: .4byte gUnknown_8113080
-_08094524: .4byte 0xfffffe0c
- thumb_func_end sub_80944BC
-
- thumb_func_start sub_8094528
-sub_8094528:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _08094544
- cmp r1, r0
- ble _08094550
- ldr r0, _08094548
- ldr r2, _0809454C
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1]
- b _08094552
- .align 2, 0
-_08094544: .4byte 0x000001f3
-_08094548: .4byte gUnknown_8113080
-_0809454C: .4byte 0xfffffe0c
-_08094550:
- movs r0, 0x1
-_08094552:
- pop {r1}
- bx r1
- thumb_func_end sub_8094528
-
- thumb_func_start sub_8094558
-sub_8094558:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xCC
- adds r7, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- bl sub_80073B8
- movs r5, 0
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
- ldr r4, _080945D0
- adds r1, r6, 0
- adds r1, 0x18
- adds r0, r4, 0
- bl sub_8090208
- ldr r0, _080945D4
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x10
- adds r3, r7, 0
- bl xxx_format_and_draw
- movs r5, 0x1A
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0xA
- bl sub_80922B4
- adds r4, 0x50
- adds r1, r6, 0
- adds r1, 0xA
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- bl sub_8094528
- lsls r0, 24
- cmp r0, 0
- beq _080945DC
- ldr r0, _080945D8
- ldr r0, [r0]
- add r2, sp, 0xCC
- add r1, sp, 0x4
- movs r3, 0
- bl xxx_format_string
- b _080945EA
- .align 2, 0
-_080945D0: .4byte gAvailablePokemonNames
-_080945D4: .4byte gUnknown_8113850
-_080945D8: .4byte gUnknown_8113868
-_080945DC:
- ldr r0, _0809465C
- ldr r0, [r0]
- add r2, sp, 0xCC
- add r1, sp, 0x4
- movs r3, 0
- bl xxx_format_string
-_080945EA:
- add r0, sp, 0x4
- bl sub_8008ED0
- movs r4, 0xB0
- subs r0, r4, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0
- mov r8, r1
- str r1, [sp]
- adds r1, r5, 0
- add r2, sp, 0x4
- adds r3, r7, 0
- bl xxx_format_and_draw
- adds r5, 0xA
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- add r1, sp, 0x4
- bl sub_80944BC
- add r0, sp, 0x4
- bl sub_8008ED0
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r0, r4, 1
- mov r1, r8
- str r1, [sp]
- adds r1, r5, 0
- add r2, sp, 0x4
- adds r3, r7, 0
- bl xxx_format_and_draw
- adds r5, 0x10
- ldr r1, _08094660
- ldr r0, [r6, 0x20]
- str r0, [r1]
- adds r0, r6, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- str r0, [r1, 0x4]
- cmp r0, 0x63
- ble _08094668
- ldr r0, _08094664
- ldr r2, [r0]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
- b _0809467A
- .align 2, 0
-_0809465C: .4byte gUnknown_8113870
-_08094660: .4byte gUnknown_202DE30
-_08094664: .4byte gUnknown_81138C0
-_08094668:
- ldr r0, _080946CC
- ldr r2, [r0]
- mov r1, r8
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
-_0809467A:
- adds r5, 0xA
- ldr r4, _080946D0
- movs r1, 0x24
- ldrsh r0, [r6, r1]
- str r0, [r4]
- ldr r0, _080946D4
- ldr r2, [r0]
- movs r0, 0
- mov r8, r0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
- adds r5, 0xA
- adds r0, r6, 0
- adds r0, 0x26
- ldrb r2, [r0]
- str r2, [r4]
- adds r0, 0x2
- ldrb r0, [r0]
- str r0, [r4, 0x4]
- adds r0, r6, 0
- adds r0, 0x2B
- ldrb r1, [r0]
- cmp r1, 0
- beq _080946DC
- adds r0, r1, 0
- adds r0, r2, r0
- str r0, [r4]
- ldr r0, _080946D8
- ldr r2, [r0]
- mov r1, r8
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
- b _080946EC
- .align 2, 0
-_080946CC: .4byte gUnknown_8113898
-_080946D0: .4byte gUnknown_202DE30
-_080946D4: .4byte gUnknown_81138D0
-_080946D8: .4byte gUnknown_8113950
-_080946DC:
- ldr r0, _08094714
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
-_080946EC:
- adds r0, r6, 0
- adds r0, 0x2D
- ldrb r1, [r0]
- cmp r1, 0
- beq _08094720
- ldr r2, _08094718
- ldr r0, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, _0809471C
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
- b _08094730
- .align 2, 0
-_08094714: .4byte gUnknown_81138E4
-_08094718: .4byte gUnknown_202DE30
-_0809471C: .4byte gUnknown_8113974
-_08094720:
- ldr r0, _08094768
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
-_08094730:
- adds r5, 0xA
- ldr r2, _0809476C
- adds r0, r6, 0
- adds r0, 0x27
- ldrb r3, [r0]
- str r3, [r2]
- adds r0, 0x2
- ldrb r0, [r0]
- str r0, [r2, 0x4]
- adds r0, r6, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- cmp r1, 0
- beq _08094774
- adds r0, r1, 0
- adds r0, r3, r0
- str r0, [r2]
- ldr r0, _08094770
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
- b _08094784
- .align 2, 0
-_08094768: .4byte gUnknown_8113900
-_0809476C: .4byte gUnknown_202DE30
-_08094770: .4byte gUnknown_8113990
-_08094774:
- ldr r0, _080947AC
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
-_08094784:
- adds r0, r6, 0
- adds r0, 0x2E
- ldrb r1, [r0]
- cmp r1, 0
- beq _080947B8
- ldr r2, _080947B0
- ldr r0, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, _080947B4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
- b _080947C8
- .align 2, 0
-_080947AC: .4byte gUnknown_8113918
-_080947B0: .4byte gUnknown_202DE30
-_080947B4: .4byte gUnknown_81139B4
-_080947B8:
- ldr r0, _080947E4
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
-_080947C8:
- adds r5, 0x10
- adds r2, r6, 0
- adds r2, 0x1C
- ldrb r1, [r6, 0x1C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080947EC
- ldr r0, _080947E8
- adds r1, r2, 0
- movs r2, 0
- bl sub_8090E14
- b _080947F6
- .align 2, 0
-_080947E4: .4byte gUnknown_8113934
-_080947E8: .4byte gUnknown_202DE58
-_080947EC:
- ldr r0, _0809481C
- ldr r1, _08094820
- ldr r1, [r1]
- bl strcpy
-_080947F6:
- ldr r0, _08094824
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl xxx_format_and_draw
- adds r0, r7, 0
- bl sub_80073E0
- add sp, 0xCC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809481C: .4byte gUnknown_202DE58
-_08094820: .4byte gUnknown_81139B8
-_08094824: .4byte gUnknown_81139CC
- thumb_func_end sub_8094558
-
- .align 2,0 @ Don't pad with nop
+ .align 2,0
diff --git a/asm/pokemon.s b/asm/pokemon.s
index d5c7f42..bc82a47 100644
--- a/asm/pokemon.s
+++ b/asm/pokemon.s
@@ -258,7 +258,7 @@ _0808D06E:
beq _0808D07E
adds r1, r0, 0
adds r0, r4, 0
- bl sub_8092AD4
+ bl InitZeroedPPPokemonMove
b _0808D080
_0808D07E:
strb r0, [r4]
@@ -415,7 +415,7 @@ _0808D19E:
cmp r1, 0
beq _0808D1B4
adds r0, r4, 0
- bl sub_8092AD4
+ bl InitZeroedPPPokemonMove
b _0808D1B6
_0808D1B4:
strb r1, [r4]
diff --git a/data/data_80D47B8.s b/data/data_80D47B8.s
index ad168f6..f451578 100644
--- a/data/data_80D47B8.s
+++ b/data/data_80D47B8.s
@@ -2678,8 +2678,8 @@ gUnknown_80DAA44:
.string "true power.\0"
.align 2, 0
- .global gUnknown_80DAA98
-gUnknown_80DAA98: @ 80DAA98 (Help Menu?)
+ .global gGameHints
+gGameHints: @ 80DAA98 (Help Menu?)
.4byte gUnknown_80DAF54
.4byte gUnknown_80DAEE0
.4byte gUnknown_80DAECC
@@ -2770,6 +2770,7 @@ gUnknown_80DAF54:
.align 2, 0
.string "pksdir0\0"
+
.global gUnknown_80DAF70
gUnknown_80DAF70: @ 80DAF70
.byte 0x00, 0x00, 0x00, 0x00
diff --git a/data/move/move_data.json b/data/move/move_data.json
index e826d8f..ed3a8f5 100644
--- a/data/move/move_data.json
+++ b/data/move/move_data.json
@@ -13,7 +13,7 @@
"useChance": 0,
"hitCount": 0,
"cannotHitFrozen": false,
- "unk19": 0,
+ "rangeType": 0,
"descriptionPointer": "MoveDescriptionNone",
"useText": "MoveDescriptionNone"
},
@@ -34,7 +34,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerDefenseChance",
"useText": "MoveUseTextUse"
},
@@ -55,7 +55,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionMultiHitUntilMiss",
"useText": "MoveUseTextUse"
},
@@ -76,7 +76,7 @@
"affectedByMagicCoat": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionYawn",
"useText": "MoveUseTextUse"
},
@@ -97,7 +97,7 @@
"affectedByMagicCoat": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 2,
+ "rangeType": 2,
"descriptionPointer": "MoveDescriptionLovelyKiss",
"useText": "MoveUseTextUse"
},
@@ -116,7 +116,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNightmare",
"useText": "MoveUseTextUse"
},
@@ -136,7 +136,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 4,
+ "rangeType": 4,
"descriptionPointer": "MoveDescriptionMorningSun",
"useText": "MoveUseTextUse"
},
@@ -155,7 +155,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionVitalThrow",
"useText": "MoveUseTextUse"
},
@@ -176,7 +176,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 20,
+ "rangeType": 20,
"descriptionPointer": "MoveDescriptionDig",
"useText": "MoveUseTextUse"
},
@@ -197,7 +197,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 12,
+ "rangeType": 12,
"descriptionPointer": "MoveDescriptionThrash",
"useText": "MoveUseTextUse"
},
@@ -217,7 +217,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionSweetScent",
"useText": "MoveUseTextUse"
},
@@ -237,7 +237,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionCharm",
"useText": "MoveUseTextUse"
},
@@ -256,7 +256,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 6,
+ "rangeType": 6,
"descriptionPointer": "MoveDescriptionRainDance",
"useText": "MoveUseTextUse"
},
@@ -276,7 +276,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionConfuseRay",
"useText": "MoveUseTextUse"
},
@@ -295,7 +295,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 6,
+ "rangeType": 6,
"descriptionPointer": "MoveDescriptionHail",
"useText": "MoveUseTextUse"
},
@@ -315,7 +315,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": false,
- "unk19": 16,
+ "rangeType": 16,
"descriptionPointer": "MoveDescriptionHealTeamStatus",
"useText": "MoveUseTextUse"
},
@@ -336,7 +336,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionLowerSpeedChanceDistance",
"useText": "MoveUseTextUse"
},
@@ -355,7 +355,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionEncore",
"useText": "MoveUseTextUse"
},
@@ -376,7 +376,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 2,
+ "rangeType": 2,
"descriptionPointer": "MoveDescriptionCut",
"useText": "MoveUseTextUse"
},
@@ -395,7 +395,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionRage",
"useText": "MoveUseTextUse"
},
@@ -416,7 +416,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSuperFang",
"useText": "MoveUseTextUse"
},
@@ -435,7 +435,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionPainSplit",
"useText": "MoveUseTextUse"
},
@@ -455,7 +455,7 @@
"criticalHitChance": 12,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionTorment",
"useText": "MoveUseTextUse"
},
@@ -475,7 +475,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionStringShot",
"useText": "MoveUseTextUse"
},
@@ -495,7 +495,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSwagger",
"useText": "MoveUseTextUse"
},
@@ -517,7 +517,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionSnore",
"useText": "MoveUseTextUse"
},
@@ -537,7 +537,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": false,
- "unk19": 16,
+ "rangeType": 16,
"descriptionPointer": "MoveDescriptionHealTeamStatus",
"useText": "MoveUseTextUse"
},
@@ -558,7 +558,7 @@
"affectedByMagicCoat": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionScreech",
"useText": "MoveUseTextUse"
},
@@ -579,7 +579,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -599,7 +599,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 25,
+ "rangeType": 25,
"descriptionPointer": "MoveDescriptionRockSmash",
"useText": "MoveUseTextUse"
},
@@ -620,7 +620,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionRockSlide",
"useText": "MoveUseTextUse"
},
@@ -641,7 +641,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionWeatherBall",
"useText": "MoveUseTextUse"
},
@@ -662,7 +662,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionWhirlpool",
"useText": "MoveUseTextUse"
},
@@ -683,7 +683,7 @@
"affectedByMagicCoat": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionFakeTears",
"useText": "MoveUseTextUse"
},
@@ -704,7 +704,7 @@
"affectedByMagicCoat": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionSing",
"useText": "MoveUseTextUse"
},
@@ -723,7 +723,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSpite",
"useText": "MoveUseTextUse"
},
@@ -744,7 +744,7 @@
"criticalHitChance": 50,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionHighCritical",
"useText": "MoveUseTextUse"
},
@@ -764,7 +764,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionSmokescreen",
"useText": "MoveUseTextUse"
},
@@ -783,7 +783,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionCounter",
"useText": "MoveUseTextUse"
},
@@ -804,7 +804,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionMultiHit",
"useText": "MoveUseTextUse"
},
@@ -823,7 +823,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionMirrorMove",
"useText": "MoveUseTextUse"
},
@@ -844,7 +844,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 2,
+ "rangeType": 2,
"descriptionPointer": "MoveDescriptionOverheat",
"useText": "MoveUseTextUse"
},
@@ -865,7 +865,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionAuroraBeam",
"useText": "MoveUseTextUse"
},
@@ -884,7 +884,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionMemento",
"useText": "MoveUseTextUse"
},
@@ -906,7 +906,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionOctazooka",
"useText": "MoveUseTextUse"
},
@@ -927,7 +927,7 @@
"affectedByMagicCoat": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionFlatter",
"useText": "MoveUseTextUse"
},
@@ -948,7 +948,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionCringe",
"useText": "MoveUseTextUse"
},
@@ -968,7 +968,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionWillOWisp",
"useText": "MoveUseTextUse"
},
@@ -988,7 +988,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionReturn",
"useText": "MoveUseTextUse"
},
@@ -1007,7 +1007,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionGrudge",
"useText": "MoveUseTextUse"
},
@@ -1026,7 +1026,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionStrength",
"useText": "MoveUseTextUse"
},
@@ -1045,7 +1045,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionCounter",
"useText": "MoveUseTextUse"
},
@@ -1066,7 +1066,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionBurnChance",
"useText": "MoveUseTextUse"
},
@@ -1087,7 +1087,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionFlamethrower",
"useText": "MoveUseTextUse"
},
@@ -1106,7 +1106,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionOdorSleuth",
"useText": "MoveUseTextUse"
},
@@ -1126,7 +1126,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostAttack",
"useText": "MoveUseTextUse"
},
@@ -1146,7 +1146,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostEvasion",
"useText": "MoveUseTextUse"
},
@@ -1167,7 +1167,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionGust",
"useText": "MoveUseTextUse"
},
@@ -1187,7 +1187,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostDefense",
"useText": "MoveUseTextUse"
},
@@ -1206,7 +1206,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionParalyze",
"useText": "MoveUseTextUse"
},
@@ -1227,7 +1227,7 @@
"criticalHitChance": 50,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 28,
+ "rangeType": 28,
"descriptionPointer": "MoveDescriptionRazorWind",
"useText": "MoveUseTextUse"
},
@@ -1246,7 +1246,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBide",
"useText": "MoveUseTextUse"
},
@@ -1268,7 +1268,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerSpecialDefenseChance",
"useText": "MoveUseTextUse"
},
@@ -1290,7 +1290,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionCringe",
"useText": "MoveUseTextUse"
},
@@ -1311,7 +1311,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionThunder",
"useText": "MoveUseTextUse"
},
@@ -1332,7 +1332,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionParalyzeChance",
"useText": "MoveUseTextUse"
},
@@ -1352,7 +1352,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionEndeavor",
"useText": "MoveUseTextUse"
},
@@ -1373,7 +1373,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionFacade",
"useText": "MoveUseTextUse"
},
@@ -1394,7 +1394,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionHighCritical",
"useText": "MoveUseTextUse"
},
@@ -1415,7 +1415,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionConstriction",
"useText": "MoveUseTextUse"
},
@@ -1435,7 +1435,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostDefense",
"useText": "MoveUseTextUse"
},
@@ -1456,7 +1456,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionConstrict",
"useText": "MoveUseTextUse"
},
@@ -1477,7 +1477,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionBrickBreak",
"useText": "MoveUseTextUse"
},
@@ -1498,7 +1498,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamageLowerSpeed",
"useText": "MoveUseTextUse"
},
@@ -1518,7 +1518,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionFocusEnergy",
"useText": "MoveUseTextUse"
},
@@ -1539,7 +1539,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 20,
+ "rangeType": 20,
"descriptionPointer": "MoveDescriptionFocusPunch",
"useText": "MoveUseTextUse"
},
@@ -1560,7 +1560,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDrain",
"useText": "MoveUseTextUse"
},
@@ -1581,7 +1581,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionReversal",
"useText": "MoveUseTextUse"
},
@@ -1602,7 +1602,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSmellingsalt",
"useText": "MoveUseTextUse"
},
@@ -1622,7 +1622,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionSpore",
"useText": "MoveUseTextUse"
},
@@ -1644,7 +1644,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDrain",
"useText": "MoveUseTextUse"
},
@@ -1665,7 +1665,7 @@
"criticalHitChance": 50,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionHighCritical",
"useText": "MoveUseTextUse"
},
@@ -1686,7 +1686,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionSilverWind",
"useText": "MoveUseTextUse"
},
@@ -1706,7 +1706,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionMetalSound",
"useText": "MoveUseTextUse"
},
@@ -1727,7 +1727,7 @@
"affectedByMagicCoat": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionSleep",
"useText": "MoveUseTextUse"
},
@@ -1747,7 +1747,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionTickle",
"useText": "MoveUseTextUse"
},
@@ -1767,7 +1767,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionLegHolder",
"useText": "MoveUseTextUse"
},
@@ -1788,7 +1788,7 @@
"criticalHitChance": 50,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionHighCritical",
"useText": "MoveUseTextUse"
},
@@ -1807,7 +1807,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 17,
+ "rangeType": 17,
"descriptionPointer": "MoveDescriptionHaze",
"useText": "MoveUseTextUse"
},
@@ -1827,7 +1827,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLegHolder",
"useText": "MoveUseTextUse"
},
@@ -1848,7 +1848,7 @@
"criticalHitChance": 50,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionHighCritical",
"useText": "MoveUseTextUse"
},
@@ -1869,7 +1869,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionOutrage",
"useText": "MoveUseTextUse"
},
@@ -1890,7 +1890,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowKick",
"useText": "MoveUseTextUse"
},
@@ -1911,7 +1911,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionAncientpower",
"useText": "MoveUseTextUse"
},
@@ -1931,7 +1931,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 21,
+ "rangeType": 21,
"descriptionPointer": "MoveDescriptionSynthesis",
"useText": "MoveUseTextUse"
},
@@ -1951,7 +1951,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 16,
+ "rangeType": 16,
"descriptionPointer": "MoveDescriptionAgility",
"useText": "MoveUseTextUse"
},
@@ -1972,7 +1972,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionRapidSpin",
"useText": "MoveUseTextUse"
},
@@ -1993,7 +1993,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionIcyWind",
"useText": "MoveUseTextUse"
},
@@ -2012,7 +2012,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionMindReader",
"useText": "MoveUseTextUse"
},
@@ -2032,7 +2032,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionCosmicPower",
"useText": "MoveUseTextUse"
},
@@ -2053,7 +2053,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 28,
+ "rangeType": 28,
"descriptionPointer": "MoveDescriptionSkyAttack",
"useText": "MoveUseTextUse"
},
@@ -2074,7 +2074,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionFreezeChanceRoom",
"useText": "MoveUseTextUse"
},
@@ -2093,7 +2093,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionFollowMe",
"useText": "MoveUseTextUse"
},
@@ -2114,7 +2114,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionMeteorMash",
"useText": "MoveUseTextUse"
},
@@ -2133,7 +2133,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionEndure",
"useText": "MoveUseTextUse"
},
@@ -2154,7 +2154,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionMultiHitUntilMiss",
"useText": "MoveUseTextUse"
},
@@ -2174,7 +2174,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerSpeed",
"useText": "MoveUseTextUse"
},
@@ -2195,7 +2195,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionConfuseChanceDistance",
"useText": "MoveUseTextUse"
},
@@ -2215,7 +2215,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionPsywave",
"useText": "MoveUseTextUse"
},
@@ -2236,7 +2236,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerSpecialDefenseChance",
"useText": "MoveUseTextUse"
},
@@ -2257,7 +2257,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionPsychoBoost",
"useText": "MoveUseTextUse"
},
@@ -2277,7 +2277,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionSleep",
"useText": "MoveUseTextUse"
},
@@ -2297,7 +2297,7 @@
"criticalHitChance": 12,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 16,
+ "rangeType": 16,
"descriptionPointer": "MoveDescriptionUproar",
"useText": "MoveUseTextUse"
},
@@ -2318,7 +2318,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionWaterSpout",
"useText": "MoveUseTextUse"
},
@@ -2339,7 +2339,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionConfuseChanceDistance",
"useText": "MoveUseTextUse"
},
@@ -2358,7 +2358,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 30,
+ "rangeType": 30,
"descriptionPointer": "MoveDescriptionPsychUp",
"useText": "MoveUseTextUse"
},
@@ -2379,7 +2379,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionRecoil",
"useText": "MoveUseTextUse"
},
@@ -2399,7 +2399,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionRecover",
"useText": "MoveUseTextUse"
},
@@ -2420,7 +2420,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 18,
+ "rangeType": 18,
"descriptionPointer": "MoveDescriptionEarthquake",
"useText": "MoveUseTextUse"
},
@@ -2440,7 +2440,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionNaturePower",
"useText": "MoveUseTextUse"
},
@@ -2462,7 +2462,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionParalyzeChance",
"useText": "MoveUseTextUse"
},
@@ -2483,7 +2483,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionFlail",
"useText": "MoveUseTextUse"
},
@@ -2503,7 +2503,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerDefense",
"useText": "MoveUseTextUse"
},
@@ -2523,7 +2523,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 26,
+ "rangeType": 26,
"descriptionPointer": "MoveDescriptionSelfdestruct",
"useText": "MoveUseTextUse"
},
@@ -2543,7 +2543,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 2,
+ "rangeType": 2,
"descriptionPointer": "MoveDescriptionStunSpore",
"useText": "MoveUseTextUse"
},
@@ -2564,7 +2564,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionConstriction",
"useText": "MoveUseTextUse"
},
@@ -2585,7 +2585,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNeverMiss",
"useText": "MoveUseTextUse"
},
@@ -2606,7 +2606,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionShadowBall",
"useText": "MoveUseTextUse"
},
@@ -2626,7 +2626,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 20,
+ "rangeType": 20,
"descriptionPointer": "MoveDescriptionCharge",
"useText": "MoveUseTextUse"
},
@@ -2647,7 +2647,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 2,
+ "rangeType": 2,
"descriptionPointer": "MoveDescriptionThunderbolt",
"useText": "MoveUseTextUse"
},
@@ -2667,7 +2667,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionMist",
"useText": "MoveUseTextUse"
},
@@ -2687,7 +2687,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionFissure",
"useText": "MoveUseTextUse"
},
@@ -2708,7 +2708,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 13,
+ "rangeType": 13,
"descriptionPointer": "MoveDescriptionTwoTilesAhead",
"useText": "MoveUseTextUse"
},
@@ -2729,7 +2729,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionExtrasensory",
"useText": "MoveUseTextUse"
},
@@ -2749,7 +2749,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 16,
+ "rangeType": 16,
"descriptionPointer": "MoveDescriptionSafeguard",
"useText": "MoveUseTextUse"
},
@@ -2771,7 +2771,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDrain",
"useText": "MoveUseTextUse"
},
@@ -2792,7 +2792,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSkyUppercut",
"useText": "MoveUseTextUse"
},
@@ -2811,7 +2811,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSkillSwap",
"useText": "MoveUseTextUse"
},
@@ -2830,7 +2830,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSketch",
"useText": "MoveUseTextUse"
},
@@ -2851,7 +2851,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionCringe",
"useText": "MoveUseTextUse"
},
@@ -2872,7 +2872,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionRecoil",
"useText": "MoveUseTextUse"
},
@@ -2891,7 +2891,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 6,
+ "rangeType": 6,
"descriptionPointer": "MoveDescriptionSandstorm",
"useText": "MoveUseTextUse"
},
@@ -2911,7 +2911,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionLowerAccuracy",
"useText": "MoveUseTextUse"
},
@@ -2932,7 +2932,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionConstriction",
"useText": "MoveUseTextUse"
},
@@ -2953,7 +2953,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionParalyzeChance",
"useText": "MoveUseTextUse"
},
@@ -2974,7 +2974,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionNeverMiss",
"useText": "MoveUseTextUse"
},
@@ -2993,7 +2993,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerAccuracy",
"useText": "MoveUseTextUse"
},
@@ -3014,7 +3014,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionPoisonChance",
"useText": "MoveUseTextUse"
},
@@ -3034,7 +3034,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionGrowth",
"useText": "MoveUseTextUse"
},
@@ -3055,7 +3055,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSacredFire",
"useText": "MoveUseTextUse"
},
@@ -3075,7 +3075,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSheerCold",
"useText": "MoveUseTextUse"
},
@@ -3096,7 +3096,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 28,
+ "rangeType": 28,
"descriptionPointer": "MoveDescriptionSolarbeam",
"useText": "MoveUseTextUse"
},
@@ -3116,7 +3116,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionSonicboom",
"useText": "MoveUseTextUse"
},
@@ -3137,7 +3137,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 20,
+ "rangeType": 20,
"descriptionPointer": "MoveDescriptionFly",
"useText": "MoveUseTextUse"
},
@@ -3158,7 +3158,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -3178,7 +3178,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 27,
+ "rangeType": 27,
"descriptionPointer": "MoveDescriptionExplosion",
"useText": "MoveUseTextUse"
},
@@ -3199,7 +3199,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 20,
+ "rangeType": 20,
"descriptionPointer": "MoveDescriptionDive",
"useText": "MoveUseTextUse"
},
@@ -3220,7 +3220,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionBurnChance",
"useText": "MoveUseTextUse"
},
@@ -3241,7 +3241,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -3262,7 +3262,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionMuddyWater",
"useText": "MoveUseTextUse"
},
@@ -3283,7 +3283,7 @@
"targetsUser": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionStockpile",
"useText": "MoveUseTextUse"
},
@@ -3304,7 +3304,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -3325,7 +3325,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionTwister",
"useText": "MoveUseTextUse"
},
@@ -3346,7 +3346,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionMultiHitDistance",
"useText": "MoveUseTextUse"
},
@@ -3367,7 +3367,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionTwineedle",
"useText": "MoveUseTextUse"
},
@@ -3387,7 +3387,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 16,
+ "rangeType": 16,
"descriptionPointer": "MoveDescriptionSoftboiled",
"useText": "MoveUseTextUse"
},
@@ -3408,7 +3408,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -3429,7 +3429,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNeverMiss",
"useText": "MoveUseTextUse"
},
@@ -3450,7 +3450,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionMultiHit",
"useText": "MoveUseTextUse"
},
@@ -3470,7 +3470,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostEvasion",
"useText": "MoveUseTextUse"
},
@@ -3490,7 +3490,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSeismicToss",
"useText": "MoveUseTextUse"
},
@@ -3511,7 +3511,7 @@
"affectedByMagicCoat": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionConfuse",
"useText": "MoveUseTextUse"
},
@@ -3530,7 +3530,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionTaunt",
"useText": "MoveUseTextUse"
},
@@ -3550,7 +3550,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 5,
+ "rangeType": 5,
"descriptionPointer": "MoveDescriptionMoonlight",
"useText": "MoveUseTextUse"
},
@@ -3571,7 +3571,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -3592,7 +3592,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionMultiHit",
"useText": "MoveUseTextUse"
},
@@ -3613,7 +3613,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -3633,7 +3633,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionOneHit",
"useText": "MoveUseTextUse"
},
@@ -3654,7 +3654,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -3675,7 +3675,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNeverMiss",
"useText": "MoveUseTextUse"
},
@@ -3696,7 +3696,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionMultiHit",
"useText": "MoveUseTextUse"
},
@@ -3716,7 +3716,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionSwordsDance",
"useText": "MoveUseTextUse"
},
@@ -3737,7 +3737,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -3756,7 +3756,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionConversion",
"useText": "MoveUseTextUse"
},
@@ -3775,7 +3775,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionConversion2",
"useText": "MoveUseTextUse"
},
@@ -3794,7 +3794,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 22,
+ "rangeType": 22,
"descriptionPointer": "MoveDescriptionHelpingHand",
"useText": "MoveUseTextUse"
},
@@ -3814,7 +3814,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostDefenseTwo",
"useText": "MoveUseTextUse"
},
@@ -3833,7 +3833,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionTeleport",
"useText": "MoveUseTextUse"
},
@@ -3854,7 +3854,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionParalyzeChance",
"useText": "MoveUseTextUse"
},
@@ -3875,7 +3875,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionShockWave",
"useText": "MoveUseTextUse"
},
@@ -3896,7 +3896,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 13,
+ "rangeType": 13,
"descriptionPointer": "MoveDescriptionTwoTilesAhead",
"useText": "MoveUseTextUse"
},
@@ -3917,7 +3917,7 @@
"affectedByMagicCoat": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionConfuse",
"useText": "MoveUseTextUse"
},
@@ -3937,7 +3937,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionParalyze",
"useText": "MoveUseTextUse"
},
@@ -3958,7 +3958,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionZapCannon",
"useText": "MoveUseTextUse"
},
@@ -3978,7 +3978,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionBlock",
"useText": "MoveUseTextUse"
},
@@ -3999,7 +3999,7 @@
"targetsUser": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostAttack",
"useText": "MoveUseTextUse"
},
@@ -4019,7 +4019,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionPoison",
"useText": "MoveUseTextUse"
},
@@ -4039,7 +4039,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionToxic",
"useText": "MoveUseTextUse"
},
@@ -4060,7 +4060,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionPoisonFang",
"useText": "MoveUseTextUse"
},
@@ -4080,7 +4080,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionPoison",
"useText": "MoveUseTextUse"
},
@@ -4101,7 +4101,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionPoisonChance",
"useText": "MoveUseTextUse"
},
@@ -4122,7 +4122,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionMultiHitDistance",
"useText": "MoveUseTextUse"
},
@@ -4142,7 +4142,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostDefenseTwo",
"useText": "MoveUseTextUse"
},
@@ -4163,7 +4163,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionTakeDown",
"useText": "MoveUseTextUse"
},
@@ -4184,7 +4184,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionJumpKick",
"useText": "MoveUseTextUse"
},
@@ -4205,7 +4205,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 20,
+ "rangeType": 20,
"descriptionPointer": "MoveDescriptionBounce",
"useText": "MoveUseTextUse"
},
@@ -4226,7 +4226,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionJumpKick",
"useText": "MoveUseTextUse"
},
@@ -4247,7 +4247,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionTriAttack",
"useText": "MoveUseTextUse"
},
@@ -4268,7 +4268,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -4287,7 +4287,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionTrick",
"useText": "MoveUseTextUse"
},
@@ -4308,7 +4308,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionTripleKick",
"useText": "MoveUseTextUse"
},
@@ -4329,7 +4329,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -4348,7 +4348,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 6,
+ "rangeType": 6,
"descriptionPointer": "MoveDescriptionMudSport",
"useText": "MoveUseTextUse"
},
@@ -4369,7 +4369,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionMudSlap",
"useText": "MoveUseTextUse"
},
@@ -4390,7 +4390,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionThief",
"useText": "MoveUseTextUse"
},
@@ -4410,7 +4410,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionAmnesia",
"useText": "MoveUseTextUse"
},
@@ -4430,7 +4430,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 2,
+ "rangeType": 2,
"descriptionPointer": "MoveDescriptionNightShade",
"useText": "MoveUseTextUse"
},
@@ -4451,7 +4451,7 @@
"affectedByMagicCoat": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionGrowl",
"useText": "MoveUseTextUse"
},
@@ -4471,7 +4471,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionRecover",
"useText": "MoveUseTextUse"
},
@@ -4492,7 +4492,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSurf",
"useText": "MoveUseTextUse"
},
@@ -4511,7 +4511,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionRolePlay",
"useText": "MoveUseTextUse"
},
@@ -4532,7 +4532,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionCringe",
"useText": "MoveUseTextUse"
},
@@ -4553,7 +4553,7 @@
"criticalHitChance": 3,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionHitTwice",
"useText": "MoveUseTextUse"
},
@@ -4572,7 +4572,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 6,
+ "rangeType": 6,
"descriptionPointer": "MoveDescriptionSunnyDay",
"useText": "MoveUseTextUse"
},
@@ -4592,7 +4592,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerDefense",
"useText": "MoveUseTextUse"
},
@@ -4611,7 +4611,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionWish",
"useText": "MoveUseTextUse"
},
@@ -4632,7 +4632,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 13,
+ "rangeType": 13,
"descriptionPointer": "MoveDescriptionFakeOut",
"useText": "MoveUseTextUse"
},
@@ -4652,7 +4652,7 @@
"criticalHitChance": 12,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionSleepTalk",
"useText": "MoveUseTextUse"
},
@@ -4673,7 +4673,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionPayDay",
"useText": "MoveUseTextUse"
},
@@ -4694,7 +4694,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionAssist",
"useText": "MoveUseTextAssist"
},
@@ -4715,7 +4715,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionHeatWave",
"useText": "MoveUseTextUse"
},
@@ -4735,7 +4735,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 2,
+ "rangeType": 2,
"descriptionPointer": "MoveDescriptionSleepPowder",
"useText": "MoveUseTextUse"
},
@@ -4755,7 +4755,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionRest",
"useText": "MoveUseTextUse"
},
@@ -4775,7 +4775,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionIngrain",
"useText": "MoveUseTextUse"
},
@@ -4796,7 +4796,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionConfuseChance",
"useText": "MoveUseTextUse"
},
@@ -4817,7 +4817,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionParalyzeChance",
"useText": "MoveUseTextUse"
},
@@ -4838,7 +4838,7 @@
"targetsUser": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 21,
+ "rangeType": 21,
"descriptionPointer": "MoveDescriptionSwallow",
"useText": "MoveUseTextUse"
},
@@ -4857,7 +4857,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionCurse",
"useText": "MoveUseTextUse"
},
@@ -4878,7 +4878,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionFrenzyPlant",
"useText": "MoveUseTextUse"
},
@@ -4899,7 +4899,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionHydroCannon",
"useText": "MoveUseTextUse"
},
@@ -4920,7 +4920,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionHydroPump",
"useText": "MoveUseTextUse"
},
@@ -4942,7 +4942,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -4963,7 +4963,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionHyperBeam",
"useText": "MoveUseTextUse"
},
@@ -4984,7 +4984,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSuperpower",
"useText": "MoveUseTextUse"
},
@@ -5005,7 +5005,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSteelWing",
"useText": "MoveUseTextUse"
},
@@ -5027,7 +5027,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSpitUp",
"useText": "MoveUseTextUse"
},
@@ -5048,7 +5048,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDynamicpunch",
"useText": "MoveUseTextUse"
},
@@ -5068,7 +5068,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionOneHit",
"useText": "MoveUseTextUse"
},
@@ -5089,7 +5089,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -5108,7 +5108,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionKnockOff",
"useText": "MoveUseTextUse"
},
@@ -5129,7 +5129,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -5150,7 +5150,7 @@
"criticalHitChance": 50,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionHighCriticalDistance",
"useText": "MoveUseTextUse"
},
@@ -5169,7 +5169,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 17,
+ "rangeType": 17,
"descriptionPointer": "MoveDescriptionBatonPass",
"useText": "MoveUseTextUse"
},
@@ -5190,7 +5190,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionPetalDance",
"useText": "MoveUseTextUse"
},
@@ -5209,7 +5209,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionSplash",
"useText": "MoveUseTextUse"
},
@@ -5230,7 +5230,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionLowerSpeedChanceDistance",
"useText": "MoveUseTextUse"
},
@@ -5249,7 +5249,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionFixedDamage",
"useText": "MoveUseTextUse"
},
@@ -5269,7 +5269,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBellyDrum",
"useText": "MoveUseTextUse"
},
@@ -5289,7 +5289,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostDefenseTwo",
"useText": "MoveUseTextUse"
},
@@ -5309,7 +5309,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionLightScreen",
"useText": "MoveUseTextUse"
},
@@ -5330,7 +5330,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -5352,7 +5352,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionCringe",
"useText": "MoveUseTextUse"
},
@@ -5373,7 +5373,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionBurnChance",
"useText": "MoveUseTextUse"
},
@@ -5394,7 +5394,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionSecretPower",
"useText": "MoveUseTextUse"
},
@@ -5415,7 +5415,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionConfuseChance",
"useText": "MoveUseTextUse"
},
@@ -5435,7 +5435,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBulkUp",
"useText": "MoveUseTextUse"
},
@@ -5454,7 +5454,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionImprison",
"useText": "MoveUseTextUse"
},
@@ -5474,7 +5474,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionFeatherdance",
"useText": "MoveUseTextUse"
},
@@ -5493,7 +5493,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionWhirlwind",
"useText": "MoveUseTextUse"
},
@@ -5512,7 +5512,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 4,
+ "rangeType": 4,
"descriptionPointer": "MoveDescriptionBeatUp",
"useText": "MoveUseTextUse"
},
@@ -5533,7 +5533,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionFreezeChanceRoom",
"useText": "MoveUseTextUse"
},
@@ -5554,7 +5554,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionCringe",
"useText": "MoveUseTextUse"
},
@@ -5576,7 +5576,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 2,
+ "rangeType": 2,
"descriptionPointer": "MoveDescriptionBlastBurn",
"useText": "MoveUseTextUse"
},
@@ -5596,7 +5596,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerAccuracy",
"useText": "MoveUseTextUse"
},
@@ -5615,7 +5615,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 6,
+ "rangeType": 6,
"descriptionPointer": "MoveDescriptionTeeterDance",
"useText": "MoveUseTextUse"
},
@@ -5636,7 +5636,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerDefenseChance",
"useText": "MoveUseTextUse"
},
@@ -5657,7 +5657,7 @@
"criticalHitChance": 50,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionBlazeKick",
"useText": "MoveUseTextUse"
},
@@ -5677,7 +5677,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionPresent",
"useText": "MoveUseTextUse"
},
@@ -5698,7 +5698,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionEruption",
"useText": "MoveUseTextUse"
},
@@ -5719,7 +5719,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionSludge",
"useText": "MoveUseTextUse"
},
@@ -5740,7 +5740,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionSludgeBomb",
"useText": "MoveUseTextUse"
},
@@ -5760,7 +5760,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionParalyze",
"useText": "MoveUseTextUse"
},
@@ -5779,7 +5779,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionTransform",
"useText": "MoveUseTextUse"
},
@@ -5800,7 +5800,7 @@
"criticalHitChance": 50,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionPoisonTail",
"useText": "MoveUseTextUse"
},
@@ -5820,7 +5820,7 @@
"criticalHitChance": 12,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionWhirlwind",
"useText": "MoveUseTextUse"
},
@@ -5841,7 +5841,7 @@
"criticalHitChance": 2,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionMultiHit",
"useText": "MoveUseTextUse"
},
@@ -5861,7 +5861,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionCamouflage",
"useText": "MoveUseTextUse"
},
@@ -5882,7 +5882,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionThief",
"useText": "MoveUseTextUse"
},
@@ -5902,7 +5902,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionTailGlow",
"useText": "MoveUseTextUse"
},
@@ -5923,7 +5923,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionCringe",
"useText": "MoveUseTextUse"
},
@@ -5944,7 +5944,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionBonemerang",
"useText": "MoveUseTextUse"
},
@@ -5965,7 +5965,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionFireSpin",
"useText": "MoveUseTextUse"
},
@@ -5986,7 +5986,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": false,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionBurnChance",
"useText": "MoveUseTextUse"
},
@@ -6006,7 +6006,7 @@
"criticalHitChance": 12,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 7,
+ "rangeType": 7,
"descriptionPointer": "MoveDescriptionPerishSong",
"useText": "MoveUseTextUse"
},
@@ -6025,7 +6025,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionWrap",
"useText": "MoveUseTextUse"
},
@@ -6044,7 +6044,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 24,
+ "rangeType": 24,
"descriptionPointer": "MoveDescriptionSpikes",
"useText": "MoveUseTextUse"
},
@@ -6064,7 +6064,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 18,
+ "rangeType": 18,
"descriptionPointer": "MoveDescriptionMagnitude",
"useText": "MoveUseTextUse"
},
@@ -6085,7 +6085,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionNeverMiss",
"useText": "MoveUseTextUse"
},
@@ -6104,7 +6104,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionMagicCoat",
"useText": "MoveUseTextUse"
},
@@ -6125,7 +6125,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionDamageLowerSpeed",
"useText": "MoveUseTextUse"
},
@@ -6146,7 +6146,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 13,
+ "rangeType": 13,
"descriptionPointer": "MoveDescriptionTwoTilesAhead",
"useText": "MoveUseTextUse"
},
@@ -6165,7 +6165,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionProtect",
"useText": "MoveUseTextUse"
},
@@ -6185,7 +6185,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostDefense",
"useText": "MoveUseTextUse"
},
@@ -6206,7 +6206,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionCringe",
"useText": "MoveUseTextUse"
},
@@ -6226,7 +6226,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 30,
+ "rangeType": 30,
"descriptionPointer": "MoveDescriptionSubstitute",
"useText": "MoveUseTextUse"
},
@@ -6245,7 +6245,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionProtect",
"useText": "MoveUseTextUse"
},
@@ -6266,7 +6266,7 @@
"criticalHitChance": 1,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionMultiHitDistance",
"useText": "MoveUseTextUse"
},
@@ -6285,7 +6285,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 6,
+ "rangeType": 6,
"descriptionPointer": "MoveDescriptionWaterSport",
"useText": "MoveUseTextUse"
},
@@ -6306,7 +6306,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -6327,7 +6327,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionMistBall",
"useText": "MoveUseTextUse"
},
@@ -6348,7 +6348,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionWaterPulse",
"useText": "MoveUseTextUse"
},
@@ -6369,7 +6369,7 @@
"criticalHitChance": 1,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionMultiHit",
"useText": "MoveUseTextUse"
},
@@ -6390,7 +6390,7 @@
"criticalHitChance": 1,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionMultiHit",
"useText": "MoveUseTextUse"
},
@@ -6409,7 +6409,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionDestinyBond",
"useText": "MoveUseTextUse"
},
@@ -6429,7 +6429,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionFalseSwipe",
"useText": "MoveUseTextUse"
},
@@ -6448,7 +6448,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionForesight",
"useText": "MoveUseTextUse"
},
@@ -6467,7 +6467,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionMirrorCoat",
"useText": "MoveUseTextUse"
},
@@ -6486,7 +6486,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionFixedDamage",
"useText": "MoveUseTextUse"
},
@@ -6507,7 +6507,7 @@
"targetsUser": true,
"affectedByMuzzled": true,
"cannotHitFrozen": true,
- "unk19": 5,
+ "rangeType": 5,
"descriptionPointer": "MoveDescriptionMilkDrink",
"useText": "MoveUseTextUse"
},
@@ -6527,7 +6527,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionCalmMind",
"useText": "MoveUseTextUse"
},
@@ -6548,7 +6548,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDrain",
"useText": "MoveUseTextUse"
},
@@ -6569,7 +6569,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -6590,7 +6590,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -6611,7 +6611,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -6632,7 +6632,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionHiddenPower",
"useText": "MoveUseTextUse"
},
@@ -6653,7 +6653,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionMetalClaw",
"useText": "MoveUseTextUse"
},
@@ -6673,7 +6673,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionAttract",
"useText": "MoveUseTextUse"
},
@@ -6692,7 +6692,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionMimic",
"useText": "MoveUseTextUse"
},
@@ -6712,7 +6712,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionFrustration",
"useText": "MoveUseTextUse"
},
@@ -6732,7 +6732,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionLeechSeed",
"useText": "MoveUseTextUse"
},
@@ -6752,7 +6752,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionMetronome",
"useText": "MoveUseTextUse"
},
@@ -6774,7 +6774,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionDreamEater",
"useText": "MoveUseTextUse"
},
@@ -6795,7 +6795,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionAcid",
"useText": "MoveUseTextUse"
},
@@ -6815,7 +6815,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBoostAttack",
"useText": "MoveUseTextUse"
},
@@ -6834,7 +6834,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionSnatch",
"useText": "MoveUseTextUse"
},
@@ -6855,7 +6855,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerSpecialDefenseChance",
"useText": "MoveUseTextUse"
},
@@ -6876,7 +6876,7 @@
"criticalHitChance": 50,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionHighCritical",
"useText": "MoveUseTextUse"
},
@@ -6895,7 +6895,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 23,
+ "rangeType": 23,
"descriptionPointer": "MoveDescriptionRecycle",
"useText": "MoveUseTextUse"
},
@@ -6915,7 +6915,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionReflect",
"useText": "MoveUseTextUse"
},
@@ -6935,7 +6935,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": false,
- "unk19": 16,
+ "rangeType": 16,
"descriptionPointer": "MoveDescriptionRefresh",
"useText": "MoveUseTextUse"
},
@@ -6954,7 +6954,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionBide",
"useText": "MoveUseTextUse"
},
@@ -6974,7 +6974,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionDragonRage",
"useText": "MoveUseTextUse"
},
@@ -6996,7 +6996,7 @@
"affectedByMuzzled": true,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionDragonbreath",
"useText": "MoveUseTextUse"
},
@@ -7016,7 +7016,7 @@
"criticalHitChance": 12,
"targetsUser": true,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionDragonDance",
"useText": "MoveUseTextUse"
},
@@ -7037,7 +7037,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionFreezeChanceRoom",
"useText": "MoveUseTextUse"
},
@@ -7058,7 +7058,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionIceBeam",
"useText": "MoveUseTextUse"
},
@@ -7079,7 +7079,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionHitTwice",
"useText": "MoveUseTextUse"
},
@@ -7100,7 +7100,7 @@
"criticalHitChance": 1,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionMultiHit",
"useText": "MoveUseTextUse"
},
@@ -7121,7 +7121,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 20,
+ "rangeType": 20,
"descriptionPointer": "MoveDescriptionSkullBash",
"useText": "MoveUseTextUse"
},
@@ -7140,7 +7140,7 @@
"hitCount": 1,
"criticalHitChance": 12,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionLockOn",
"useText": "MoveUseTextUse"
},
@@ -7161,7 +7161,7 @@
"criticalHitChance": 1,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionMultiHit",
"useText": "MoveUseTextUse"
},
@@ -7181,7 +7181,7 @@
"criticalHitChance": 12,
"affectedByMagicCoat": true,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionLowerSpeed",
"useText": "MoveUseTextUse"
},
@@ -7201,7 +7201,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionStruggle",
"useText": "MoveUseTextUse"
},
@@ -7222,7 +7222,7 @@
"criticalHitChance": 50,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionHighCriticalDistance",
"useText": "MoveUseTextUse"
},
@@ -7243,7 +7243,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionVoltTackle",
"useText": "MoveUseTextUse"
},
@@ -7263,7 +7263,7 @@
"unk12": 1,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextRegularAttack"
},
@@ -7284,7 +7284,7 @@
"criticalHitChance": 6,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionIsWatching",
"useText": "MoveUseTextUse"
},
@@ -7305,7 +7305,7 @@
"criticalHitChance": 6,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextBide"
},
@@ -7326,7 +7326,7 @@
"criticalHitChance": 6,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionPlaceholder",
"useText": "MoveUseTextUse"
},
@@ -7347,7 +7347,7 @@
"criticalHitChance": 6,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionPlaceholder",
"useText": "MoveUseTextUse"
},
@@ -7368,7 +7368,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 1,
+ "rangeType": 1,
"descriptionPointer": "MoveDescriptionWideSlash",
"useText": "MoveUseTextUse"
},
@@ -7388,7 +7388,7 @@
"unk12": 99,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7409,7 +7409,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 9,
+ "rangeType": 9,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7427,7 +7427,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7446,7 +7446,7 @@
"hitCount": 1,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7464,7 +7464,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7485,7 +7485,7 @@
"criticalHitChance": 12,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 13,
+ "rangeType": 13,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7503,7 +7503,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7521,7 +7521,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 14,
+ "rangeType": 14,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7539,7 +7539,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7557,7 +7557,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7575,7 +7575,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7593,7 +7593,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 16,
+ "rangeType": 16,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7611,7 +7611,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7629,7 +7629,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7647,7 +7647,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7665,7 +7665,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7683,7 +7683,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7701,7 +7701,7 @@
"useChance": 20,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7719,7 +7719,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7737,7 +7737,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7755,7 +7755,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7773,7 +7773,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7791,7 +7791,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7809,7 +7809,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7827,7 +7827,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7845,7 +7845,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7863,7 +7863,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7881,7 +7881,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 29,
+ "rangeType": 29,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7899,7 +7899,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 29,
+ "rangeType": 29,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7917,7 +7917,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 4,
+ "rangeType": 4,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7935,7 +7935,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7955,7 +7955,7 @@
"unk12": 99,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7973,7 +7973,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 6,
+ "rangeType": 6,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -7991,7 +7991,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionVacuumCut",
"useText": "MoveUseTextUse"
},
@@ -8009,7 +8009,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8029,7 +8029,7 @@
"unk12": 99,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8049,7 +8049,7 @@
"unk12": 99,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8067,7 +8067,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 15,
+ "rangeType": 15,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8085,7 +8085,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 29,
+ "rangeType": 29,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8103,7 +8103,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 29,
+ "rangeType": 29,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8121,7 +8121,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8139,7 +8139,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8157,7 +8157,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 3,
+ "rangeType": 3,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8175,7 +8175,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionPlaceholder",
"useText": "MoveUseTextUse"
},
@@ -8193,7 +8193,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionDamage",
"useText": "MoveUseTextUse"
},
@@ -8213,7 +8213,7 @@
"unk12": 99,
"cannotHitFrozen": true,
"dealsDirectDamage": true,
- "unk19": 11,
+ "rangeType": 11,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8231,7 +8231,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8249,7 +8249,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 10,
+ "rangeType": 10,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8267,7 +8267,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8285,7 +8285,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
},
@@ -8303,7 +8303,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionPlaceholder",
"useText": "MoveUseTextUse"
},
@@ -8321,7 +8321,7 @@
"useChance": 75,
"hitCount": 1,
"cannotHitFrozen": true,
- "unk19": 19,
+ "rangeType": 19,
"descriptionPointer": "MoveDescriptionNull",
"useText": "MoveUseTextUse"
}
diff --git a/include/constants/move.h b/include/constants/move.h
index 1b23933..4e3396b 100644
--- a/include/constants/move.h
+++ b/include/constants/move.h
@@ -14,17 +14,15 @@ enum MoveFlags
struct MoveData
{
u8 *namePointer;
- /* 0x4 */ u8 power;
- u8 fill5;
+ /* 0x4 */ s16 power;
u8 type;
u8 fill7;
// Determines the range of moves.
- /* 0x8 */ u16 targetingFlags;
- /* 0xA */ u16 aiTargetingFlags; // The AI consider certain moves to have different range than they actually do.
+ /* 0x8 */ u16 targetingFlags[2]; // 0 for player and 1 for AI
+ // The AI consider certain moves to have different range than they actually do.
/* 0xC */ u8 maxPP;
/* 0xD */ u8 weight;
- /* 0xE */ u8 accuracy1;
- /* 0xF */ u8 accuracy2;
+ /* 0xE */ u8 accuracy[2];
// Used by the AI to determine how often to use Spikes.
// Values exist for all other moves, though they seem to be unused.
/* 0x10 */ u8 useChance;
@@ -36,7 +34,7 @@ struct MoveData
/* 0x16 */ bool8 affectedByMuzzled; // If true, this move can't be used with the Muzzled status.
/* 0x17 */ bool8 cannotHitFrozen; // Used by Status Checker to determine if a move can be used on a frozen target.
/* 0x18 */ bool8 dealsDirectDamage;
- u8 unk19;
+ u8 rangeType;
u8 *descriptionPointer;
u8 *useText; // The text displayed when this move is used.
};
diff --git a/include/friend_area_action_menu.h b/include/friend_area_action_menu.h
index 6a3f330..dfddc22 100644
--- a/include/friend_area_action_menu.h
+++ b/include/friend_area_action_menu.h
@@ -10,13 +10,12 @@ struct unkStruct_203B2BC
u16 unkA;
u32 itemIndex;
struct HeldItem itemToGive;
- struct ItemSlot unk14;
+ struct HeldItem unk14;
struct PokemonStruct *unk18;
u32 unk1C;
u32 unk20;
- u32 unk24;
- u32 unk28;
- u8 fill2C[0x68 - 0x2C];
+ u16 unk24;
+ struct PokemonMove unk28[8];
u32 unk68;
u32 unk6C;
u32 unk70;
diff --git a/include/gulpin_shop.h b/include/gulpin_shop.h
index 1d6f53d..cfc2238 100644
--- a/include/gulpin_shop.h
+++ b/include/gulpin_shop.h
@@ -1,12 +1,6 @@
#ifndef GUARD_GULPIN_SHOP_H
#define GUARD_GULPIN_SHOP_H
-struct unkStruct_Gulpin
-{
- u8 fill0[0x22];
- u16 unk22;
-};
-
struct unkStruct_203B26C
{
// size: 0x18C
@@ -15,7 +9,7 @@ struct unkStruct_203B26C
u32 unk8;
s16 speciesNum; // species of chosen Pokemon
u8 unkE;
- struct unkStruct_Gulpin * unk10;
+ struct PokemonMove * unk10;
u32 unk14;
u32 unk18;
u16 unk1C;
diff --git a/include/item.h b/include/item.h
index 5f921e4..e73bafd 100644
--- a/include/item.h
+++ b/include/item.h
@@ -66,8 +66,16 @@ enum ItemFlag
void LoadItemParameters(void);
struct TeamInventory *GetMoneyItemsInfo(void);
void InitializeMoneyItems(void);
+s32 GetNumberOfFilledInventorySlots(void);
+bool8 IsThrowableItem(u8 itemIndex);
+void xxx_init_itemslot_8090A8C(struct ItemSlot *param_1,u8 itemIndex,u8 param_3);
+void xxx_init_helditem_8090B08(struct HeldItem *param_1,u8 itemIndex);
+void HeldItemToSlot(struct ItemSlot *param_1, struct HeldItem *param_2);
+void SlotToHeldItem(struct HeldItem *held,struct ItemSlot *slot);
u8 GetItemType(u8 index);
+s32 GetStackBuyValue(struct ItemSlot *param_1);
s32 GetStackSellValue(struct ItemSlot *param_1);
+s32 GetStackBuyPrice(struct ItemSlot *param_1);
s32 GetStackSellPrice(struct ItemSlot *param_1);
s32 GetItemBuyPrice(u8 itemIndex);
s32 GetItemSellPrice(u8 itemIndex);
@@ -77,12 +85,8 @@ u8 GetItemCategory(u8 itemIndex);
u32 GetItemUnkThrow(u8 itemIndex, u32 r1);
u8 *GetItemDescription(u8 itemIndex);
u32 GetItemAIFlags(u8 itemIndex, u32 r1);
-s32 GetNumberOfFilledInventorySlots(void);
-bool8 IsThrowableItem(u8 itemIndex);
-void xxx_init_itemslot_8090A8C(struct ItemSlot *param_1,u8 itemIndex,u8 param_3);
-void xxx_init_helditem_8090B08(struct HeldItem *param_1,u8 itemIndex);
-void HeldItemToSlot(struct ItemSlot *param_1, struct HeldItem *param_2);
void sub_8090DC4(void* param_1,u8 itemIndex, struct unkStruct_8090F58* param_3);
+void sub_8090E14(u8* ext_buffer, struct ItemSlot* slot, struct unkStruct_8090F58* a3);
bool8 AddItemToInventory(const struct ItemSlot* slot);
void ConvertMoneyItemToMoney();
void AddToTeamMoney(s32 amount);
@@ -97,8 +101,11 @@ s32 xxx_count_inv_unk230();
u32 xxx_count_non_empty_inv_unk250_8091A48();
void sub_8091BB4(u8);
void sub_8090F58(void*, u8 *, struct ItemSlot *, struct unkStruct_8090F58*);
-void sub_8090E14(u8* ext_buffer, struct ItemSlot* slot, struct unkStruct_8090F58* a3);
-void SlotToHeldItem(struct HeldItem *held,struct ItemSlot *slot);
+void ShiftItemsDownFrom(s32 start);
+void MoveToStorage(struct ItemSlot* slot);
+void FillInventoryGaps();
+bool8 sub_8091274(struct HeldItem* slot);
+
void RestoreHeldItem(struct unkStruct_8094924*, struct HeldItem*);
void SaveHeldItem(struct unkStruct_8094924*, struct HeldItem*);
diff --git a/include/kangaskhan_storage.h b/include/kangaskhan_storage.h
index fcc9157..4a145bc 100644
--- a/include/kangaskhan_storage.h
+++ b/include/kangaskhan_storage.h
@@ -39,4 +39,31 @@ struct unkStruct_203B208
struct UnkTextStruct2 unkEC[4];
};
+struct unkStruct_203B20C
+{
+ u32 state;
+ u8 unk4[4];
+ struct ItemSlot unk8;
+ u32 unkC;
+ u8 itemIndex;
+ u32 unk14;
+ u32 unk18;
+ u32 unk1C;
+ struct MenuItem unk20[8];
+ u16 unk60[8];
+ u32 unk70;
+ u8 fill74[0xC0 - 0x74];
+ u32 unkC0;
+ u32 unkC4;
+ u32 unkC8;
+ u32 unkCC;
+ u32 unkD0;
+ u32 unkD4;
+ struct UnkTextStruct2 *unkD8;
+ u32 unkDC;
+ u32 unkE0;
+ u8 fillE4[0xF0 - 0xE4];
+ struct UnkTextStruct2 unkF0[4];
+};
+
#endif
diff --git a/include/pokemon.h b/include/pokemon.h
index 969c0f8..f24eb84 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -65,6 +65,13 @@ struct EvolveStage
u8 unkHasNextStage;
};
+
+struct unkStruct_8094184
+{
+ struct PokemonMove moves[MAX_MON_MOVES];
+ u8 unk20;
+};
+
struct PokemonStruct2
{
// size 0x68
@@ -80,8 +87,7 @@ struct PokemonStruct2
u16 unk12; // pokeHP
struct Offense offense; // offense (other offset)
u32 unk18; // unk1C
- struct PokemonMove moves[MAX_MON_MOVES];
- u8 fill3c[4];
+ struct unkStruct_8094184 moves;
/* 40 */ struct ItemSlot itemSlot; // heldItem
u32 unk44; // some struct
u32 unk48; // some struct (same type as 44)
diff --git a/ld_script.txt b/ld_script.txt
index da87473..d3c9af9 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -111,6 +111,7 @@ SECTIONS {
asm/code_801D760.o(.text);
src/code_801DCC4.o(.text);
asm/code_801DCC4.o(.text);
+ src/hints_menu.o(.text);
src/gulpin_shop.o(.text);
asm/gulpin_shop.o(.text);
src/gulpin_shop_1.o(.text);
@@ -118,7 +119,6 @@ SECTIONS {
src/friend_area_action_menu.o(.text);
asm/friend_area_action_menu.o(.text);
src/friend_area_action_menu_1.o(.text);
- asm/friend_area_action_menu_1.o(.text);
src/wonder_mail.o(.text);
src/thank_you_wonder_mail.o(.text);
src/wonder_mail_2.o(.text);
@@ -232,7 +232,10 @@ SECTIONS {
src/friend_area.o(.text);
asm/friend_area_1.o(.text);
src/friend_area_1.o(.text);
- asm/code_8092334.o(.text);
+ src/moves.o(.text);
+ asm/moves_1.o(.text);
+ src/moves_1.o(.text);
+ asm/code_8094148.o(.text);
src/code_8092334.o(.text);
src/game_options.o(.text);
asm/code_8094D28.o(.text);
diff --git a/src/code_801AFA4.c b/src/code_801AFA4.c
index 9ab6fec..14b9e99 100644
--- a/src/code_801AFA4.c
+++ b/src/code_801AFA4.c
@@ -26,7 +26,7 @@ extern u8 gUnknown_202E1C8[0x50];
extern u8 gAvailablePokemonNames[0x50];
extern u8 gUnknown_202E218[0x50];
-extern void sub_8092AD4(struct PokemonMove*, u16);
+extern void InitZeroedPPPokemonMove(struct PokemonMove*, u16);
extern void sub_809401C(struct PokemonMove *, struct PokemonMove *);
extern bool8 IsHMItem(u8);
extern void DisplayGulpinDialogueSprite(u32, u32, void *);
@@ -195,7 +195,7 @@ void sub_801B200(void)
pokeMove = &gUnknown_203B22C->moves[moveIndex];
if((pokeMove->moveFlags & MOVE_FLAG_EXISTS) == 0)
{
- sub_8092AD4(pokeMove, gUnknown_203B22C->moveID);
+ InitZeroedPPPokemonMove(pokeMove, gUnknown_203B22C->moveID);
break;
}
}
diff --git a/src/code_801DCC4.c b/src/code_801DCC4.c
index a17b3b9..5a42567 100644
--- a/src/code_801DCC4.c
+++ b/src/code_801DCC4.c
@@ -8,7 +8,7 @@ struct unkStruct_203B25C
{
// size: 0x11C
u32 state;
- u32 unk4;
+ u32 chosenHintIndex;
struct UnkSaveStruct1 unk8;
u32 unk18;
const char *unk1C;
@@ -31,17 +31,17 @@ extern void sub_801DED0();
extern void sub_8012D60(const char **, struct MenuItem *, u32, u16 *, u32, u32);
extern u32 sub_801E198(struct UnkSaveStruct1 *);
extern void sub_8014248(const char *, u32, u32, struct MenuItem *, u32, u32, u32, u32, u32);
-extern void sub_801E658(u32);
+extern void CreateHintDisplayScreen(u32);
extern void sub_801E3F0(u32);
-extern void sub_801E510(u32);
+extern void CreateHintSelectionScreen(u32);
extern void CreateChangeSettingsConfirmMenu(void);
extern u8 sub_8012FD8(u32 *);
extern void sub_8013114(u32 *, u32 *);
extern u32 sub_801E474(u32);
-extern u32 sub_801E4F4(void);
+extern u32 GetChosenHintIndex(void);
extern void sub_801E54C(void);
-extern u32 sub_801E6CC(void);
-extern void sub_801E724(void);
+extern u32 HandleHintDisplayScreenInput(void);
+extern void DestroyHintDisplayScreen(void);
extern u32 sub_801E218(void);
extern bool8 GameOptionsNotChange(struct UnkSaveStruct1 *);
extern void sub_801E2C4(void);
@@ -358,10 +358,10 @@ void sub_801DED0(void)
sub_801E3F0(0);
break;
case 4:
- sub_801E510(1);
+ CreateHintSelectionScreen(1);
break;
case 5:
- sub_801E658(gUnknown_203B25C->unk4);
+ CreateHintDisplayScreen(gUnknown_203B25C->chosenHintIndex);
break;
case 6:
// Load our current options?
@@ -446,7 +446,7 @@ void sub_801E088(void)
{
case 3:
case 4:
- gUnknown_203B25C->unk4 = sub_801E4F4();
+ gUnknown_203B25C->chosenHintIndex = GetChosenHintIndex();
sub_801DD6C(5);
break;
case 2:
@@ -463,11 +463,11 @@ void sub_801E088(void)
void sub_801E0E0(void)
{
- switch(sub_801E6CC())
+ switch(HandleHintDisplayScreenInput())
{
case 3:
case 2:
- sub_801E724();
+ DestroyHintDisplayScreen();
sub_801DD6C(4);
break;
case 0:
diff --git a/src/code_8057824.c b/src/code_8057824.c
index 9d0e673..7f02fd5 100644
--- a/src/code_8057824.c
+++ b/src/code_8057824.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "dungeon_global_data.h"
#include "dungeon_entity.h"
+#include "constants/move.h"
extern struct DungeonGlobalData *gDungeonGlobalData;
@@ -31,7 +32,7 @@ extern void sub_806F370(struct DungeonEntity *r0, struct DungeonEntity *r1, u32,
extern u32 gUnknown_80FD018;
extern s16 sub_8057600(void*, u32);
-extern u32 sub_8092B00(void*);
+extern u32 GetMoveType(void*);
bool32 sub_8057824(struct DungeonEntity *param_1, struct DungeonEntity *param_2)
{
@@ -100,7 +101,7 @@ bool32 sub_8057954(struct DungeonEntity *param_1, struct DungeonEntity *param_2,
return TRUE;
}
-bool32 sub_8057974(struct DungeonEntity *param_1, struct DungeonEntity *param_2, void* param_3, u32 param_4)
+bool32 sub_8057974(struct DungeonEntity *param_1, struct DungeonEntity *param_2, struct PokemonMove *param_3, u32 param_4)
{
s32 newHP;
u8 local_24;
@@ -108,7 +109,7 @@ bool32 sub_8057974(struct DungeonEntity *param_1, struct DungeonEntity *param_2,
newHP = param_2->entityData->HP / 2;
local_24 = 0;
if (newHP != 0) {
- sub_806F370(param_1,param_2,newHP,1,&local_24,sub_8092B00(param_3),sub_8057600(param_3,param_4),0,1,0);
+ sub_806F370(param_1,param_2,newHP,1,&local_24,GetMoveType(param_3),sub_8057600(param_3,param_4),0,1,0);
local_24 = local_24 == 0;
}
else
diff --git a/src/friend_area_action_menu.c b/src/friend_area_action_menu.c
index 3cd9c84..e6d09cd 100644
--- a/src/friend_area_action_menu.c
+++ b/src/friend_area_action_menu.c
@@ -21,13 +21,13 @@ extern const char gUnknown_80DD8D0[];
extern void sub_80141B4(const char *r0, u32, u32 *r1, u32);
extern void sub_8014248(const char *r0, u32, u32, struct MenuItem *r4, u32, u32, u32, u32 *r5, u32);
extern void sub_8012D60(u32 *, struct MenuItem *, u32, u32 *, u32, u32);
-extern void sub_8027D40(u32, struct ItemSlot *);
+extern void sub_8027D40(u32, struct HeldItem *);
extern void sub_8023868(u32, u32, u32, u32);
extern void sub_8023B7C(u32);
extern void sub_8023DA4();
extern void sub_8024458(s16, u32);
extern void sub_801BEEC(s16);
-extern void sub_8093560(u32, u32 *, u32 *);
+extern void sub_8093560(u32, struct PokemonMove *, u32 *);
extern void sub_801F808(u32 *);
extern void sub_8027794();
extern void sub_801A5D8(u32, u32, u32, u32);
@@ -35,8 +35,8 @@ extern void sub_801A8D0(u32);
extern void sub_801A9E0();
extern void sub_801F1B0(u32, u32);
extern void sub_801B3C0(struct ItemSlot *);
-extern void sub_809401C(u32 *, struct PokemonMove *);
-extern void sub_801EE10(u32, s16, u32 *, u32, u32, u32);
+extern void sub_809401C(struct PokemonMove *, struct PokemonMove *);
+extern void sub_801EE10(u32, s16, struct PokemonMove *, u32, u32, u32);
extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *);
extern void SetFriendAreaActionMenuState(u32);
@@ -206,8 +206,8 @@ void sub_8027274(void)
sub_801B3C0(&slot);
break;
case 0xe:
- sub_809401C(&gUnknown_203B2BC->unk28,gUnknown_203B2BC->unk18->moves);
- sub_801EE10(3,gUnknown_203B2BC->targetPoke,&gUnknown_203B2BC->unk28,0,0,0);
+ sub_809401C(gUnknown_203B2BC->unk28,gUnknown_203B2BC->unk18->moves);
+ sub_801EE10(3,gUnknown_203B2BC->targetPoke,gUnknown_203B2BC->unk28,0,0,0);
break;
case 0xf:
sub_801F1B0(1,0);
@@ -229,7 +229,7 @@ void sub_8027274(void)
sub_8014248(gUnknown_80DD7FC,0,3,gUnknown_203B2BC->menuItems,0,4,0,0,0x101);
break;
case 0x10:
- sub_8093560(gUnknown_203B2BC->unk20,&gUnknown_203B2BC->unk28,&gUnknown_203B2BC->unk68);
+ sub_8093560(gUnknown_203B2BC->unk20,gUnknown_203B2BC->unk28,&gUnknown_203B2BC->unk68);
sub_801F808(&gUnknown_203B2BC->unk68);
break;
case 6:
diff --git a/src/friend_area_action_menu_1.c b/src/friend_area_action_menu_1.c
index 33cbded..6856d5f 100644
--- a/src/friend_area_action_menu_1.c
+++ b/src/friend_area_action_menu_1.c
@@ -4,6 +4,7 @@
#include "menu.h"
#include "item.h"
#include "team_inventory.h"
+#include "pokemon.h"
#include "friend_area_action_menu.h"
extern struct unkStruct_203B2BC *gUnknown_203B2BC;
@@ -11,17 +12,14 @@ extern struct TeamInventory *gTeamInventory_203B460;
u32 sub_801B410();
void sub_801B450();
-u32 sub_801EF38(u8 r0);
-void sub_801F214();
+extern u32 sub_801EF38(u8 r0);
+extern void sub_801F214();
extern void SetFriendAreaActionMenuState(u32);
extern u8 sub_8012FD8(u32 *r0);
extern void sub_8013114(u32 *, s32 *);
extern void PlaySound(u32);
-extern void ShiftItemsDownFrom(u32);
-extern void FillInventoryGaps();
extern void nullsub_104();
-extern void sub_8091274(struct ItemSlot *);
extern void sub_801A928();
extern void sub_8099690(u32);
extern void GivePokemonItem(s16, struct HeldItem *);
@@ -31,6 +29,21 @@ extern u32 sub_801A6E8(u32);
extern s32 sub_80144A4(s32 *);
extern void sub_8027EB8();
extern void sub_808D31C(struct PokemonStruct *);
+u32 sub_8027E18(struct PokemonStruct *);
+bool8 IsNotMoneyOrUsedTMItem(u8 id);
+u8 sub_8027E4C(struct PokemonStruct *r0);
+extern u8 sub_80023E4(u32);
+extern struct PokemonStruct *sub_808D3F8(void);
+extern struct PokemonStruct *sub_808D3BC(void);
+extern u32 sub_801F890(void);
+extern void sub_801F8D0(void);
+extern u8 gUnknown_80DD958[];
+extern void xxx_format_and_draw(u32, u32, u8 *, ...);
+extern void sub_8008C54(u32);
+extern void sub_80073B8(u32);
+extern void sub_80073E0(u32);
+extern u8 gUnknown_202DE58[];
+extern u32 sub_801F194(void);
void sub_8027AE4(void)
{
@@ -93,7 +106,7 @@ void sub_8027BD8(void)
PlaySound(0x14d);
ShiftItemsDownFrom(gUnknown_203B2BC->itemIndex);
FillInventoryGaps();
- if (gUnknown_203B2BC->unk14.itemFlags != 0) {
+ if (gUnknown_203B2BC->unk14.itemIndex != 0) {
sub_8091274(&gUnknown_203B2BC->unk14);
}
GivePokemonItem(gUnknown_203B2BC->targetPoke,&gUnknown_203B2BC->itemToGive);
@@ -124,3 +137,172 @@ void sub_8027C84()
break;
}
}
+
+void sub_8027CA0(void)
+{
+ switch(sub_801EF38(1))
+ {
+ case 3:
+ case 4:
+ gUnknown_203B2BC->unk20 = sub_801F194();
+ gUnknown_203B2BC->unk24 = gUnknown_203B2BC->unk28[gUnknown_203B2BC->unk20].moveID;
+ SetFriendAreaActionMenuState(0x10);
+ break;
+ case 2:
+ sub_801F214();
+ SetFriendAreaActionMenuState(0x2);
+ break;
+ case 0:
+ case 1:
+ break;
+ }
+}
+
+void sub_8027D00(void)
+{
+ switch(sub_801F890())
+ {
+ case 2:
+ case 3:
+ sub_801F8D0();
+ SetFriendAreaActionMenuState(0xF);
+ break;
+ case 0:
+ case 1:
+ break;
+ }
+}
+
+void sub_8027D1C(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ SetFriendAreaActionMenuState(gUnknown_203B2BC->unk4);
+ }
+}
+
+void sub_8027D40(u32 r0, struct HeldItem *heldItem)
+{
+
+ struct ItemSlot slot;
+ struct unkStruct_8090F58 a3;
+
+ sub_8008C54(r0);
+ sub_80073B8(r0);
+ HeldItemToSlot(&slot, heldItem);
+ a3.unk0 = 0;
+ a3.unk4 = 0;
+ a3.unk8 = 1;
+ slot.itemFlags = 1;
+ sub_8090E14(gUnknown_202DE58, &slot, &a3);
+ xxx_format_and_draw(4, 3, gUnknown_80DD958, r0, 0);
+ sub_80073E0(r0);
+}
+
+u32 sub_8027D9C(struct PokemonStruct *r0)
+{
+ u32 var1;
+ if(r0->unk2 == 0)
+ {
+ var1 = 0;
+ if(r0->unk4.unk4 == 0x41)
+ var1 = 1;
+ if(var1 != 0)
+ {
+ if(sub_80023E4(8) == 0)
+ return 0;
+ }
+ }
+ else
+ return 0;
+ return 1;
+}
+
+u32 sub_8027DCC(struct PokemonStruct *r0)
+{
+ u32 var1;
+ if(sub_808D3BC() != r0)
+ if(sub_808D3F8() != r0)
+ if(r0->unk2 == 0)
+ {
+ var1 = 0;
+ if(r0->unk4.unk4 == 0x41)
+ var1 = 1;
+ if(var1 != 0)
+ {
+ if(sub_80023E4(8) != 0)
+ goto check;
+ }
+ else
+ {
+ check:
+ if(sub_8027E18(r0) != 3)
+ return 1;
+ }
+ }
+ return 0;
+}
+
+u32 sub_8027E18(struct PokemonStruct *r0)
+{
+ if(r0->heldItem.itemIndex == 0)
+ return 0;
+ else if(GetNumberOfFilledInventorySlots() < INVENTORY_SIZE)
+ return 1;
+ else if(sub_8027E4C(r0))
+ return 2;
+ else
+ return 3;
+}
+
+u8 sub_8027E4C(struct PokemonStruct *r0)
+{
+ if(!IsNotMoneyOrUsedTMItem(r0->heldItem.itemIndex))
+ return 0;
+ else
+ {
+ if(IsThrowableItem(r0->heldItem.itemIndex))
+ {
+ if(gTeamInventory_203B460->teamStorage[r0->heldItem.itemIndex] + r0->heldItem.numItems > 0x3e7)
+ return 0;
+ }
+ else if(gTeamInventory_203B460->teamStorage[r0->heldItem.itemIndex] > 0x3e6)
+ {
+ return 0;
+ }
+ }
+ return 1;
+}
+
+void sub_8027EB8(void)
+{
+ switch(sub_8027E18(gUnknown_203B2BC->unk18))
+ {
+ case 1:
+ PlaySound(0x14d);
+ sub_8091274(&gUnknown_203B2BC->unk14);
+ FillInventoryGaps();
+ gUnknown_203B2BC->unk14.itemIndex = 0;
+ gUnknown_203B2BC->unk14.numItems = 0;
+ GivePokemonItem(gUnknown_203B2BC->targetPoke, &gUnknown_203B2BC->unk14);
+ SetFriendAreaActionMenuState(6);
+ break;
+ case 2:
+ PlaySound(0x14d);
+ if(IsThrowableItem(gUnknown_203B2BC->unk14.itemIndex))
+ gTeamInventory_203B460->teamStorage[gUnknown_203B2BC->unk14.itemIndex] += gUnknown_203B2BC->unk14.numItems;
+ else
+ gTeamInventory_203B460->teamStorage[gUnknown_203B2BC->unk14.itemIndex] += 1;
+ gUnknown_203B2BC->unk14.itemIndex = 0;
+ gUnknown_203B2BC->unk14.numItems = 0;
+ GivePokemonItem(gUnknown_203B2BC->targetPoke, &gUnknown_203B2BC->unk14);
+ SetFriendAreaActionMenuState(7);
+ break;
+ case 0:
+ default:
+ SetFriendAreaActionMenuState(2);
+ break;
+ }
+}
+
diff --git a/src/gulpin_shop.c b/src/gulpin_shop.c
index d5ebc6b..8dfa0d9 100644
--- a/src/gulpin_shop.c
+++ b/src/gulpin_shop.c
@@ -21,7 +21,7 @@ extern void sub_801EA28();
extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *);
extern void sub_801EBC4();
-u32 DisplayGulpinDialogueSprite(s32 param_1,s16 pokeSpecies,struct unkStruct_Gulpin *param_3)
+u32 DisplayGulpinDialogueSprite(s32 param_1,s16 pokeSpecies,struct PokemonMove *param_3)
{
struct OpenedFile *faceFile;
s32 species_32;
@@ -32,7 +32,7 @@ u32 DisplayGulpinDialogueSprite(s32 param_1,s16 pokeSpecies,struct unkStruct_Gul
gUnknown_203B26C->unk0 = param_1;
gUnknown_203B26C->speciesNum = species_32;
gUnknown_203B26C->unk10 = param_3;
- gUnknown_203B26C->unk1C = param_3->unk22;
+ gUnknown_203B26C->unk1C = param_3[4].moveID;
if (param_1 == 0) {
gUnknown_203B26C->unk128 = &gUnknown_203B26C->faceFile;
diff --git a/src/gulpin_shop_1.c b/src/gulpin_shop_1.c
index 2eadcfe..e9468a8 100644
--- a/src/gulpin_shop_1.c
+++ b/src/gulpin_shop_1.c
@@ -9,14 +9,14 @@
extern struct unkStruct_203B26C *gUnknown_203B26C;
extern void UpdateGulpinShopState(u32);
-extern void sub_8093CF8(struct unkStruct_Gulpin *, u32);
+extern void sub_8093CF8(struct PokemonMove *, u32);
extern void sub_801F214(void);
extern s32 sub_80144A4(s32 *);
extern u32 sub_801F890(void);
extern void sub_801F8D0(void);
extern u8 sub_8012FD8(u32 *);
extern void sub_8013114(u32 *, u32 *);
-extern u8 sub_80934B0(u32, struct unkStruct_Gulpin *);
+extern u8 sub_80934B0(u32, struct PokemonMove *);
extern void PlaySound(u32);
extern void sub_801EF38(u32);
diff --git a/src/hints_menu.c b/src/hints_menu.c
new file mode 100644
index 0000000..15c1936
--- /dev/null
+++ b/src/hints_menu.c
@@ -0,0 +1,285 @@
+#include "global.h"
+#include "memory.h"
+#include "text.h"
+#include "input.h"
+
+#define MAX_HINTS 5
+
+struct Hints
+{
+ u8 *heading;
+ u8 *body;
+};
+
+struct unkStruct_203B268
+{
+ // size: 0xA0
+ u32 unk0;
+ u8 fill4[0x1E - 0x4];
+ s16 helpPageIndex;
+ u16 unk20;
+ u8 fill22[0x34 - 0x22];
+ u32 unk34;
+ struct UnkTextStruct2 *unk38;
+ struct UnkTextStruct2 unk3C[4];
+ u8 unk9C[4];
+};
+
+struct unkStruct_203B264
+{
+ // size: 0x9C
+ u32 unk0;
+ u8 fill4[0x18 - 0x4];
+ s16 unk18;
+ s16 unk1A;
+ s16 unk1C;
+ s16 unk1E;
+ u16 unk20;
+ u8 fill22[0x34 - 0x22];
+ u32 unk34;
+ struct UnkTextStruct2 *unk38;
+ struct UnkTextStruct2 unk3C[4];
+};
+
+extern struct unkStruct_203B264 *gUnknown_203B264;
+
+extern struct unkStruct_203B268 *gUnknown_203B268;
+
+extern struct UnkTextStruct2 gUnknown_80DC0A0;
+extern struct UnkTextStruct2 gUnknown_80DC0BC;
+extern struct UnkTextStruct2 gUnknown_80DC0E4;
+extern struct UnkTextStruct2 gUnknown_80DC0FC;
+extern struct Hints gGameHints[MAX_HINTS];
+extern u8 gUnknown_80DC0D4[MAX_HINTS];
+
+extern void sub_801E714(void);
+extern void sub_8013818(void *, u32, u32, u32);
+extern bool8 sub_8013938(void *);
+extern s32 GetKeyPress(void *);
+extern void PlayMenuSoundEffect(u32);
+extern void sub_801E714(void);
+extern void sub_801E76C(void);
+extern void DisplayChosenHint(void);
+extern void xxx_call_draw_string(s32, u32, u8 *, u32, u32);
+extern void sub_80073E0(u32);
+extern void sub_80073B8(u32);
+extern s32 sub_8013800(void *, u32);
+extern void sub_8008C54(u32);
+void DrawHintSelectionMenu(void);
+void sub_801E594(void);
+void sub_8013984(void *);
+void AddMenuCursorSprite(void *);
+extern u8 sub_80138B8(void *, u32);
+extern void sub_8013660(void *);
+extern void sub_8012D08(struct UnkTextStruct2 *, u32);
+
+u32 sub_801E3F0(u32 r0)
+{
+ if(gUnknown_203B264 == NULL)
+ gUnknown_203B264 = MemoryAlloc(sizeof(struct unkStruct_203B264), 8);
+ gUnknown_203B264->unk34 = r0;
+ gUnknown_203B264->unk38 = &gUnknown_203B264->unk3C[r0];
+ sub_8006518(gUnknown_203B264->unk3C);
+ gUnknown_203B264->unk3C[gUnknown_203B264->unk34] = gUnknown_80DC0BC;
+ sub_8012D08(gUnknown_203B264->unk38, 0xA);
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B264->unk3C, 1, 1);
+ sub_8013818(gUnknown_203B264, 0x5, 0xA, r0);
+ sub_801E594();
+ DrawHintSelectionMenu();
+ return 1;
+}
+
+u32 sub_801E474(u8 r0)
+{
+ if(r0 == 0)
+ {
+ sub_8013660(gUnknown_203B264);
+ return 0;
+ }
+ switch(GetKeyPress(gUnknown_203B264))
+ {
+ case 2:
+ PlayMenuSoundEffect(1);
+ return 2;
+ case 1:
+ PlayMenuSoundEffect(0);
+ return 3;
+ case 4:
+ PlayMenuSoundEffect(4);
+ return 4;
+ default:
+ if(sub_80138B8(gUnknown_203B264, 1))
+ {
+ sub_801E594();
+ DrawHintSelectionMenu();
+ return 1;
+ }
+ else
+ return 0;
+ }
+}
+
+s32 GetChosenHintIndex(void)
+{
+ return (gUnknown_203B264->unk1E * gUnknown_203B264->unk1C) + gUnknown_203B264->unk18;
+}
+
+void CreateHintSelectionScreen(u32 r0)
+{
+ u8 bool8_r0;
+ bool8_r0 = r0;
+
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B264->unk3C, 0, 0);
+ sub_8013984(gUnknown_203B264);
+ sub_801E594();
+ DrawHintSelectionMenu();
+ if(bool8_r0)
+ AddMenuCursorSprite(gUnknown_203B264);
+}
+
+void sub_801E54C(void)
+{
+ if(gUnknown_203B264 != NULL)
+ {
+ gUnknown_203B264->unk3C[gUnknown_203B264->unk34] = gUnknown_80DC0A0;
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B264->unk3C, 1, 1);
+ MemoryFree(gUnknown_203B264);
+ gUnknown_203B264 = NULL;
+ }
+}
+
+NAKED
+void sub_801E594(void)
+{
+ asm_unified(
+ "\tpush {r4,lr}\n"
+ "\tldr r4, _0801E5E4\n"
+ "\tldr r0, [r4]\n"
+ "\tmovs r1, 0x1A\n"
+ "\tldrsh r0, [r0, r1]\n"
+ "\tmovs r1, 0xC\n"
+ "\tbl sub_80095E4\n"
+ "\tadds r0, 0x2\n"
+ "\tlsls r0, 16\n"
+ "\tldr r2, [r4]\n"
+ "\tldr r3, [r2, 0x34]\n"
+ "\tlsls r1, r3, 1\n"
+ "\tadds r1, r3\n"
+ "\tlsls r1, 3\n"
+ "\tadds r1, r2, r1\n"
+ "\tadds r1, 0x4A\n"
+ "\tasrs r3, r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tstrh r0, [r1]\n"
+ "\tldr r1, [r2, 0x34]\n"
+ "\tlsls r0, r1, 1\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 3\n"
+ "\tadds r2, r0\n"
+ "\tadds r3, 0x2\n"
+ "\tadds r2, 0x4C\n"
+ "\tstrh r3, [r2]\n"
+ "\tbl ResetUnusedInputStruct\n"
+ "\tldr r0, [r4]\n"
+ "\tadds r0, 0x3C\n"
+ "\tmovs r1, 0x1\n"
+ "\tmovs r2, 0x1\n"
+ "\tbl sub_800641C\n"
+ "\tpop {r4}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+"_0801E5E4: .4byte gUnknown_203B264");
+}
+
+void DrawHintSelectionMenu(void)
+{
+ s32 hintIndex;
+ s32 y;
+
+ sub_8008C54(gUnknown_203B264->unk34);
+ sub_80073B8(gUnknown_203B264->unk34);
+ xxx_call_draw_string(16, 0, gUnknown_80DC0D4, gUnknown_203B264->unk34, 0);
+ for(hintIndex = 0; hintIndex < MAX_HINTS; hintIndex++)
+ {
+ y = sub_8013800(gUnknown_203B264, hintIndex);
+ xxx_call_draw_string(10, y, gGameHints[hintIndex].heading, gUnknown_203B264->unk34, 0);
+ }
+ sub_80073E0(gUnknown_203B264->unk34);
+}
+
+u32 CreateHintDisplayScreen(u32 index)
+{
+ gUnknown_203B268 = MemoryAlloc(sizeof(struct unkStruct_203B268), 8);
+ gUnknown_203B268->unk34 = 0;
+ gUnknown_203B268->unk38 = gUnknown_203B268->unk3C;
+ sub_8006518(gUnknown_203B268->unk3C);
+ gUnknown_203B268->unk3C[gUnknown_203B268->unk34] = gUnknown_80DC0FC;
+ gUnknown_203B268->unk38->unk14 = gUnknown_203B268->unk9C;
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B268->unk3C, 1, 1);
+ sub_8013818(gUnknown_203B268, 5, 1, gUnknown_203B268->unk34);
+ gUnknown_203B268->helpPageIndex = index;
+ sub_801E714();
+
+ return 1;
+}
+
+u32 HandleHintDisplayScreenInput(void)
+{
+ switch(GetKeyPress(gUnknown_203B268))
+ {
+ case 2:
+ PlayMenuSoundEffect(1);
+ return 2;
+ case 1:
+ PlayMenuSoundEffect(0);
+ return 3;
+ default:
+ if(sub_8013938(gUnknown_203B268)){
+ sub_801E714();
+ return 1;
+ }
+ else
+ return 0;
+ }
+}
+
+void sub_801E714(void)
+{
+ sub_801E76C();
+ DisplayChosenHint();
+}
+
+void DestroyHintDisplayScreen(void)
+{
+ if(gUnknown_203B268 != NULL)
+ {
+ gUnknown_203B268->unk3C[gUnknown_203B268->unk34] = gUnknown_80DC0E4;
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B268->unk3C, 1, 1);
+ MemoryFree(gUnknown_203B268);
+ gUnknown_203B268 = NULL;
+ }
+}
+
+void sub_801E76C(void)
+{
+ gUnknown_203B268->unk9C[0] = gUnknown_203B268->unk20;
+ gUnknown_203B268->unk9C[1] = gUnknown_203B268->helpPageIndex;
+ gUnknown_203B268->unk9C[2] = 0xF;
+ gUnknown_203B268->unk9C[3] = 0;
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B268->unk3C, 1, 1);
+}
+
+void DisplayChosenHint(void)
+{
+ sub_80073B8(gUnknown_203B268->unk34);
+ xxx_call_draw_string((gUnknown_203B268->helpPageIndex << 3) + 0x10, 0, gGameHints[gUnknown_203B268->helpPageIndex].heading, gUnknown_203B268->unk34, 0);
+ xxx_call_draw_string(0xA, 0x14, gGameHints[gUnknown_203B268->helpPageIndex].body, gUnknown_203B268->unk34, 0);
+ sub_80073E0(gUnknown_203B268->unk34);
+}
diff --git a/src/items.c b/src/items.c
index 0d41510..86174b9 100644
--- a/src/items.c
+++ b/src/items.c
@@ -37,11 +37,11 @@ extern void ExpandPlaceholdersBuffer(u8 *, const u8 *, ...);
extern s32 sub_8090FEC(s32 a1, u8* a2, u8 a3);
extern void sub_80073B8(u32);
extern u32 sub_8097DF0(char *, struct subStruct_203B240 **);
-extern void sub_8092A88(void*, u16); // first arg is some struct
+extern void InitPokemonMove(void*, u16); // first arg is some struct
extern void sub_80078A4(u32, u32, u32, u32, u32);
-extern u32 sub_8092B00(void*);
+extern u32 GetMoveType(void*);
extern u8* GetUnformattedTypeString(s16);
-extern u32 sub_8092BF4(void*);
+extern u32 GetMoveMaxPP(void*);
extern void sub_80073E0(u32);
extern void xxx_format_and_draw(u32, u32, u8 *, u32, u32);
extern s32 sub_8091E94(s32 a1, s32 a2, s32 a3);
@@ -565,11 +565,11 @@ s32 GetItemPossessionCount(u8 itemIndex)
void ShiftItemsDownFrom(s32 start)
{
s32 i, j;
- for (i = start, j = start + 1; i < 19; i++, j++) {
+ for (i = start, j = start + 1; i < INVENTORY_SIZE - 1; i++, j++) {
gTeamInventory_203B460->teamItems[i] = gTeamInventory_203B460->teamItems[j];
}
- gTeamInventory_203B460->teamItems[19].itemIndex = 0;
- gTeamInventory_203B460->teamItems[19].itemFlags = 0;
+ gTeamInventory_203B460->teamItems[INVENTORY_SIZE - 1].itemIndex = 0;
+ gTeamInventory_203B460->teamItems[INVENTORY_SIZE - 1].itemFlags = 0;
}
void ClearItemSlotAt(u32 index)
@@ -703,13 +703,13 @@ u32 sub_80913E0(struct ItemSlot* slot, u32 a2, struct subStruct_203B240 ** a3)
u8* typestring;
u32 result;
- sub_8092A88(buffer8, move);
+ InitPokemonMove(buffer8, move);
sub_80078A4(a2, 4, 82, 200, 7);
xxx_format_and_draw(4, 84, gPtrTypeText, a2, 0);
- moves_data = sub_8092B00(buffer8);
+ moves_data = GetMoveType(buffer8);
typestring = GetUnformattedTypeString(moves_data);
xxx_format_and_draw(64, 84, typestring, a2, 0);
- result = sub_8092BF4(buffer8);
+ result = GetMoveMaxPP(buffer8);
gUnknown_202DE30 = result;
xxx_format_and_draw(128, 84, gPtrPPD0Text, a2, 0);
}
diff --git a/src/kangaskhan_storage_2.c b/src/kangaskhan_storage_2.c
index 007aea6..3c5099d 100644
--- a/src/kangaskhan_storage_2.c
+++ b/src/kangaskhan_storage_2.c
@@ -9,31 +9,6 @@
extern struct unkStruct_203B208 *gUnknown_203B208;
-struct unkStruct_203B20C
-{
- u32 state;
- u8 unk4[4];
- struct ItemSlot unk8;
- u8 fillC[0x14 - 0xC];
- u32 unk14;
- u32 unk18;
- u32 unk1C;
- struct MenuItem unk20[8];
- u16 unk60[8];
- u32 unk70;
- u8 fill74[0xC0 - 0x74];
- u32 unkC0;
- u32 unkC4;
- u32 unkC8;
- u32 unkCC;
- u32 unkD0;
- u32 unkD4;
- struct UnkTextStruct2 *unkD8;
- u32 unkDC;
- u32 unkE0;
- u8 fillE4[0xF0 - 0xE4];
- struct UnkTextStruct2 unkF0[4];
-};
extern struct unkStruct_203B20C *gUnknown_203B20C;
extern void sub_8017F10(u32);
diff --git a/src/kangaskhan_storage_3.c b/src/kangaskhan_storage_3.c
index e5382c3..f1ce8ce 100644
--- a/src/kangaskhan_storage_3.c
+++ b/src/kangaskhan_storage_3.c
@@ -1,9 +1,349 @@
#include "global.h"
+#include "kangaskhan_storage.h"
+#include "team_inventory.h"
+
+extern struct unkStruct_203B20C *gUnknown_203B20C;
extern u32 sub_801B410();
extern void sub_801B450();
extern void sub_8017F10(u32);
+extern u8 sub_801CF14(u32);
+
+struct HeldItem_Alt {
+ union tempHeld
+ {
+ struct HeldItem norm;
+ u32 full_bits;
+ } temp;
+};
+
+extern u8 sub_8012FD8(u32 *r0);
+extern void sub_8013114(u32 *, s32 *);
+extern void sub_801CBB8(void);
+extern void sub_8017F10(u32);
+extern void sub_8012EA4(u32 *, u32);
+
+bool8 IsNotMoneyOrUsedTMItem(u8 id);
+extern u8 sub_801ADA0(s32);
+extern void sub_801A928(void);
+extern void sub_8099690(u32);
+extern u32 sub_801A6E8(u32);
+
+extern u32 sub_8013BBC(u32 *);
+extern u32 sub_801CA08(u32);
+extern void sub_8018280(void);
+
+extern void sub_801CF94(void);
+extern u8 sub_801CB24();
+extern u32 sub_801CFB8(void);
+extern void sub_801AD34(u32);
+extern u32 sub_801CFE0(u8);
+
+extern u32 sub_801A8AC(void);
+extern u32 sub_801AEA8(void);
+extern u32 sub_801AED0(u32);
+extern void sub_801AE84(void);
+extern u8 sub_801CF50(u32);
+
+
+void sub_8018588(void)
+{
+ s32 temp;
+ temp = 0;
+
+ if(sub_8012FD8(&gUnknown_203B20C->unk70) == 0)
+ {
+ sub_8013114(&gUnknown_203B20C->unk70, &temp);
+ if(temp != 1) gUnknown_203B20C->unk14 = temp;
+ }
+
+ switch(temp)
+ {
+ case 2:
+ if((GetNumberOfFilledInventorySlots() != 0) && sub_801CF50(0) == 0)
+ sub_8017F10(4);
+ else
+ sub_8012EA4(&gUnknown_203B20C->unk70, 1);;
+ break;
+ case 3:
+ if(sub_801CF14(1) != 0)
+ sub_8012EA4(&gUnknown_203B20C->unk70, 1);
+ else
+ sub_8017F10(0xA);
+ break;
+ case 1:
+ sub_8017F10(3);
+ break;
+ }
+}
+
+void sub_8018620(void)
+{
+ s32 iVar6;
+ switch(sub_801A6E8(1))
+ {
+ case 3:
+ if(sub_801AEA8() != 0)
+ {
+ for(iVar6 = 0; iVar6 < INVENTORY_SIZE; iVar6++)
+ {
+ if(sub_801AED0(iVar6) != 0)
+ {
+ MoveToStorage(&gTeamInventory_203B460->teamItems[iVar6]);
+ gTeamInventory_203B460->teamItems[iVar6].itemIndex = 0;
+ gTeamInventory_203B460->teamItems[iVar6].itemFlags = 0;
+ }
+ }
+ FillInventoryGaps();
+ sub_801AE84();
+ if(GetNumberOfFilledInventorySlots() == 0)
+ {
+ sub_801A928();
+ sub_8017F10(1);
+ }
+ else
+ {
+ sub_8017F10(5);
+ }
+ }
+ else
+ {
+ gUnknown_203B20C->unkC = sub_801A8AC();
+ gUnknown_203B20C->unk8 = gTeamInventory_203B460->teamItems[gUnknown_203B20C->unkC];
+ sub_8017F10(6);
+ }
+ break;
+ case 4:
+ gUnknown_203B20C->unkC = sub_801A8AC();
+ gUnknown_203B20C->unk8 = gTeamInventory_203B460->teamItems[gUnknown_203B20C->unkC];
+ sub_8017F10(7);
+ break;
+ case 2:
+ sub_801A928();
+ sub_8017F10(1);
+ break;
+ }
+}
+
+void sub_80186F8(void)
+{
+ struct HeldItem_Alt item;
+ u16 cast;
+ s32 iVar6;
+ u8 iVar6_32;
+
+ switch(sub_801CA08(1))
+ {
+ case 3:
+ if(sub_801CFB8() != 0)
+ {
+ for(iVar6 = 0; iVar6 < NUMBER_OF_ITEM_IDS; iVar6++)
+ {
+ iVar6_32 = iVar6; // dumb cast needed to match
+ if(sub_801CFE0(iVar6) != 0)
+ {
+ item.temp.full_bits = (item.temp.full_bits & 0xffffff00) | iVar6_32;
+ if(IsThrowableItem(item.temp.norm.itemIndex))
+ if(gTeamInventory_203B460->teamStorage[item.temp.norm.itemIndex] > 0x63)
+ {
+ item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | (0xC6 << 7);
+ }
+ else
+ {
+ cast = gTeamInventory_203B460->teamStorage[item.temp.norm.itemIndex] << 8;
+ item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | cast;
+ }
+ else
+ {
+ item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | (0x80 << 1);
+ }
+ gTeamInventory_203B460->teamStorage[item.temp.norm.itemIndex] -= item.temp.norm.numItems;
+ sub_8091274((struct HeldItem *)&item);
+ }
+ }
+ FillInventoryGaps();
+ sub_801CF94();
+ if((sub_801CF14(1) == 0) && (GetNumberOfFilledInventorySlots() < INVENTORY_SIZE))
+ sub_8017F10(0xB);
+ else
+ {
+ sub_801CBB8();
+ sub_8017F10(1);
+ }
+ }
+ else
+ {
+ gUnknown_203B20C->itemIndex = sub_801CB24();
+ xxx_init_itemslot_8090A8C(&gUnknown_203B20C->unk8, gUnknown_203B20C->itemIndex, 0);
+ gUnknown_203B20C->unk8.numItems = 1;
+ sub_8017F10(0xD);
+ }
+ break;
+ case 4:
+ gUnknown_203B20C->itemIndex = sub_801CB24();
+ xxx_init_itemslot_8090A8C(&gUnknown_203B20C->unk8, gUnknown_203B20C->itemIndex, 0);
+ gUnknown_203B20C->unk8.numItems = 1;
+ sub_8017F10(0xE);
+ break;
+ case 2:
+ sub_801CBB8();
+ sub_8017F10(1);
+ break;
+ case 1:
+ sub_801AD34(0);
+ break;
+ }
+}
+
+void sub_8018854(void)
+{
+ struct HeldItem_Alt item;
+ u32 itemsCast;
+ u32 indexCast;
+
+ sub_801CA08(0);
+ sub_8012FD8(&gUnknown_203B20C->unk70);
+
+ switch(sub_8013BBC(&gUnknown_203B20C->unkC0))
+ {
+ case 3:
+ gUnknown_203B20C->unk8.numItems = gUnknown_203B20C->unkC0;
+
+ gTeamInventory_203B460->teamStorage[gUnknown_203B20C->unk8.itemIndex] -= gUnknown_203B20C->unk8.numItems;
+
+ indexCast = gUnknown_203B20C->unk8.itemIndex;
+ item.temp.full_bits = (item.temp.full_bits & 0xffffff00) | indexCast;
+
+ itemsCast = (gUnknown_203B20C->unk8.numItems << 8);
+ item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | itemsCast;
+
+ sub_8091274((struct HeldItem *)&item);
+ if(sub_801CF14(1) == 0)
+ if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
+ {
+ error:
+ sub_801CBB8();
+ sub_8017F10(0x1);
+ }
+ else
+ sub_8017F10(0xB);
+ else
+ goto error;
+ break;
+ case 2:
+ sub_8017F10(0xB);
+ break;
+ case 1:
+ sub_8018280();
+ break;
+ case 0:
+ break;
+ }
+}
+
+void sub_8018904(void)
+{
+ s32 temp;
+
+ temp = 0;
+
+ sub_801A6E8(0);
+ if(sub_8012FD8(&gUnknown_203B20C->unk70) == 0)
+ {
+ sub_8013114(&gUnknown_203B20C->unk70, &temp);
+ if(temp != 1) gUnknown_203B20C->unk18 = temp;
+ }
+ switch(temp)
+ {
+ case 2:
+ if(IsNotMoneyOrUsedTMItem(gUnknown_203B20C->unk8.itemIndex))
+ if(sub_801ADA0(gUnknown_203B20C->unkC) == 0)
+ error:
+ sub_8012EA4(&gUnknown_203B20C->unk70, 1);
+ else
+ {
+ MoveToStorage(&gUnknown_203B20C->unk8);
+ ShiftItemsDownFrom(gUnknown_203B20C->unkC);
+ FillInventoryGaps();
+ if(GetNumberOfFilledInventorySlots() == 0)
+ {
+ sub_801A928();
+ sub_8017F10(1);
+ }
+ else
+ sub_8017F10(5);
+ }
+ else
+ goto error;
+ break;
+ case 4:
+ sub_8099690(0);
+ sub_8017F10(7);
+ break;
+ case 1:
+ sub_8017F10(5);
+ break;
+ }
+}
+
+void sub_80189C8(void)
+{
+ struct HeldItem_Alt item;
+ s32 temp;
+ u32 itemsCast;
+ u32 indexCast;
+
+ temp = 0;
+
+ sub_801CA08(0);
+ if(sub_8012FD8(&gUnknown_203B20C->unk70) == 0)
+ {
+ sub_8013114(&gUnknown_203B20C->unk70, &temp);
+ if(temp != 1) gUnknown_203B20C->unk1C = temp;
+ }
+ switch(temp)
+ {
+ case 3:
+ if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
+ sub_8012EA4(&gUnknown_203B20C->unk70, 1);
+ else if(IsThrowableItem(gUnknown_203B20C->unk8.itemIndex))
+ sub_8017F10(0xC);
+ else
+ {
+ gTeamInventory_203B460->teamStorage[gUnknown_203B20C->unk8.itemIndex] -= gUnknown_203B20C->unk8.numItems;
+
+ indexCast = gUnknown_203B20C->unk8.itemIndex;
+ item.temp.full_bits = (item.temp.full_bits & 0xffffff00) | indexCast;
+
+ itemsCast = (gUnknown_203B20C->unk8.numItems << 8);
+ item.temp.full_bits = (item.temp.full_bits & 0xffff00ff) | itemsCast;
+
+ sub_8091274((struct HeldItem *)&item);
+ if(sub_801CF14(1) == 0)
+ if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
+ {
+ error:
+ sub_801CBB8();
+ sub_8017F10(1);
+ }
+ else
+ {
+ sub_8017F10(0xB);
+ }
+ else
+ goto error;
+ }
+ break;
+ case 4:
+ sub_8017F10(0xE);
+ break;
+ case 1:
+ sub_8017F10(0xB);
+ break;
+ }
+}
+
void sub_8018AC8(void)
{
switch(sub_801B410())
diff --git a/src/kecleon_items_1.c b/src/kecleon_items_1.c
index 610fd4f..89cd19f 100644
--- a/src/kecleon_items_1.c
+++ b/src/kecleon_items_1.c
@@ -62,7 +62,6 @@ extern u8 sub_8019FB0(void);
extern u8 sub_80138B8(void *, u32);
extern void PlayMenuSoundEffect(u32);
-extern s32 GetStackBuyPrice(struct ItemSlot *);
extern s32 GetKeyPress(void *);
extern void sub_8013660(void *);
@@ -228,7 +227,7 @@ void sub_8019DAC(void)
gUnknown_203B210->unk14 = 0;
gUnknown_203B210->unk18 = 0;
- for(iVar5 = 0; iVar5 < 0x14; iVar5++){
+ for(iVar5 = 0; iVar5 < INVENTORY_SIZE; iVar5++){
pbVar4 = &gTeamInventory_203B460->teamItems[iVar5];
if (((pbVar4->itemFlags & ITEM_FLAG_EXISTS) != 0) && (CanSellItem(pbVar4->itemIndex))) {
iVar3 = GetStackSellPrice(pbVar4);
diff --git a/src/moves.c b/src/moves.c
new file mode 100644
index 0000000..0f59f0b
--- /dev/null
+++ b/src/moves.c
@@ -0,0 +1,336 @@
+#include "global.h"
+#include "file_system.h"
+#include "constants/move.h"
+#include "constants/move_id.h"
+
+struct MoveDataFile
+{
+ struct MoveData *moveData;
+ u8 *unk4; // unsure of this struct's structure yet
+};
+
+struct unkStruct_80928C0
+{
+ u32 unk0;
+ u32 unk4;
+ u8 unk8;
+ u8 unk9;
+};
+
+extern struct unkStruct_80928C0 gUnknown_81098C4;
+extern struct FileArchive gSystemFileArchive;
+extern struct OpenedFile *gWazaParametersFile;
+extern struct MoveData *gMovesData;
+extern u8 *gMovesRelated_2038C6C;
+
+extern u8 gUnknown_81098D0[];
+extern u8 gUnknown_81098DC[];
+extern u8 gUnknown_810990C[];
+extern u8 gUnknown_8109908[];
+extern u8 gUnknown_8109928[];
+extern u8 gUnknown_8109910[];
+extern u8 gUnknown_81098E0[];
+extern u8 gUnknown_81098EC[];
+extern u8 *gRangeNames[];
+extern u8 gUnknown_810992C[];
+
+extern void sub_8093F10(struct PokemonMove *, struct PokemonMove *);
+extern void sub_80928C0(u8 *, struct PokemonMove *, struct unkStruct_80928C0 *);
+extern u32 GetMoveMaxPP(struct PokemonMove*);
+bool8 DoesMoveCharge(u16 move);
+extern void ExpandPlaceholdersBuffer(u8 *, u8 *, ...);
+
+void LoadWazaParameters(void)
+{
+ gWazaParametersFile = OpenFileAndGetFileDataPtr(gUnknown_81098D0, &gSystemFileArchive);
+
+ gMovesData = ((struct MoveDataFile *)(gWazaParametersFile->data))->moveData;
+ gMovesRelated_2038C6C = ((struct MoveDataFile *)(gWazaParametersFile->data))->unk4;
+}
+
+u8 sub_809287C(struct PokemonMove *move)
+{
+ if((move->moveFlags & MOVE_FLAG_DISABLED) != 0)
+ return 0x32;
+ else if((move->sealed & 1) == 0)
+ return 0x34;
+ else
+ return 0x32;
+}
+
+void sub_80928A0(u8 *buffer, struct PokemonMove *move, struct unkStruct_80928C0 *r2)
+{
+ struct PokemonMove stack;
+ sub_8093F10(&stack, move);
+ sub_80928C0(buffer, &stack, r2);
+}
+
+void sub_80928C0(u8 *buffer, struct PokemonMove *move, struct unkStruct_80928C0 *param_3)
+{
+ u32 uVar2;
+ u32 maxPP;
+ u8 localBuffer[12];
+
+ uVar2 = sub_809287C(move);
+ if (param_3 == NULL) {
+ param_3 = &gUnknown_81098C4;
+ }
+
+ if (move->powerBoost != 0)
+ ExpandPlaceholdersBuffer(localBuffer,gUnknown_81098DC,move->powerBoost); // %+d
+ else
+ localBuffer[0] = '\0';
+
+ if (param_3->unk8 != 0) {
+ uVar2 = 2;
+ }
+ if (param_3->unk9 != 0 && DoesMoveCharge(move->moveID)) {
+ uVar2 = 2;
+ }
+ switch(param_3->unk0) {
+ case 0:
+ ExpandPlaceholdersBuffer
+ (buffer,gUnknown_81098E0,uVar2,
+ gMovesData[move->moveID].namePointer,localBuffer);
+ break;
+
+ case 1:
+ maxPP = GetMoveMaxPP(move);
+ ExpandPlaceholdersBuffer
+ (buffer,gUnknown_81098EC,uVar2,move->moveFlags & MOVE_FLAG_SET ? gUnknown_8109908 : gUnknown_810990C,
+ gMovesData[move->moveID].namePointer,localBuffer,param_3->unk4,
+ move->pp,maxPP);
+ break;
+
+ case 2:
+ maxPP = GetMoveMaxPP(move);
+ ExpandPlaceholdersBuffer
+ (buffer,gUnknown_8109910,uVar2,move->moveFlags & MOVE_FLAG_SET ? gUnknown_8109908 : gUnknown_810990C,
+ gMovesData[move->moveID].namePointer,localBuffer,param_3->unk4,
+ move->pp,maxPP);
+ break;
+
+ case 3:
+ maxPP = GetMoveMaxPP(move);
+ ExpandPlaceholdersBuffer
+ (buffer,gUnknown_81098EC,uVar2,move->moveFlags & MOVE_FLAG_ENABLED ? gUnknown_8109928 : gUnknown_810990C,
+ gMovesData[move->moveID].namePointer,localBuffer,param_3->unk4,
+ move->pp,maxPP);
+ break;
+
+ case 4:
+ maxPP = GetMoveMaxPP(move);
+ ExpandPlaceholdersBuffer
+ (buffer,gUnknown_8109910,uVar2, move->moveFlags & MOVE_FLAG_ENABLED ? gUnknown_8109928 : gUnknown_810990C,
+ gMovesData[move->moveID].namePointer,localBuffer,param_3->unk4,
+ move->pp,maxPP);
+ break;
+ }
+}
+
+void InitPokemonMove(struct PokemonMove *move, u16 moveID)
+{
+ move->moveFlags = MOVE_FLAG_ENABLED | MOVE_FLAG_EXISTS;
+ move->sealed = FALSE;
+ move->moveID = moveID;
+ move->pp = GetMoveMaxPP(move);
+ move->powerBoost = 0;
+}
+
+void sub_8092AA8(struct PokemonMove *move, u16 moveID)
+{
+ if(moveID == 0)
+ move->moveFlags = 0;
+ else
+ {
+ move->moveFlags = MOVE_FLAG_ENABLED | MOVE_FLAG_EXISTS;
+ move->sealed = FALSE;
+ move->moveID = moveID;
+ move->pp = GetMoveMaxPP(move);
+ move->powerBoost = 0;
+ }
+}
+
+void InitZeroedPPPokemonMove(struct PokemonMove *move, u16 moveID)
+{
+ move->moveFlags = MOVE_FLAG_ENABLED | MOVE_FLAG_EXISTS;
+ move->moveID = moveID;
+ move->pp = 0;
+}
+
+s16 GetMoveTargetingFlags(struct PokemonMove *move, u32 r1)
+{
+ return gMovesData[move->moveID].targetingFlags[r1];
+}
+
+u8 GetMoveType(struct PokemonMove *move)
+{
+ return gMovesData[move->moveID].type;
+}
+
+NAKED
+void sub_8092B18(s16 species)
+{
+ asm_unified("\tpush {lr}\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r1, r0, 16\n"
+ "\tadds r2, r1, 0\n"
+ "\tldr r0, _08092B40\n"
+ "\tcmp r1, r0\n"
+ "\tbeq _08092B48\n"
+ "\tcmp r1, 0\n"
+ "\tbeq _08092B48\n"
+ "\tmovs r0, 0xD2\n"
+ "\tlsls r0, 1\n"
+ "\tcmp r2, r0\n"
+ "\tbeq _08092B48\n"
+ "\tldr r0, _08092B44\n"
+ "\tldr r1, [r0]\n"
+ "\tlsls r0, r2, 3\n"
+ "\tadds r0, r1\n"
+ "\tldr r0, [r0]\n"
+ "\tb _08092B4A\n"
+ "\t.align 2, 0\n"
+"_08092B40: .4byte 0x000001a5\n"
+"_08092B44: .4byte gMovesRelated_2038C6C\n"
+"_08092B48:\n"
+ "\tldr r0, _08092B50\n"
+"_08092B4A:\n"
+ "\tpop {r1}\n"
+ "\tbx r1\n"
+ "\t.align 2, 0\n"
+"_08092B50: .4byte gUnknown_810992B");
+}
+
+NAKED
+void sub_8092B54(s16 species)
+{
+ asm_unified("\tpush {lr}\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r1, r0, 16\n"
+ "\tadds r2, r1, 0\n"
+ "\tldr r0, _08092B7C\n"
+ "\tcmp r1, r0\n"
+ "\tbeq _08092B84\n"
+ "\tcmp r1, 0\n"
+ "\tbeq _08092B84\n"
+ "\tmovs r0, 0xD2\n"
+ "\tlsls r0, 1\n"
+ "\tcmp r2, r0\n"
+ "\tbeq _08092B84\n"
+ "\tldr r0, _08092B80\n"
+ "\tldr r1, [r0]\n"
+ "\tlsls r0, r2, 3\n"
+ "\tadds r0, r1\n"
+ "\tldr r0, [r0, 0x4]\n"
+ "\tb _08092B86\n"
+ "\t.align 2, 0\n"
+"_08092B7C: .4byte 0x000001a5\n"
+"_08092B80: .4byte gMovesRelated_2038C6C\n"
+"_08092B84:\n"
+ "\tldr r0, _08092B8C\n"
+"_08092B86:\n"
+ "\tpop {r1}\n"
+ "\tbx r1\n"
+ "\t.align 2, 0\n"
+"_08092B8C: .4byte gUnknown_810992B");
+}
+
+u8 GetMoveWeight(struct PokemonMove *move)
+{
+ return gMovesData[move->moveID].weight;
+}
+
+u8 GetMoveHitCount(struct PokemonMove *move)
+{
+ return gMovesData[move->moveID].hitCount;
+}
+
+s16 GetMovePower(struct PokemonMove *move)
+{
+ return gMovesData[move->moveID].power;
+}
+
+u8 GetMoveAccuracy(struct PokemonMove *move, u32 r1)
+{
+ return gMovesData[move->moveID].accuracy[r1];
+}
+
+u32 GetMoveMaxPP(struct PokemonMove *move)
+{
+ return gMovesData[move->moveID].maxPP;
+}
+
+u8 GetMoveUnk12(struct PokemonMove *move)
+{
+ return gMovesData[move->moveID].unk12;
+}
+
+u8 GetMoveCriticalHitChance(struct PokemonMove *move)
+{
+ return gMovesData[move->moveID].criticalHitChance;
+}
+
+u8 GetMoveCannotHitFrozen(struct PokemonMove *move)
+{
+ return gMovesData[move->moveID].cannotHitFrozen;
+}
+
+u8 GetMoveDealsDirectDamage(struct PokemonMove *move)
+{
+ return gMovesData[move->moveID].dealsDirectDamage;
+}
+
+u32 GetMoveRangeType(struct PokemonMove *move)
+{
+ return gMovesData[move->moveID].rangeType;
+}
+
+void sub_8092C84(u8 *buffer, u16 moveID)
+{
+ struct PokemonMove stack;
+ InitPokemonMove(&stack, moveID);
+ sub_80928C0(buffer, &stack, NULL);
+}
+
+u8 *GetMoveUseText(u16 moveID)
+{
+ return gMovesData[moveID].useText;
+}
+
+u8 GetMoveAffectedByMagicCoat(u16 moveID)
+{
+ return gMovesData[moveID].affectedByMagicCoat;
+}
+
+u8 GetMoveTargetsUser(u16 moveID)
+{
+ return gMovesData[moveID].targetsUser;
+}
+
+u8 GetMoveAffectedByMuzzled(u16 moveID)
+{
+ return gMovesData[moveID].affectedByMuzzled;
+}
+
+bool8 IsBlockedBySoundproof(struct PokemonMove *move)
+{
+ if(move->moveID == MOVE_GROWL) return TRUE;
+ if(move->moveID == MOVE_ROAR) return TRUE;
+ if(move->moveID == MOVE_METAL_SOUND) return TRUE;
+ if(move->moveID == MOVE_SING) return TRUE;
+ if(move->moveID == MOVE_GRASSWHISTLE) return TRUE;
+ if(move->moveID == MOVE_SUPERSONIC) return TRUE;
+ if(move->moveID == MOVE_PERISH_SONG) return TRUE;
+ if(move->moveID == MOVE_SCREECH) return TRUE;
+ if(move->moveID == MOVE_HYPER_VOICE) return TRUE;
+ if(move->moveID == MOVE_SNORE) return TRUE;
+ if(move->moveID == MOVE_HEAL_BELL) return TRUE;
+
+ return FALSE;
+}
+
+void sub_8092D54(u8 *buffer, struct PokemonMove *move)
+{
+ ExpandPlaceholdersBuffer(buffer, gUnknown_810992C, gRangeNames[GetMoveRangeType(move)]);
+}
diff --git a/src/moves_1.c b/src/moves_1.c
new file mode 100644
index 0000000..db84d41
--- /dev/null
+++ b/src/moves_1.c
@@ -0,0 +1,100 @@
+#include "global.h"
+#include "code_8092334.h"
+#include "pokemon.h"
+#include "constants/move_id.h"
+
+void SavePokemonMove(struct unkStruct_8094924 *r0, struct PokemonMove *move)
+{
+ SaveIntegerBits(r0, &move->moveFlags, 4);
+ SaveIntegerBits(r0, &move->moveID, 9);
+ SaveIntegerBits(r0, &move->pp, 7);
+}
+
+void RestorePokemonMove(struct unkStruct_8094924 *r0, struct PokemonMove *move)
+{
+ RestoreIntegerBits(r0, &move->moveFlags, 4);
+ RestoreIntegerBits(r0, &move->moveID, 9);
+ RestoreIntegerBits(r0, &move->pp, 7);
+}
+
+void SavePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveSet)
+{
+ s32 iVar4;
+ for(iVar4 = 0; iVar4 < MAX_MON_MOVES; iVar4++)
+ {
+ SavePokemonMove(r0, &moveSet[iVar4]);
+ }
+}
+
+void RestorePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveSet)
+{
+ s32 iVar4;
+ for(iVar4 = 0; iVar4 < MAX_MON_MOVES; iVar4++)
+ {
+ RestorePokemonMove(r0, &moveSet[iVar4]);
+ }
+}
+
+void sub_8094148(struct unkStruct_8094924 *r0, struct PokemonMove *move)
+{
+ SaveIntegerBits(r0, &move->moveFlags, 4);
+ SaveIntegerBits(r0, &move->sealed, 1);
+ SaveIntegerBits(r0, &move->moveID, 9);
+ SaveIntegerBits(r0, &move->pp, 7);
+ SaveIntegerBits(r0, &move->powerBoost, 7);
+}
+
+void sub_8094184(struct unkStruct_8094924 *r0, struct unkStruct_8094184 *r1)
+{
+ s32 r4;
+
+ for(r4 = 0; r4 < MAX_MON_MOVES; r4++)
+ {
+ sub_8094148(r0, &r1->moves[r4]);
+ }
+ SaveIntegerBits(r0, &r1->unk20, 8);
+}
+
+void sub_80941B0(struct unkStruct_8094924 *r0, struct PokemonMove *move)
+{
+ memset(move, 0, sizeof(struct PokemonMove));
+ RestoreIntegerBits(r0, &move->moveFlags, 4);
+ RestoreIntegerBits(r0, &move->sealed, 1);
+ RestoreIntegerBits(r0, &move->moveID, 9);
+ RestoreIntegerBits(r0, &move->pp, 7);
+ RestoreIntegerBits(r0, &move->powerBoost, 7);
+}
+
+void sub_80941FC(struct unkStruct_8094924 *r0, struct unkStruct_8094184 *r1)
+{
+ s32 iVar4;
+ for(iVar4 = 0; iVar4 < MAX_MON_MOVES; iVar4++)
+ {
+ sub_80941B0(r0, &r1->moves[iVar4]);
+ }
+ r1->unk20 = 0;
+ RestoreIntegerBits(r0, &r1->unk20, 8);
+}
+
+bool8 DoesMoveCharge(u16 move)
+{
+ if(move == MOVE_SOLARBEAM)
+ return TRUE;
+ if(move == MOVE_SKY_ATTACK)
+ return TRUE;
+ if(move == MOVE_RAZOR_WIND)
+ return TRUE;
+ if(move == MOVE_FOCUS_PUNCH)
+ return TRUE;
+ if(move == MOVE_SKULL_BASH)
+ return TRUE;
+ if(move == MOVE_FLY)
+ return TRUE;
+ if(move == MOVE_BOUNCE)
+ return TRUE;
+ if(move == MOVE_DIVE)
+ return TRUE;
+ if(move == MOVE_DIG)
+ return TRUE;
+ return FALSE;
+}
diff --git a/src/pokemon_mid.c b/src/pokemon_mid.c
index 6429755..94387b2 100644
--- a/src/pokemon_mid.c
+++ b/src/pokemon_mid.c
@@ -38,7 +38,7 @@ extern void xxx_pokemon2_to_pokemonstruct_808DF44(struct PokemonStruct*, struct
extern u8* sub_8092B18(s16);
extern u8* sub_808E07C(u8* a1, u16* a2);
extern u8* sub_8092B54(s32);
-extern void sub_8092AD4(struct PokemonMove*, u16);
+extern void InitZeroedPPPokemonMove(struct PokemonMove*, u16);
extern u32 sub_8097DF0(char *, struct subStruct_203B240 **);
struct unkStruct_8107654 {
@@ -570,7 +570,7 @@ void xxx_pokemon2_to_pokemonstruct_index_808DF2C(s32 a1, struct PokemonStruct2*
xxx_pokemon2_to_pokemonstruct_808DF44(&a1[gRecruitedPokemonRef->pokemon], a2);
}
-extern void sub_8093FA8(struct PokemonMove*, struct PokemonMove*);
+extern void sub_8093FA8(struct PokemonMove*, struct unkStruct_8094184*);
void xxx_pokemon2_to_pokemonstruct_808DF44(struct PokemonStruct* pokemon, struct PokemonStruct2* a2)
@@ -593,7 +593,7 @@ void xxx_pokemon2_to_pokemonstruct_808DF44(struct PokemonStruct* pokemon, struct
}
pokemon->unk1C = a2->unk18;
- sub_8093FA8(pokemon->moves, a2->moves);
+ sub_8093FA8(pokemon->moves, &a2->moves);
for (i = 0; i < POKEMON_NAME_LENGTH; i++) {
pokemon->name[i] = a2->name[i];
@@ -910,7 +910,7 @@ void sub_808E490(struct PokemonMove* a1, s16 species)
i = 0;
if (i < count) {
while (i < count) {
- sub_8092AD4(&a1[i], buffer[i]);
+ InitZeroedPPPokemonMove(&a1[i], buffer[i]);
i++;
}
i = count;
diff --git a/tools/dungeonjson/dungeonjson.cpp b/tools/dungeonjson/dungeonjson.cpp
index 5d73dfb..48ef147 100644
--- a/tools/dungeonjson/dungeonjson.cpp
+++ b/tools/dungeonjson/dungeonjson.cpp
@@ -500,7 +500,7 @@ string generate_move_data_text(Json data) {
<< read_json_bool(data_entry["affectedByMuzzled"])
<< read_json_bool(data_entry["cannotHitFrozen"])
<< read_json_bool(data_entry["dealsDirectDamage"])
- << read_json_int(data_entry["unk19"], 1)
+ << read_json_int(data_entry["rangeType"], 1)
<< "\n.2byte 0"
<< read_json_string(data_entry["descriptionPointer"], 4)
<< read_json_string(data_entry["useText"], 4);