diff options
-rw-r--r-- | asm/battle_anim_80CA710.s | 24 | ||||
-rw-r--r-- | asm/battle_message.s | 48 | ||||
-rw-r--r-- | asm/contest.s | 24 | ||||
-rw-r--r-- | asm/macros/battle_ai_script.inc | 62 | ||||
-rw-r--r-- | asm/pokeball.s | 14 | ||||
-rw-r--r-- | asm/rom_800D42C.s | 1932 | ||||
-rw-r--r-- | constants/misc_constants.inc | 10 | ||||
-rw-r--r-- | data/battle_ai_scripts.s | 390 | ||||
-rw-r--r-- | include/battle.h | 39 | ||||
-rw-r--r-- | include/moves.h | 363 | ||||
-rw-r--r-- | src/battle_ai.c | 922 | ||||
-rw-r--r-- | src/battle_anim.c | 8 | ||||
-rw-r--r-- | src/pokemon_2.c | 8 | ||||
-rw-r--r-- | src/pokemon_3.c | 10 | ||||
-rw-r--r-- | src/rom3.c | 12 | ||||
-rw-r--r-- | sym_ewram.txt | 4 |
16 files changed, 2141 insertions, 1729 deletions
diff --git a/asm/battle_anim_80CA710.s b/asm/battle_anim_80CA710.s index ae6709650..32429e22d 100644 --- a/asm/battle_anim_80CA710.s +++ b/asm/battle_anim_80CA710.s @@ -31309,7 +31309,7 @@ sub_80D97CC: @ 80D97CC ldrsh r0, [r0, r1] cmp r0, 0 bne _080D9828 - ldr r4, _080D981C @ =gUnknown_02024C07 + ldr r4, _080D981C @ =gPlayerMonIndex ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -31338,7 +31338,7 @@ sub_80D97CC: @ 80D97CC b _080D9844 .align 2, 0 _080D9818: .4byte gBattleAnimArgs -_080D981C: .4byte gUnknown_02024C07 +_080D981C: .4byte gPlayerMonIndex _080D9820: .4byte gUnknown_0202F7C8 _080D9824: .4byte gUnknown_0202F7C9 _080D9828: @@ -31614,7 +31614,7 @@ sub_80D9A38: @ 80D9A38 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D9A7C - ldr r4, _080D9A70 @ =gUnknown_02024C07 + ldr r4, _080D9A70 @ =gPlayerMonIndex ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -31633,7 +31633,7 @@ sub_80D9A38: @ 80D9A38 b _080D9A82 .align 2, 0 _080D9A6C: .4byte gBattleAnimArgs -_080D9A70: .4byte gUnknown_02024C07 +_080D9A70: .4byte gPlayerMonIndex _080D9A74: .4byte gUnknown_0202F7C9 _080D9A78: .4byte gUnknown_0202F7C8 _080D9A7C: @@ -43672,7 +43672,7 @@ sub_80DF78C: @ 80DF78C ldr r0, _080DF7E4 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r6, 0x3A] - ldr r4, _080DF7E8 @ =gUnknown_02024C07 + ldr r4, _080DF7E8 @ =gPlayerMonIndex ldrb r0, [r4] movs r1, 0 bl sub_807A100 @@ -43690,7 +43690,7 @@ sub_80DF78C: @ 80DF78C .align 2, 0 _080DF7E0: .4byte gUnknown_0202F7C8 _080DF7E4: .4byte gBattleAnimArgs -_080DF7E8: .4byte gUnknown_02024C07 +_080DF7E8: .4byte gPlayerMonIndex _080DF7EC: lsrs r0, r1, 17 _080DF7EE: @@ -53227,7 +53227,7 @@ sub_80E4234: @ 80E4234 lsls r0, 24 lsrs r0, 24 ldr r2, _080E4254 @ =gUnknown_0202F7C8 - ldr r1, _080E4258 @ =gUnknown_02024C08 + ldr r1, _080E4258 @ =gEnemyMonIndex ldrb r1, [r1] strb r1, [r2] ldr r2, _080E425C @ =gUnknown_0202F7C9 @@ -53239,7 +53239,7 @@ sub_80E4234: @ 80E4234 bx r0 .align 2, 0 _080E4254: .4byte gUnknown_0202F7C8 -_080E4258: .4byte gUnknown_02024C08 +_080E4258: .4byte gEnemyMonIndex _080E425C: .4byte gUnknown_0202F7C9 _080E4260: .4byte gUnknown_02024C0A thumb_func_end sub_80E4234 @@ -53287,7 +53287,7 @@ sub_80E42B0: @ 80E42B0 lsls r0, 24 lsrs r0, 24 ldr r2, _080E42C8 @ =gUnknown_0202F7C9 - ldr r1, _080E42CC @ =gUnknown_02024C08 + ldr r1, _080E42CC @ =gEnemyMonIndex ldrb r1, [r1] strb r1, [r2] bl move_anim_task_del @@ -53295,7 +53295,7 @@ sub_80E42B0: @ 80E42B0 bx r0 .align 2, 0 _080E42C8: .4byte gUnknown_0202F7C9 -_080E42CC: .4byte gUnknown_02024C08 +_080E42CC: .4byte gEnemyMonIndex thumb_func_end sub_80E42B0 thumb_func_start sub_80E42D0 @@ -53304,7 +53304,7 @@ sub_80E42D0: @ 80E42D0 lsls r0, 24 lsrs r0, 24 ldr r2, _080E42F0 @ =gUnknown_0202F7C8 - ldr r1, _080E42F4 @ =gUnknown_02024C07 + ldr r1, _080E42F4 @ =gPlayerMonIndex ldrb r1, [r1] strb r1, [r2] ldr r2, _080E42F8 @ =gUnknown_0202F7C9 @@ -53316,7 +53316,7 @@ sub_80E42D0: @ 80E42D0 bx r0 .align 2, 0 _080E42F0: .4byte gUnknown_0202F7C8 -_080E42F4: .4byte gUnknown_02024C07 +_080E42F4: .4byte gPlayerMonIndex _080E42F8: .4byte gUnknown_0202F7C9 _080E42FC: .4byte gUnknown_02024C0A thumb_func_end sub_80E42D0 diff --git a/asm/battle_message.s b/asm/battle_message.s index c4e4a7dd0..17841a4e9 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -968,7 +968,7 @@ _0812129C: .4byte gUnknown_02024A6A _081212A0: .4byte gLinkPlayers _081212A4: .4byte gEnemyParty _081212A8: - ldr r4, _081212CC @ =gUnknown_02024C07 + ldr r4, _081212CC @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -985,7 +985,7 @@ _081212A8: ldr r4, _081212D8 @ =gUnknown_08400797 b _081212E6 .align 2, 0 -_081212CC: .4byte gUnknown_02024C07 +_081212CC: .4byte gPlayerMonIndex _081212D0: .4byte gBattleTypeFlags _081212D4: .4byte gUnknown_08400791 _081212D8: .4byte gUnknown_08400797 @@ -1035,7 +1035,7 @@ _0812131C: .align 2, 0 _08121338: .4byte gUnknown_02024A6A _0812133C: - ldr r4, _08121370 @ =gUnknown_02024C07 + ldr r4, _08121370 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -1059,7 +1059,7 @@ _0812133C: adds r0, r1 b _0812190E .align 2, 0 -_08121370: .4byte gUnknown_02024C07 +_08121370: .4byte gPlayerMonIndex _08121374: .4byte gUnknown_02024A6A _08121378: .4byte gPlayerParty _0812137C: @@ -1083,7 +1083,7 @@ _0812137C: _081213A0: .4byte gUnknown_02024A6A _081213A4: .4byte gEnemyParty _081213A8: - ldr r5, _081213F4 @ =gUnknown_02024C07 + ldr r5, _081213F4 @ =gPlayerMonIndex ldrb r0, [r5] bl battle_side_get_owner lsls r0, 24 @@ -1123,7 +1123,7 @@ _081213E8: ldrh r1, [r0] b _08121908 .align 2, 0 -_081213F4: .4byte gUnknown_02024C07 +_081213F4: .4byte gPlayerMonIndex _081213F8: .4byte gBattleTypeFlags _081213FC: .4byte gUnknown_08400791 _08121400: .4byte gUnknown_08400797 @@ -1139,7 +1139,7 @@ _0812140C: .align 2, 0 _08121418: .4byte gUnknown_02024A6A _0812141C: - ldr r5, _08121468 @ =gUnknown_02024C08 + ldr r5, _08121468 @ =gEnemyMonIndex ldrb r0, [r5] bl battle_side_get_owner lsls r0, 24 @@ -1179,7 +1179,7 @@ _0812145C: ldrh r1, [r0] b _08121908 .align 2, 0 -_08121468: .4byte gUnknown_02024C08 +_08121468: .4byte gEnemyMonIndex _0812146C: .4byte gBattleTypeFlags _08121470: .4byte gUnknown_08400791 _08121474: .4byte gUnknown_08400797 @@ -1489,18 +1489,18 @@ _081216EC: _081216F0: .4byte byte_2024C06 _081216F4: ldr r1, _081216FC @ =gUnknown_0203926C - ldr r0, _08121700 @ =gUnknown_02024C07 + ldr r0, _08121700 @ =gPlayerMonIndex b _08121730 .align 2, 0 _081216FC: .4byte gUnknown_0203926C -_08121700: .4byte gUnknown_02024C07 +_08121700: .4byte gPlayerMonIndex _08121704: ldr r1, _0812170C @ =gUnknown_0203926C - ldr r0, _08121710 @ =gUnknown_02024C08 + ldr r0, _08121710 @ =gEnemyMonIndex b _08121730 .align 2, 0 _0812170C: .4byte gUnknown_0203926C -_08121710: .4byte gUnknown_02024C08 +_08121710: .4byte gEnemyMonIndex _08121714: ldr r1, _08121720 @ =gUnknown_0203926C ldr r0, _08121724 @ =0x02000000 @@ -1805,12 +1805,12 @@ _08121970: .4byte 0x0000084b _08121974: .4byte gUnknown_084009ED _08121978: .4byte gUnknown_084009F7 _0812197C: - ldr r0, _08121980 @ =gUnknown_02024C07 + ldr r0, _08121980 @ =gPlayerMonIndex b _08121986 .align 2, 0 -_08121980: .4byte gUnknown_02024C07 +_08121980: .4byte gPlayerMonIndex _08121984: - ldr r0, _08121998 @ =gUnknown_02024C08 + ldr r0, _08121998 @ =gEnemyMonIndex _08121986: ldrb r0, [r0] bl battle_side_get_owner @@ -1821,16 +1821,16 @@ _08121986: ldr r4, _081219A0 @ =gUnknown_084007AC b _081219E6 .align 2, 0 -_08121998: .4byte gUnknown_02024C08 +_08121998: .4byte gEnemyMonIndex _0812199C: .4byte gUnknown_084007A7 _081219A0: .4byte gUnknown_084007AC _081219A4: - ldr r0, _081219A8 @ =gUnknown_02024C07 + ldr r0, _081219A8 @ =gPlayerMonIndex b _081219AE .align 2, 0 -_081219A8: .4byte gUnknown_02024C07 +_081219A8: .4byte gPlayerMonIndex _081219AC: - ldr r0, _081219C0 @ =gUnknown_02024C08 + ldr r0, _081219C0 @ =gEnemyMonIndex _081219AE: ldrb r0, [r0] bl battle_side_get_owner @@ -1841,16 +1841,16 @@ _081219AE: ldr r4, _081219C8 @ =gUnknown_084007A1 b _081219E6 .align 2, 0 -_081219C0: .4byte gUnknown_02024C08 +_081219C0: .4byte gEnemyMonIndex _081219C4: .4byte gUnknown_0840079C _081219C8: .4byte gUnknown_084007A1 _081219CC: - ldr r0, _081219D0 @ =gUnknown_02024C07 + ldr r0, _081219D0 @ =gPlayerMonIndex b _081219D6 .align 2, 0 -_081219D0: .4byte gUnknown_02024C07 +_081219D0: .4byte gPlayerMonIndex _081219D4: - ldr r0, _08121A24 @ =gUnknown_02024C08 + ldr r0, _08121A24 @ =gEnemyMonIndex _081219D6: ldrb r0, [r0] bl battle_side_get_owner @@ -1894,7 +1894,7 @@ _08121A06: adds r6, 0x1 b _08121A3C .align 2, 0 -_08121A24: .4byte gUnknown_02024C08 +_08121A24: .4byte gEnemyMonIndex _08121A28: .4byte gUnknown_084007B2 _08121A2C: .4byte gUnknown_084007B7 _08121A30: diff --git a/asm/contest.s b/asm/contest.s index 8a8a65edb..92f5e362a 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -878,9 +878,9 @@ _080AB8CC: strb r2, [r1, 0x3] ldr r0, _080AB92C @ =gBattleTypeFlags strh r4, [r0] - ldr r4, _080AB930 @ =gUnknown_02024C07 + ldr r4, _080AB930 @ =gPlayerMonIndex strb r2, [r4] - ldr r0, _080AB934 @ =gUnknown_02024C08 + ldr r0, _080AB934 @ =gEnemyMonIndex strb r3, [r0] bl sub_80AE858 ldr r2, _080AB938 @ =gUnknown_02024BE0 @@ -893,8 +893,8 @@ _080AB8CC: _080AB924: .4byte 0x02019204 _080AB928: .4byte gUnknown_02024A72 _080AB92C: .4byte gBattleTypeFlags -_080AB930: .4byte gUnknown_02024C07 -_080AB934: .4byte gUnknown_02024C08 +_080AB930: .4byte gPlayerMonIndex +_080AB934: .4byte gEnemyMonIndex _080AB938: .4byte gUnknown_02024BE0 _080AB93C: movs r0, 0 @@ -2344,7 +2344,7 @@ _080AC542: adds r4, r0 strh r5, [r4, 0xC] ldr r1, _080AC5E0 @ =gUnknown_02024BE0 - ldr r0, _080AC5E4 @ =gUnknown_02024C07 + ldr r0, _080AC5E4 @ =gPlayerMonIndex ldrb r0, [r0] adds r0, r1 strb r5, [r0] @@ -2365,7 +2365,7 @@ _080AC5D4: .4byte gSprites _080AC5D8: .4byte sub_80AD8FC _080AC5DC: .4byte gTasks _080AC5E0: .4byte gUnknown_02024BE0 -_080AC5E4: .4byte gUnknown_02024C07 +_080AC5E4: .4byte gPlayerMonIndex _080AC5E8: mov r1, r8 lsls r0, r1, 2 @@ -15226,7 +15226,7 @@ sub_80B292C: @ 80B292C bl CreateInvisibleSpriteWithCallback ldr r1, _080B295C @ =gUnknown_02024BE0 strb r0, [r1, 0x3] - ldr r0, _080B2960 @ =gUnknown_02024C08 + ldr r0, _080B2960 @ =gEnemyMonIndex ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -15242,7 +15242,7 @@ sub_80B292C: @ 80B292C .align 2, 0 _080B2958: .4byte SpriteCallbackDummy _080B295C: .4byte gUnknown_02024BE0 -_080B2960: .4byte gUnknown_02024C08 +_080B2960: .4byte gEnemyMonIndex _080B2964: .4byte gSprites thumb_func_end sub_80B292C @@ -15341,20 +15341,20 @@ _080B29DC: .4byte _080B2A6C .4byte _080B2A6C _080B2A60: - ldr r1, _080B2A68 @ =gUnknown_02024C08 + ldr r1, _080B2A68 @ =gEnemyMonIndex movs r0, 0x2 b _080B2A70 .align 2, 0 -_080B2A68: .4byte gUnknown_02024C08 +_080B2A68: .4byte gEnemyMonIndex _080B2A6C: - ldr r1, _080B2A78 @ =gUnknown_02024C08 + ldr r1, _080B2A78 @ =gEnemyMonIndex movs r0, 0x3 _080B2A70: strb r0, [r1] pop {r0} bx r0 .align 2, 0 -_080B2A78: .4byte gUnknown_02024C08 +_080B2A78: .4byte gEnemyMonIndex thumb_func_end sub_80B29B4 thumb_func_start sub_80B2A7C diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc index 38a44ddfb..679e30340 100644 --- a/asm/macros/battle_ai_script.inc +++ b/asm/macros/battle_ai_script.inc @@ -1,21 +1,24 @@ - .macro if_random percent, address + .macro if_random_less_than percent, address .byte 0x00 .byte \percent .4byte \address .endm - .macro if_not_random percent, address + @ unused + .macro if_random_greater_than percent, address .byte 0x01 .byte \percent .4byte \address .endm - .macro if_random_1 address + @ unused + .macro if_random_equal address .byte 0x02 .4byte \address .endm - .macro if_not_random_1 address + @ unused + .macro if_random_not_equal address .byte 0x03 .4byte \address .endm @@ -212,7 +215,8 @@ .byte \byte .endm - .macro ai_23 + @ unused + .macro get_move_power .byte 0x23 .endm @@ -225,14 +229,17 @@ .byte \target .endm - .macro if_type type, address + .macro if_arg_equal type, address .byte 0x26 .byte \type .4byte \address .endm - .macro ai_27 + @ unused + .macro if_arg_not_equal type, address .byte 0x27 + .byte \type + .4byte \address .endm .macro if_would_go_first target, address @@ -247,10 +254,12 @@ .4byte \address .endm + @ nullsub .macro ai_2a .byte 0x2a .endm + @ nullsub .macro ai_2b .byte 0x2b .endm @@ -260,7 +269,8 @@ .byte \target .endm - .macro ai_2d + @ unused + .macro get_considered_move .byte 0x2d .endm @@ -273,7 +283,8 @@ .byte \target .endm - .macro ai_30 + @ unused + .macro get_highest_possible_damage .byte 0x30 .endm @@ -283,10 +294,12 @@ .4byte \address .endm + @ nullsub .macro ai_32 .byte 0x32 .endm + @ nullsub .macro ai_33 .byte 0x33 .endm @@ -364,12 +377,20 @@ .4byte \address .endm - .macro if_has_move + @ unused + .macro if_has_move, target, move, address .byte 0x3f + .byte \target + .2byte \move + .4byte \address .endm - .macro if_dont_have_move + @ unused + .macro if_dont_have_move, target, move, address .byte 0x40 + .byte \target + .2byte \move + .4byte \address .endm .macro if_move_effect target, effect, address @@ -393,8 +414,9 @@ .4byte \address .endm - .macro if_encored address + .macro if_encored target, address .byte 0x44 + .byte \target .4byte \address .endm @@ -402,7 +424,7 @@ .byte 0x45 .endm - .macro if_random_2 address + .macro if_random_100 address .byte 0x46 .4byte \address .endm @@ -440,15 +462,15 @@ .byte \target .endm - .macro get_move_type + .macro get_move_type_from_result .byte 0x4e .endm - .macro get_move_power + .macro get_move_power_from_result .byte 0x4f .endm - .macro get_move_effect + .macro get_move_effect_from_result .byte 0x50 .endm @@ -457,30 +479,37 @@ .byte \target .endm + @ nullsub .macro ai_52 .byte 0x52 .endm + @ nullsub .macro ai_53 .byte 0x53 .endm + @ nullsub .macro ai_54 .byte 0x54 .endm + @ nullsub .macro ai_55 .byte 0x55 .endm + @ nullsub .macro ai_56 .byte 0x56 .endm + @ nullsub .macro ai_57 .byte 0x57 .endm + @ unused .macro call address .byte 0x58 .4byte \address @@ -513,6 +542,7 @@ if_level_cond 2, \address .endm + @ unused .macro if_taunted address .byte 0x5c .4byte \address diff --git a/asm/pokeball.s b/asm/pokeball.s index 57e4a5a21..9abeed00d 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -152,7 +152,7 @@ _080464D6: beq _0804655C cmp r2, 0xFF bne _08046598 - ldr r0, _08046554 @ =gUnknown_02024C08 + ldr r0, _08046554 @ =gEnemyMonIndex strb r5, [r0] movs r0, 0x18 strh r0, [r4, 0x20] @@ -169,7 +169,7 @@ _08046544: .4byte gUnknown_02024A6A _08046548: .4byte gPlayerParty _0804654C: .4byte gSpriteTemplate_820AAB4 _08046550: .4byte gSprites -_08046554: .4byte gUnknown_02024C08 +_08046554: .4byte gEnemyMonIndex _08046558: .4byte sub_8047074 _0804655C: adds r0, r5, 0 @@ -185,7 +185,7 @@ _0804655C: lsrs r0, 24 adds r0, 0x18 strh r0, [r4, 0x22] - ldr r0, _08046590 @ =gUnknown_02024C08 + ldr r0, _08046590 @ =gEnemyMonIndex strb r5, [r0] movs r3, 0 strh r3, [r4, 0x2E] @@ -196,12 +196,12 @@ _0804655C: str r1, [r0] b _080465A6 .align 2, 0 -_08046590: .4byte gUnknown_02024C08 +_08046590: .4byte gEnemyMonIndex _08046594: .4byte sub_8047254 _08046598: movs r0, 0x1 bl battle_get_side_with_given_state - ldr r1, _080465C4 @ =gUnknown_02024C08 + ldr r1, _080465C4 @ =gEnemyMonIndex strb r0, [r1] movs r0, 0x1 str r0, [sp] @@ -211,7 +211,7 @@ _080465A6: adds r1, r7 lsls r1, 2 adds r4, r1, r0 - ldr r5, _080465C4 @ =gUnknown_02024C08 + ldr r5, _080465C4 @ =gEnemyMonIndex ldrb r0, [r5] strh r0, [r4, 0x3A] ldr r2, [sp] @@ -221,7 +221,7 @@ _080465A6: bl DestroyTask b _08046616 .align 2, 0 -_080465C4: .4byte gUnknown_02024C08 +_080465C4: .4byte gEnemyMonIndex _080465C8: .4byte gSprites _080465CC: movs r0, 0x22 diff --git a/asm/rom_800D42C.s b/asm/rom_800D42C.s index 24e845abb..9ab29cd30 100644 --- a/asm/rom_800D42C.s +++ b/asm/rom_800D42C.s @@ -6330,9 +6330,9 @@ _08010906: cmp r2, 0 bge _08010902 movs r1, 0 - ldr r2, _08010AFC @ =gUnknown_02024C07 + ldr r2, _08010AFC @ =gPlayerMonIndex strb r1, [r2] - ldr r3, _08010B00 @ =gUnknown_02024C08 + ldr r3, _08010B00 @ =gEnemyMonIndex strb r1, [r3] ldr r4, _08010B04 @ =gBattleWeather strh r1, [r4] @@ -6562,8 +6562,8 @@ _08010AEC: .4byte gUnknown_02024C5C _08010AF0: .4byte 0x02017100 _08010AF4: .4byte gUnknown_02024C80 _08010AF8: .4byte gUnknown_02024C7A -_08010AFC: .4byte gUnknown_02024C07 -_08010B00: .4byte gUnknown_02024C08 +_08010AFC: .4byte gPlayerMonIndex +_08010B00: .4byte gEnemyMonIndex _08010B04: .4byte gBattleWeather _08010B08: .4byte gUnknown_02024DBC _08010B0C: .4byte gUnknown_02024C6C @@ -10891,7 +10891,7 @@ _08012EC0: .4byte 0x00016060 _08012EC4: .4byte gUnknown_02024D1E _08012EC8: .4byte 0x00016094 _08012ECC: - ldr r0, _08012F20 @ =gUnknown_02024C07 + ldr r0, _08012F20 @ =gPlayerMonIndex strb r1, [r0] ldr r7, _08012F24 @ =gUnknown_02024C10 ldr r6, _08012F28 @ =gUnknown_02024C1C @@ -10933,7 +10933,7 @@ _08012F12: str r1, [r0] b _08012F66 .align 2, 0 -_08012F20: .4byte gUnknown_02024C07 +_08012F20: .4byte gPlayerMonIndex _08012F24: .4byte gUnknown_02024C10 _08012F28: .4byte gUnknown_02024C1C _08012F2C: .4byte gUnknown_02024A64 @@ -12067,7 +12067,7 @@ bc_80154A0: @ 80137CC cmp r1, r0 bcs _08013884 ldr r6, _08013860 @ =gUnknown_02024A60 - ldr r5, _08013864 @ =gUnknown_02024C07 + ldr r5, _08013864 @ =gPlayerMonIndex adds r4, r2, 0 movs r1, 0x84 lsls r1, 1 @@ -12121,7 +12121,7 @@ _08013854: .4byte 0x02000000 _08013858: .4byte 0x0001601d _0801385C: .4byte gUnknown_02024A68 _08013860: .4byte gUnknown_02024A60 -_08013864: .4byte gUnknown_02024C07 +_08013864: .4byte gPlayerMonIndex _08013868: .4byte gUnknown_02024C60 _0801386C: .4byte gBattleMons _08013870: .4byte gUnknown_02024CA8 @@ -12273,7 +12273,7 @@ sub_8013998: @ 8013998 strb r0, [r1] movs r0, 0 bl battle_get_side_with_given_state - ldr r1, _080139E0 @ =gUnknown_02024C07 + ldr r1, _080139E0 @ =gPlayerMonIndex strb r0, [r1] ldr r1, _080139E4 @ =gUnknown_02024C10 ldr r0, _080139E8 @ =gUnknown_081D8E02 @@ -12288,7 +12288,7 @@ _080139D0: .4byte gUnknown_02024A7F _080139D4: .4byte gBattleTypeFlags _080139D8: .4byte gUnknown_030041C0 _080139DC: .4byte gUnknown_02024D26 -_080139E0: .4byte gUnknown_02024C07 +_080139E0: .4byte gPlayerMonIndex _080139E4: .4byte gUnknown_02024C10 _080139E8: .4byte gUnknown_081D8E02 _080139EC: @@ -12448,7 +12448,7 @@ sub_8013B64: @ 8013B64 strb r0, [r1] movs r0, 0 bl battle_get_side_with_given_state - ldr r1, _08013BAC @ =gUnknown_02024C07 + ldr r1, _08013BAC @ =gPlayerMonIndex strb r0, [r1] ldr r1, _08013BB0 @ =gUnknown_02024C10 ldr r0, _08013BB4 @ =gUnknown_081D8E02 @@ -12463,7 +12463,7 @@ _08013B9C: .4byte gUnknown_02024A7F _08013BA0: .4byte gBattleTypeFlags _08013BA4: .4byte gUnknown_030041C0 _08013BA8: .4byte gUnknown_02024D26 -_08013BAC: .4byte gUnknown_02024C07 +_08013BAC: .4byte gPlayerMonIndex _08013BB0: .4byte gUnknown_02024C10 _08013BB4: .4byte gUnknown_081D8E02 _08013BB8: @@ -12491,7 +12491,7 @@ sub_8013BDC: @ 8013BDC movs r0, 0 strb r0, [r1] ldr r1, _08013C08 @ =gUnknown_02024D28 - ldr r0, _08013C0C @ =gUnknown_02024C07 + ldr r0, _08013C0C @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -12508,7 +12508,7 @@ sub_8013BDC: @ 8013BDC .align 2, 0 _08013C04: .4byte gUnknown_02024A7F _08013C08: .4byte gUnknown_02024D28 -_08013C0C: .4byte gUnknown_02024C07 +_08013C0C: .4byte gPlayerMonIndex _08013C10: .4byte gUnknown_02024C10 _08013C14: .4byte gUnknown_081D8E29 _08013C18: @@ -12545,7 +12545,7 @@ sub_8013C48: @ 8013C48 strb r0, [r1] movs r0, 0x7 strb r0, [r1, 0x1] - ldr r2, _08013C84 @ =gUnknown_02024C07 + ldr r2, _08013C84 @ =gPlayerMonIndex ldrb r0, [r2] strb r0, [r1, 0x2] ldr r3, _08013C88 @ =gUnknown_02024A6A @@ -12566,7 +12566,7 @@ sub_8013C48: @ 8013C48 .align 2, 0 _08013C7C: .4byte gUnknown_02024A7F _08013C80: .4byte gUnknown_030041C0 -_08013C84: .4byte gUnknown_02024C07 +_08013C84: .4byte gPlayerMonIndex _08013C88: .4byte gUnknown_02024A6A _08013C8C: .4byte gUnknown_02024C10 _08013C90: .4byte gUnknown_081D8E30 @@ -12995,7 +12995,7 @@ sub_8013FE8: @ 8013FE8 sub sp, 0xC movs r0, 0x4 str r0, [sp] - ldr r7, _08014028 @ =gUnknown_02024C07 + ldr r7, _08014028 @ =gPlayerMonIndex ldr r1, _0801402C @ =gUnknown_02024A7A ldr r0, _08014030 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -13019,7 +13019,7 @@ sub_8013FE8: @ 8013FE8 movs r0, 0xC b _080146CC .align 2, 0 -_08014028: .4byte gUnknown_02024C07 +_08014028: .4byte gPlayerMonIndex _0801402C: .4byte gUnknown_02024A7A _08014030: .4byte gUnknown_02024A7E _08014034: .4byte 0x02000000 @@ -13240,7 +13240,7 @@ _08014218: mov r4, r8 ldrb r0, [r4] lsls r0, 1 - ldr r4, _0801425C @ =gUnknown_02024C07 + ldr r4, _0801425C @ =gPlayerMonIndex ldrb r2, [r4] movs r1, 0x58 muls r1, r2 @@ -13270,7 +13270,7 @@ _08014218: strb r0, [r1] b _08014280 .align 2, 0 -_0801425C: .4byte gUnknown_02024C07 +_0801425C: .4byte gPlayerMonIndex _08014260: .4byte gBattleMons _08014264: .4byte gUnknown_02024C60 _08014268: .4byte gUnknown_02024BE6 @@ -13283,7 +13283,7 @@ _08014278: strh r3, [r0] strh r3, [r1] _08014280: - ldr r0, _080142A0 @ =gUnknown_02024C07 + ldr r0, _080142A0 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -13297,7 +13297,7 @@ _08014280: .align 2, 0 _08014298: .4byte gUnknown_02024BE6 _0801429C: .4byte gUnknown_02024BE8 -_080142A0: .4byte gUnknown_02024C07 +_080142A0: .4byte gPlayerMonIndex _080142A4: .4byte gUnknown_030042E0 _080142A8: ldr r0, _08014314 @ =gUnknown_030042E0 @@ -13305,7 +13305,7 @@ _080142A8: ldrh r1, [r1] strh r1, [r0, 0x24] _080142B0: - ldr r4, _0801431C @ =gUnknown_02024C07 + ldr r4, _0801431C @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner movs r1, 0x1 @@ -13348,23 +13348,23 @@ _080142B0: ldrh r0, [r0, 0x28] cmp r0, 0 beq _08014330 - ldr r0, _0801432C @ =gUnknown_02024C08 + ldr r0, _0801432C @ =gEnemyMonIndex strb r2, [r0] b _080146AC .align 2, 0 _08014314: .4byte gUnknown_030042E0 _08014318: .4byte gUnknown_02024BE6 -_0801431C: .4byte gUnknown_02024C07 +_0801431C: .4byte gPlayerMonIndex _08014320: .4byte gUnknown_02024C80 _08014324: .4byte gBattleMoves _08014328: .4byte gBattleMons -_0801432C: .4byte gUnknown_02024C08 +_0801432C: .4byte gEnemyMonIndex _08014330: ldr r2, _08014454 @ =gBattleTypeFlags ldrh r1, [r2] movs r0, 0x1 ands r0, r1 - ldr r3, _08014458 @ =gUnknown_02024C07 + ldr r3, _08014458 @ =gPlayerMonIndex mov r9, r2 cmp r0, 0 bne _08014342 @@ -13398,7 +13398,7 @@ _08014370: ldr r3, _08014468 @ =gBattleMons ldr r0, _0801446C @ =0x02000000 mov r8, r0 - ldr r2, _08014458 @ =gUnknown_02024C07 + ldr r2, _08014458 @ =gPlayerMonIndex ldrb r5, [r2] ldr r1, _08014470 @ =0x00016010 adds r0, r5, r1 @@ -13438,7 +13438,7 @@ _080143B6: lsrs r0, 24 cmp r6, r0 beq _08014404 - ldr r0, _08014458 @ =gUnknown_02024C07 + ldr r0, _08014458 @ =gPlayerMonIndex ldrb r0, [r0] ldr r2, _08014470 @ =0x00016010 adds r0, r2 @@ -13496,7 +13496,7 @@ _0801441E: ands r3, r0 cmp r3, 0 beq _080144A4 - ldr r0, _08014458 @ =gUnknown_02024C07 + ldr r0, _08014458 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -13511,7 +13511,7 @@ _0801441E: b _08014496 .align 2, 0 _08014454: .4byte gBattleTypeFlags -_08014458: .4byte gUnknown_02024C07 +_08014458: .4byte gPlayerMonIndex _0801445C: .4byte gUnknown_02024C80 _08014460: .4byte gBattleMoves _08014464: .4byte gUnknown_02024BE6 @@ -13536,15 +13536,15 @@ _08014494: movs r0, 0x2 _08014496: bl battle_get_side_with_given_state - ldr r1, _080144A0 @ =gUnknown_02024C08 + ldr r1, _080144A0 @ =gEnemyMonIndex strb r0, [r1] b _080144B6 .align 2, 0 -_080144A0: .4byte gUnknown_02024C08 +_080144A0: .4byte gEnemyMonIndex _080144A4: - ldr r2, _080144EC @ =gUnknown_02024C08 + ldr r2, _080144EC @ =gEnemyMonIndex ldr r1, _080144F0 @ =0x02000000 - ldr r0, _080144F4 @ =gUnknown_02024C07 + ldr r0, _080144F4 @ =gPlayerMonIndex ldrb r0, [r0] ldr r4, _080144F8 @ =0x00016010 adds r0, r4 @@ -13556,7 +13556,7 @@ _080144B6: ldrb r0, [r7] ldr r1, _08014500 @ =gBitTable mov r8, r1 - ldr r5, _080144EC @ =gUnknown_02024C08 + ldr r5, _080144EC @ =gEnemyMonIndex ldrb r1, [r5] lsls r1, 2 add r1, r8 @@ -13566,7 +13566,7 @@ _080144B6: bne _080144D0 b _080146AC _080144D0: - ldr r6, _080144F4 @ =gUnknown_02024C07 + ldr r6, _080144F4 @ =gPlayerMonIndex ldrb r0, [r6] bl battle_side_get_owner adds r4, r0, 0 @@ -13579,9 +13579,9 @@ _080144D0: ldrb r0, [r5] b _0801469A .align 2, 0 -_080144EC: .4byte gUnknown_02024C08 +_080144EC: .4byte gEnemyMonIndex _080144F0: .4byte 0x02000000 -_080144F4: .4byte gUnknown_02024C07 +_080144F4: .4byte gPlayerMonIndex _080144F8: .4byte 0x00016010 _080144FC: .4byte gUnknown_02024C0C _08014500: .4byte gBitTable @@ -13624,7 +13624,7 @@ _08014522: movs r2, 0x2 orrs r1, r2 strb r1, [r0] - ldr r1, _0801456C @ =gUnknown_02024C08 + ldr r1, _0801456C @ =gEnemyMonIndex ldrb r0, [r4] strb r0, [r1] b _080146AC @@ -13633,7 +13633,7 @@ _0801455C: .4byte gUnknown_02024A60 _08014560: .4byte gUnknown_02024A7A _08014564: .4byte gBattleMons _08014568: .4byte gUnknown_02024D68 -_0801456C: .4byte gUnknown_02024C08 +_0801456C: .4byte gEnemyMonIndex _08014570: mov r4, r9 ldrh r1, [r4] @@ -13684,12 +13684,12 @@ _080145D0: movs r0, 0x2 _080145D2: bl battle_get_side_with_given_state - ldr r1, _0801460C @ =gUnknown_02024C08 + ldr r1, _0801460C @ =gEnemyMonIndex strb r0, [r1] ldr r0, _08014610 @ =gUnknown_02024C0C ldrb r1, [r0] ldr r2, _08014614 @ =gBitTable - ldr r5, _0801460C @ =gUnknown_02024C08 + ldr r5, _0801460C @ =gEnemyMonIndex ldrb r0, [r5] lsls r0, 2 adds r0, r2 @@ -13697,7 +13697,7 @@ _080145D2: ands r1, r0 cmp r1, 0 beq _080146AC - ldr r0, _08014618 @ =gUnknown_02024C07 + ldr r0, _08014618 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner adds r4, r0, 0 @@ -13710,12 +13710,12 @@ _080145D2: ldrb r0, [r5] b _0801469A .align 2, 0 -_0801460C: .4byte gUnknown_02024C08 +_0801460C: .4byte gEnemyMonIndex _08014610: .4byte gUnknown_02024C0C _08014614: .4byte gBitTable -_08014618: .4byte gUnknown_02024C07 +_08014618: .4byte gPlayerMonIndex _0801461C: - ldr r5, _08014660 @ =gUnknown_02024C08 + ldr r5, _08014660 @ =gEnemyMonIndex ldr r1, _08014664 @ =0x02000000 adds r2, r3, 0 ldrb r0, [r2] @@ -13748,7 +13748,7 @@ _0801461C: ldrb r0, [r5] b _0801469A .align 2, 0 -_08014660: .4byte gUnknown_02024C08 +_08014660: .4byte gEnemyMonIndex _08014664: .4byte 0x02000000 _08014668: .4byte 0x00016010 _0801466C: .4byte gUnknown_02024C0C @@ -13818,7 +13818,7 @@ _080146F0: .4byte gUnknown_02024A7F thumb_func_start sub_80146F4 sub_80146F4: @ 80146F4 push {r4,lr} - ldr r3, _08014764 @ =gUnknown_02024C07 + ldr r3, _08014764 @ =gPlayerMonIndex ldr r1, _08014768 @ =gUnknown_02024A7A ldr r0, _0801476C @ =gUnknown_02024A7E ldrb r0, [r0] @@ -13874,7 +13874,7 @@ _0801475C: pop {r0} bx r0 .align 2, 0 -_08014764: .4byte gUnknown_02024C07 +_08014764: .4byte gPlayerMonIndex _08014768: .4byte gUnknown_02024A7A _0801476C: .4byte gUnknown_02024A7E _08014770: .4byte gUnknown_030042A4 @@ -13898,8 +13898,8 @@ sub_80147A0: @ 80147A0 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r4, _08014804 @ =gUnknown_02024C07 - ldr r2, _08014808 @ =gUnknown_02024C08 + ldr r4, _08014804 @ =gPlayerMonIndex + ldr r2, _08014808 @ =gEnemyMonIndex ldr r1, _0801480C @ =gUnknown_02024A7A ldr r0, _08014810 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -13943,8 +13943,8 @@ sub_80147A0: @ 80147A0 str r0, [r2] b _08014A8C .align 2, 0 -_08014804: .4byte gUnknown_02024C07 -_08014808: .4byte gUnknown_02024C08 +_08014804: .4byte gPlayerMonIndex +_08014808: .4byte gEnemyMonIndex _0801480C: .4byte gUnknown_02024A7A _08014810: .4byte gUnknown_02024A7E _08014814: .4byte gUnknown_030042A4 @@ -14028,7 +14028,7 @@ _080148CC: ldr r2, _08014904 @ =gUnknown_02024D1E movs r0, 0 strb r0, [r2, 0x5] - ldr r1, _08014908 @ =gUnknown_02024C07 + ldr r1, _08014908 @ =gPlayerMonIndex ldrb r0, [r1] lsrs r0, 1 ldr r6, _0801490C @ =0x000160da @@ -14055,7 +14055,7 @@ _080148FC: b _08014A74 .align 2, 0 _08014904: .4byte gUnknown_02024D1E -_08014908: .4byte gUnknown_02024C07 +_08014908: .4byte gPlayerMonIndex _0801490C: .4byte 0x000160da _08014910: .4byte gUnknown_02024C10 _08014914: .4byte gUnknown_081D9E7C @@ -14095,7 +14095,7 @@ _08014958: ldr r3, _0801498C @ =gUnknown_02024D1E movs r0, 0x4 strb r0, [r3, 0x5] - ldr r2, _08014990 @ =gUnknown_02024C07 + ldr r2, _08014990 @ =gPlayerMonIndex ldrb r0, [r2] lsrs r0, 1 ldr r1, _08014994 @ =0x000160da @@ -14119,7 +14119,7 @@ _08014958: b _08014A74 .align 2, 0 _0801498C: .4byte gUnknown_02024D1E -_08014990: .4byte gUnknown_02024C07 +_08014990: .4byte gPlayerMonIndex _08014994: .4byte 0x000160da _08014998: .4byte gUnknown_02024C10 _0801499C: .4byte gUnknown_081D9E7C @@ -14202,7 +14202,7 @@ _08014A30: ldr r1, _08014A54 @ =gUnknown_02024D1E movs r0, 0x2 strb r0, [r1, 0x5] - ldr r0, _08014A58 @ =gUnknown_02024C07 + ldr r0, _08014A58 @ =gPlayerMonIndex mov r8, r0 ldr r1, _08014A5C @ =gUnknown_02024C10 mov r9, r1 @@ -14212,13 +14212,13 @@ _08014A30: .align 2, 0 _08014A50: .4byte gBattleTypeFlags _08014A54: .4byte gUnknown_02024D1E -_08014A58: .4byte gUnknown_02024C07 +_08014A58: .4byte gPlayerMonIndex _08014A5C: .4byte gUnknown_02024C10 _08014A60: .4byte gUnknown_081D9E7C _08014A64: ldr r0, _08014AA0 @ =gUnknown_02024D1E strb r1, [r0, 0x5] - ldr r3, _08014AA4 @ =gUnknown_02024C07 + ldr r3, _08014AA4 @ =gPlayerMonIndex mov r8, r3 ldr r0, _08014AA8 @ =gUnknown_02024C10 mov r9, r0 @@ -14250,7 +14250,7 @@ _08014A8C: bx r0 .align 2, 0 _08014AA0: .4byte gUnknown_02024D1E -_08014AA4: .4byte gUnknown_02024C07 +_08014AA4: .4byte gPlayerMonIndex _08014AA8: .4byte gUnknown_02024C10 _08014AAC: .4byte gUnknown_081D9E7C _08014AB0: .4byte 0x000160d8 @@ -14416,7 +14416,7 @@ _08014BF0: .4byte gUnknown_02024D26 thumb_func_start sub_8014BF4 sub_8014BF4: @ 8014BF4 push {r4-r6,lr} - ldr r4, _08014C44 @ =gUnknown_02024C07 + ldr r4, _08014C44 @ =gPlayerMonIndex ldr r1, _08014C48 @ =gUnknown_02024A7A ldr r5, _08014C4C @ =gUnknown_02024A7E ldrb r0, [r5] @@ -14456,7 +14456,7 @@ _08014C28: movs r1, 0x2 b _08014C72 .align 2, 0 -_08014C44: .4byte gUnknown_02024C07 +_08014C44: .4byte gPlayerMonIndex _08014C48: .4byte gUnknown_02024A7A _08014C4C: .4byte gUnknown_02024A7E _08014C50: .4byte gBattleTypeFlags @@ -14579,7 +14579,7 @@ _08014D4C: .4byte gUnknown_02024D26 thumb_func_start sub_8014D50 sub_8014D50: @ 8014D50 - ldr r2, _08014D78 @ =gUnknown_02024C07 + ldr r2, _08014D78 @ =gPlayerMonIndex ldr r1, _08014D7C @ =gUnknown_02024A7A ldr r0, _08014D80 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -14600,7 +14600,7 @@ sub_8014D50: @ 8014D50 strb r0, [r1] bx lr .align 2, 0 -_08014D78: .4byte gUnknown_02024C07 +_08014D78: .4byte gPlayerMonIndex _08014D7C: .4byte gUnknown_02024A7A _08014D80: .4byte gUnknown_02024A7E _08014D84: .4byte gUnknown_030042A4 @@ -14612,7 +14612,7 @@ _08014D94: .4byte gUnknown_02024A7F thumb_func_start sub_8014D98 sub_8014D98: @ 8014D98 - ldr r2, _08014DD0 @ =gUnknown_02024C07 + ldr r2, _08014DD0 @ =gPlayerMonIndex ldr r1, _08014DD4 @ =gUnknown_02024A7A ldr r0, _08014DD8 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -14640,7 +14640,7 @@ sub_8014D98: @ 8014D98 strb r0, [r1] bx lr .align 2, 0 -_08014DD0: .4byte gUnknown_02024C07 +_08014DD0: .4byte gPlayerMonIndex _08014DD4: .4byte gUnknown_02024A7A _08014DD8: .4byte gUnknown_02024A7E _08014DDC: .4byte gUnknown_030042A4 @@ -14655,7 +14655,7 @@ _08014DF4: .4byte gUnknown_02024A7F thumb_func_start sub_8014DF8 sub_8014DF8: @ 8014DF8 push {r4-r6,lr} - ldr r3, _08014E68 @ =gUnknown_02024C07 + ldr r3, _08014E68 @ =gPlayerMonIndex ldr r1, _08014E6C @ =gUnknown_02024A7A ldr r0, _08014E70 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -14711,7 +14711,7 @@ _08014E42: movs r0, 0x1 b _08014E9A .align 2, 0 -_08014E68: .4byte gUnknown_02024C07 +_08014E68: .4byte gPlayerMonIndex _08014E6C: .4byte gUnknown_02024A7A _08014E70: .4byte gUnknown_02024A7E _08014E74: .4byte gUnknown_030042A4 @@ -14747,7 +14747,7 @@ _08014EB8: .4byte gUnknown_02024A7F thumb_func_start sub_8014EBC sub_8014EBC: @ 8014EBC push {r4,r5,lr} - ldr r2, _08014F28 @ =gUnknown_02024C07 + ldr r2, _08014F28 @ =gPlayerMonIndex ldr r1, _08014F2C @ =gUnknown_02024A7A ldr r0, _08014F30 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -14803,7 +14803,7 @@ _08014F18: strb r5, [r0, 0x5] b _08014F5A .align 2, 0 -_08014F28: .4byte gUnknown_02024C07 +_08014F28: .4byte gPlayerMonIndex _08014F2C: .4byte gUnknown_02024A7A _08014F30: .4byte gUnknown_02024A7E _08014F34: .4byte gUnknown_030042A4 @@ -14839,7 +14839,7 @@ _08014F7C: .4byte gUnknown_02024A7F thumb_func_start bs8_exit_by_flight bs8_exit_by_flight: @ 8014F80 push {r4,lr} - ldr r2, _08014FA8 @ =gUnknown_02024C07 + ldr r2, _08014FA8 @ =gPlayerMonIndex ldr r1, _08014FAC @ =gUnknown_02024A7A ldr r4, _08014FB0 @ =gUnknown_02024A7E ldrb r0, [r4] @@ -14858,7 +14858,7 @@ bs8_exit_by_flight: @ 8014F80 pop {r0} bx r0 .align 2, 0 -_08014FA8: .4byte gUnknown_02024C07 +_08014FA8: .4byte gPlayerMonIndex _08014FAC: .4byte gUnknown_02024A7A _08014FB0: .4byte gUnknown_02024A7E _08014FB4: .4byte gUnknown_02024A68 @@ -14867,7 +14867,7 @@ _08014FB8: .4byte gUnknown_02024D26 thumb_func_start sub_8014FBC sub_8014FBC: @ 8014FBC - ldr r3, _08015008 @ =gUnknown_02024C07 + ldr r3, _08015008 @ =gPlayerMonIndex ldr r1, _0801500C @ =gUnknown_02024A7A ldr r0, _08015010 @ =gUnknown_02024A7E ldrb r0, [r0] @@ -14905,7 +14905,7 @@ sub_8014FBC: @ 8014FBC strb r0, [r1, 0x1] bx lr .align 2, 0 -_08015008: .4byte gUnknown_02024C07 +_08015008: .4byte gPlayerMonIndex _0801500C: .4byte gUnknown_02024A7A _08015010: .4byte gUnknown_02024A7E _08015014: .4byte gUnknown_030042A4 @@ -14998,7 +14998,7 @@ bsC_8016D70: @ 8015094 adds r0, r1, r3 strb r4, [r0] ldr r2, _08015130 @ =gUnknown_02024C3C - ldr r5, _08015134 @ =gUnknown_02024C07 + ldr r5, _08015134 @ =gPlayerMonIndex ldrb r0, [r5] lsls r0, 1 adds r0, r2 @@ -15040,7 +15040,7 @@ _08015124: .4byte 0x02000000 _08015128: .4byte 0x00016002 _0801512C: .4byte 0x000160a1 _08015130: .4byte gUnknown_02024C3C -_08015134: .4byte gUnknown_02024C07 +_08015134: .4byte gPlayerMonIndex _08015138: .4byte gUnknown_02024C44 _0801513C: .4byte 0x0001601c _08015140: .4byte gUnknown_02024DEC @@ -15078,15 +15078,15 @@ _0801516C: .4byte _080151C8 .4byte _080151B4 _08015198: - ldr r0, _0801519C @ =gUnknown_02024C08 + ldr r0, _0801519C @ =gEnemyMonIndex b _080151C6 .align 2, 0 -_0801519C: .4byte gUnknown_02024C08 +_0801519C: .4byte gEnemyMonIndex _080151A0: - ldr r0, _080151A4 @ =gUnknown_02024C07 + ldr r0, _080151A4 @ =gPlayerMonIndex b _080151C6 .align 2, 0 -_080151A4: .4byte gUnknown_02024C07 +_080151A4: .4byte gPlayerMonIndex _080151A8: ldr r0, _080151AC @ =gUnknown_02024C0A b _080151C6 @@ -16703,14 +16703,14 @@ sub_8015DFC: @ 8015DFC push {r5-r7} movs r0, 0 mov r9, r0 - ldr r1, _08015EA0 @ =gUnknown_02024C07 + ldr r1, _08015EA0 @ =gPlayerMonIndex mov r2, r9 strb r2, [r1] ldr r0, _08015EA4 @ =gUnknown_02024A68 ldrb r4, [r0] adds r6, r1, 0 mov r10, r0 - ldr r7, _08015EA8 @ =gUnknown_02024C08 + ldr r7, _08015EA8 @ =gEnemyMonIndex ldr r3, _08015EAC @ =0x02000000 mov r12, r3 cmp r9, r4 @@ -16784,9 +16784,9 @@ _08015E96: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08015EA0: .4byte gUnknown_02024C07 +_08015EA0: .4byte gPlayerMonIndex _08015EA4: .4byte gUnknown_02024A68 -_08015EA8: .4byte gUnknown_02024C08 +_08015EA8: .4byte gEnemyMonIndex _08015EAC: .4byte 0x02000000 _08015EB0: .4byte gUnknown_02024C0C _08015EB4: .4byte gBitTable @@ -16891,7 +16891,7 @@ _08015F80: movs r7, 0 ldr r5, _0801601C @ =gUnknown_030041C0 _08015F8A: - ldr r0, _08016020 @ =gUnknown_02024C07 + ldr r0, _08016020 @ =gPlayerMonIndex ldrb r4, [r6] strb r4, [r0] mov r0, r8 @@ -16961,7 +16961,7 @@ _08016010: .4byte 0x0001600e _08016014: .4byte 0x000160fc _08016018: .4byte gUnknown_02024A60 _0801601C: .4byte gUnknown_030041C0 -_08016020: .4byte gUnknown_02024C07 +_08016020: .4byte gPlayerMonIndex _08016024: .4byte gUnknown_02024C7A _08016028: .4byte gUnknown_02024C80 _0801602C: .4byte 0x0000fffe @@ -16981,7 +16981,7 @@ _08016040: mov r8, r0 ldr r5, _080160D0 @ =gUnknown_030041C0 _0801604C: - ldr r0, _080160D4 @ =gUnknown_02024C07 + ldr r0, _080160D4 @ =gPlayerMonIndex ldrb r4, [r7] strb r4, [r0] ldr r1, _080160D8 @ =gUnknown_02024A60 @@ -17049,7 +17049,7 @@ _080160C2: .align 2, 0 _080160CC: .4byte 0x000160fc _080160D0: .4byte gUnknown_030041C0 -_080160D4: .4byte gUnknown_02024C07 +_080160D4: .4byte gPlayerMonIndex _080160D8: .4byte gUnknown_02024A60 _080160DC: .4byte gUnknown_02024C7A _080160E0: .4byte gUnknown_02024C80 @@ -17070,7 +17070,7 @@ _080160F4: mov r8, r1 ldr r5, _080161A4 @ =gUnknown_030041C0 _0801610A: - ldr r0, _080161A8 @ =gUnknown_02024C07 + ldr r0, _080161A8 @ =gPlayerMonIndex ldrb r4, [r7] strb r4, [r0] mov r2, r10 @@ -17150,7 +17150,7 @@ _0801618A: _0801619C: .4byte 0x000160fc _080161A0: .4byte gUnknown_02024A60 _080161A4: .4byte gUnknown_030041C0 -_080161A8: .4byte gUnknown_02024C07 +_080161A8: .4byte gPlayerMonIndex _080161AC: .4byte gUnknown_02024C80 _080161B0: .4byte gUnknown_02024C7A _080161B4: .4byte 0x0000feff @@ -17166,7 +17166,7 @@ _080161C8: bhi _08016236 ldr r7, _08016254 @ =gUnknown_02024A60 adds r5, r1, 0 - ldr r6, _08016258 @ =gUnknown_02024C07 + ldr r6, _08016258 @ =gPlayerMonIndex _080161D8: ldrb r4, [r5] strb r4, [r6] @@ -17234,7 +17234,7 @@ _0801623E: .align 2, 0 _08016250: .4byte 0x000160fc _08016254: .4byte gUnknown_02024A60 -_08016258: .4byte gUnknown_02024C07 +_08016258: .4byte gPlayerMonIndex _0801625C: .4byte gUnknown_02024C7A _08016260: .4byte gUnknown_02024C80 _08016264: .4byte 0x0000ffdf @@ -17276,7 +17276,7 @@ _08016288: ldrh r0, [r0, 0x28] cmp r0, 0 beq _080162CA - ldr r0, _08016314 @ =gUnknown_02024C08 + ldr r0, _08016314 @ =gEnemyMonIndex strb r2, [r0] ldr r0, _08016318 @ =gUnknown_081D939A bl b_call_bc_move_exec @@ -17321,7 +17321,7 @@ _08016304: .4byte gUnknown_02024A60 _08016308: .4byte gUnknown_02024DDC _0801630C: .4byte gUnknown_02024A7A _08016310: .4byte gBattleMons -_08016314: .4byte gUnknown_02024C08 +_08016314: .4byte gEnemyMonIndex _08016318: .4byte gUnknown_081D939A _0801631C: .4byte 0x02000000 _08016320: .4byte 0x0001600e @@ -17619,7 +17619,7 @@ _08016578: .4byte gUnknown_02024C6C _0801657C: .4byte 0x01000020 _08016580: ldr r3, _080165B4 @ =gUnknown_02024A60 - ldr r4, _080165B8 @ =gUnknown_02024C07 + ldr r4, _080165B8 @ =gPlayerMonIndex ldr r1, _080165BC @ =gUnknown_02024A7A adds r5, r7, r2 ldrb r0, [r5] @@ -17644,7 +17644,7 @@ _08016580: bl _08017088 .align 2, 0 _080165B4: .4byte gUnknown_02024A60 -_080165B8: .4byte gUnknown_02024C07 +_080165B8: .4byte gPlayerMonIndex _080165BC: .4byte gUnknown_02024A7A _080165C0: .4byte gUnknown_02024C0C _080165C4: .4byte gBitTable @@ -17830,7 +17830,7 @@ _08016730: ldrh r0, [r0, 0x28] cmp r0, 0 beq _0801679C - ldr r0, _080167B0 @ =gUnknown_02024C08 + ldr r0, _080167B0 @ =gEnemyMonIndex strb r5, [r0] ldr r2, _080167B4 @ =gBattleMoveDamage ldrb r0, [r6] @@ -17868,7 +17868,7 @@ _0801679C: .align 2, 0 _080167A8: .4byte gUnknown_02024C98 _080167AC: .4byte gBattleMons -_080167B0: .4byte gUnknown_02024C08 +_080167B0: .4byte gEnemyMonIndex _080167B4: .4byte gBattleMoveDamage _080167B8: .4byte 0x02000000 _080167BC: .4byte 0x000160a4 @@ -18374,7 +18374,7 @@ _08016BD2: cmp r0, r1 bcc _08016BB2 _08016BE0: - ldr r2, _08016BF8 @ =gUnknown_02024C07 + ldr r2, _08016BF8 @ =gPlayerMonIndex ldr r1, _08016BFC @ =gUnknown_02024A68 ldrb r0, [r2] ldrb r1, [r1] @@ -18385,7 +18385,7 @@ _08016BE0: b _0801707E .align 2, 0 _08016BF4: .4byte gBattleMons -_08016BF8: .4byte gUnknown_02024C07 +_08016BF8: .4byte gPlayerMonIndex _08016BFC: .4byte gUnknown_02024A68 _08016C00: ldr r5, _08016C38 @ =gUnknown_02024A60 @@ -19130,10 +19130,10 @@ _080171C6: strb r0, [r6, 0x3] movs r0, 0xFF strb r0, [r6, 0x4] - ldr r3, _08017224 @ =gUnknown_02024C08 + ldr r3, _08017224 @ =gEnemyMonIndex ldrb r0, [r4] strb r0, [r3] - ldr r1, _08017228 @ =gUnknown_02024C07 + ldr r1, _08017228 @ =gPlayerMonIndex mov r0, r12 adds r0, 0x4 ldrb r2, [r4] @@ -19159,8 +19159,8 @@ _080171C6: b _08017364 .align 2, 0 _08017220: .4byte gUnknown_02024D1E -_08017224: .4byte gUnknown_02024C08 -_08017228: .4byte gUnknown_02024C07 +_08017224: .4byte gEnemyMonIndex +_08017228: .4byte gPlayerMonIndex _0801722C: .4byte gBattleMoveDamage _08017230: .4byte gUnknown_02024D68 _08017234: .4byte 0x0000ffff @@ -19197,7 +19197,7 @@ _0801726A: ldr r4, _080172AC @ =gUnknown_030041C0 ldr r7, _080172B0 @ =gUnknown_02024CA8 _08017272: - ldr r2, _080172B4 @ =gUnknown_02024C07 + ldr r2, _080172B4 @ =gPlayerMonIndex ldr r1, _080172B8 @ =gUnknown_02024A7A ldrb r0, [r3] adds r0, r1 @@ -19225,7 +19225,7 @@ _080172A4: .4byte gUnknown_02024A68 _080172A8: .4byte gUnknown_02024A60 _080172AC: .4byte gUnknown_030041C0 _080172B0: .4byte gUnknown_02024CA8 -_080172B4: .4byte gUnknown_02024C07 +_080172B4: .4byte gPlayerMonIndex _080172B8: .4byte gUnknown_02024A7A _080172BC: .4byte gUnknown_02024C0C _080172C0: .4byte gBitTable @@ -19459,7 +19459,7 @@ _08017490: mov r9, r1 ldr r0, _08017520 @ =gUnknown_02024C09 mov r12, r0 - ldr r1, _08017524 @ =gUnknown_02024C08 + ldr r1, _08017524 @ =gEnemyMonIndex mov r8, r1 mov r10, r9 ldr r5, _08017508 @ =0x0001605a @@ -19524,7 +19524,7 @@ _08017514: .4byte gUnknown_02024C0C _08017518: .4byte gBitTable _0801751C: .4byte 0x02000000 _08017520: .4byte gUnknown_02024C09 -_08017524: .4byte gUnknown_02024C08 +_08017524: .4byte gEnemyMonIndex _08017528: .4byte gBattleMons _0801752C: .4byte 0x00016113 _08017530: .4byte gUnknown_02024A6A @@ -19573,7 +19573,7 @@ _0801757C: strb r0, [r1] _0801758E: ldr r7, _080175E0 @ =gUnknown_02024C09 - ldr r6, _080175E4 @ =gUnknown_02024C08 + ldr r6, _080175E4 @ =gEnemyMonIndex ldr r1, _080175E8 @ =0x02000000 mov r8, r1 ldr r3, _080175D8 @ =0x0001605a @@ -19614,7 +19614,7 @@ _080175C4: _080175D8: .4byte 0x0001605a _080175DC: .4byte 0x00016059 _080175E0: .4byte gUnknown_02024C09 -_080175E4: .4byte gUnknown_02024C08 +_080175E4: .4byte gEnemyMonIndex _080175E8: .4byte 0x02000000 _080175EC: .4byte gBattleMons _080175F0: .4byte gBitTable @@ -19829,7 +19829,7 @@ _08017768: .4byte _08017F9E _080177A4: ldr r1, _080177D0 @ =gBattleMons - ldr r3, _080177D4 @ =gUnknown_02024C07 + ldr r3, _080177D4 @ =gPlayerMonIndex ldrb r2, [r3] movs r0, 0x58 muls r2, r0 @@ -19850,13 +19850,13 @@ _080177A4: bl _08017F94 .align 2, 0 _080177D0: .4byte gBattleMons -_080177D4: .4byte gUnknown_02024C07 +_080177D4: .4byte gPlayerMonIndex _080177D8: .4byte 0xfdffffff _080177DC: .4byte gUnknown_02024C98 _080177E0: .4byte 0xffffbfff _080177E4: ldr r7, _0801784C @ =gBattleMons - ldr r4, _08017850 @ =gUnknown_02024C07 + ldr r4, _08017850 @ =gPlayerMonIndex ldrb r1, [r4] movs r5, 0x58 adds r0, r1, 0 @@ -19908,7 +19908,7 @@ _08017804: b _08017D90 .align 2, 0 _0801784C: .4byte gBattleMons -_08017850: .4byte gUnknown_02024C07 +_08017850: .4byte gPlayerMonIndex _08017854: .4byte 0xf7ffffff _08017858: .4byte gUnknown_02024D1E _0801785C: .4byte gUnknown_02024C10 @@ -19942,7 +19942,7 @@ _08017890: str r0, [r2] _08017894: ldr r2, _080178D8 @ =gBattleMons - ldr r0, _080178DC @ =gUnknown_02024C07 + ldr r0, _080178DC @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -19978,7 +19978,7 @@ _080178BE: b _08017D90 .align 2, 0 _080178D8: .4byte gBattleMons -_080178DC: .4byte gUnknown_02024C07 +_080178DC: .4byte gPlayerMonIndex _080178E0: .4byte gUnknown_02024BE6 _080178E4: .4byte gUnknown_02024C10 _080178E8: .4byte gUnknown_081D94EE @@ -20005,7 +20005,7 @@ _08017918: .4byte gUnknown_02024C10 _0801791C: .4byte gUnknown_081D94FB _08017920: ldr r1, _0801797C @ =gBattleMons - ldr r7, _08017980 @ =gUnknown_02024C07 + ldr r7, _08017980 @ =gPlayerMonIndex ldrb r0, [r7] movs r6, 0x58 muls r0, r6 @@ -20050,7 +20050,7 @@ _0801793C: b _080179C8 .align 2, 0 _0801797C: .4byte gBattleMons -_08017980: .4byte gUnknown_02024C07 +_08017980: .4byte gPlayerMonIndex _08017984: .4byte gBattleMoves _08017988: .4byte gUnknown_02024BE6 _0801798C: .4byte gUnknown_02024C10 @@ -20089,7 +20089,7 @@ _080179D0: .4byte gUnknown_081D9552 _080179D4: .4byte gUnknown_02024D1E _080179D8: ldr r1, _08017A30 @ =gBattleMons - ldr r0, _08017A34 @ =gUnknown_02024C07 + ldr r0, _08017A34 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -20135,7 +20135,7 @@ _08017A02: b _08017D90 .align 2, 0 _08017A30: .4byte gBattleMons -_08017A34: .4byte gUnknown_02024C07 +_08017A34: .4byte gPlayerMonIndex _08017A38: .4byte gUnknown_02024CA8 _08017A3C: .4byte gUnknown_02024C6C _08017A40: .4byte gUnknown_02024D1E @@ -20144,7 +20144,7 @@ _08017A48: .4byte gUnknown_081D9977 _08017A4C: .4byte gBattleMoveFlags _08017A50: ldr r1, _08017AA4 @ =gBattleMons - ldr r3, _08017AA8 @ =gUnknown_02024C07 + ldr r3, _08017AA8 @ =gPlayerMonIndex ldrb r2, [r3] movs r0, 0x58 muls r0, r2 @@ -20187,7 +20187,7 @@ _08017A9C: b _08017D96 .align 2, 0 _08017AA4: .4byte gBattleMons -_08017AA8: .4byte gUnknown_02024C07 +_08017AA8: .4byte gPlayerMonIndex _08017AAC: .4byte 0xffbfffff _08017AB0: .4byte gUnknown_02024CA8 _08017AB4: .4byte gUnknown_02024C10 @@ -20197,7 +20197,7 @@ _08017AC0: .4byte 0x02000000 _08017AC4: .4byte 0x000160e7 _08017AC8: ldr r1, _08017B08 @ =gBattleMons - ldr r3, _08017B0C @ =gUnknown_02024C07 + ldr r3, _08017B0C @ =gPlayerMonIndex ldrb r2, [r3] movs r0, 0x58 muls r0, r2 @@ -20229,13 +20229,13 @@ _08017AE2: b _08017D7E .align 2, 0 _08017B08: .4byte gBattleMons -_08017B0C: .4byte gUnknown_02024C07 +_08017B0C: .4byte gPlayerMonIndex _08017B10: .4byte gUnknown_02024D28 _08017B14: .4byte gUnknown_02024C10 _08017B18: .4byte gUnknown_081D9573 _08017B1C: ldr r0, _08017B74 @ =gUnknown_02024CA8 - ldr r3, _08017B78 @ =gUnknown_02024C07 + ldr r3, _08017B78 @ =gPlayerMonIndex ldrb r2, [r3] lsls r1, r2, 3 subs r1, r2 @@ -20280,7 +20280,7 @@ _08017B3C: b _08017D90 .align 2, 0 _08017B74: .4byte gUnknown_02024CA8 -_08017B78: .4byte gUnknown_02024C07 +_08017B78: .4byte gPlayerMonIndex _08017B7C: .4byte gUnknown_02024BE6 _08017B80: .4byte gUnknown_02024D28 _08017B84: .4byte 0x02000000 @@ -20290,7 +20290,7 @@ _08017B90: .4byte gUnknown_081D9139 _08017B94: .4byte gUnknown_02024C6C _08017B98: ldr r0, _08017BF4 @ =gUnknown_02024CA8 - ldr r4, _08017BF8 @ =gUnknown_02024C07 + ldr r4, _08017BF8 @ =gPlayerMonIndex ldrb r3, [r4] lsls r1, r3, 3 subs r1, r3 @@ -20337,7 +20337,7 @@ _08017BEC: b _08017D96 .align 2, 0 _08017BF4: .4byte gUnknown_02024CA8 -_08017BF8: .4byte gUnknown_02024C07 +_08017BF8: .4byte gPlayerMonIndex _08017BFC: .4byte gBattleMoves _08017C00: .4byte gUnknown_02024BE6 _08017C04: .4byte gUnknown_02024D28 @@ -20347,7 +20347,7 @@ _08017C10: .4byte gUnknown_02024C6C _08017C14: .4byte 0x02000000 _08017C18: .4byte 0x000160e7 _08017C1C: - ldr r4, _08017C4C @ =gUnknown_02024C07 + ldr r4, _08017C4C @ =gPlayerMonIndex ldrb r0, [r4] ldr r1, _08017C50 @ =gUnknown_02024BE6 ldrh r1, [r1] @@ -20371,14 +20371,14 @@ _08017C30: ldr r0, _08017C5C @ =gUnknown_081D9459 b _08017D7E .align 2, 0 -_08017C4C: .4byte gUnknown_02024C07 +_08017C4C: .4byte gPlayerMonIndex _08017C50: .4byte gUnknown_02024BE6 _08017C54: .4byte gUnknown_02024D28 _08017C58: .4byte gUnknown_02024C10 _08017C5C: .4byte gUnknown_081D9459 _08017C60: ldr r7, _08017CAC @ =gBattleMons - ldr r5, _08017CB0 @ =gUnknown_02024C07 + ldr r5, _08017CB0 @ =gPlayerMonIndex ldrb r0, [r5] movs r6, 0x58 muls r0, r6 @@ -20415,13 +20415,13 @@ _08017C7E: b _08017D02 .align 2, 0 _08017CAC: .4byte gBattleMons -_08017CB0: .4byte gUnknown_02024C07 +_08017CB0: .4byte gPlayerMonIndex _08017CB4: .4byte gUnknown_02024D1E _08017CB8: ldr r0, _08017D08 @ =gUnknown_02024D1E movs r4, 0x1 strb r1, [r0, 0x5] - ldr r1, _08017D0C @ =gUnknown_02024C08 + ldr r1, _08017D0C @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r1] ldrb r0, [r5] @@ -20460,7 +20460,7 @@ _08017D02: b _08017D2C .align 2, 0 _08017D08: .4byte gUnknown_02024D1E -_08017D0C: .4byte gUnknown_02024C08 +_08017D0C: .4byte gEnemyMonIndex _08017D10: .4byte gBattleMoveDamage _08017D14: .4byte gUnknown_02024D28 _08017D18: .4byte gUnknown_02024C6C @@ -20479,7 +20479,7 @@ _08017D34: .4byte gUnknown_02024C10 _08017D38: .4byte gUnknown_081D95D4 _08017D3C: ldr r1, _08017DA0 @ =gBattleMons - ldr r4, _08017DA4 @ =gUnknown_02024C07 + ldr r4, _08017DA4 @ =gPlayerMonIndex ldrb r2, [r4] movs r0, 0x58 muls r0, r2 @@ -20532,7 +20532,7 @@ _08017D96: b _08017F9E .align 2, 0 _08017DA0: .4byte gBattleMons -_08017DA4: .4byte gUnknown_02024C07 +_08017DA4: .4byte gPlayerMonIndex _08017DA8: .4byte gUnknown_02024D28 _08017DAC: .4byte gUnknown_02024C10 _08017DB0: .4byte gUnknown_081D9566 @@ -20541,7 +20541,7 @@ _08017DB8: .4byte 0x02000000 _08017DBC: .4byte 0x000160e7 _08017DC0: ldr r1, _08017DFC @ =gBattleMons - ldr r4, _08017E00 @ =gUnknown_02024C07 + ldr r4, _08017E00 @ =gPlayerMonIndex ldrb r2, [r4] movs r0, 0x58 muls r0, r2 @@ -20570,7 +20570,7 @@ _08017DDC: b _08017E34 .align 2, 0 _08017DFC: .4byte gBattleMons -_08017E00: .4byte gUnknown_02024C07 +_08017E00: .4byte gPlayerMonIndex _08017E04: .4byte 0x02000000 _08017E08: .4byte 0x00016003 _08017E0C: @@ -20611,7 +20611,7 @@ _08017E54: .4byte gUnknown_081D95FB _08017E58: .4byte 0x02000000 _08017E5C: ldr r1, _08017E98 @ =gBattleMons - ldr r6, _08017E9C @ =gUnknown_02024C07 + ldr r6, _08017E9C @ =gPlayerMonIndex ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -20642,7 +20642,7 @@ _08017E7A: b _08017F38 .align 2, 0 _08017E98: .4byte gBattleMons -_08017E9C: .4byte gUnknown_02024C07 +_08017E9C: .4byte gPlayerMonIndex _08017EA0: .4byte 0xffffff00 _08017EA4: .4byte gUnknown_02024C10 _08017EA8: .4byte gUnknown_081D90A7 @@ -20667,7 +20667,7 @@ _08017EAC: lsls r0, 1 mov r1, r10 str r0, [r1] - ldr r4, _08017F18 @ =gUnknown_02024C08 + ldr r4, _08017F18 @ =gEnemyMonIndex ldr r1, _08017F1C @ =gUnknown_02024C74 ldrb r0, [r6] adds r0, r1 @@ -20698,7 +20698,7 @@ _08017EFE: _08017F0C: .4byte 0xffffefff _08017F10: .4byte gUnknown_02024BF4 _08017F14: .4byte gUnknown_02024BE6 -_08017F18: .4byte gUnknown_02024C08 +_08017F18: .4byte gEnemyMonIndex _08017F1C: .4byte gUnknown_02024C74 _08017F20: .4byte gUnknown_02024C0C _08017F24: .4byte gBitTable @@ -20719,7 +20719,7 @@ _08017F40: .4byte gUnknown_02024C10 _08017F44: .4byte gUnknown_081D90F1 _08017F48: ldr r1, _08017FEC @ =gBattleMons - ldr r0, _08017FF0 @ =gUnknown_02024C07 + ldr r0, _08017FF0 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -20775,7 +20775,7 @@ _08017FAC: cmp r1, 0x2 bne _08017FD8 ldr r4, _08018010 @ =gUnknown_02024A60 - ldr r0, _08017FF0 @ =gUnknown_02024C07 + ldr r0, _08017FF0 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] ldrb r1, [r4] @@ -20803,7 +20803,7 @@ _08017FD8: bx r1 .align 2, 0 _08017FEC: .4byte gBattleMons -_08017FF0: .4byte gUnknown_02024C07 +_08017FF0: .4byte gPlayerMonIndex _08017FF4: .4byte gBattleMoves _08017FF8: .4byte gUnknown_02024BE6 _08017FFC: .4byte gUnknown_02024C10 @@ -21235,7 +21235,7 @@ sub_8018324: @ 8018324 lsrs r4, 16 movs r0, 0 mov r9, r0 - ldr r5, _08018380 @ =gUnknown_02024C07 + ldr r5, _08018380 @ =gPlayerMonIndex ldr r1, _08018384 @ =gUnknown_02024A68 ldrb r0, [r5] ldrb r1, [r1] @@ -21259,7 +21259,7 @@ _08018360: ldr r0, _0801838C @ =gPlayerParty b _080183A0 .align 2, 0 -_08018380: .4byte gUnknown_02024C07 +_08018380: .4byte gPlayerMonIndex _08018384: .4byte gUnknown_02024A68 _08018388: .4byte gUnknown_02024A6A _0801838C: .4byte gPlayerParty @@ -21274,7 +21274,7 @@ _08018390: ldr r0, _080183D4 @ =gEnemyParty _080183A0: adds r7, r1, r0 - ldr r5, _080183D8 @ =gUnknown_02024C08 + ldr r5, _080183D8 @ =gEnemyMonIndex ldr r1, _080183DC @ =gUnknown_02024A68 ldrb r0, [r5] ldrb r1, [r1] @@ -21300,7 +21300,7 @@ _080183B2: .align 2, 0 _080183D0: .4byte gUnknown_02024A6A _080183D4: .4byte gEnemyParty -_080183D8: .4byte gUnknown_02024C08 +_080183D8: .4byte gEnemyMonIndex _080183DC: .4byte gUnknown_02024A68 _080183E0: .4byte gPlayerParty _080183E4: @@ -21436,7 +21436,7 @@ _080184C8: .4byte _08019F44 .4byte _08019CD4 _08018518: - ldr r2, _0801854C @ =gUnknown_02024C07 + ldr r2, _0801854C @ =gPlayerMonIndex ldr r0, _08018550 @ =gUnknown_02024A68 ldrb r1, [r2] adds r5, r0, 0 @@ -21466,7 +21466,7 @@ _0801853E: _08018548: bl _08019F76 .align 2, 0 -_0801854C: .4byte gUnknown_02024C07 +_0801854C: .4byte gPlayerMonIndex _08018550: .4byte gUnknown_02024A68 _08018554: cmp r0, 0x16 @@ -21796,7 +21796,7 @@ _08018814: bne _08018828 bl _08019F76 _08018828: - ldr r0, _08018848 @ =gUnknown_02024C07 + ldr r0, _08018848 @ =gPlayerMonIndex mov r3, r10 strb r3, [r0] mov r3, r8 @@ -21812,7 +21812,7 @@ _08018840: bl _08019F76 .align 2, 0 _08018844: .4byte gBattleMons -_08018848: .4byte gUnknown_02024C07 +_08018848: .4byte gPlayerMonIndex _0801884C: cmp r5, 0x36 bne _08018852 @@ -22077,7 +22077,7 @@ _08018A76: bl _08019F76 _08018A86: ldr r1, _08018AC4 @ =gBattleMons - ldr r0, _08018AC8 @ =gUnknown_02024C07 + ldr r0, _08018AC8 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22106,7 +22106,7 @@ _08018AAC: _08018ABC: .4byte gUnknown_081FA724 _08018AC0: .4byte 0x0000ffff _08018AC4: .4byte gBattleMons -_08018AC8: .4byte gUnknown_02024C07 +_08018AC8: .4byte gPlayerMonIndex _08018ACC: .4byte gUnknown_02024C6C _08018AD0: .4byte gUnknown_02024C10 _08018AD4: .4byte gUnknown_081D98F3 @@ -22144,7 +22144,7 @@ _08018AFE: b _08018C6A _08018B10: ldr r1, _08018B2C @ =gUnknown_02024D28 - ldr r0, _08018B30 @ =gUnknown_02024C07 + ldr r0, _08018B30 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -22158,7 +22158,7 @@ _08018B10: .align 2, 0 _08018B28: .4byte gBattleMoves _08018B2C: .4byte gUnknown_02024D28 -_08018B30: .4byte gUnknown_02024C07 +_08018B30: .4byte gPlayerMonIndex _08018B34: .4byte gUnknown_02024C10 _08018B38: .4byte gUnknown_081D9843 _08018B3C: @@ -22187,7 +22187,7 @@ _08018B56: b _08018C6A _08018B68: ldr r1, _08018B84 @ =gUnknown_02024D28 - ldr r0, _08018B88 @ =gUnknown_02024C07 + ldr r0, _08018B88 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -22201,7 +22201,7 @@ _08018B68: .align 2, 0 _08018B80: .4byte gBattleMoves _08018B84: .4byte gUnknown_02024D28 -_08018B88: .4byte gUnknown_02024C07 +_08018B88: .4byte gPlayerMonIndex _08018B8C: .4byte gUnknown_02024C10 _08018B90: .4byte gUnknown_081D9843 _08018B94: @@ -22243,7 +22243,7 @@ _08018BA8: ldr r0, _08018BFC @ =gUnknown_02024D1E strb r3, [r0, 0x5] ldr r1, _08018C00 @ =gUnknown_02024D28 - ldr r0, _08018C04 @ =gUnknown_02024C07 + ldr r0, _08018C04 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -22259,7 +22259,7 @@ _08018BF4: .4byte gBattleMons _08018BF8: .4byte 0x02017100 _08018BFC: .4byte gUnknown_02024D1E _08018C00: .4byte gUnknown_02024D28 -_08018C04: .4byte gUnknown_02024C07 +_08018C04: .4byte gPlayerMonIndex _08018C08: .4byte gUnknown_02024C10 _08018C0C: .4byte gUnknown_081D987C _08018C10: @@ -22282,7 +22282,7 @@ _08018C30: ldr r0, _08018C4C @ =gUnknown_02024D1E strb r4, [r0, 0x5] ldr r1, _08018C50 @ =gUnknown_02024D28 - ldr r0, _08018C54 @ =gUnknown_02024C07 + ldr r0, _08018C54 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -22296,7 +22296,7 @@ _08018C30: .align 2, 0 _08018C4C: .4byte gUnknown_02024D1E _08018C50: .4byte gUnknown_02024D28 -_08018C54: .4byte gUnknown_02024C07 +_08018C54: .4byte gPlayerMonIndex _08018C58: .4byte gUnknown_02024C10 _08018C5C: .4byte gUnknown_081D987C _08018C60: @@ -22324,7 +22324,7 @@ _08018C74: cmp r0, r2 bne _08018CD0 ldr r1, _08018CB0 @ =gUnknown_02024D28 - ldr r0, _08018CB4 @ =gUnknown_02024C07 + ldr r0, _08018CB4 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -22341,7 +22341,7 @@ _08018CA4: .4byte gUnknown_02024C10 _08018CA8: .4byte gUnknown_081D987B _08018CAC: .4byte gBattleMons _08018CB0: .4byte gUnknown_02024D28 -_08018CB4: .4byte gUnknown_02024C07 +_08018CB4: .4byte gPlayerMonIndex _08018CB8: .4byte gUnknown_081D9866 _08018CBC: ldr r1, _08018CC8 @ =gUnknown_02024C10 @@ -22456,7 +22456,7 @@ _08018DE4: bl _08019F76 _08018DF8: ldr r2, _08018E7C @ =gUnknown_02024D68 - ldr r0, _08018E80 @ =gUnknown_02024C08 + ldr r0, _08018E80 @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -22519,7 +22519,7 @@ _08018E52: _08018E74: .4byte gBattleMoveFlags _08018E78: .4byte gBattleMoves _08018E7C: .4byte gUnknown_02024D68 -_08018E80: .4byte gUnknown_02024C08 +_08018E80: .4byte gEnemyMonIndex _08018E84: .4byte gBattleMons _08018E88: .4byte gUnknown_030041C0 _08018E8C: .4byte gUnknown_02024C10 @@ -22534,7 +22534,7 @@ _08018E94: bl _08019F76 _08018EA4: ldr r1, _08018F30 @ =gBattleMons - ldr r0, _08018F34 @ =gUnknown_02024C07 + ldr r0, _08018F34 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22554,7 +22554,7 @@ _08018EBA: bl _08019F76 _08018ECC: ldr r2, _08018F3C @ =gUnknown_02024D68 - ldr r0, _08018F40 @ =gUnknown_02024C08 + ldr r0, _08018F40 @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -22602,10 +22602,10 @@ _08018F1C: .align 2, 0 _08018F2C: .4byte gBattleMoveFlags _08018F30: .4byte gBattleMons -_08018F34: .4byte gUnknown_02024C07 +_08018F34: .4byte gPlayerMonIndex _08018F38: .4byte gUnknown_02024D28 _08018F3C: .4byte gUnknown_02024D68 -_08018F40: .4byte gUnknown_02024C08 +_08018F40: .4byte gEnemyMonIndex _08018F44: .4byte gBattleMoves _08018F48: .4byte gBattleMoveDamage _08018F4C: .4byte gUnknown_02024C10 @@ -22620,7 +22620,7 @@ _08018F54: bl _08019F76 _08018F64: ldr r1, _08019024 @ =gBattleMons - ldr r0, _08019028 @ =gUnknown_02024C07 + ldr r0, _08019028 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22640,7 +22640,7 @@ _08018F7A: bl _08019F76 _08018F8C: ldr r2, _08019030 @ =gUnknown_02024D68 - ldr r0, _08019034 @ =gUnknown_02024C08 + ldr r0, _08019034 @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -22713,10 +22713,10 @@ _08019000: .align 2, 0 _08019020: .4byte gBattleMoveFlags _08019024: .4byte gBattleMons -_08019028: .4byte gUnknown_02024C07 +_08019028: .4byte gPlayerMonIndex _0801902C: .4byte gUnknown_02024D28 _08019030: .4byte gUnknown_02024D68 -_08019034: .4byte gUnknown_02024C08 +_08019034: .4byte gEnemyMonIndex _08019038: .4byte gBattleMoves _0801903C: .4byte gUnknown_02024D1E _08019040: .4byte gUnknown_02024C10 @@ -22732,7 +22732,7 @@ _0801904C: bl _08019F76 _0801905C: ldr r1, _08019100 @ =gBattleMons - ldr r0, _08019104 @ =gUnknown_02024C07 + ldr r0, _08019104 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22752,7 +22752,7 @@ _08019072: bl _08019F76 _08019084: ldr r2, _0801910C @ =gUnknown_02024D68 - ldr r0, _08019110 @ =gUnknown_02024C08 + ldr r0, _08019110 @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -22810,10 +22810,10 @@ _080190DC: .align 2, 0 _080190FC: .4byte gBattleMoveFlags _08019100: .4byte gBattleMons -_08019104: .4byte gUnknown_02024C07 +_08019104: .4byte gPlayerMonIndex _08019108: .4byte gUnknown_02024D28 _0801910C: .4byte gUnknown_02024D68 -_08019110: .4byte gUnknown_02024C08 +_08019110: .4byte gEnemyMonIndex _08019114: .4byte gBattleMoves _08019118: .4byte gUnknown_02024D1E _0801911C: .4byte gUnknown_02024C10 @@ -22829,7 +22829,7 @@ _08019128: bl _08019F76 _08019138: ldr r1, _080191DC @ =gBattleMons - ldr r0, _080191E0 @ =gUnknown_02024C07 + ldr r0, _080191E0 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22849,7 +22849,7 @@ _0801914E: bl _08019F76 _08019160: ldr r2, _080191E8 @ =gUnknown_02024D68 - ldr r0, _080191EC @ =gUnknown_02024C08 + ldr r0, _080191EC @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -22907,10 +22907,10 @@ _080191B8: .align 2, 0 _080191D8: .4byte gBattleMoveFlags _080191DC: .4byte gBattleMons -_080191E0: .4byte gUnknown_02024C07 +_080191E0: .4byte gPlayerMonIndex _080191E4: .4byte gUnknown_02024D28 _080191E8: .4byte gUnknown_02024D68 -_080191EC: .4byte gUnknown_02024C08 +_080191EC: .4byte gEnemyMonIndex _080191F0: .4byte gBattleMoves _080191F4: .4byte gUnknown_02024D1E _080191F8: .4byte gUnknown_02024C10 @@ -22926,7 +22926,7 @@ _08019204: bl _08019F76 _08019214: ldr r1, _080192B8 @ =gBattleMons - ldr r0, _080192BC @ =gUnknown_02024C07 + ldr r0, _080192BC @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -22958,7 +22958,7 @@ _0801923C: bl _08019F76 _08019254: ldr r2, _080192C8 @ =gUnknown_02024D68 - ldr r0, _080192CC @ =gUnknown_02024C08 + ldr r0, _080192CC @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -23004,11 +23004,11 @@ _08019294: .align 2, 0 _080192B4: .4byte gBattleMoveFlags _080192B8: .4byte gBattleMons -_080192BC: .4byte gUnknown_02024C07 +_080192BC: .4byte gPlayerMonIndex _080192C0: .4byte gUnknown_02024D28 _080192C4: .4byte gBattleMoves _080192C8: .4byte gUnknown_02024D68 -_080192CC: .4byte gUnknown_02024C08 +_080192CC: .4byte gEnemyMonIndex _080192D0: .4byte gUnknown_02024D1E _080192D4: .4byte gUnknown_02024C10 _080192D8: .4byte gUnknown_081D9950 @@ -23023,7 +23023,7 @@ _080192E0: bl _08019F76 _080192F0: ldr r5, _08019424 @ =gBattleMons - ldr r7, _08019428 @ =gUnknown_02024C07 + ldr r7, _08019428 @ =gPlayerMonIndex ldrb r1, [r7] movs r6, 0x58 adds r0, r1, 0 @@ -23056,7 +23056,7 @@ _0801931A: bl _08019F76 _08019332: ldr r3, _08019434 @ =gUnknown_02024D68 - ldr r0, _08019438 @ =gUnknown_02024C08 + ldr r0, _08019438 @ =gEnemyMonIndex mov r8, r0 ldrb r1, [r0] lsls r0, r1, 2 @@ -23169,11 +23169,11 @@ _080193F6: .align 2, 0 _08019420: .4byte gBattleMoveFlags _08019424: .4byte gBattleMons -_08019428: .4byte gUnknown_02024C07 +_08019428: .4byte gPlayerMonIndex _0801942C: .4byte gUnknown_02024D28 _08019430: .4byte gBattleMoves _08019434: .4byte gUnknown_02024D68 -_08019438: .4byte gUnknown_02024C08 +_08019438: .4byte gEnemyMonIndex _0801943C: .4byte gBitTable _08019440: .4byte gUnknown_02024C10 _08019444: .4byte gUnknown_081D9943 @@ -23618,7 +23618,7 @@ _08019838: ldrb r0, [r2] adds r0, 0x40 strb r0, [r1, 0x3] - ldr r0, _08019870 @ =gUnknown_02024C08 + ldr r0, _08019870 @ =gEnemyMonIndex ldrb r1, [r0] ldr r5, _08019874 @ =0x00016003 adds r0, r7, r5 @@ -23638,7 +23638,7 @@ _08019860: .4byte gUnknown_02024C6C _08019864: .4byte 0xffffbfff _08019868: .4byte 0x000160ca _0801986C: .4byte gUnknown_02024D1E -_08019870: .4byte gUnknown_02024C08 +_08019870: .4byte gEnemyMonIndex _08019874: .4byte 0x00016003 _08019878: .4byte gUnknown_02024C10 _0801987C: .4byte gUnknown_081D9953 @@ -23675,7 +23675,7 @@ _080198B4: ldr r1, _080198E8 @ =gUnknown_02024D1E ldrb r0, [r2] strb r0, [r1, 0x3] - ldr r0, _080198EC @ =gUnknown_02024C07 + ldr r0, _080198EC @ =gPlayerMonIndex ldrb r1, [r0] ldr r5, _080198F0 @ =0x00016003 adds r0, r7, r5 @@ -23695,7 +23695,7 @@ _080198DC: .4byte gUnknown_02024C6C _080198E0: .4byte 0xffffbfff _080198E4: .4byte 0x000160ca _080198E8: .4byte gUnknown_02024D1E -_080198EC: .4byte gUnknown_02024C07 +_080198EC: .4byte gPlayerMonIndex _080198F0: .4byte 0x00016003 _080198F4: .4byte gUnknown_02024C10 _080198F8: .4byte gUnknown_081D9953 @@ -24671,7 +24671,7 @@ _0801A084: _0801A098: mov r9, r0 ldr r1, _0801A0C0 @ =gBattleMons - ldr r0, _0801A0C4 @ =gUnknown_02024C07 + ldr r0, _0801A0C4 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -24691,7 +24691,7 @@ _0801A098: b _0801A0E2 .align 2, 0 _0801A0C0: .4byte gBattleMons -_0801A0C4: .4byte gUnknown_02024C07 +_0801A0C4: .4byte gPlayerMonIndex _0801A0C8: .4byte gEnigmaBerries _0801A0CC: ldr r0, [sp, 0x14] @@ -24706,7 +24706,7 @@ _0801A0CC: _0801A0E2: str r0, [sp, 0x10] ldr r2, _0801A118 @ =gBattleMons - ldr r0, _0801A11C @ =gUnknown_02024C08 + ldr r0, _0801A11C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -24731,7 +24731,7 @@ _0801A10C: mov pc, r0 .align 2, 0 _0801A118: .4byte gBattleMons -_0801A11C: .4byte gUnknown_02024C08 +_0801A11C: .4byte gEnemyMonIndex _0801A120: .4byte _0801A124 .align 2, 0 _0801A124: @@ -24796,7 +24796,7 @@ _0801A198: ldr r0, _0801A1C4 @ =gUnknown_02024C0B strb r7, [r0] ldr r1, _0801A1C8 @ =gUnknown_02024A60 - ldr r0, _0801A1CC @ =gUnknown_02024C07 + ldr r0, _0801A1CC @ =gPlayerMonIndex strb r7, [r0] strb r7, [r1] ldr r0, _0801A1D0 @ =gUnknown_081D9A5E @@ -24808,7 +24808,7 @@ _0801A1BC: .4byte 0x02000000 _0801A1C0: .4byte 0x00016003 _0801A1C4: .4byte gUnknown_02024C0B _0801A1C8: .4byte gUnknown_02024A60 -_0801A1CC: .4byte gUnknown_02024C07 +_0801A1CC: .4byte gPlayerMonIndex _0801A1D0: .4byte gUnknown_081D9A5E _0801A1D4: ldr r1, _0801A1FC @ =gBattleMons @@ -25076,7 +25076,7 @@ _0801A432: ldr r0, _0801A45C @ =gUnknown_02024C0B strb r7, [r0] ldr r1, _0801A460 @ =gUnknown_02024A60 - ldr r0, _0801A464 @ =gUnknown_02024C07 + ldr r0, _0801A464 @ =gPlayerMonIndex strb r7, [r0] strb r7, [r1] ldr r0, _0801A468 @ =gUnknown_081D9A5E @@ -25088,7 +25088,7 @@ _0801A454: .4byte 0x02000000 _0801A458: .4byte 0x00016003 _0801A45C: .4byte gUnknown_02024C0B _0801A460: .4byte gUnknown_02024A60 -_0801A464: .4byte gUnknown_02024C07 +_0801A464: .4byte gPlayerMonIndex _0801A468: .4byte gUnknown_081D9A5E _0801A46C: movs r0, 0x58 @@ -26236,7 +26236,7 @@ _0801AD62: ldr r0, _0801ADA0 @ =gUnknown_02024C0B strb r7, [r0] ldr r4, _0801ADA4 @ =gUnknown_02024A60 - ldr r0, _0801ADA8 @ =gUnknown_02024C07 + ldr r0, _0801ADA8 @ =gPlayerMonIndex strb r7, [r0] strb r7, [r4] ldr r3, [sp, 0xC] @@ -26255,7 +26255,7 @@ _0801AD98: .4byte 0x02000000 _0801AD9C: .4byte 0x00016003 _0801ADA0: .4byte gUnknown_02024C0B _0801ADA4: .4byte gUnknown_02024A60 -_0801ADA8: .4byte gUnknown_02024C07 +_0801ADA8: .4byte gPlayerMonIndex _0801ADAC: movs r0, 0x58 muls r0, r7 @@ -26831,7 +26831,7 @@ _0801B288: b _0801B3CA _0801B296: ldr r2, _0801B318 @ =gUnknown_02024D68 - ldr r4, _0801B31C @ =gUnknown_02024C08 + ldr r4, _0801B31C @ =gEnemyMonIndex ldrb r1, [r4] lsls r0, r1, 2 adds r0, r1 @@ -26891,7 +26891,7 @@ _0801B2BC: .align 2, 0 _0801B314: .4byte gBattleMoveFlags _0801B318: .4byte gUnknown_02024D68 -_0801B31C: .4byte gUnknown_02024C08 +_0801B31C: .4byte gEnemyMonIndex _0801B320: .4byte gBattleMoves _0801B324: .4byte gUnknown_02024BE6 _0801B328: .4byte gBattleMons @@ -26904,7 +26904,7 @@ _0801B330: cmp r4, 0 bne _0801B3CA ldr r1, _0801B3E0 @ =gUnknown_02024D68 - ldr r5, _0801B3E4 @ =gUnknown_02024C08 + ldr r5, _0801B3E4 @ =gEnemyMonIndex ldrb r2, [r5] lsls r0, r2, 2 adds r0, r2 @@ -26917,7 +26917,7 @@ _0801B330: ldr r0, _0801B3E8 @ =0x0000ffff cmp r1, r0 beq _0801B3CA - ldr r0, _0801B3EC @ =gUnknown_02024C07 + ldr r0, _0801B3EC @ =gPlayerMonIndex ldrb r3, [r0] cmp r3, r2 beq _0801B3CA @@ -26986,9 +26986,9 @@ _0801B3CA: .align 2, 0 _0801B3DC: .4byte gBattleMoveFlags _0801B3E0: .4byte gUnknown_02024D68 -_0801B3E4: .4byte gUnknown_02024C08 +_0801B3E4: .4byte gEnemyMonIndex _0801B3E8: .4byte 0x0000ffff -_0801B3EC: .4byte gUnknown_02024C07 +_0801B3EC: .4byte gPlayerMonIndex _0801B3F0: .4byte gBattleMons _0801B3F4: .4byte gUnknown_02024C04 _0801B3F8: .4byte gUnknown_02024C0B @@ -27322,7 +27322,7 @@ _0801B604: .4byte _0801B900 .4byte _0801B808 _0801B708: - ldr r0, _0801B7E8 @ =gUnknown_02024C07 + ldr r0, _0801B7E8 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner movs r1, 0x1 @@ -27347,7 +27347,7 @@ _0801B708: beq _0801B73A b _0801B850 _0801B73A: - ldr r0, _0801B7E8 @ =gUnknown_02024C07 + ldr r0, _0801B7E8 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -27363,7 +27363,7 @@ _0801B74A: bl __modsi3 lsls r0, 24 lsrs r5, r0, 24 - ldr r6, _0801B7E8 @ =gUnknown_02024C07 + ldr r6, _0801B7E8 @ =gPlayerMonIndex ldrb r2, [r6] cmp r5, r2 beq _0801B74A @@ -27433,7 +27433,7 @@ _0801B7C2: strb r1, [r0] b _0801B900 .align 2, 0 -_0801B7E8: .4byte gUnknown_02024C07 +_0801B7E8: .4byte gPlayerMonIndex _0801B7EC: .4byte gUnknown_02024C80 _0801B7F0: .4byte gBattleMons _0801B7F4: .4byte gUnknown_02024A68 @@ -27442,7 +27442,7 @@ _0801B7FC: .4byte gBitTable _0801B800: .4byte gBattleMoves _0801B804: .4byte gUnknown_02024D68 _0801B808: - ldr r0, _0801B81C @ =gUnknown_02024C07 + ldr r0, _0801B81C @ =gPlayerMonIndex ldrb r0, [r0] bl battle_get_per_side_status adds r1, r0, 0 @@ -27452,9 +27452,9 @@ _0801B808: eors r0, r2 b _0801B8B2 .align 2, 0 -_0801B81C: .4byte gUnknown_02024C07 +_0801B81C: .4byte gPlayerMonIndex _0801B820: - ldr r0, _0801B854 @ =gUnknown_02024C07 + ldr r0, _0801B854 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner movs r1, 0x1 @@ -27481,7 +27481,7 @@ _0801B850: adds r5, r4, 0 b _0801B900 .align 2, 0 -_0801B854: .4byte gUnknown_02024C07 +_0801B854: .4byte gPlayerMonIndex _0801B858: .4byte gUnknown_02024C80 _0801B85C: .4byte gBattleMons _0801B860: @@ -27496,7 +27496,7 @@ _0801B860: ands r6, r0 cmp r6, 0 beq _0801B8DC - ldr r0, _0801B898 @ =gUnknown_02024C07 + ldr r0, _0801B898 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -27511,7 +27511,7 @@ _0801B860: b _0801B8B2 .align 2, 0 _0801B894: .4byte gBattleTypeFlags -_0801B898: .4byte gUnknown_02024C07 +_0801B898: .4byte gPlayerMonIndex _0801B89C: movs r0, 0x3 b _0801B8B2 @@ -27545,7 +27545,7 @@ _0801B8B2: _0801B8D4: .4byte gUnknown_02024C0C _0801B8D8: .4byte gBitTable _0801B8DC: - ldr r0, _0801B8F8 @ =gUnknown_02024C07 + ldr r0, _0801B8F8 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_get_per_side_status adds r1, r0, 0 @@ -27558,13 +27558,13 @@ _0801B8DC: lsrs r5, r0, 24 b _0801B900 .align 2, 0 -_0801B8F8: .4byte gUnknown_02024C07 +_0801B8F8: .4byte gPlayerMonIndex _0801B8FC: - ldr r0, _0801B91C @ =gUnknown_02024C07 + ldr r0, _0801B91C @ =gPlayerMonIndex ldrb r5, [r0] _0801B900: ldr r1, _0801B920 @ =0x02000000 - ldr r0, _0801B91C @ =gUnknown_02024C07 + ldr r0, _0801B91C @ =gPlayerMonIndex ldrb r0, [r0] ldr r2, _0801B924 @ =0x00016010 adds r0, r2 @@ -27578,7 +27578,7 @@ _0801B900: pop {r1} bx r1 .align 2, 0 -_0801B91C: .4byte gUnknown_02024C07 +_0801B91C: .4byte gPlayerMonIndex _0801B920: .4byte 0x02000000 _0801B924: .4byte 0x00016010 thumb_func_end sub_801B5C0 @@ -27596,7 +27596,7 @@ sub_801B928: @ 801B928 ands r0, r1 cmp r0, 0 bne _0801B9DA - ldr r7, _0801B9E4 @ =gUnknown_02024C07 + ldr r7, _0801B9E4 @ =gPlayerMonIndex ldrb r0, [r7] bl battle_side_get_owner lsls r0, 24 @@ -27675,7 +27675,7 @@ _0801B9DA: b _0801BC24 .align 2, 0 _0801B9E0: .4byte gBattleTypeFlags -_0801B9E4: .4byte gUnknown_02024C07 +_0801B9E4: .4byte gPlayerMonIndex _0801B9E8: .4byte gBattleMons _0801B9EC: .4byte 0x0000080e _0801B9F0: .4byte 0x00000808 @@ -27726,7 +27726,7 @@ _0801BA4C: adds r1, r5, 0 ands r1, r0 ldr r7, _0801BB04 @ =gBattleMons - ldr r2, _0801BB08 @ =gUnknown_02024C07 + ldr r2, _0801BB08 @ =gPlayerMonIndex mov r9, r2 ldrb r3, [r2] movs r0, 0x58 @@ -27780,7 +27780,7 @@ _0801BA9E: ldr r0, _0801BB10 @ =gUnknown_02024BE4 ldrb r0, [r0] lsls r0, 1 - ldr r1, _0801BB08 @ =gUnknown_02024C07 + ldr r1, _0801BB08 @ =gPlayerMonIndex ldrb r2, [r1] movs r1, 0x58 muls r1, r2 @@ -27804,7 +27804,7 @@ _0801BA9E: ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _0801BB34 @ =gUnknown_02024C08 + ldr r1, _0801BB34 @ =gEnemyMonIndex strb r0, [r1] ldr r2, _0801BB38 @ =gUnknown_02024C6C ldr r0, [r2] @@ -27813,7 +27813,7 @@ _0801BA9E: b _0801BC1E .align 2, 0 _0801BB04: .4byte gBattleMons -_0801BB08: .4byte gUnknown_02024C07 +_0801BB08: .4byte gPlayerMonIndex _0801BB0C: .4byte gBitTable _0801BB10: .4byte gUnknown_02024BE4 _0801BB14: .4byte gUnknown_02024BE5 @@ -27824,7 +27824,7 @@ _0801BB24: .4byte 0x02000000 _0801BB28: .4byte 0x0001601c _0801BB2C: .4byte gUnknown_02024C10 _0801BB30: .4byte gUnknown_081D996F -_0801BB34: .4byte gUnknown_02024C08 +_0801BB34: .4byte gEnemyMonIndex _0801BB38: .4byte gUnknown_02024C6C _0801BB3C: subs r0, r2, r6 @@ -27909,7 +27909,7 @@ _0801BBD4: .4byte gUnknown_02024D1E _0801BBD8: .4byte gUnknown_02024C10 _0801BBDC: .4byte gUnknown_081D9977 _0801BBE0: - ldr r4, _0801BC34 @ =gUnknown_02024C07 + ldr r4, _0801BC34 @ =gPlayerMonIndex ldrb r1, [r4] movs r0, 0x58 muls r1, r0 @@ -27929,7 +27929,7 @@ _0801BBE0: bl CalculateBaseDamage ldr r1, _0801BC3C @ =gBattleMoveDamage str r0, [r1] - ldr r1, _0801BC40 @ =gUnknown_02024C08 + ldr r1, _0801BC40 @ =gEnemyMonIndex ldrb r0, [r4] strb r0, [r1] ldr r1, _0801BC44 @ =gUnknown_02024C10 @@ -27952,10 +27952,10 @@ _0801BC24: pop {r1} bx r1 .align 2, 0 -_0801BC34: .4byte gUnknown_02024C07 +_0801BC34: .4byte gPlayerMonIndex _0801BC38: .4byte gBattleMons _0801BC3C: .4byte gBattleMoveDamage -_0801BC40: .4byte gUnknown_02024C08 +_0801BC40: .4byte gEnemyMonIndex _0801BC44: .4byte gUnknown_02024C10 _0801BC48: .4byte gUnknown_081D99A0 _0801BC4C: .4byte gUnknown_02024C6C @@ -27981,7 +27981,7 @@ _0801BC6C: .4byte gUnknown_02024D26 _0801BC70: .4byte gUnknown_02024A7F _0801BC74: ldr r2, _0801BCA4 @ =gBattleMons - ldr r0, _0801BCA8 @ =gUnknown_02024C07 + ldr r0, _0801BCA8 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -28005,7 +28005,7 @@ _0801BC74: b _0801BFF2 .align 2, 0 _0801BCA4: .4byte gBattleMons -_0801BCA8: .4byte gUnknown_02024C07 +_0801BCA8: .4byte gPlayerMonIndex _0801BCAC: .4byte gUnknown_02024C6C _0801BCB0: .4byte gUnknown_02024C10 _0801BCB4: .4byte BattleScript_1D6F62 @@ -28017,7 +28017,7 @@ _0801BCB8: beq _0801BCC6 b _0801BFF4 _0801BCC6: - ldr r0, _0801BD34 @ =gUnknown_02024C08 + ldr r0, _0801BD34 @ =gEnemyMonIndex ldrb r1, [r0] str r2, [sp] movs r0, 0x2 @@ -28032,7 +28032,7 @@ _0801BCDE: ldr r4, _0801BD38 @ =gBattleMons ldr r0, _0801BD3C @ =gUnknown_02024BE4 ldrb r1, [r0] - ldr r3, _0801BD40 @ =gUnknown_02024C07 + ldr r3, _0801BD40 @ =gPlayerMonIndex ldrb r2, [r3] movs r0, 0x58 muls r2, r0 @@ -28072,10 +28072,10 @@ _0801BCDE: strb r0, [r2] b _0801BFF4 .align 2, 0 -_0801BD34: .4byte gUnknown_02024C08 +_0801BD34: .4byte gEnemyMonIndex _0801BD38: .4byte gBattleMons _0801BD3C: .4byte gUnknown_02024BE4 -_0801BD40: .4byte gUnknown_02024C07 +_0801BD40: .4byte gPlayerMonIndex _0801BD44: .4byte gUnknown_02024C6C _0801BD48: .4byte gUnknown_02024BE6 _0801BD4C: .4byte 0x00800200 @@ -28134,7 +28134,7 @@ _0801BDB4: orrs r0, r1 str r0, [r2] ldr r2, _0801BE1C @ =gUnknown_02024D28 - ldr r1, _0801BE20 @ =gUnknown_02024C08 + ldr r1, _0801BE20 @ =gEnemyMonIndex ldrb r3, [r1] lsls r0, r3, 4 adds r0, r2 @@ -28156,7 +28156,7 @@ _0801BDB4: ands r0, r1 cmp r0, 0 beq _0801BE3C - ldr r0, _0801BE2C @ =gUnknown_02024C07 + ldr r0, _0801BE2C @ =gPlayerMonIndex ldrb r0, [r0] ldr r2, _0801BE30 @ =0x00000115 adds r1, r3, 0 @@ -28177,10 +28177,10 @@ _0801BDB4: .align 2, 0 _0801BE18: .4byte gUnknown_02024C6C _0801BE1C: .4byte gUnknown_02024D28 -_0801BE20: .4byte gUnknown_02024C08 +_0801BE20: .4byte gEnemyMonIndex _0801BE24: .4byte gBattleMoves _0801BE28: .4byte gUnknown_02024BE6 -_0801BE2C: .4byte gUnknown_02024C07 +_0801BE2C: .4byte gPlayerMonIndex _0801BE30: .4byte 0x00000115 _0801BE34: .4byte gUnknown_02024C10 _0801BE38: .4byte gUnknown_081D946F @@ -28283,7 +28283,7 @@ _0801BEEA: cmp r3, 0xAE bne _0801BF28 ldr r2, _0801BF88 @ =gBattleMons - ldr r0, _0801BF8C @ =gUnknown_02024C07 + ldr r0, _0801BF8C @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -28305,7 +28305,7 @@ _0801BF28: cmp r0, 0 beq _0801BF4E ldr r1, _0801BF88 @ =gBattleMons - ldr r0, _0801BF8C @ =gUnknown_02024C07 + ldr r0, _0801BF8C @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -28318,7 +28318,7 @@ _0801BF28: cmp r0, 0 beq _0801BFEC _0801BF4E: - ldr r0, _0801BF8C @ =gUnknown_02024C07 + ldr r0, _0801BF8C @ =gPlayerMonIndex ldrb r0, [r0] bl b_cancel_multi_turn_move_maybe ldr r2, _0801BF90 @ =gBattleMoveFlags @@ -28327,7 +28327,7 @@ _0801BF4E: orrs r0, r1 strb r0, [r2] ldr r1, _0801BF94 @ =gUnknown_02024C3C - ldr r3, _0801BF98 @ =gUnknown_02024C08 + ldr r3, _0801BF98 @ =gEnemyMonIndex ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -28346,14 +28346,14 @@ _0801BF4E: _0801BF80: .4byte gBattleMoves _0801BF84: .4byte gUnknown_02024BE6 _0801BF88: .4byte gBattleMons -_0801BF8C: .4byte gUnknown_02024C07 +_0801BF8C: .4byte gPlayerMonIndex _0801BF90: .4byte gBattleMoveFlags _0801BF94: .4byte gUnknown_02024C3C -_0801BF98: .4byte gUnknown_02024C08 +_0801BF98: .4byte gEnemyMonIndex _0801BF9C: .4byte gUnknown_02024C44 _0801BFA0: .4byte gUnknown_02024D1E _0801BFA4: - ldr r0, _0801BFD4 @ =gUnknown_02024C07 + ldr r0, _0801BFD4 @ =gPlayerMonIndex ldrb r0, [r0] ldr r2, _0801BFD8 @ =0x00000121 adds r1, r3, 0 @@ -28376,7 +28376,7 @@ _0801BFA4: ldr r0, _0801BFE8 @ =gUnknown_081D9487 b _0801BFF2 .align 2, 0 -_0801BFD4: .4byte gUnknown_02024C07 +_0801BFD4: .4byte gPlayerMonIndex _0801BFD8: .4byte 0x00000121 _0801BFDC: .4byte 0x02000000 _0801BFE0: .4byte 0x00016003 @@ -28418,7 +28418,7 @@ mcmd_jump_if_move_not_executed: @ 801C008 cmp r0, 0 beq _0801C068 ldr r1, _0801C05C @ =gUnknown_02024C3C - ldr r3, _0801C060 @ =gUnknown_02024C08 + ldr r3, _0801C060 @ =gEnemyMonIndex ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -28444,11 +28444,11 @@ mcmd_jump_if_move_not_executed: @ 801C008 _0801C054: .4byte gUnknown_02024C10 _0801C058: .4byte gBattleMoveFlags _0801C05C: .4byte gUnknown_02024C3C -_0801C060: .4byte gUnknown_02024C08 +_0801C060: .4byte gEnemyMonIndex _0801C064: .4byte gUnknown_02024C44 _0801C068: bl b_feature_update_destiny_bond - ldr r0, _0801C090 @ =gUnknown_02024C08 + ldr r0, _0801C090 @ =gEnemyMonIndex ldrb r1, [r0] str r6, [sp] movs r0, 0x3 @@ -28467,7 +28467,7 @@ _0801C086: pop {r0} bx r0 .align 2, 0 -_0801C090: .4byte gUnknown_02024C08 +_0801C090: .4byte gEnemyMonIndex _0801C094: .4byte gUnknown_02024C10 thumb_func_end mcmd_jump_if_move_not_executed @@ -28475,7 +28475,7 @@ _0801C094: .4byte gUnknown_02024C10 atk40_801DBA0: @ 801C098 push {lr} ldr r1, _0801C0E0 @ =gUnknown_02024D28 - ldr r0, _0801C0E4 @ =gUnknown_02024C08 + ldr r0, _0801C0E4 @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -28509,7 +28509,7 @@ atk40_801DBA0: @ 801C098 b _0801C100 .align 2, 0 _0801C0E0: .4byte gUnknown_02024D28 -_0801C0E4: .4byte gUnknown_02024C08 +_0801C0E4: .4byte gEnemyMonIndex _0801C0E8: .4byte gBattleMoves _0801C0EC: .4byte gUnknown_02024BE6 _0801C0F0: .4byte gBattleMoveFlags @@ -28533,7 +28533,7 @@ sub_801C108: @ 801C108 lsrs r3, r0, 16 movs r4, 0 ldr r1, _0801C15C @ =gUnknown_02024D28 - ldr r0, _0801C160 @ =gUnknown_02024C08 + ldr r0, _0801C160 @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -28572,7 +28572,7 @@ _0801C154: bx r1 .align 2, 0 _0801C15C: .4byte gUnknown_02024D28 -_0801C160: .4byte gUnknown_02024C08 +_0801C160: .4byte gEnemyMonIndex _0801C164: .4byte gBattleMoves _0801C168: .4byte gUnknown_02024BE6 _0801C16C: .4byte gBattleMoveFlags @@ -28586,7 +28586,7 @@ sub_801C174: @ 801C174 lsls r0, 16 lsrs r5, r0, 16 ldr r2, _0801C1D4 @ =gUnknown_02024C98 - ldr r3, _0801C1D8 @ =gUnknown_02024C08 + ldr r3, _0801C1D8 @ =gEnemyMonIndex ldrb r4, [r3] lsls r0, r4, 2 adds r0, r2 @@ -28601,7 +28601,7 @@ sub_801C174: @ 801C174 subs r0, r4 lsls r0, 2 adds r0, r1 - ldr r1, _0801C1E0 @ =gUnknown_02024C07 + ldr r1, _0801C1E0 @ =gPlayerMonIndex ldrb r0, [r0, 0x15] ldrb r1, [r1] cmp r0, r1 @@ -28632,9 +28632,9 @@ _0801C1C6: b _0801C290 .align 2, 0 _0801C1D4: .4byte gUnknown_02024C98 -_0801C1D8: .4byte gUnknown_02024C08 +_0801C1D8: .4byte gEnemyMonIndex _0801C1DC: .4byte gUnknown_02024CA8 -_0801C1E0: .4byte gUnknown_02024C07 +_0801C1E0: .4byte gPlayerMonIndex _0801C1E4: .4byte gUnknown_02024C6C _0801C1E8: .4byte gBattleMoveFlags _0801C1EC: @@ -28763,7 +28763,7 @@ atk01_accuracycheck: @ 801C2BC cmp r1, 0x1 bhi _0801C378 ldr r2, _0801C318 @ =gUnknown_02024C98 - ldr r3, _0801C31C @ =gUnknown_02024C08 + ldr r3, _0801C31C @ =gEnemyMonIndex ldrb r4, [r3] lsls r0, r4, 2 adds r0, r2 @@ -28780,7 +28780,7 @@ atk01_accuracycheck: @ 801C2BC subs r0, r4 lsls r0, 2 adds r0, r1 - ldr r1, _0801C328 @ =gUnknown_02024C07 + ldr r1, _0801C328 @ =gPlayerMonIndex ldrb r0, [r0, 0x15] ldrb r1, [r1] cmp r0, r1 @@ -28791,10 +28791,10 @@ atk01_accuracycheck: @ 801C2BC .align 2, 0 _0801C314: .4byte gUnknown_02024C10 _0801C318: .4byte gUnknown_02024C98 -_0801C31C: .4byte gUnknown_02024C08 +_0801C31C: .4byte gEnemyMonIndex _0801C320: .4byte 0x0000ffff _0801C324: .4byte gUnknown_02024CA8 -_0801C328: .4byte gUnknown_02024C07 +_0801C328: .4byte gPlayerMonIndex _0801C32C: ldrb r0, [r3] lsls r0, 2 @@ -28880,7 +28880,7 @@ _0801C3C0: b _0801C632 _0801C3CE: ldr r3, _0801C3FC @ =gBattleMons - ldr r0, _0801C400 @ =gUnknown_02024C08 + ldr r0, _0801C400 @ =gEnemyMonIndex ldrb r0, [r0] movs r2, 0x58 adds r4, r0, 0 @@ -28894,7 +28894,7 @@ _0801C3CE: ands r0, r1 cmp r0, 0 beq _0801C408 - ldr r0, _0801C404 @ =gUnknown_02024C07 + ldr r0, _0801C404 @ =gPlayerMonIndex ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -28903,10 +28903,10 @@ _0801C3CE: .align 2, 0 _0801C3F8: .4byte gBattleMoves _0801C3FC: .4byte gBattleMons -_0801C400: .4byte gUnknown_02024C08 -_0801C404: .4byte gUnknown_02024C07 +_0801C400: .4byte gEnemyMonIndex +_0801C404: .4byte gPlayerMonIndex _0801C408: - ldr r0, _0801C56C @ =gUnknown_02024C07 + ldr r0, _0801C56C @ =gPlayerMonIndex ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -28982,7 +28982,7 @@ _0801C482: lsls r0, 16 lsrs r4, r0, 16 ldr r7, _0801C57C @ =gBattleMons - ldr r0, _0801C56C @ =gUnknown_02024C07 + ldr r0, _0801C56C @ =gPlayerMonIndex ldrb r0, [r0] movs r5, 0x58 muls r0, r5 @@ -29019,7 +29019,7 @@ _0801C4C0: lsls r0, 24 cmp r0, 0 bne _0801C518 - ldr r0, _0801C580 @ =gUnknown_02024C08 + ldr r0, _0801C580 @ =gEnemyMonIndex ldrb r0, [r0] muls r0, r5 adds r0, r7 @@ -29042,7 +29042,7 @@ _0801C4C0: lsrs r4, r0, 16 _0801C518: ldr r2, _0801C57C @ =gBattleMons - ldr r0, _0801C56C @ =gUnknown_02024C07 + ldr r0, _0801C56C @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -29063,7 +29063,7 @@ _0801C518: lsls r0, 16 lsrs r4, r0, 16 _0801C544: - ldr r3, _0801C580 @ =gUnknown_02024C08 + ldr r3, _0801C580 @ =gEnemyMonIndex mov r8, r3 ldrb r2, [r3] movs r7, 0x58 @@ -29083,12 +29083,12 @@ _0801C544: ldrb r2, [r0, 0x1A] b _0801C5A4 .align 2, 0 -_0801C56C: .4byte gUnknown_02024C07 +_0801C56C: .4byte gPlayerMonIndex _0801C570: .4byte gBattleMoves _0801C574: .4byte gBattleWeather _0801C578: .4byte gAccuracyStageRatios _0801C57C: .4byte gBattleMons -_0801C580: .4byte gUnknown_02024C08 +_0801C580: .4byte gEnemyMonIndex _0801C584: .4byte gEnigmaBerries _0801C588: ldrh r0, [r1, 0x2E] @@ -29105,7 +29105,7 @@ _0801C588: lsrs r2, r0, 24 _0801C5A4: ldr r0, _0801C608 @ =gUnknown_02024C0B - ldr r1, _0801C60C @ =gUnknown_02024C08 + ldr r1, _0801C60C @ =gEnemyMonIndex ldrb r1, [r1] strb r1, [r0] cmp r5, 0x16 @@ -29155,7 +29155,7 @@ _0801C602: b _0801C624 .align 2, 0 _0801C608: .4byte gUnknown_02024C0B -_0801C60C: .4byte gUnknown_02024C08 +_0801C60C: .4byte gEnemyMonIndex _0801C610: .4byte gBattleMoveFlags _0801C614: .4byte gBattleTypeFlags _0801C618: .4byte gBattleMoves @@ -29197,7 +29197,7 @@ atk02_attackstring: @ 801C648 ands r0, r1 cmp r0, 0 bne _0801C674 - ldr r0, _0801C690 @ =gUnknown_02024C07 + ldr r0, _0801C690 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x4 bl b_std_message @@ -29220,7 +29220,7 @@ _0801C680: .align 2, 0 _0801C688: .4byte gUnknown_02024A64 _0801C68C: .4byte gUnknown_02024C6C -_0801C690: .4byte gUnknown_02024C07 +_0801C690: .4byte gPlayerMonIndex _0801C694: .4byte gUnknown_02024C10 _0801C698: .4byte gUnknown_02024D1E thumb_func_end atk02_attackstring @@ -29241,7 +29241,7 @@ atk03_ppreduce: @ 801C69C b _0801C84E _0801C6B4: ldr r1, _0801C6F0 @ =gUnknown_02024D68 - ldr r2, _0801C6F4 @ =gUnknown_02024C07 + ldr r2, _0801C6F4 @ =gPlayerMonIndex ldrb r3, [r2] lsls r0, r3, 2 adds r0, r3 @@ -29271,7 +29271,7 @@ _0801C6B4: .align 2, 0 _0801C6EC: .4byte gUnknown_02024A64 _0801C6F0: .4byte gUnknown_02024D68 -_0801C6F4: .4byte gUnknown_02024C07 +_0801C6F4: .4byte gPlayerMonIndex _0801C6F8: .4byte gBattleMoves _0801C6FC: .4byte gUnknown_02024BE6 _0801C700: @@ -29303,7 +29303,7 @@ _0801C71C: adds r6, r0 b _0801C756 _0801C736: - ldr r1, _0801C7B8 @ =gUnknown_02024C08 + ldr r1, _0801C7B8 @ =gEnemyMonIndex mov r2, r9 ldrb r0, [r2] ldrb r7, [r1] @@ -29329,7 +29329,7 @@ _0801C756: bne _0801C83C ldr r2, _0801C7BC @ =gBattleMons ldr r3, _0801C7C4 @ =gUnknown_02024BE4 - ldr r1, _0801C7C8 @ =gUnknown_02024C07 + ldr r1, _0801C7C8 @ =gPlayerMonIndex ldrb r5, [r1] movs r0, 0x58 mov r8, r0 @@ -29370,11 +29370,11 @@ _0801C756: strb r0, [r2] b _0801C7D2 .align 2, 0 -_0801C7B8: .4byte gUnknown_02024C08 +_0801C7B8: .4byte gEnemyMonIndex _0801C7BC: .4byte gBattleMons _0801C7C0: .4byte gUnknown_02024C6C _0801C7C4: .4byte gUnknown_02024BE4 -_0801C7C8: .4byte gUnknown_02024C07 +_0801C7C8: .4byte gPlayerMonIndex _0801C7CC: .4byte gUnknown_02024D28 _0801C7D0: strb r4, [r2] @@ -29462,7 +29462,7 @@ _0801C874: .4byte gUnknown_02024C10 atk04_critcalc: @ 801C878 push {r4-r7,lr} ldr r1, _0801C89C @ =gBattleMons - ldr r0, _0801C8A0 @ =gUnknown_02024C07 + ldr r0, _0801C8A0 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -29479,7 +29479,7 @@ atk04_critcalc: @ 801C878 b _0801C8B0 .align 2, 0 _0801C89C: .4byte gBattleMons -_0801C8A0: .4byte gUnknown_02024C07 +_0801C8A0: .4byte gPlayerMonIndex _0801C8A4: .4byte gEnigmaBerries _0801C8A8: bl ItemId_GetHoldEffect @@ -29487,7 +29487,7 @@ _0801C8A8: lsrs r6, r0, 24 _0801C8B0: ldr r1, _0801C93C @ =gUnknown_02024C0B - ldr r3, _0801C940 @ =gUnknown_02024C07 + ldr r3, _0801C940 @ =gPlayerMonIndex ldrb r0, [r3] strb r0, [r1] ldr r4, _0801C944 @ =gBattleMons @@ -29564,7 +29564,7 @@ _0801C930: b _0801C952 .align 2, 0 _0801C93C: .4byte gUnknown_02024C0B -_0801C940: .4byte gUnknown_02024C07 +_0801C940: .4byte gPlayerMonIndex _0801C944: .4byte gBattleMons _0801C948: .4byte gBattleMoves _0801C94C: .4byte gUnknown_02024BE6 @@ -29579,7 +29579,7 @@ _0801C952: bls _0801C960 movs r5, 0x4 _0801C960: - ldr r0, _0801C9BC @ =gUnknown_02024C08 + ldr r0, _0801C9BC @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -29623,7 +29623,7 @@ _0801C960: movs r0, 0x2 b _0801C9D4 .align 2, 0 -_0801C9BC: .4byte gUnknown_02024C08 +_0801C9BC: .4byte gEnemyMonIndex _0801C9C0: .4byte gUnknown_02024C98 _0801C9C4: .4byte gBattleTypeFlags _0801C9C8: .4byte gCriticalHitChance @@ -29653,7 +29653,7 @@ atk05_damagecalc1: @ 801C9EC push {r6,r7} sub sp, 0x10 ldr r4, _0801CABC @ =gUnknown_02024C7A - ldr r6, _0801CAC0 @ =gUnknown_02024C08 + ldr r6, _0801CAC0 @ =gEnemyMonIndex ldrb r0, [r6] bl battle_get_per_side_status movs r1, 0x1 @@ -29661,7 +29661,7 @@ atk05_damagecalc1: @ 801C9EC lsls r1, 1 adds r1, r4 ldrh r3, [r1] - ldr r0, _0801CAC4 @ =gUnknown_02024C07 + ldr r0, _0801CAC4 @ =gPlayerMonIndex mov r8, r0 ldrb r0, [r0] movs r4, 0x58 @@ -29722,7 +29722,7 @@ atk05_damagecalc1: @ 801C9EC str r0, [r4] _0801CA82: ldr r1, _0801CAF0 @ =gUnknown_02024D28 - ldr r0, _0801CAC4 @ =gUnknown_02024C07 + ldr r0, _0801CAC4 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -29751,8 +29751,8 @@ _0801CAA4: bx r0 .align 2, 0 _0801CABC: .4byte gUnknown_02024C7A -_0801CAC0: .4byte gUnknown_02024C08 -_0801CAC4: .4byte gUnknown_02024C07 +_0801CAC0: .4byte gEnemyMonIndex +_0801CAC4: .4byte gPlayerMonIndex _0801CAC8: .4byte gBattleMons _0801CACC: .4byte gUnknown_02024BE6 _0801CAD0: .4byte gUnknown_02024DEC @@ -30034,7 +30034,7 @@ _0801CCFC: mov r8, r0 _0801CD0C: ldr r2, _0801CD98 @ =gBattleMons - ldr r0, _0801CD9C @ =gUnknown_02024C07 + ldr r0, _0801CD9C @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -30062,7 +30062,7 @@ _0801CD2E: str r0, [r4] ldr r3, [sp, 0x4] _0801CD44: - ldr r2, _0801CDA4 @ =gUnknown_02024C08 + ldr r2, _0801CDA4 @ =gEnemyMonIndex ldrb r1, [r2] movs r0, 0x58 muls r0, r1 @@ -30103,9 +30103,9 @@ _0801CD44: .align 2, 0 _0801CD94: .4byte gBattleMoves _0801CD98: .4byte gBattleMons -_0801CD9C: .4byte gUnknown_02024C07 +_0801CD9C: .4byte gPlayerMonIndex _0801CDA0: .4byte gBattleMoveDamage -_0801CDA4: .4byte gUnknown_02024C08 +_0801CDA4: .4byte gEnemyMonIndex _0801CDA8: .4byte byte_2024C06 _0801CDAC: .4byte gBattleMoveFlags _0801CDB0: .4byte gUnknown_02024C3C @@ -30131,7 +30131,7 @@ _0801CDD0: adds r1, r3, 0x1 adds r1, r5 ldr r2, _0801CF0C @ =gBattleMons - ldr r7, _0801CF10 @ =gUnknown_02024C08 + ldr r7, _0801CF10 @ =gEnemyMonIndex ldrb r0, [r7] movs r6, 0x58 muls r0, r6 @@ -30171,7 +30171,7 @@ _0801CE06: _0801CE2C: adds r3, 0x3 ldr r5, _0801CF0C @ =gBattleMons - ldr r4, _0801CF10 @ =gUnknown_02024C08 + ldr r4, _0801CF10 @ =gEnemyMonIndex ldr r2, _0801CF08 @ =gTypeEffectiveness _0801CE34: adds r0, r3, r2 @@ -30195,7 +30195,7 @@ _0801CE38: beq _0801CDCC _0801CE58: ldr r2, _0801CF0C @ =gBattleMons - ldr r5, _0801CF10 @ =gUnknown_02024C08 + ldr r5, _0801CF10 @ =gEnemyMonIndex ldrb r1, [r5] movs r0, 0x58 muls r0, r1 @@ -30204,7 +30204,7 @@ _0801CE58: ldrb r6, [r0] cmp r6, 0x19 bne _0801CED6 - ldr r0, _0801CF14 @ =gUnknown_02024C07 + ldr r0, _0801CF14 @ =gPlayerMonIndex ldrb r0, [r0] ldr r7, _0801CF18 @ =gUnknown_02024BE6 ldrh r1, [r7] @@ -30264,7 +30264,7 @@ _0801CED6: cmp r0, 0 beq _0801CEF4 ldr r2, _0801CF34 @ =gUnknown_02024D28 - ldr r0, _0801CF14 @ =gUnknown_02024C07 + ldr r0, _0801CF14 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 4 adds r1, r2 @@ -30286,8 +30286,8 @@ _0801CEF4: .align 2, 0 _0801CF08: .4byte gTypeEffectiveness _0801CF0C: .4byte gBattleMons -_0801CF10: .4byte gUnknown_02024C08 -_0801CF14: .4byte gUnknown_02024C07 +_0801CF10: .4byte gEnemyMonIndex +_0801CF14: .4byte gPlayerMonIndex _0801CF18: .4byte gUnknown_02024BE6 _0801CF1C: .4byte gBattleMoveFlags _0801CF20: .4byte gBattleMoves @@ -30346,7 +30346,7 @@ _0801CF90: mov r12, r1 _0801CF94: ldr r2, _0801CFC8 @ =gBattleMons - ldr r3, _0801CFCC @ =gUnknown_02024C08 + ldr r3, _0801CFCC @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -30371,7 +30371,7 @@ _0801CF94: b _0801D1A4 .align 2, 0 _0801CFC8: .4byte gBattleMons -_0801CFCC: .4byte gUnknown_02024C08 +_0801CFCC: .4byte gEnemyMonIndex _0801CFD0: .4byte byte_2024C06 _0801CFD4: .4byte gUnknown_02024D1E _0801CFD8: @@ -30413,7 +30413,7 @@ _0801CFF2: orrs r0, r1 strb r0, [r2] ldr r1, _0801D1B4 @ =gUnknown_02024D28 - ldr r0, _0801D1B8 @ =gUnknown_02024C07 + ldr r0, _0801D1B8 @ =gPlayerMonIndex ldrb r2, [r0] lsls r2, 4 adds r2, r1 @@ -30449,7 +30449,7 @@ _0801D032: orrs r0, r1 strb r0, [r2] ldr r1, _0801D1B4 @ =gUnknown_02024D28 - ldr r0, _0801D1B8 @ =gUnknown_02024C07 + ldr r0, _0801D1B8 @ =gPlayerMonIndex ldrb r2, [r0] lsls r2, 4 adds r2, r1 @@ -30581,7 +30581,7 @@ _0801D14E: ldrb r4, [r0] cmp r4, 0x19 bne _0801D1A4 - ldr r0, _0801D1B8 @ =gUnknown_02024C07 + ldr r0, _0801D1B8 @ =gPlayerMonIndex ldrb r0, [r0] mov r2, r9 ldrh r1, [r2] @@ -30623,7 +30623,7 @@ _0801D1A4: .align 2, 0 _0801D1B0: .4byte gBattleMoveFlags _0801D1B4: .4byte gUnknown_02024D28 -_0801D1B8: .4byte gUnknown_02024C07 +_0801D1B8: .4byte gPlayerMonIndex _0801D1BC: .4byte gBattleMoves _0801D1C0: .4byte byte_2024C06 _0801D1C4: .4byte gUnknown_02024D1E @@ -30873,7 +30873,7 @@ _0801D388: ldrb r0, [r0] cmp r4, r0 bne _0801D3B0 - ldr r0, _0801D454 @ =gUnknown_02024C08 + ldr r0, _0801D454 @ =gEnemyMonIndex ldrb r0, [r0] muls r0, r3 add r0, r8 @@ -30973,7 +30973,7 @@ _0801D43A: .align 2, 0 _0801D44C: .4byte gTypeEffectiveness _0801D450: .4byte gBattleMons -_0801D454: .4byte gUnknown_02024C08 +_0801D454: .4byte gEnemyMonIndex _0801D458: .4byte gBattleMoves thumb_func_end move_effectiveness_something @@ -31055,7 +31055,7 @@ _0801D4D2: _0801D4EE: cmp r5, r8 bne _0801D510 - ldr r0, _0801D568 @ =gUnknown_02024C08 + ldr r0, _0801D568 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -31118,7 +31118,7 @@ _0801D554: bx r1 .align 2, 0 _0801D564: .4byte gTypeEffectiveness -_0801D568: .4byte gUnknown_02024C08 +_0801D568: .4byte gEnemyMonIndex _0801D56C: .4byte gBattleMons _0801D570: .4byte gBattleMoves thumb_func_end ai_rate_move @@ -31183,7 +31183,7 @@ atk07_damagecalc3: @ 801D5B0 str r0, [r4] _0801D5E2: ldr r7, _0801D60C @ =gBattleMons - ldr r6, _0801D610 @ =gUnknown_02024C08 + ldr r6, _0801D610 @ =gEnemyMonIndex ldrb r2, [r6] movs r5, 0x58 adds r0, r2, 0 @@ -31203,7 +31203,7 @@ _0801D5E2: .align 2, 0 _0801D608: .4byte gBattleMoveDamage _0801D60C: .4byte gBattleMons -_0801D610: .4byte gUnknown_02024C08 +_0801D610: .4byte gEnemyMonIndex _0801D614: .4byte gEnigmaBerries _0801D618: ldrh r0, [r1, 0x2E] @@ -31219,7 +31219,7 @@ _0801D618: lsrs r6, r0, 24 _0801D632: ldr r1, _0801D6F4 @ =gUnknown_02024C0B - ldr r5, _0801D6F8 @ =gUnknown_02024C08 + ldr r5, _0801D6F8 @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r1] cmp r4, 0x27 @@ -31248,7 +31248,7 @@ _0801D632: strb r1, [r0] _0801D670: ldr r2, _0801D700 @ =gBattleMons - ldr r3, _0801D6F8 @ =gUnknown_02024C08 + ldr r3, _0801D6F8 @ =gEnemyMonIndex ldrb r4, [r3] movs r0, 0x58 muls r0, r4 @@ -31316,7 +31316,7 @@ _0801D6C2: b _0801D740 .align 2, 0 _0801D6F4: .4byte gUnknown_02024C0B -_0801D6F8: .4byte gUnknown_02024C08 +_0801D6F8: .4byte gEnemyMonIndex _0801D6FC: .4byte gUnknown_02024D68 _0801D700: .4byte gBattleMons _0801D704: .4byte gBattleMoves @@ -31387,7 +31387,7 @@ atk08_cmd8: @ 801D760 str r0, [r4] _0801D792: ldr r7, _0801D7BC @ =gBattleMons - ldr r6, _0801D7C0 @ =gUnknown_02024C08 + ldr r6, _0801D7C0 @ =gEnemyMonIndex ldrb r2, [r6] movs r5, 0x58 adds r0, r2, 0 @@ -31407,7 +31407,7 @@ _0801D792: .align 2, 0 _0801D7B8: .4byte gBattleMoveDamage _0801D7BC: .4byte gBattleMons -_0801D7C0: .4byte gUnknown_02024C08 +_0801D7C0: .4byte gEnemyMonIndex _0801D7C4: .4byte gEnigmaBerries _0801D7C8: ldrh r0, [r1, 0x2E] @@ -31423,7 +31423,7 @@ _0801D7C8: lsrs r6, r0, 24 _0801D7E2: ldr r1, _0801D888 @ =gUnknown_02024C0B - ldr r5, _0801D88C @ =gUnknown_02024C08 + ldr r5, _0801D88C @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r1] cmp r4, 0x27 @@ -31452,7 +31452,7 @@ _0801D7E2: strb r1, [r0] _0801D820: ldr r4, _0801D894 @ =gBattleMons - ldr r6, _0801D88C @ =gUnknown_02024C08 + ldr r6, _0801D88C @ =gEnemyMonIndex ldrb r2, [r6] movs r7, 0x58 adds r3, r2, 0 @@ -31506,7 +31506,7 @@ _0801D85E: b _0801D8CC .align 2, 0 _0801D888: .4byte gUnknown_02024C0B -_0801D88C: .4byte gUnknown_02024C08 +_0801D88C: .4byte gEnemyMonIndex _0801D890: .4byte gUnknown_02024D68 _0801D894: .4byte gBattleMons _0801D898: .4byte gUnknown_02024D28 @@ -31635,7 +31635,7 @@ _0801D992: cmp r0, 0 bne _0801DA3C ldr r1, _0801DA1C @ =gUnknown_02024A60 - ldr r2, _0801DA20 @ =gUnknown_02024C07 + ldr r2, _0801DA20 @ =gPlayerMonIndex mov r9, r2 ldrb r0, [r2] strb r0, [r1] @@ -31693,7 +31693,7 @@ _0801DA10: .4byte 0x02000000 _0801DA14: .4byte 0x000160a1 _0801DA18: .4byte gBattleMoveFlags _0801DA1C: .4byte gUnknown_02024A60 -_0801DA20: .4byte gUnknown_02024C07 +_0801DA20: .4byte gPlayerMonIndex _0801DA24: .4byte 0x00016002 _0801DA28: .4byte gBattleMovePower _0801DA2C: .4byte gBattleMoveDamage @@ -32078,19 +32078,19 @@ _0801DD24: ldr r1, _0801DD58 @ =gUnknown_02024C74 ldrb r0, [r5] adds r0, r1 - ldr r1, _0801DD5C @ =gUnknown_02024C07 + ldr r1, _0801DD5C @ =gPlayerMonIndex b _0801DD68 .align 2, 0 _0801DD4C: .4byte gUnknown_02024BF4 _0801DD50: .4byte gUnknown_02024A60 _0801DD54: .4byte gUnknown_02024C10 _0801DD58: .4byte gUnknown_02024C74 -_0801DD5C: .4byte gUnknown_02024C07 +_0801DD5C: .4byte gPlayerMonIndex _0801DD60: ldr r1, _0801DD8C @ =gUnknown_02024C74 ldrb r0, [r5] adds r0, r1 - ldr r1, _0801DD90 @ =gUnknown_02024C08 + ldr r1, _0801DD90 @ =gEnemyMonIndex _0801DD68: ldrb r1, [r1] strb r1, [r0] @@ -32112,7 +32112,7 @@ _0801DD6C: b _0801DDAC .align 2, 0 _0801DD8C: .4byte gUnknown_02024C74 -_0801DD90: .4byte gUnknown_02024C08 +_0801DD90: .4byte gEnemyMonIndex _0801DD94: .4byte gBattleMons _0801DD98: .4byte gUnknown_02024BF0 _0801DD9C: @@ -32182,7 +32182,7 @@ _0801DDD4: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801DE34 @ =gUnknown_02024C07 + ldr r2, _0801DE34 @ =gPlayerMonIndex b _0801DE40 .align 2, 0 _0801DE20: .4byte gUnknown_02024BF0 @@ -32190,12 +32190,12 @@ _0801DE24: .4byte gUnknown_02024D68 _0801DE28: .4byte gUnknown_02024BE6 _0801DE2C: .4byte gUnknown_02024D28 _0801DE30: .4byte gUnknown_02024C10 -_0801DE34: .4byte gUnknown_02024C07 +_0801DE34: .4byte gPlayerMonIndex _0801DE38: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801DE54 @ =gUnknown_02024C08 + ldr r2, _0801DE54 @ =gEnemyMonIndex _0801DE40: ldrb r1, [r2] strb r1, [r0, 0xC] @@ -32208,7 +32208,7 @@ _0801DE40: strb r1, [r0, 0x10] b _0801DEC6 .align 2, 0 -_0801DE54: .4byte gUnknown_02024C08 +_0801DE54: .4byte gEnemyMonIndex _0801DE58: cmp r6, 0x8 bls _0801DEC6 @@ -32244,17 +32244,17 @@ _0801DE5C: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801DEA8 @ =gUnknown_02024C07 + ldr r2, _0801DEA8 @ =gPlayerMonIndex b _0801DEB4 .align 2, 0 _0801DEA0: .4byte gUnknown_02024D28 _0801DEA4: .4byte gUnknown_02024C10 -_0801DEA8: .4byte gUnknown_02024C07 +_0801DEA8: .4byte gPlayerMonIndex _0801DEAC: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801DEF4 @ =gUnknown_02024C08 + ldr r2, _0801DEF4 @ =gEnemyMonIndex _0801DEB4: ldrb r1, [r2] strb r1, [r0, 0xD] @@ -32287,7 +32287,7 @@ _0801DEC6: bl dp01_battle_side_mark_buffer_for_execution b _0801DF26 .align 2, 0 -_0801DEF4: .4byte gUnknown_02024C08 +_0801DEF4: .4byte gEnemyMonIndex _0801DEF8: .4byte 0xffefffff _0801DEFC: .4byte gUnknown_02024AA8 _0801DF00: @@ -32343,7 +32343,7 @@ atk0D_critmessage: @ 801DF48 ands r0, r1 cmp r0, 0 bne _0801DF76 - ldr r0, _0801DF90 @ =gUnknown_02024C07 + ldr r0, _0801DF90 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0xD9 bl b_std_message @@ -32362,7 +32362,7 @@ _0801DF7E: _0801DF84: .4byte gUnknown_02024A64 _0801DF88: .4byte gCritMultiplier _0801DF8C: .4byte gBattleMoveFlags -_0801DF90: .4byte gUnknown_02024C07 +_0801DF90: .4byte gPlayerMonIndex _0801DF94: .4byte gUnknown_02024D1E _0801DF98: .4byte gUnknown_02024C10 thumb_func_end atk0D_critmessage @@ -32375,7 +32375,7 @@ atk0E_missmessage: @ 801DF9C cmp r0, 0 bne _0801E05C ldr r4, _0801DFD8 @ =gUnknown_02024A60 - ldr r0, _0801DFDC @ =gUnknown_02024C08 + ldr r0, _0801DFDC @ =gEnemyMonIndex ldrb r0, [r0] strb r0, [r4] ldr r1, _0801DFE0 @ =gBattleMoveFlags @@ -32400,7 +32400,7 @@ atk0E_missmessage: @ 801DF9C .align 2, 0 _0801DFD4: .4byte gUnknown_02024A64 _0801DFD8: .4byte gUnknown_02024A60 -_0801DFDC: .4byte gUnknown_02024C08 +_0801DFDC: .4byte gEnemyMonIndex _0801DFE0: .4byte gBattleMoveFlags _0801DFE4: cmp r0, 0x8 @@ -32564,7 +32564,7 @@ _0801E100: _0801E104: ldr r4, _0801E12C @ =gUnknown_02024C04 ldr r2, _0801E130 @ =gBattleMons - ldr r3, _0801E134 @ =gUnknown_02024C08 + ldr r3, _0801E134 @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -32584,7 +32584,7 @@ _0801E104: .align 2, 0 _0801E12C: .4byte gUnknown_02024C04 _0801E130: .4byte gBattleMons -_0801E134: .4byte gUnknown_02024C08 +_0801E134: .4byte gEnemyMonIndex _0801E138: .4byte gUnknown_02024C0B _0801E13C: .4byte gUnknown_02024C10 _0801E140: .4byte gUnknown_081D9AC6 @@ -32639,7 +32639,7 @@ _0801E19C: beq _0801E1E4 ldr r4, _0801E1CC @ =gUnknown_02024C04 ldr r2, _0801E1D0 @ =gBattleMons - ldr r3, _0801E1D4 @ =gUnknown_02024C08 + ldr r3, _0801E1D4 @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -32659,7 +32659,7 @@ _0801E19C: .align 2, 0 _0801E1CC: .4byte gUnknown_02024C04 _0801E1D0: .4byte gBattleMons -_0801E1D4: .4byte gUnknown_02024C08 +_0801E1D4: .4byte gEnemyMonIndex _0801E1D8: .4byte gUnknown_02024C0B _0801E1DC: .4byte gUnknown_02024C10 _0801E1E0: .4byte gUnknown_081D9AC6 @@ -32680,7 +32680,7 @@ _0801E1F6: beq _0801E204 _0801E1FA: adds r0, r3, 0 - ldr r1, _0801E214 @ =gUnknown_02024C07 + ldr r1, _0801E214 @ =gPlayerMonIndex ldrb r1, [r1] bl b_std_message _0801E204: @@ -32694,7 +32694,7 @@ _0801E20C: pop {r0} bx r0 .align 2, 0 -_0801E214: .4byte gUnknown_02024C07 +_0801E214: .4byte gPlayerMonIndex _0801E218: .4byte gUnknown_02024C10 thumb_func_end atk0F_resultmessage @@ -32711,7 +32711,7 @@ atk10_printstring: @ 801E21C ldrb r1, [r1, 0x2] lsls r1, 8 orrs r0, r1 - ldr r1, _0801E254 @ =gUnknown_02024C07 + ldr r1, _0801E254 @ =gPlayerMonIndex ldrb r1, [r1] bl b_std_message ldr r0, [r4] @@ -32727,7 +32727,7 @@ _0801E246: .align 2, 0 _0801E24C: .4byte gUnknown_02024A64 _0801E250: .4byte gUnknown_02024C10 -_0801E254: .4byte gUnknown_02024C07 +_0801E254: .4byte gPlayerMonIndex _0801E258: .4byte gUnknown_02024D1E thumb_func_end atk10_printstring @@ -32735,7 +32735,7 @@ _0801E258: .4byte gUnknown_02024D1E atk11_printstring2: @ 801E25C push {r4,r5,lr} ldr r5, _0801E290 @ =gUnknown_02024A60 - ldr r0, _0801E294 @ =gUnknown_02024C07 + ldr r0, _0801E294 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r5] ldr r4, _0801E298 @ =gUnknown_02024C10 @@ -32759,7 +32759,7 @@ atk11_printstring2: @ 801E25C bx r0 .align 2, 0 _0801E290: .4byte gUnknown_02024A60 -_0801E294: .4byte gUnknown_02024C07 +_0801E294: .4byte gPlayerMonIndex _0801E298: .4byte gUnknown_02024C10 _0801E29C: .4byte gUnknown_02024D1E thumb_func_end atk11_printstring2 @@ -32837,7 +32837,7 @@ atk13_printfromtable: @ 801E2FC lsls r0, 1 adds r1, r0 ldrh r0, [r1] - ldr r1, _0801E34C @ =gUnknown_02024C07 + ldr r1, _0801E34C @ =gPlayerMonIndex ldrb r1, [r1] bl b_std_message ldr r0, [r4] @@ -32853,7 +32853,7 @@ _0801E33A: _0801E340: .4byte gUnknown_02024A64 _0801E344: .4byte gUnknown_02024C10 _0801E348: .4byte gUnknown_02024D1E -_0801E34C: .4byte gUnknown_02024C07 +_0801E34C: .4byte gPlayerMonIndex thumb_func_end atk13_printfromtable thumb_func_start atk14_printfromtable2 @@ -32880,7 +32880,7 @@ atk14_printfromtable2: @ 801E350 lsls r0, 1 adds r1, r0 ldr r4, _0801E3AC @ =gUnknown_02024A60 - ldr r0, _0801E3B0 @ =gUnknown_02024C07 + ldr r0, _0801E3B0 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] ldrh r1, [r1] @@ -32902,7 +32902,7 @@ _0801E3A0: .4byte gUnknown_02024A64 _0801E3A4: .4byte gUnknown_02024C10 _0801E3A8: .4byte gUnknown_02024D1E _0801E3AC: .4byte gUnknown_02024A60 -_0801E3B0: .4byte gUnknown_02024C07 +_0801E3B0: .4byte gPlayerMonIndex thumb_func_end atk14_printfromtable2 thumb_func_start sub_801E3B4 @@ -32963,7 +32963,7 @@ sub_801E3EC: @ 801E3EC cmp r0, 0 beq _0801E444 ldr r2, _0801E434 @ =gUnknown_02024C0A - ldr r0, _0801E438 @ =gUnknown_02024C07 + ldr r0, _0801E438 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r2] movs r0, 0xBF @@ -32971,21 +32971,21 @@ sub_801E3EC: @ 801E3EC strb r0, [r7, 0x3] movs r6, 0x40 ldr r0, _0801E43C @ =0x02000000 - ldr r1, _0801E440 @ =gUnknown_02024C08 + ldr r1, _0801E440 @ =gEnemyMonIndex b _0801E450 .align 2, 0 _0801E430: .4byte gUnknown_02024D1E _0801E434: .4byte gUnknown_02024C0A -_0801E438: .4byte gUnknown_02024C07 +_0801E438: .4byte gPlayerMonIndex _0801E43C: .4byte 0x02000000 -_0801E440: .4byte gUnknown_02024C08 +_0801E440: .4byte gEnemyMonIndex _0801E444: ldr r2, _0801E538 @ =gUnknown_02024C0A - ldr r0, _0801E53C @ =gUnknown_02024C08 + ldr r0, _0801E53C @ =gEnemyMonIndex ldrb r0, [r0] strb r0, [r2] ldr r0, _0801E540 @ =0x02000000 - ldr r1, _0801E544 @ =gUnknown_02024C07 + ldr r1, _0801E544 @ =gPlayerMonIndex _0801E450: ldrb r1, [r1] ldr r3, _0801E548 @ =0x00016003 @@ -33107,9 +33107,9 @@ _0801E536: b _0801EA14 .align 2, 0 _0801E538: .4byte gUnknown_02024C0A -_0801E53C: .4byte gUnknown_02024C08 +_0801E53C: .4byte gEnemyMonIndex _0801E540: .4byte 0x02000000 -_0801E544: .4byte gUnknown_02024C07 +_0801E544: .4byte gPlayerMonIndex _0801E548: .4byte 0x00016003 _0801E54C: .4byte gBattleMons _0801E550: .4byte gUnknown_02024C6C @@ -34134,7 +34134,7 @@ _0801EDD0: .4byte gUnknown_02024C10 _0801EDD4: .4byte gUnknown_081FAC4C _0801EDD8: .4byte gUnknown_02024D1E _0801EDDC: - ldr r5, _0801EE30 @ =gUnknown_02024C07 + ldr r5, _0801EE30 @ =gPlayerMonIndex ldrb r0, [r5] bl battle_get_per_side_status movs r1, 0x1 @@ -34174,7 +34174,7 @@ _0801EE14: ldr r0, [r0] bl _0801F5F8 .align 2, 0 -_0801EE30: .4byte gUnknown_02024C07 +_0801EE30: .4byte gPlayerMonIndex _0801EE34: .4byte gUnknown_02024D1A _0801EE38: .4byte gBattleMons _0801EE3C: .4byte 0x0000ffff @@ -34294,7 +34294,7 @@ _0801EEE8: ldr r3, _0801EF90 @ =0x00016020 adds r0, r3 adds r0, r2 - ldr r1, _0801EF94 @ =gUnknown_02024C07 + ldr r1, _0801EF94 @ =gPlayerMonIndex ldrb r1, [r1] strb r1, [r0] ldr r4, _0801EF98 @ =gUnknown_02024C10 @@ -34342,7 +34342,7 @@ _0801EF84: .4byte 0x00016004 _0801EF88: .4byte gUnknown_02024BE6 _0801EF8C: .4byte 0x00016005 _0801EF90: .4byte 0x00016020 -_0801EF94: .4byte gUnknown_02024C07 +_0801EF94: .4byte gPlayerMonIndex _0801EF98: .4byte gUnknown_02024C10 _0801EF9C: .4byte gUnknown_081FAC4C _0801EFA0: .4byte gUnknown_02024D1E @@ -34565,7 +34565,7 @@ _0801F178: .4byte gUnknown_02024CA8 _0801F17C: .4byte gUnknown_02024C54 _0801F180: .4byte gUnknown_02024BE6 _0801F184: - ldr r0, _0801F1A0 @ =gUnknown_02024C07 + ldr r0, _0801F1A0 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 adds r2, r1, 0 @@ -34581,9 +34581,9 @@ _0801F19A: str r0, [r2] b _0801F5DC .align 2, 0 -_0801F1A0: .4byte gUnknown_02024C07 +_0801F1A0: .4byte gPlayerMonIndex _0801F1A4: - ldr r4, _0801F254 @ =gUnknown_02024C07 + ldr r4, _0801F254 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -34626,7 +34626,7 @@ _0801F1D8: ldrb r1, [r0] ldr r3, _0801F268 @ =gBitTable ldr r2, _0801F26C @ =gUnknown_02024A6A - ldr r0, _0801F254 @ =gUnknown_02024C07 + ldr r0, _0801F254 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 1 adds r0, r2 @@ -34640,7 +34640,7 @@ _0801F1D8: b _0801F5DC _0801F214: ldr r2, _0801F270 @ =gBattleMons - ldr r1, _0801F274 @ =gUnknown_02024C08 + ldr r1, _0801F274 @ =gEnemyMonIndex ldrb r0, [r1] movs r3, 0x58 muls r0, r3 @@ -34670,7 +34670,7 @@ _0801F214: bl sub_81074C4 b _0801F5FA .align 2, 0 -_0801F254: .4byte gUnknown_02024C07 +_0801F254: .4byte gPlayerMonIndex _0801F258: .4byte gBattleTypeFlags _0801F25C: .4byte 0x00000902 _0801F260: .4byte gTrainerBattleOpponent @@ -34678,12 +34678,12 @@ _0801F264: .4byte gUnknown_02024DBC _0801F268: .4byte gBitTable _0801F26C: .4byte gUnknown_02024A6A _0801F270: .4byte gBattleMons -_0801F274: .4byte gUnknown_02024C08 +_0801F274: .4byte gEnemyMonIndex _0801F278: .4byte gUnknown_02024C10 _0801F27C: .4byte gUnknown_081D9913 _0801F280: .4byte byte_2024C06 _0801F284: - ldr r4, _0801F340 @ =gUnknown_02024C07 + ldr r4, _0801F340 @ =gPlayerMonIndex mov r10, r4 ldrb r1, [r4] movs r0, 0x58 @@ -34776,7 +34776,7 @@ _0801F2B6: strb r6, [r0] b _0801F5FA .align 2, 0 -_0801F340: .4byte gUnknown_02024C07 +_0801F340: .4byte gPlayerMonIndex _0801F344: .4byte 0x020160f0 _0801F348: .4byte gUnknown_02024C04 _0801F34C: .4byte gUnknown_02024A60 @@ -34786,7 +34786,7 @@ _0801F358: .4byte 0xfffe9f10 _0801F35C: .4byte 0x000160e8 _0801F360: .4byte 0x000160e9 _0801F364: - ldr r3, _0801F394 @ =gUnknown_02024C08 + ldr r3, _0801F394 @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 adds r2, r1, 0 @@ -34805,16 +34805,16 @@ _0801F364: subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, _0801F39C @ =gUnknown_02024C07 + ldr r1, _0801F39C @ =gPlayerMonIndex ldrb r1, [r1] strb r1, [r0, 0x14] b _0801F5DC .align 2, 0 -_0801F394: .4byte gUnknown_02024C08 +_0801F394: .4byte gEnemyMonIndex _0801F398: .4byte gUnknown_02024CA8 -_0801F39C: .4byte gUnknown_02024C07 +_0801F39C: .4byte gPlayerMonIndex _0801F3A0: - ldr r0, _0801F3B8 @ =gUnknown_02024C08 + ldr r0, _0801F3B8 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 adds r2, r1, 0 @@ -34827,7 +34827,7 @@ _0801F3A0: lsls r1, 20 b _0801F19A .align 2, 0 -_0801F3B8: .4byte gUnknown_02024C08 +_0801F3B8: .4byte gEnemyMonIndex _0801F3BC: ldr r4, _0801F3CC @ =gUnknown_02024C10 ldr r0, [r4] @@ -34849,7 +34849,7 @@ _0801F3D4: _0801F3E4: .4byte gUnknown_02024C10 _0801F3E8: .4byte gUnknown_081D92C0 _0801F3EC: - ldr r6, _0801F43C @ =gUnknown_02024C08 + ldr r6, _0801F43C @ =gEnemyMonIndex ldrb r0, [r6] movs r2, 0x58 muls r0, r2 @@ -34888,7 +34888,7 @@ _0801F406: ldr r0, _0801F448 @ =gUnknown_081D9635 b _0801F5F8 .align 2, 0 -_0801F43C: .4byte gUnknown_02024C08 +_0801F43C: .4byte gEnemyMonIndex _0801F440: .4byte gUnknown_02024A60 _0801F444: .4byte gUnknown_02024C10 _0801F448: .4byte gUnknown_081D9635 @@ -35107,7 +35107,7 @@ _0801F610: .4byte gUnknown_081D94B0 atk15_seteffectwithchancetarget: @ 801F614 push {r4,lr} ldr r2, _0801F640 @ =gBattleMons - ldr r0, _0801F644 @ =gUnknown_02024C07 + ldr r0, _0801F644 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -35128,7 +35128,7 @@ atk15_seteffectwithchancetarget: @ 801F614 b _0801F660 .align 2, 0 _0801F640: .4byte gBattleMons -_0801F644: .4byte gUnknown_02024C07 +_0801F644: .4byte gPlayerMonIndex _0801F648: .4byte gBattleMoves _0801F64C: .4byte gUnknown_02024BE6 _0801F650: @@ -35369,24 +35369,24 @@ _0801F834: cmp r0, 0x1 bne _0801F85C ldr r1, _0801F84C @ =gUnknown_02024A60 - ldr r0, _0801F850 @ =gUnknown_02024C07 + ldr r0, _0801F850 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r1] - ldr r0, _0801F854 @ =gUnknown_02024C08 + ldr r0, _0801F854 @ =gEnemyMonIndex ldrb r7, [r0] ldr r4, _0801F858 @ =gUnknown_081D8C58 b _0801F86A .align 2, 0 _0801F84C: .4byte gUnknown_02024A60 -_0801F850: .4byte gUnknown_02024C07 -_0801F854: .4byte gUnknown_02024C08 +_0801F850: .4byte gPlayerMonIndex +_0801F854: .4byte gEnemyMonIndex _0801F858: .4byte gUnknown_081D8C58 _0801F85C: ldr r1, _0801F954 @ =gUnknown_02024A60 - ldr r0, _0801F958 @ =gUnknown_02024C08 + ldr r0, _0801F958 @ =gEnemyMonIndex ldrb r0, [r0] strb r0, [r1] - ldr r0, _0801F95C @ =gUnknown_02024C07 + ldr r0, _0801F95C @ =gPlayerMonIndex ldrb r7, [r0] ldr r4, _0801F960 @ =gUnknown_081D8C65 _0801F86A: @@ -35509,8 +35509,8 @@ _0801F914: b _0801F9CC .align 2, 0 _0801F954: .4byte gUnknown_02024A60 -_0801F958: .4byte gUnknown_02024C08 -_0801F95C: .4byte gUnknown_02024C07 +_0801F958: .4byte gEnemyMonIndex +_0801F95C: .4byte gPlayerMonIndex _0801F960: .4byte gUnknown_081D8C65 _0801F964: .4byte gUnknown_02024C0C _0801F968: .4byte gBitTable @@ -35562,7 +35562,7 @@ _0801F9CC: cmp r0, 0 beq _0801FA02 ldr r6, _0801FAEC @ =gBattleMons - ldr r0, _0801FAF0 @ =gUnknown_02024C07 + ldr r0, _0801FAF0 @ =gPlayerMonIndex ldrb r0, [r0] movs r5, 0x58 muls r0, r5 @@ -35583,7 +35583,7 @@ _0801F9CC: str r0, [r4] _0801FA02: ldr r1, _0801FB00 @ =gUnknown_02024C98 - ldr r6, _0801FB04 @ =gUnknown_02024C08 + ldr r6, _0801FB04 @ =gEnemyMonIndex ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -35602,7 +35602,7 @@ _0801FA1A: ands r5, r0 cmp r5, 0 bne _0801FB22 - ldr r4, _0801FAF0 @ =gUnknown_02024C07 + ldr r4, _0801FAF0 @ =gPlayerMonIndex mov r8, r4 ldrb r0, [r4] bl battle_side_get_owner @@ -35693,12 +35693,12 @@ _0801FAE0: .4byte gUnknown_030042E0 _0801FAE4: .4byte gUnknown_02024A60 _0801FAE8: .4byte gUnknown_02024C6C _0801FAEC: .4byte gBattleMons -_0801FAF0: .4byte gUnknown_02024C07 +_0801FAF0: .4byte gPlayerMonIndex _0801FAF4: .4byte gUnknown_02024C10 _0801FAF8: .4byte gBattleMoveDamage _0801FAFC: .4byte gUnknown_081D9156 _0801FB00: .4byte gUnknown_02024C98 -_0801FB04: .4byte gUnknown_02024C08 +_0801FB04: .4byte gEnemyMonIndex _0801FB08: .4byte gUnknown_02024BE6 _0801FB0C: .4byte 0x02000000 _0801FB10: .4byte 0x0001608c @@ -35944,7 +35944,7 @@ atk1E_jumpifability: @ 801FCC4 ldrb r0, [r2, 0x1] cmp r0, 0x8 bne _0801FD24 - ldr r0, _0801FD1C @ =gUnknown_02024C07 + ldr r0, _0801FD1C @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -35966,12 +35966,12 @@ atk1E_jumpifability: @ 801FCC4 b _0801FD80 .align 2, 0 _0801FD18: .4byte gUnknown_02024C10 -_0801FD1C: .4byte gUnknown_02024C07 +_0801FD1C: .4byte gPlayerMonIndex _0801FD20: .4byte byte_2024C06 _0801FD24: cmp r0, 0x9 bne _0801FD5C - ldr r0, _0801FD54 @ =gUnknown_02024C07 + ldr r0, _0801FD54 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -35992,7 +35992,7 @@ _0801FD24: ldrb r1, [r1] b _0801FD80 .align 2, 0 -_0801FD54: .4byte gUnknown_02024C07 +_0801FD54: .4byte gPlayerMonIndex _0801FD58: .4byte byte_2024C06 _0801FD5C: ldrb r0, [r2, 0x1] @@ -36045,15 +36045,15 @@ sub_801FDB4: @ 801FDB4 ldrb r4, [r0, 0x1] cmp r4, 0x1 bne _0801FDD4 - ldr r0, _0801FDD0 @ =gUnknown_02024C07 + ldr r0, _0801FDD0 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_get_per_side_status b _0801FDDE .align 2, 0 _0801FDCC: .4byte gUnknown_02024C10 -_0801FDD0: .4byte gUnknown_02024C07 +_0801FDD0: .4byte gPlayerMonIndex _0801FDD4: - ldr r0, _0801FE14 @ =gUnknown_02024C08 + ldr r0, _0801FE14 @ =gEnemyMonIndex ldrb r0, [r0] bl battle_get_per_side_status movs r4, 0x1 @@ -36085,7 +36085,7 @@ _0801FDDE: str r5, [r6] b _0801FE26 .align 2, 0 -_0801FE14: .4byte gUnknown_02024C08 +_0801FE14: .4byte gEnemyMonIndex _0801FE18: .4byte gUnknown_02024C10 _0801FE1C: .4byte gUnknown_02024C7A _0801FE20: @@ -38667,15 +38667,15 @@ atk3B_8022C68: @ 802122C cmp r0, 0 bne _0802124C ldr r0, _08021244 @ =gUnknown_02024A60 - ldr r1, _08021248 @ =gUnknown_02024C08 + ldr r1, _08021248 @ =gEnemyMonIndex b _08021250 .align 2, 0 _08021240: .4byte gUnknown_02024C10 _08021244: .4byte gUnknown_02024A60 -_08021248: .4byte gUnknown_02024C08 +_08021248: .4byte gEnemyMonIndex _0802124C: ldr r0, _08021274 @ =gUnknown_02024A60 - ldr r1, _08021278 @ =gUnknown_02024C07 + ldr r1, _08021278 @ =gPlayerMonIndex _08021250: ldrb r1, [r1] strb r1, [r0] @@ -38694,7 +38694,7 @@ _08021250: bx r0 .align 2, 0 _08021274: .4byte gUnknown_02024A60 -_08021278: .4byte gUnknown_02024C07 +_08021278: .4byte gPlayerMonIndex _0802127C: .4byte gBattleMoveDamage _08021280: .4byte gUnknown_02024C10 thumb_func_end atk3B_8022C68 @@ -38884,7 +38884,7 @@ _080213C6: thumb_func_start sub_80213D0 sub_80213D0: @ 80213D0 ldr r1, _080213E4 @ =0x02000000 - ldr r0, _080213E8 @ =gUnknown_02024C07 + ldr r0, _080213E8 @ =gPlayerMonIndex ldrb r0, [r0] ldr r2, _080213EC @ =0x00016060 adds r0, r2 @@ -38894,7 +38894,7 @@ sub_80213D0: @ 80213D0 bx lr .align 2, 0 _080213E4: .4byte 0x02000000 -_080213E8: .4byte gUnknown_02024C07 +_080213E8: .4byte gPlayerMonIndex _080213EC: .4byte 0x00016060 thumb_func_end sub_80213D0 @@ -39446,7 +39446,7 @@ sub_80217F8: @ 80217F8 ldrb r0, [r0, 0x2] str r0, [sp, 0x14] ldr r1, _08021838 @ =gBattleMons - ldr r0, _0802183C @ =gUnknown_02024C07 + ldr r0, _0802183C @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -39464,7 +39464,7 @@ sub_80217F8: @ 80217F8 .align 2, 0 _08021834: .4byte gUnknown_02024C10 _08021838: .4byte gBattleMons -_0802183C: .4byte gUnknown_02024C07 +_0802183C: .4byte gPlayerMonIndex _08021840: .4byte gEnigmaBerries _08021844: ldrh r0, [r1, 0x2E] @@ -39473,7 +39473,7 @@ _08021844: lsrs r0, 24 _0802184E: str r0, [sp, 0x8] - ldr r0, _0802186C @ =gUnknown_02024C07 + ldr r0, _0802186C @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 1 ldr r0, _08021870 @ =0x020160e8 @@ -39488,7 +39488,7 @@ _0802184E: str r2, [sp, 0x4] b _080218D2 .align 2, 0 -_0802186C: .4byte gUnknown_02024C07 +_0802186C: .4byte gPlayerMonIndex _08021870: .4byte 0x020160e8 _08021874: strb r2, [r7] @@ -39582,7 +39582,7 @@ _08021910: .4byte _0802224E _08021958: ldr r5, _08021A08 @ =gBattleMons - ldr r2, _08021A0C @ =gUnknown_02024C08 + ldr r2, _08021A0C @ =gEnemyMonIndex ldrb r4, [r2] movs r6, 0x58 adds r3, r4, 0 @@ -39600,14 +39600,14 @@ _08021958: ldrh r0, [r0, 0x28] cmp r0, 0 beq _080219FE - ldr r0, _08021A10 @ =gUnknown_02024C07 + ldr r0, _08021A10 @ =gPlayerMonIndex ldrb r1, [r0] cmp r1, r4 beq _080219FE adds r0, r1, 0 bl battle_side_get_owner adds r4, r0, 0 - ldr r1, _08021A0C @ =gUnknown_02024C08 + ldr r1, _08021A0C @ =gEnemyMonIndex ldrb r0, [r1] bl battle_side_get_owner lsls r4, 24 @@ -39621,7 +39621,7 @@ _08021958: cmp r0, 0 bne _080219FE ldr r2, _08021A18 @ =gUnknown_02024D28 - ldr r4, _08021A0C @ =gUnknown_02024C08 + ldr r4, _08021A0C @ =gEnemyMonIndex ldrb r3, [r4] lsls r1, r3, 4 adds r0, r2, 0x4 @@ -39669,8 +39669,8 @@ _080219FE: b _08021E00 .align 2, 0 _08021A08: .4byte gBattleMons -_08021A0C: .4byte gUnknown_02024C08 -_08021A10: .4byte gUnknown_02024C07 +_08021A0C: .4byte gEnemyMonIndex +_08021A10: .4byte gPlayerMonIndex _08021A14: .4byte gBattleMoveFlags _08021A18: .4byte gUnknown_02024D28 _08021A1C: .4byte gBattleMoves @@ -39681,7 +39681,7 @@ _08021A2C: .4byte 0x02000000 _08021A30: .4byte 0x0001600c _08021A34: ldr r2, _08021AD0 @ =gBattleMons - ldr r1, _08021AD4 @ =gUnknown_02024C08 + ldr r1, _08021AD4 @ =gEnemyMonIndex ldrb r4, [r1] movs r3, 0x58 mov r12, r3 @@ -39703,7 +39703,7 @@ _08021A54: bne _08021A5E b _08021DFA _08021A5E: - ldr r0, _08021AD8 @ =gUnknown_02024C07 + ldr r0, _08021AD8 @ =gPlayerMonIndex ldrb r0, [r0] cmp r0, r4 bne _08021A68 @@ -39738,7 +39738,7 @@ _08021A92: ands r5, r0 str r5, [r6] ldr r4, _08021AE4 @ =gUnknown_02024A60 - ldr r5, _08021AD4 @ =gUnknown_02024C08 + ldr r5, _08021AD4 @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r4] ldrb r0, [r5] @@ -39763,15 +39763,15 @@ _08021A92: b _08021DFA .align 2, 0 _08021AD0: .4byte gBattleMons -_08021AD4: .4byte gUnknown_02024C08 -_08021AD8: .4byte gUnknown_02024C07 +_08021AD4: .4byte gEnemyMonIndex +_08021AD8: .4byte gPlayerMonIndex _08021ADC: .4byte gUnknown_02024D68 _08021AE0: .4byte gBattleMoveFlags _08021AE4: .4byte gUnknown_02024A60 _08021AE8: .4byte gUnknown_02024C10 _08021AEC: .4byte gUnknown_081D955D _08021AF0: - ldr r0, _08021B14 @ =gUnknown_02024C08 + ldr r0, _08021B14 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -39790,11 +39790,11 @@ _08021B0C: adds r1, r2, r5 b _08021E00 .align 2, 0 -_08021B14: .4byte gUnknown_02024C08 +_08021B14: .4byte gEnemyMonIndex _08021B18: .4byte 0x02000000 _08021B1C: .4byte 0x0001600c _08021B20: - ldr r0, _08021B40 @ =gUnknown_02024C08 + ldr r0, _08021B40 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -39811,7 +39811,7 @@ _08021B3A: mov r10, r0 b _08021DFA .align 2, 0 -_08021B40: .4byte gUnknown_02024C08 +_08021B40: .4byte gEnemyMonIndex _08021B44: movs r0, 0 str r0, [sp] @@ -39839,7 +39839,7 @@ _08021B68: _08021B70: .4byte 0x02000000 _08021B74: .4byte 0x0001600c _08021B78: - ldr r0, _08021B98 @ =gUnknown_02024C07 + ldr r0, _08021B98 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -39856,7 +39856,7 @@ _08021B92: mov r10, r1 b _08021DFA .align 2, 0 -_08021B98: .4byte gUnknown_02024C07 +_08021B98: .4byte gPlayerMonIndex _08021B9C: ldr r0, _08021C28 @ =gUnknown_02024C6C ldr r0, [r0] @@ -39897,7 +39897,7 @@ _08021BDA: _08021BE0: movs r4, 0 ldr r2, _08021C38 @ =gBattleMons - ldr r3, _08021C3C @ =gUnknown_02024C07 + ldr r3, _08021C3C @ =gPlayerMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -39940,7 +39940,7 @@ _08021C2C: .4byte gUnknown_02024BE8 _08021C30: .4byte 0x0000ffff _08021C34: .4byte gBattleMoveFlags _08021C38: .4byte gBattleMons -_08021C3C: .4byte gUnknown_02024C07 +_08021C3C: .4byte gPlayerMonIndex _08021C40: movs r4, 0 ldr r0, _08021C6C @ =gUnknown_02024A68 @@ -40013,7 +40013,7 @@ _08021CC4: .4byte 0x02000000 _08021CC8: .4byte 0x0001600c _08021CCC: ldr r1, _08021D04 @ =gUnknown_02024C98 - ldr r0, _08021D08 @ =gUnknown_02024C07 + ldr r0, _08021D08 @ =gPlayerMonIndex ldrb r2, [r0] lsls r0, r2, 2 adds r0, r1 @@ -40042,7 +40042,7 @@ _08021CF0: b _08021DFA .align 2, 0 _08021D04: .4byte gUnknown_02024C98 -_08021D08: .4byte gUnknown_02024C07 +_08021D08: .4byte gPlayerMonIndex _08021D0C: .4byte 0x000400c0 _08021D10: .4byte gUnknown_02024C6C _08021D14: .4byte gUnknown_02024A60 @@ -40054,7 +40054,7 @@ _08021D18: cmp r0, 0 bne _08021D44 ldr r1, _08021D8C @ =gUnknown_02024C98 - ldr r0, _08021D90 @ =gUnknown_02024C07 + ldr r0, _08021D90 @ =gPlayerMonIndex ldrb r2, [r0] lsls r0, r2, 2 adds r0, r1 @@ -40070,7 +40070,7 @@ _08021D18: beq _08021D7E _08021D44: ldr r4, _08021D98 @ =gUnknown_02024A60 - ldr r5, _08021D90 @ =gUnknown_02024C07 + ldr r5, _08021D90 @ =gPlayerMonIndex ldrb r0, [r5] strb r0, [r4] movs r0, 0 @@ -40104,7 +40104,7 @@ _08021D7E: .align 2, 0 _08021D88: .4byte gBattleMoveFlags _08021D8C: .4byte gUnknown_02024C98 -_08021D90: .4byte gUnknown_02024C07 +_08021D90: .4byte gPlayerMonIndex _08021D94: .4byte 0x000400c0 _08021D98: .4byte gUnknown_02024A60 _08021D9C: .4byte 0xfffbff3f @@ -40113,7 +40113,7 @@ _08021DA4: .4byte 0x02000000 _08021DA8: .4byte 0x0001600c _08021DAC: ldr r2, _08021E0C @ =gUnknown_02024D68 - ldr r1, _08021E10 @ =gUnknown_02024C08 + ldr r1, _08021E10 @ =gEnemyMonIndex ldrb r3, [r1] lsls r4, r3, 2 adds r0, r4, r3 @@ -40141,7 +40141,7 @@ _08021DAC: bl dp01_build_cmdbuf_x33_a_33_33 ldrb r0, [r4] bl dp01_battle_side_mark_buffer_for_execution - ldr r0, _08021E10 @ =gUnknown_02024C08 + ldr r0, _08021E10 @ =gEnemyMonIndex ldrb r2, [r0] lsls r2, 2 adds r2, r5 @@ -40161,7 +40161,7 @@ _08021E00: b _0802224E .align 2, 0 _08021E0C: .4byte gUnknown_02024D68 -_08021E10: .4byte gUnknown_02024C08 +_08021E10: .4byte gEnemyMonIndex _08021E14: .4byte gUnknown_02024A68 _08021E18: .4byte gUnknown_02024C98 _08021E1C: .4byte 0x000400c0 @@ -40207,7 +40207,7 @@ _08021E70: movs r0, 0x80 lsls r0, 5 ands r0, r3 - ldr r2, _08021F30 @ =gUnknown_02024C07 + ldr r2, _08021F30 @ =gPlayerMonIndex mov r9, r2 adds r5, r1, 0 cmp r0, 0 @@ -40215,7 +40215,7 @@ _08021E70: ldr r0, _08021F34 @ =gUnknown_02024A60 ldrb r2, [r2] strb r2, [r0] - ldr r1, _08021F38 @ =gUnknown_02024C08 + ldr r1, _08021F38 @ =gEnemyMonIndex ldrb r0, [r1] mov r4, r9 strb r0, [r4] @@ -40303,9 +40303,9 @@ _08021F04: b _08021F82 .align 2, 0 _08021F2C: .4byte gUnknown_02024C6C -_08021F30: .4byte gUnknown_02024C07 +_08021F30: .4byte gPlayerMonIndex _08021F34: .4byte gUnknown_02024A60 -_08021F38: .4byte gUnknown_02024C08 +_08021F38: .4byte gEnemyMonIndex _08021F3C: .4byte 0xffffefff _08021F40: .4byte gBattleMoves _08021F44: .4byte gUnknown_02024BE8 @@ -40332,7 +40332,7 @@ _08021F68: negs r1, r1 strh r1, [r0] _08021F82: - ldr r2, _08021FDC @ =gUnknown_02024C08 + ldr r2, _08021FDC @ =gEnemyMonIndex ldrb r3, [r2] lsls r0, r3, 2 adds r0, r6 @@ -40365,7 +40365,7 @@ _08021FA0: cmp r2, r0 bne _08021FEC ldr r1, _08021FE8 @ =gUnknown_02024C3C - ldr r4, _08021FDC @ =gUnknown_02024C08 + ldr r4, _08021FDC @ =gEnemyMonIndex ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -40375,13 +40375,13 @@ _08021FA0: _08021FD0: .4byte gUnknown_02024C34 _08021FD4: .4byte 0x0000ffff _08021FD8: .4byte gUnknown_02024C4C -_08021FDC: .4byte gUnknown_02024C08 +_08021FDC: .4byte gEnemyMonIndex _08021FE0: .4byte gUnknown_02024C5C _08021FE4: .4byte gBattleMoveFlags _08021FE8: .4byte gUnknown_02024C3C _08021FEC: ldr r0, _08022014 @ =gUnknown_02024C3C - ldr r5, _08022018 @ =gUnknown_02024C08 + ldr r5, _08022018 @ =gEnemyMonIndex ldrb r1, [r5] lsls r1, 1 adds r1, r0 @@ -40402,13 +40402,13 @@ _08021FEC: b _08021C22 .align 2, 0 _08022014: .4byte gUnknown_02024C3C -_08022018: .4byte gUnknown_02024C08 +_08022018: .4byte gEnemyMonIndex _0802201C: .4byte gUnknown_02024BE6 _08022020: .4byte 0x0001601c _08022024: .4byte gUnknown_02024C44 _08022028: ldr r0, _08022044 @ =gUnknown_02024C44 - ldr r1, _08022048 @ =gUnknown_02024C08 + ldr r1, _08022048 @ =gEnemyMonIndex ldrb r2, [r1] lsls r2, 1 adds r2, r0 @@ -40422,10 +40422,10 @@ _08022028: b _08022244 .align 2, 0 _08022044: .4byte gUnknown_02024C44 -_08022048: .4byte gUnknown_02024C08 +_08022048: .4byte gEnemyMonIndex _0802204C: ldr r0, _0802205C @ =gUnknown_02024C3C - ldr r2, _08022060 @ =gUnknown_02024C08 + ldr r2, _08022060 @ =gEnemyMonIndex ldrb r1, [r2] lsls r1, 1 adds r1, r0 @@ -40433,13 +40433,13 @@ _0802204C: b _08021C22 .align 2, 0 _0802205C: .4byte gUnknown_02024C3C -_08022060: .4byte gUnknown_02024C08 +_08022060: .4byte gEnemyMonIndex _08022064: .4byte 0x0000ffff _08022068: ldr r0, _0802212C @ =gUnknown_02024C0C ldrb r1, [r0] ldr r6, _08022130 @ =gBitTable - ldr r2, _08022134 @ =gUnknown_02024C07 + ldr r2, _08022134 @ =gPlayerMonIndex ldrb r5, [r2] lsls r0, r5, 2 adds r0, r6 @@ -40477,7 +40477,7 @@ _08022090: ands r0, r1 cmp r0, 0 beq _0802215C - ldr r2, _08022148 @ =gUnknown_02024C08 + ldr r2, _08022148 @ =gEnemyMonIndex ldrb r0, [r2] cmp r5, r0 bne _080220C0 @@ -40502,7 +40502,7 @@ _080220C0: adds r0, r5 add r0, r12 strb r3, [r0] - ldr r0, _08022148 @ =gUnknown_02024C08 + ldr r0, _08022148 @ =gEnemyMonIndex ldrb r1, [r0] lsls r1, 1 ldr r2, _08022154 @ =0x000160ad @@ -40511,7 +40511,7 @@ _080220C0: ldrh r0, [r4] lsrs r0, 8 strb r0, [r1] - ldr r3, _08022148 @ =gUnknown_02024C08 + ldr r3, _08022148 @ =gEnemyMonIndex ldrb r2, [r3] lsls r2, 2 mov r5, r9 @@ -40540,12 +40540,12 @@ _080220C0: .align 2, 0 _0802212C: .4byte gUnknown_02024C0C _08022130: .4byte gBitTable -_08022134: .4byte gUnknown_02024C07 +_08022134: .4byte gPlayerMonIndex _08022138: .4byte 0x000160a6 _0802213C: .4byte gBattleMoves _08022140: .4byte gUnknown_02024BE8 _08022144: .4byte gUnknown_02024C6C -_08022148: .4byte gUnknown_02024C08 +_08022148: .4byte gEnemyMonIndex _0802214C: .4byte gBattleMoveFlags _08022150: .4byte 0x000160ac _08022154: .4byte 0x000160ad @@ -40553,11 +40553,11 @@ _08022158: .4byte 0x00016100 _0802215C: mov r1, r9 ldrb r0, [r1] - ldr r2, _080221B4 @ =gUnknown_02024C08 + ldr r2, _080221B4 @ =gEnemyMonIndex ldrb r2, [r2] cmp r0, r2 beq _08022244 - ldr r3, _080221B4 @ =gUnknown_02024C08 + ldr r3, _080221B4 @ =gEnemyMonIndex ldrb r0, [r3] lsls r0, 1 ldr r4, _080221B8 @ =0x000160ac @@ -40565,7 +40565,7 @@ _0802215C: add r0, r12 movs r3, 0 strb r3, [r0] - ldr r5, _080221B4 @ =gUnknown_02024C08 + ldr r5, _080221B4 @ =gEnemyMonIndex ldrb r0, [r5] lsls r0, 1 ldr r1, _080221BC @ =0x000160ad @@ -40595,7 +40595,7 @@ _0802215C: strb r3, [r2] b _08022244 .align 2, 0 -_080221B4: .4byte gUnknown_02024C08 +_080221B4: .4byte gEnemyMonIndex _080221B8: .4byte 0x000160ac _080221BC: .4byte 0x000160ad _080221C0: @@ -40613,7 +40613,7 @@ _080221C0: cmp r0, 0 beq _08022244 ldr r1, _080222B8 @ =gUnknown_02024D28 - ldr r0, _080222BC @ =gUnknown_02024C07 + ldr r0, _080222BC @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -40639,7 +40639,7 @@ _080221C0: ands r4, r2 cmp r4, 0 bne _08022244 - ldr r7, _080222C8 @ =gUnknown_02024C08 + ldr r7, _080222C8 @ =gEnemyMonIndex ldrb r0, [r7] bl battle_get_per_side_status movs r1, 0x2 @@ -40726,10 +40726,10 @@ _0802229E: _080222B0: .4byte gUnknown_02024C6C _080222B4: .4byte gBattleTypeFlags _080222B8: .4byte gUnknown_02024D28 -_080222BC: .4byte gUnknown_02024C07 +_080222BC: .4byte gPlayerMonIndex _080222C0: .4byte gBattleMoves _080222C4: .4byte gUnknown_02024BE6 -_080222C8: .4byte gUnknown_02024C08 +_080222C8: .4byte gEnemyMonIndex _080222CC: .4byte gBattleMons _080222D0: .4byte 0x02000000 _080222D4: .4byte 0x0001600c @@ -40753,7 +40753,7 @@ atk4A_damageflags: @ 80222DC ldrb r0, [r0, 0x2] mov r8, r0 ldr r2, _08022348 @ =gBattleMons - ldr r3, _0802234C @ =gUnknown_02024C08 + ldr r3, _0802234C @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -40790,7 +40790,7 @@ atk4A_damageflags: @ 80222DC _08022340: .4byte gBattleMoves _08022344: .4byte gUnknown_02024BE6 _08022348: .4byte gBattleMons -_0802234C: .4byte gUnknown_02024C08 +_0802234C: .4byte gEnemyMonIndex _08022350: .4byte byte_2024C06 _08022354: .4byte gBattleMoveFlags _08022358: .4byte gUnknown_02024C3C @@ -40926,7 +40926,7 @@ _08022432: beq _0802242C _08022452: ldr r2, _08022500 @ =gBattleMons - ldr r0, _08022504 @ =gUnknown_02024C08 + ldr r0, _08022504 @ =gEnemyMonIndex mov r8, r0 ldrb r1, [r0] movs r0, 0x58 @@ -40940,7 +40940,7 @@ _08022452: ands r5, r4 cmp r5, 0 bne _080224CE - ldr r0, _08022508 @ =gUnknown_02024C07 + ldr r0, _08022508 @ =gPlayerMonIndex ldrb r0, [r0] ldr r7, _0802250C @ =gUnknown_02024BE6 ldrh r1, [r7] @@ -40994,7 +40994,7 @@ _080224CE: cmp r0, 0 beq _080224EC ldr r2, _08022524 @ =gUnknown_02024D28 - ldr r0, _08022508 @ =gUnknown_02024C07 + ldr r0, _08022508 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 4 adds r1, r2 @@ -41014,8 +41014,8 @@ _080224EC: bx r0 .align 2, 0 _08022500: .4byte gBattleMons -_08022504: .4byte gUnknown_02024C08 -_08022508: .4byte gUnknown_02024C07 +_08022504: .4byte gEnemyMonIndex +_08022508: .4byte gPlayerMonIndex _0802250C: .4byte gUnknown_02024BE6 _08022510: .4byte gBattleMoves _08022514: .4byte byte_2024C06 @@ -41030,7 +41030,7 @@ _08022528: .4byte gUnknown_02024C10 atk4B_cmd4b: @ 802252C push {r4,lr} ldr r4, _08022568 @ =gUnknown_02024A60 - ldr r0, _0802256C @ =gUnknown_02024C07 + ldr r0, _0802256C @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] ldr r2, _08022570 @ =gUnknown_02024C6C @@ -41059,7 +41059,7 @@ _0802255A: bx r0 .align 2, 0 _08022568: .4byte gUnknown_02024A60 -_0802256C: .4byte gUnknown_02024C07 +_0802256C: .4byte gPlayerMonIndex _08022570: .4byte gUnknown_02024C6C _08022574: .4byte gBitTable _08022578: .4byte gUnknown_02024C10 @@ -42909,7 +42909,7 @@ _080234AA: movs r0, 0x6 strb r0, [r1, 0x1] ldr r4, _0802350C @ =gBattleMons - ldr r3, _08023510 @ =gUnknown_02024C07 + ldr r3, _08023510 @ =gPlayerMonIndex ldrb r0, [r3] movs r2, 0x58 muls r0, r2 @@ -42955,7 +42955,7 @@ _080234FE: .align 2, 0 _08023508: .4byte gUnknown_030041C0 _0802350C: .4byte gBattleMons -_08023510: .4byte gUnknown_02024C07 +_08023510: .4byte gPlayerMonIndex _08023514: .4byte gUnknown_03004290 _08023518: .4byte gUnknown_02024A60 _0802351C: .4byte gUnknown_02024260 @@ -43321,7 +43321,7 @@ _08023808: .4byte gUnknown_02024C10 atk54_802511C: @ 802380C push {r4,r5,lr} ldr r5, _0802383C @ =gUnknown_02024A60 - ldr r0, _08023840 @ =gUnknown_02024C07 + ldr r0, _08023840 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r5] ldr r4, _08023844 @ =gUnknown_02024C10 @@ -43342,7 +43342,7 @@ atk54_802511C: @ 802380C bx r0 .align 2, 0 _0802383C: .4byte gUnknown_02024A60 -_08023840: .4byte gUnknown_02024C07 +_08023840: .4byte gPlayerMonIndex _08023844: .4byte gUnknown_02024C10 thumb_func_end atk54_802511C @@ -43350,7 +43350,7 @@ _08023844: .4byte gUnknown_02024C10 sub_8023848: @ 8023848 push {r4,r5,lr} ldr r5, _08023878 @ =gUnknown_02024A60 - ldr r0, _0802387C @ =gUnknown_02024C07 + ldr r0, _0802387C @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r5] ldr r4, _08023880 @ =gUnknown_02024C10 @@ -43371,7 +43371,7 @@ sub_8023848: @ 8023848 bx r0 .align 2, 0 _08023878: .4byte gUnknown_02024A60 -_0802387C: .4byte gUnknown_02024C07 +_0802387C: .4byte gPlayerMonIndex _08023880: .4byte gUnknown_02024C10 thumb_func_end sub_8023848 @@ -44568,10 +44568,10 @@ _08024244: .4byte gUnknown_02024AA4 atk5F_8025B24: @ 8024248 push {lr} ldr r0, _08024270 @ =gUnknown_02024A60 - ldr r2, _08024274 @ =gUnknown_02024C07 + ldr r2, _08024274 @ =gPlayerMonIndex ldrb r3, [r2] strb r3, [r0] - ldr r1, _08024278 @ =gUnknown_02024C08 + ldr r1, _08024278 @ =gEnemyMonIndex ldrb r0, [r1] strb r0, [r2] strb r3, [r1] @@ -44588,8 +44588,8 @@ atk5F_8025B24: @ 8024248 b _08024286 .align 2, 0 _08024270: .4byte gUnknown_02024A60 -_08024274: .4byte gUnknown_02024C07 -_08024278: .4byte gUnknown_02024C08 +_08024274: .4byte gPlayerMonIndex +_08024278: .4byte gEnemyMonIndex _0802427C: .4byte gUnknown_02024C6C _08024280: .4byte 0xffffefff _08024284: @@ -44609,7 +44609,7 @@ _08024294: .4byte gUnknown_02024C10 thumb_func_start atk60_cmd60 atk60_cmd60: @ 8024298 push {lr} - ldr r0, _080242C0 @ =gUnknown_02024C07 + ldr r0, _080242C0 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -44627,7 +44627,7 @@ _080242B2: pop {r0} bx r0 .align 2, 0 -_080242C0: .4byte gUnknown_02024C07 +_080242C0: .4byte gPlayerMonIndex _080242C4: .4byte gUnknown_02024C10 thumb_func_end atk60_cmd60 @@ -45141,7 +45141,7 @@ _080246D4: .4byte gUnknown_02024A76 atk69_8025FE0: @ 80246D8 push {r4-r7,lr} ldr r7, _08024700 @ =gBattleMons - ldr r6, _08024704 @ =gUnknown_02024C08 + ldr r6, _08024704 @ =gEnemyMonIndex ldrb r2, [r6] movs r5, 0x58 adds r0, r2, 0 @@ -45160,7 +45160,7 @@ atk69_8025FE0: @ 80246D8 b _08024726 .align 2, 0 _08024700: .4byte gBattleMons -_08024704: .4byte gUnknown_02024C08 +_08024704: .4byte gEnemyMonIndex _08024708: .4byte gEnigmaBerries _0802470C: ldrh r0, [r1, 0x2E] @@ -45176,7 +45176,7 @@ _0802470C: lsrs r6, r0, 24 _08024726: ldr r1, _080247E8 @ =gUnknown_02024C0B - ldr r5, _080247EC @ =gUnknown_02024C08 + ldr r5, _080247EC @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r1] cmp r4, 0x27 @@ -45205,7 +45205,7 @@ _08024726: strb r1, [r0] _08024764: ldr r2, _080247F4 @ =gBattleMons - ldr r3, _080247EC @ =gUnknown_02024C08 + ldr r3, _080247EC @ =gEnemyMonIndex ldrb r4, [r3] movs r0, 0x58 muls r0, r4 @@ -45273,7 +45273,7 @@ _080247B6: b _08024834 .align 2, 0 _080247E8: .4byte gUnknown_02024C0B -_080247EC: .4byte gUnknown_02024C08 +_080247EC: .4byte gEnemyMonIndex _080247F0: .4byte gUnknown_02024D68 _080247F4: .4byte gBattleMons _080247F8: .4byte gBattleMoves @@ -45376,7 +45376,7 @@ sub_80248C0: @ 80248C0 strb r0, [r1] movs r0, 0x7 strb r0, [r1, 0x1] - ldr r2, _080248F0 @ =gUnknown_02024C07 + ldr r2, _080248F0 @ =gPlayerMonIndex ldrb r0, [r2] strb r0, [r1, 0x2] ldr r3, _080248F4 @ =gUnknown_02024A6A @@ -45394,7 +45394,7 @@ sub_80248C0: @ 80248C0 bx lr .align 2, 0 _080248EC: .4byte gUnknown_030041C0 -_080248F0: .4byte gUnknown_02024C07 +_080248F0: .4byte gPlayerMonIndex _080248F4: .4byte gUnknown_02024A6A _080248F8: .4byte gUnknown_02024C10 thumb_func_end sub_80248C0 @@ -45824,7 +45824,7 @@ atk6E_state0_side_becomes_attacker: @ 8024C64 push {lr} movs r0, 0 bl battle_get_side_with_given_state - ldr r1, _08024C7C @ =gUnknown_02024C07 + ldr r1, _08024C7C @ =gPlayerMonIndex strb r0, [r1] ldr r1, _08024C80 @ =gUnknown_02024C10 ldr r0, [r1] @@ -45833,7 +45833,7 @@ atk6E_state0_side_becomes_attacker: @ 8024C64 pop {r0} bx r0 .align 2, 0 -_08024C7C: .4byte gUnknown_02024C07 +_08024C7C: .4byte gPlayerMonIndex _08024C80: .4byte gUnknown_02024C10 thumb_func_end atk6E_state0_side_becomes_attacker @@ -46150,7 +46150,7 @@ atk75_8026A58: @ 8024EE8 push {lr} sub sp, 0x4 ldr r2, _08024F28 @ =gUnknown_02024E6C - ldr r1, _08024F2C @ =gUnknown_02024C07 + ldr r1, _08024F2C @ =gPlayerMonIndex ldrb r0, [r1] strb r0, [r2] ldr r2, _08024F30 @ =gUnknown_02024A6A @@ -46179,7 +46179,7 @@ atk75_8026A58: @ 8024EE8 bx r0 .align 2, 0 _08024F28: .4byte gUnknown_02024E6C -_08024F2C: .4byte gUnknown_02024C07 +_08024F2C: .4byte gPlayerMonIndex _08024F30: .4byte gUnknown_02024A6A _08024F34: .4byte gEnemyParty _08024F38: .4byte gUnknown_02024C04 @@ -46227,8 +46227,8 @@ _08024F8C: .align 2, 0 _08024F98: .4byte gUnknown_02024A60 _08024F9C: - ldr r1, _08024FD8 @ =gUnknown_02024C07 - ldr r4, _08024FDC @ =gUnknown_02024C08 + ldr r1, _08024FD8 @ =gPlayerMonIndex + ldr r4, _08024FDC @ =gEnemyMonIndex ldrb r0, [r4] strb r0, [r1] ldrb r0, [r1] @@ -46256,18 +46256,18 @@ _08024F9C: strb r2, [r4] b _08025112 .align 2, 0 -_08024FD8: .4byte gUnknown_02024C07 -_08024FDC: .4byte gUnknown_02024C08 +_08024FD8: .4byte gPlayerMonIndex +_08024FDC: .4byte gEnemyMonIndex _08024FE0: .4byte gUnknown_02024C80 _08024FE4: .4byte gBattleMons _08024FE8: - ldr r0, _08024FF4 @ =gUnknown_02024C08 + ldr r0, _08024FF4 @ =gEnemyMonIndex ldr r1, _08024FF8 @ =gUnknown_02024A60 ldrb r1, [r1] strb r1, [r0] b _08025112 .align 2, 0 -_08024FF4: .4byte gUnknown_02024C08 +_08024FF4: .4byte gEnemyMonIndex _08024FF8: .4byte gUnknown_02024A60 _08024FFC: bl sub_8012028 @@ -46281,12 +46281,12 @@ _0802500C: ldrh r0, [r0] movs r1, 0 bl sub_801B5C0 - ldr r1, _08025020 @ =gUnknown_02024C08 + ldr r1, _08025020 @ =gEnemyMonIndex strb r0, [r1] b _08025112 .align 2, 0 _0802501C: .4byte gUnknown_02024BE6 -_08025020: .4byte gUnknown_02024C08 +_08025020: .4byte gEnemyMonIndex _08025024: ldr r2, _08025044 @ =gUnknown_02024C6C ldr r1, _08025048 @ =gBitTable @@ -46428,7 +46428,7 @@ atk77_setprotect: @ 8025130 push {r7} movs r6, 0x1 ldr r2, _080251FC @ =gUnknown_02024C4C - ldr r1, _08025200 @ =gUnknown_02024C07 + ldr r1, _08025200 @ =gPlayerMonIndex ldrb r3, [r1] lsls r0, r3, 1 adds r0, r2 @@ -46529,7 +46529,7 @@ _080251E6: b _08025246 .align 2, 0 _080251FC: .4byte gUnknown_02024C4C -_08025200: .4byte gUnknown_02024C07 +_08025200: .4byte gPlayerMonIndex _08025204: .4byte gUnknown_02024CA8 _08025208: .4byte gUnknown_02024A7E _0802520C: .4byte gUnknown_02024A68 @@ -46540,7 +46540,7 @@ _0802521C: .4byte gUnknown_02024D28 _08025220: .4byte gUnknown_02024D1E _08025224: ldr r2, _08025258 @ =gUnknown_02024CA8 - ldr r0, _0802525C @ =gUnknown_02024C07 + ldr r0, _0802525C @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -46568,7 +46568,7 @@ _08025246: bx r0 .align 2, 0 _08025258: .4byte gUnknown_02024CA8 -_0802525C: .4byte gUnknown_02024C07 +_0802525C: .4byte gPlayerMonIndex _08025260: .4byte gUnknown_02024D1E _08025264: .4byte gBattleMoveFlags _08025268: .4byte gUnknown_02024C10 @@ -46583,7 +46583,7 @@ atk78_faintifabilitynotdamp: @ 802526C ldr r2, [r0] cmp r2, 0 bne _08025370 - ldr r1, _0802532C @ =gUnknown_02024C08 + ldr r1, _0802532C @ =gEnemyMonIndex strb r2, [r1] ldr r0, _08025330 @ =gUnknown_02024A68 ldrb r3, [r0] @@ -46622,7 +46622,7 @@ _080252B8: cmp r0, r1 bne _08025354 ldr r4, _08025338 @ =gUnknown_02024A60 - ldr r7, _0802533C @ =gUnknown_02024C07 + ldr r7, _0802533C @ =gPlayerMonIndex ldrb r0, [r7] strb r0, [r4] ldr r2, _08025340 @ =gBattleMoveDamage @@ -46674,11 +46674,11 @@ _0802531A: b _08025370 .align 2, 0 _08025328: .4byte gUnknown_02024A64 -_0802532C: .4byte gUnknown_02024C08 +_0802532C: .4byte gEnemyMonIndex _08025330: .4byte gUnknown_02024A68 _08025334: .4byte gBattleMons _08025338: .4byte gUnknown_02024A60 -_0802533C: .4byte gUnknown_02024C07 +_0802533C: .4byte gPlayerMonIndex _08025340: .4byte gBattleMoveDamage _08025344: .4byte 0x00007fff _08025348: .4byte gUnknown_02024C10 @@ -46719,7 +46719,7 @@ atk79_setuserhptozero: @ 8025388 cmp r3, 0 bne _080253CC ldr r4, _080253D8 @ =gUnknown_02024A60 - ldr r0, _080253DC @ =gUnknown_02024C07 + ldr r0, _080253DC @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] ldr r1, _080253E0 @ =gBattleMons @@ -46752,7 +46752,7 @@ _080253CC: .align 2, 0 _080253D4: .4byte gUnknown_02024A64 _080253D8: .4byte gUnknown_02024A60 -_080253DC: .4byte gUnknown_02024C07 +_080253DC: .4byte gPlayerMonIndex _080253E0: .4byte gBattleMons _080253E4: .4byte gUnknown_02024C10 thumb_func_end atk79_setuserhptozero @@ -46779,11 +46779,11 @@ sub_80253E8: @ 80253E8 adds r7, r3, 0 cmp r0, 0 beq _08025480 - ldr r0, _08025468 @ =gUnknown_02024C08 + ldr r0, _08025468 @ =gEnemyMonIndex ldrb r1, [r0] adds r1, 0x1 strb r1, [r0] - ldr r2, _0802546C @ =gUnknown_02024C07 + ldr r2, _0802546C @ =gPlayerMonIndex lsls r1, 24 lsrs r1, 24 adds r3, r0, 0 @@ -46824,8 +46824,8 @@ _0802543E: .align 2, 0 _08025460: .4byte gUnknown_02024C10 _08025464: .4byte gBattleTypeFlags -_08025468: .4byte gUnknown_02024C08 -_0802546C: .4byte gUnknown_02024C07 +_08025468: .4byte gEnemyMonIndex +_0802546C: .4byte gPlayerMonIndex _08025470: .4byte gUnknown_02024C0C _08025474: .4byte gBitTable _08025478: .4byte gUnknown_02024A68 @@ -46857,10 +46857,10 @@ sub_802548C: @ 802548C lsls r0, 24 orrs r2, r0 ldrb r0, [r1, 0x5] - ldr r3, _080254EC @ =gUnknown_02024C08 + ldr r3, _080254EC @ =gEnemyMonIndex cmp r0, 0x1 bne _080254B4 - ldr r0, _080254F0 @ =gUnknown_02024C07 + ldr r0, _080254F0 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r3] _080254B4: @@ -46892,8 +46892,8 @@ _080254CE: b _08025502 .align 2, 0 _080254E8: .4byte gUnknown_02024C10 -_080254EC: .4byte gUnknown_02024C08 -_080254F0: .4byte gUnknown_02024C07 +_080254EC: .4byte gEnemyMonIndex +_080254F0: .4byte gPlayerMonIndex _080254F4: .4byte gBattleMoveDamage _080254F8: .4byte gBattleMons _080254FC: @@ -46910,7 +46910,7 @@ _08025502: sub_8025508: @ 8025508 push {r4-r7,lr} ldr r3, _0802556C @ =0x02000000 - ldr r4, _08025570 @ =gUnknown_02024C07 + ldr r4, _08025570 @ =gPlayerMonIndex ldrb r2, [r4] lsls r1, r2, 1 ldr r5, _08025574 @ =0x000160ac @@ -46959,7 +46959,7 @@ sub_8025508: @ 8025508 b _0802565C .align 2, 0 _0802556C: .4byte 0x02000000 -_08025570: .4byte gUnknown_02024C07 +_08025570: .4byte gPlayerMonIndex _08025574: .4byte 0x000160ac _08025578: .4byte 0x000160ad _0802557C: .4byte 0x00016100 @@ -47004,7 +47004,7 @@ _080255D8: ldrh r0, [r5] movs r1, 0 bl sub_801B5C0 - ldr r1, _08025608 @ =gUnknown_02024C08 + ldr r1, _08025608 @ =gEnemyMonIndex strb r0, [r1] ldr r4, _0802560C @ =gUnknown_02024C10 ldr r3, _08025610 @ =gUnknown_081D6BBC @@ -47022,7 +47022,7 @@ _080255D8: b _080256C0 .align 2, 0 _08025604: .4byte gUnknown_02024BE6 -_08025608: .4byte gUnknown_02024C08 +_08025608: .4byte gEnemyMonIndex _0802560C: .4byte gUnknown_02024C10 _08025610: .4byte gUnknown_081D6BBC _08025614: .4byte gBattleMoves @@ -47062,7 +47062,7 @@ _0802565C: ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _08025694 @ =gUnknown_02024C08 + ldr r1, _08025694 @ =gEnemyMonIndex strb r0, [r1] ldr r5, _08025698 @ =gUnknown_02024C10 ldr r3, _0802569C @ =gUnknown_081D6BBC @@ -47083,7 +47083,7 @@ _08025684: .4byte 0x0000ffff _08025688: .4byte gUnknown_02024C6C _0802568C: .4byte 0xfffffbff _08025690: .4byte gUnknown_02024BE6 -_08025694: .4byte gUnknown_02024C08 +_08025694: .4byte gEnemyMonIndex _08025698: .4byte gUnknown_02024C10 _0802569C: .4byte gUnknown_081D6BBC _080256A0: .4byte gBattleMoves @@ -47158,7 +47158,7 @@ _08025720: .4byte gUnknown_02024C10 thumb_func_start atk7E_setreflect atk7E_setreflect: @ 8025724 push {r4-r6,lr} - ldr r5, _08025754 @ =gUnknown_02024C07 + ldr r5, _08025754 @ =gPlayerMonIndex ldrb r0, [r5] bl battle_get_per_side_status ldr r6, _08025758 @ =gUnknown_02024C7A @@ -47181,7 +47181,7 @@ atk7E_setreflect: @ 8025724 movs r0, 0 b _080257C4 .align 2, 0 -_08025754: .4byte gUnknown_02024C07 +_08025754: .4byte gPlayerMonIndex _08025758: .4byte gUnknown_02024C7A _0802575C: .4byte gBattleMoveFlags _08025760: .4byte gUnknown_02024D1E @@ -47258,7 +47258,7 @@ sub_80257DC: @ 80257DC bne _0802580E ldr r0, _08025820 @ =gUnknown_02024C98 mov r9, r0 - ldr r1, _08025824 @ =gUnknown_02024C08 + ldr r1, _08025824 @ =gEnemyMonIndex mov r8, r1 ldrb r4, [r1] lsls r0, r4, 2 @@ -47282,7 +47282,7 @@ _0802580E: .align 2, 0 _0802581C: .4byte gBattleMoveFlags _08025820: .4byte gUnknown_02024C98 -_08025824: .4byte gUnknown_02024C08 +_08025824: .4byte gEnemyMonIndex _08025828: .4byte gUnknown_02024D1E _0802582C: ldr r1, _08025858 @ =gBattleMons @@ -47311,7 +47311,7 @@ _08025848: _08025858: .4byte gBattleMons _0802585C: .4byte gUnknown_02024D1E _08025860: - ldr r0, _08025890 @ =gUnknown_02024C07 + ldr r0, _08025890 @ =gPlayerMonIndex ldrb r0, [r0] orrs r2, r0 str r2, [r6] @@ -47337,7 +47337,7 @@ _0802587C: pop {r0} bx r0 .align 2, 0 -_08025890: .4byte gUnknown_02024C07 +_08025890: .4byte gPlayerMonIndex _08025894: .4byte gUnknown_02024D1E _08025898: .4byte gUnknown_02024C10 thumb_func_end sub_80257DC @@ -47381,7 +47381,7 @@ _080258CC: str r2, [r3] _080258DE: ldr r2, _080258FC @ =gBattleMons - ldr r0, _08025900 @ =gUnknown_02024C08 + ldr r0, _08025900 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -47396,7 +47396,7 @@ _080258DE: .align 2, 0 _080258F8: .4byte gBattleMoveDamage _080258FC: .4byte gBattleMons -_08025900: .4byte gUnknown_02024C08 +_08025900: .4byte gEnemyMonIndex _08025904: ldr r1, _08025918 @ =gBattleMoveDamage ldr r0, [r1] @@ -47432,8 +47432,8 @@ atk81_setrest: @ 802591C lsls r0, 24 orrs r6, r0 ldr r5, _08025978 @ =gUnknown_02024A60 - ldr r2, _0802597C @ =gUnknown_02024C08 - ldr r0, _08025980 @ =gUnknown_02024C07 + ldr r2, _0802597C @ =gEnemyMonIndex + ldr r0, _08025980 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r2] strb r0, [r5] @@ -47463,8 +47463,8 @@ atk81_setrest: @ 802591C .align 2, 0 _08025974: .4byte gUnknown_02024C10 _08025978: .4byte gUnknown_02024A60 -_0802597C: .4byte gUnknown_02024C08 -_08025980: .4byte gUnknown_02024C07 +_0802597C: .4byte gEnemyMonIndex +_08025980: .4byte gPlayerMonIndex _08025984: .4byte gBattleMoveDamage _08025988: .4byte gBattleMons _0802598C: @@ -47534,7 +47534,7 @@ atk82_jumpifnotfirstturn: @ 80259EC lsls r0, 24 orrs r3, r0 ldr r2, _08025A24 @ =gUnknown_02024CA8 - ldr r0, _08025A28 @ =gUnknown_02024C07 + ldr r0, _08025A28 @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -47549,7 +47549,7 @@ atk82_jumpifnotfirstturn: @ 80259EC .align 2, 0 _08025A20: .4byte gUnknown_02024C10 _08025A24: .4byte gUnknown_02024CA8 -_08025A28: .4byte gUnknown_02024C07 +_08025A28: .4byte gPlayerMonIndex _08025A2C: str r3, [r5] _08025A2E: @@ -47607,7 +47607,7 @@ _08025A70: beq _08025AB0 movs r3, 0 strb r2, [r6] - ldr r1, _08025AAC @ =gUnknown_02024C08 + ldr r1, _08025AAC @ =gEnemyMonIndex ldrb r0, [r1] cmp r0, 0xFF beq _08025AD0 @@ -47621,7 +47621,7 @@ _08025A9C: .4byte gUnknown_02024A68 _08025AA0: .4byte gBattleMons _08025AA4: .4byte 0x02016003 _08025AA8: .4byte gUnknown_02024D1E -_08025AAC: .4byte gUnknown_02024C08 +_08025AAC: .4byte gEnemyMonIndex _08025AB0: adds r3, 0x58 adds r2, 0x1 @@ -47668,7 +47668,7 @@ sub_8025AE0: @ 8025AE0 ldrb r0, [r1, 0x4] lsls r0, 24 orrs r4, r0 - ldr r6, _08025B10 @ =gUnknown_02024C08 + ldr r6, _08025B10 @ =gEnemyMonIndex ldrb r0, [r6] bl sub_8025A44 lsls r0, 24 @@ -47678,7 +47678,7 @@ sub_8025AE0: @ 8025AE0 b _08025B56 .align 2, 0 _08025B0C: .4byte gUnknown_02024C10 -_08025B10: .4byte gUnknown_02024C08 +_08025B10: .4byte gEnemyMonIndex _08025B14: ldr r1, _08025B44 @ =gBattleMons ldrb r3, [r6] @@ -47721,7 +47721,7 @@ _08025B56: sub_8025B5C: @ 8025B5C push {r4,r5,lr} ldr r5, _08025B84 @ =gUnknown_02024CA8 - ldr r4, _08025B88 @ =gUnknown_02024C07 + ldr r4, _08025B88 @ =gPlayerMonIndex ldrb r1, [r4] lsls r0, r1, 3 subs r0, r1 @@ -47741,7 +47741,7 @@ sub_8025B5C: @ 8025B5C b _08025BBE .align 2, 0 _08025B84: .4byte gUnknown_02024CA8 -_08025B88: .4byte gUnknown_02024C07 +_08025B88: .4byte gPlayerMonIndex _08025B8C: .4byte gBattleMoveFlags _08025B90: .4byte gUnknown_02024D1E _08025B94: @@ -47799,7 +47799,7 @@ atk86_stockpiletobasedamage: @ 8025BD8 lsls r0, 24 orrs r2, r0 ldr r7, _08025C14 @ =gUnknown_02024CA8 - ldr r6, _08025C18 @ =gUnknown_02024C07 + ldr r6, _08025C18 @ =gPlayerMonIndex ldrb r1, [r6] lsls r0, r1, 3 subs r0, r1 @@ -47813,7 +47813,7 @@ atk86_stockpiletobasedamage: @ 8025BD8 .align 2, 0 _08025C10: .4byte gUnknown_02024C10 _08025C14: .4byte gUnknown_02024CA8 -_08025C18: .4byte gUnknown_02024C07 +_08025C18: .4byte gPlayerMonIndex _08025C1C: ldr r0, _08025CD0 @ =gUnknown_02024D1E ldrb r0, [r0, 0x6] @@ -47822,7 +47822,7 @@ _08025C1C: ldr r0, _08025CD4 @ =gBattleMoveDamage mov r8, r0 ldr r4, _08025CD8 @ =gUnknown_02024C7A - ldr r5, _08025CDC @ =gUnknown_02024C08 + ldr r5, _08025CDC @ =gEnemyMonIndex ldrb r0, [r5] bl battle_get_per_side_status movs r1, 0x1 @@ -47884,7 +47884,7 @@ _08025C1C: str r0, [r1] _08025CA8: ldr r2, _08025CF4 @ =gUnknown_02024CA8 - ldr r0, _08025CF8 @ =gUnknown_02024C07 + ldr r0, _08025CF8 @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -47907,14 +47907,14 @@ _08025CC2: _08025CD0: .4byte gUnknown_02024D1E _08025CD4: .4byte gBattleMoveDamage _08025CD8: .4byte gUnknown_02024C7A -_08025CDC: .4byte gUnknown_02024C08 +_08025CDC: .4byte gEnemyMonIndex _08025CE0: .4byte gBattleMons _08025CE4: .4byte gUnknown_02024BE6 _08025CE8: .4byte 0x02000000 _08025CEC: .4byte 0x00016002 _08025CF0: .4byte gUnknown_02024D28 _08025CF4: .4byte gUnknown_02024CA8 -_08025CF8: .4byte gUnknown_02024C07 +_08025CF8: .4byte gPlayerMonIndex _08025CFC: .4byte gUnknown_02024C10 thumb_func_end atk86_stockpiletobasedamage @@ -47937,7 +47937,7 @@ sub_8025D00: @ 8025D00 orrs r2, r0 ldr r0, _08025D44 @ =gUnknown_02024CA8 mov r8, r0 - ldr r6, _08025D48 @ =gUnknown_02024C07 + ldr r6, _08025D48 @ =gPlayerMonIndex ldrb r3, [r6] lsls r0, r3, 3 subs r0, r3 @@ -47954,7 +47954,7 @@ sub_8025D00: @ 8025D00 .align 2, 0 _08025D40: .4byte gUnknown_02024C10 _08025D44: .4byte gUnknown_02024CA8 -_08025D48: .4byte gUnknown_02024C07 +_08025D48: .4byte gPlayerMonIndex _08025D4C: .4byte gUnknown_02024D1E _08025D50: ldr r1, _08025D74 @ =gBattleMons @@ -47968,7 +47968,7 @@ _08025D50: movs r0, 0 strb r0, [r4, 0x9] str r2, [r7] - ldr r1, _08025D78 @ =gUnknown_02024C08 + ldr r1, _08025D78 @ =gEnemyMonIndex ldrb r0, [r6] strb r0, [r1] ldr r1, _08025D7C @ =gUnknown_02024D1E @@ -47977,7 +47977,7 @@ _08025D50: b _08025DD0 .align 2, 0 _08025D74: .4byte gBattleMons -_08025D78: .4byte gUnknown_02024C08 +_08025D78: .4byte gEnemyMonIndex _08025D7C: .4byte gUnknown_02024D1E _08025D80: ldr r5, _08025DDC @ =gBattleMoveDamage @@ -48017,7 +48017,7 @@ _08025D9C: ldr r0, [r7] adds r0, 0x5 str r0, [r7] - ldr r1, _08025DE8 @ =gUnknown_02024C08 + ldr r1, _08025DE8 @ =gEnemyMonIndex ldrb r0, [r6] strb r0, [r1] _08025DD0: @@ -48030,7 +48030,7 @@ _08025DD0: _08025DDC: .4byte gBattleMoveDamage _08025DE0: .4byte 0x02000000 _08025DE4: .4byte 0x00016002 -_08025DE8: .4byte gUnknown_02024C08 +_08025DE8: .4byte gEnemyMonIndex thumb_func_end sub_8025D00 thumb_func_start atk88_negativedamage @@ -48084,14 +48084,14 @@ sub_8025E20: @ 8025E20 cmp r0, 0 beq _08025E54 ldr r0, _08025E4C @ =gUnknown_02024A60 - ldr r1, _08025E50 @ =gUnknown_02024C07 + ldr r1, _08025E50 @ =gPlayerMonIndex b _08025E58 .align 2, 0 _08025E4C: .4byte gUnknown_02024A60 -_08025E50: .4byte gUnknown_02024C07 +_08025E50: .4byte gPlayerMonIndex _08025E54: ldr r0, _08025EF8 @ =gUnknown_02024A60 - ldr r1, _08025EFC @ =gUnknown_02024C08 + ldr r1, _08025EFC @ =gEnemyMonIndex _08025E58: ldrb r1, [r1] strb r1, [r0] @@ -48177,7 +48177,7 @@ _08025EAC: b _08025F74 .align 2, 0 _08025EF8: .4byte gUnknown_02024A60 -_08025EFC: .4byte gUnknown_02024C08 +_08025EFC: .4byte gEnemyMonIndex _08025F00: .4byte gUnknown_030041C0 _08025F04: .4byte gUnknown_02024C80 _08025F08: .4byte gUnknown_02024BE6 @@ -48476,7 +48476,7 @@ _08026156: cmp r0, 0 beq _08026206 movs r1, 0 - ldr r0, _080261A8 @ =gUnknown_02024C08 + ldr r0, _080261A8 @ =gEnemyMonIndex ldrb r0, [r0] ldr r3, _080261AC @ =gUnknown_02024D1E mov r8, r3 @@ -48490,7 +48490,7 @@ _0802619A: .align 2, 0 _080261A0: .4byte gUnknown_02024A60 _080261A4: .4byte gUnknown_03004290 -_080261A8: .4byte gUnknown_02024C08 +_080261A8: .4byte gEnemyMonIndex _080261AC: .4byte gUnknown_02024D1E _080261B0: asrs r6, r0, 28 @@ -48550,7 +48550,7 @@ _08026218: .4byte gUnknown_02024A60 _0802621C: .4byte gUnknown_02024D1E _08026220: movs r1, 0 - ldr r0, _080262B4 @ =gUnknown_02024C08 + ldr r0, _080262B4 @ =gEnemyMonIndex ldrb r0, [r0] ldr r2, _080262B8 @ =gUnknown_02024D1E mov r8, r2 @@ -48630,7 +48630,7 @@ _080262A4: pop {r1} bx r1 .align 2, 0 -_080262B4: .4byte gUnknown_02024C08 +_080262B4: .4byte gEnemyMonIndex _080262B8: .4byte gUnknown_02024D1E _080262BC: .4byte gUnknown_02024A60 _080262C0: .4byte gBattleMoveFlags @@ -48729,7 +48729,7 @@ _08026368: .4byte gBattleMons atk8B_setbide: @ 802636C push {r4,r5,lr} ldr r4, _080263C4 @ =gBattleMons - ldr r3, _080263C8 @ =gUnknown_02024C07 + ldr r3, _080263C8 @ =gPlayerMonIndex ldrb r0, [r3] movs r5, 0x58 adds r2, r0, 0 @@ -48772,7 +48772,7 @@ atk8B_setbide: @ 802636C bx r0 .align 2, 0 _080263C4: .4byte gBattleMons -_080263C8: .4byte gUnknown_02024C07 +_080263C8: .4byte gPlayerMonIndex _080263CC: .4byte gUnknown_02024C54 _080263D0: .4byte gUnknown_02024BE6 _080263D4: .4byte gUnknown_02024BF4 @@ -48783,7 +48783,7 @@ _080263D8: .4byte gUnknown_02024C10 atk8C_confuseifrepeatingattackends: @ 80263DC push {lr} ldr r1, _0802640C @ =gBattleMons - ldr r0, _08026410 @ =gUnknown_02024C07 + ldr r0, _08026410 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -48807,7 +48807,7 @@ _080263FE: bx r0 .align 2, 0 _0802640C: .4byte gBattleMons -_08026410: .4byte gUnknown_02024C07 +_08026410: .4byte gPlayerMonIndex _08026414: .4byte gUnknown_02024D1E _08026418: .4byte gUnknown_02024C10 thumb_func_end atk8C_confuseifrepeatingattackends @@ -48898,14 +48898,14 @@ _080264BC: .4byte gUnknown_02024C10 sub_80264C0: @ 80264C0 push {r4-r7,lr} ldr r6, _080264F4 @ =gBattleMons - ldr r7, _080264F8 @ =gUnknown_02024C07 + ldr r7, _080264F8 @ =gPlayerMonIndex ldrb r0, [r7] movs r5, 0x58 adds r1, r0, 0 muls r1, r5 adds r1, r6 adds r1, 0x2A - ldr r4, _080264FC @ =gUnknown_02024C08 + ldr r4, _080264FC @ =gEnemyMonIndex ldrb r3, [r4] adds r0, r3, 0 muls r0, r5 @@ -48924,8 +48924,8 @@ sub_80264C0: @ 80264C0 b _08026568 .align 2, 0 _080264F4: .4byte gBattleMons -_080264F8: .4byte gUnknown_02024C07 -_080264FC: .4byte gUnknown_02024C08 +_080264F8: .4byte gPlayerMonIndex +_080264FC: .4byte gEnemyMonIndex _08026500: .4byte 0x02000000 _08026504: .4byte 0x00016064 _08026508: .4byte gUnknown_02024A6A @@ -49009,7 +49009,7 @@ sub_8026590: @ 8026590 bne _080265A4 b _0802687C _080265A4: - ldr r5, _0802662C @ =gUnknown_02024C08 + ldr r5, _0802662C @ =gEnemyMonIndex ldrb r0, [r5] bl battle_side_get_owner lsls r0, 24 @@ -49075,7 +49075,7 @@ _0802661A: b _08026678 .align 2, 0 _08026628: .4byte gBattleTypeFlags -_0802662C: .4byte gUnknown_02024C08 +_0802662C: .4byte gEnemyMonIndex _08026630: .4byte gEnemyParty _08026634: .4byte gPlayerParty _08026638: @@ -49171,7 +49171,7 @@ _080266DC: bl __umodsi3 lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _08026714 @ =gUnknown_02024C08 + ldr r0, _08026714 @ =gEnemyMonIndex ldrb r0, [r0] bl sub_803FC34 lsls r0, 24 @@ -49187,12 +49187,12 @@ _080266DC: b _0802671A .align 2, 0 _08026710: .4byte gBattleTypeFlags -_08026714: .4byte gUnknown_02024C08 +_08026714: .4byte gEnemyMonIndex _08026718: adds r5, r6, 0 _0802671A: ldr r4, _0802676C @ =gUnknown_02024A6A - ldr r0, _08026770 @ =gUnknown_02024C08 + ldr r0, _08026770 @ =gEnemyMonIndex ldrb r2, [r0] lsls r1, r2, 1 adds r1, r4 @@ -49230,7 +49230,7 @@ _0802671A: b _08026832 .align 2, 0 _0802676C: .4byte gUnknown_02024A6A -_08026770: .4byte gUnknown_02024C08 +_08026770: .4byte gEnemyMonIndex _08026774: movs r0, 0x1 ands r0, r1 @@ -49245,7 +49245,7 @@ _0802677E: bl __umodsi3 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080267E0 @ =gUnknown_02024C08 + ldr r0, _080267E0 @ =gEnemyMonIndex ldrb r1, [r0] lsls r0, r1, 1 adds r0, r6 @@ -49282,7 +49282,7 @@ _0802677E: b _08026832 .align 2, 0 _080267DC: .4byte gUnknown_02024A6A -_080267E0: .4byte gUnknown_02024C08 +_080267E0: .4byte gEnemyMonIndex _080267E4: ldr r6, _0802686C @ =gUnknown_02024A6A _080267E6: @@ -49293,7 +49293,7 @@ _080267E6: bl __umodsi3 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _08026870 @ =gUnknown_02024C08 + ldr r0, _08026870 @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 1 adds r0, r6 @@ -49321,7 +49321,7 @@ _080267E6: beq _080267E6 _08026832: ldr r0, _08026874 @ =0x02000000 - ldr r4, _08026870 @ =gUnknown_02024C08 + ldr r4, _08026870 @ =gEnemyMonIndex ldrb r1, [r4] ldr r2, _08026878 @ =0x00016068 adds r1, r2 @@ -49347,7 +49347,7 @@ _08026850: b _08026880 .align 2, 0 _0802686C: .4byte gUnknown_02024A6A -_08026870: .4byte gUnknown_02024C08 +_08026870: .4byte gEnemyMonIndex _08026874: .4byte 0x02000000 _08026878: .4byte 0x00016068 _0802687C: @@ -49369,7 +49369,7 @@ sub_802688C: @ 802688C push {r5-r7} movs r6, 0 ldr r2, _08026920 @ =gBattleMons - ldr r3, _08026924 @ =gUnknown_02024C07 + ldr r3, _08026924 @ =gPlayerMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -49404,7 +49404,7 @@ _080268CE: mov r10, r0 ldr r5, _08026920 @ =gBattleMons mov r12, r5 - ldr r7, _08026924 @ =gUnknown_02024C07 + ldr r7, _08026924 @ =gPlayerMonIndex ldrb r0, [r7] movs r4, 0x58 adds r5, r0, 0 @@ -49441,7 +49441,7 @@ _0802691A: b _0802692E .align 2, 0 _08026920: .4byte gBattleMons -_08026924: .4byte gUnknown_02024C07 +_08026924: .4byte gPlayerMonIndex _08026928: .4byte gBattleMoves _0802692C: movs r2, 0 @@ -49495,7 +49495,7 @@ _0802697A: bcs _0802697A ldr r4, _080269D0 @ =gBattleMons lsls r1, r3, 1 - ldr r3, _080269D4 @ =gUnknown_02024C07 + ldr r3, _080269D4 @ =gPlayerMonIndex ldrb r2, [r3] movs r0, 0x58 adds r5, r2, 0 @@ -49532,7 +49532,7 @@ _080269C8: .align 2, 0 _080269CC: .4byte gBattleMoves _080269D0: .4byte gBattleMons -_080269D4: .4byte gUnknown_02024C07 +_080269D4: .4byte gPlayerMonIndex _080269D8: movs r2, 0 _080269DA: @@ -49651,7 +49651,7 @@ _08026ABC: .4byte gUnknown_02024C10 thumb_func_start atk92_setlightscreen atk92_setlightscreen: @ 8026AC0 push {r4-r6,lr} - ldr r4, _08026AF0 @ =gUnknown_02024C07 + ldr r4, _08026AF0 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_get_per_side_status ldr r6, _08026AF4 @ =gUnknown_02024C7A @@ -49674,7 +49674,7 @@ atk92_setlightscreen: @ 8026AC0 movs r0, 0 b _08026B60 .align 2, 0 -_08026AF0: .4byte gUnknown_02024C07 +_08026AF0: .4byte gPlayerMonIndex _08026AF4: .4byte gUnknown_02024C7A _08026AF8: .4byte gBattleMoveFlags _08026AFC: .4byte gUnknown_02024D1E @@ -49744,7 +49744,7 @@ sub_8026B78: @ 8026B78 mov r5, r8 push {r5-r7} ldr r7, _08026BA8 @ =gBattleMons - ldr r6, _08026BAC @ =gUnknown_02024C08 + ldr r6, _08026BAC @ =gEnemyMonIndex ldrb r2, [r6] movs r5, 0x58 adds r0, r2, 0 @@ -49763,7 +49763,7 @@ sub_8026B78: @ 8026B78 b _08026BCE .align 2, 0 _08026BA8: .4byte gBattleMons -_08026BAC: .4byte gUnknown_02024C08 +_08026BAC: .4byte gEnemyMonIndex _08026BB0: .4byte gEnigmaBerries _08026BB4: ldrh r0, [r1, 0x2E] @@ -49779,7 +49779,7 @@ _08026BB4: lsrs r6, r0, 24 _08026BCE: ldr r1, _08026C4C @ =gUnknown_02024C0B - ldr r5, _08026C50 @ =gUnknown_02024C08 + ldr r5, _08026C50 @ =gEnemyMonIndex ldrb r0, [r5] strb r0, [r1] cmp r4, 0x27 @@ -49809,7 +49809,7 @@ _08026BCE: _08026C0C: ldr r0, _08026C58 @ =gBattleMons mov r8, r0 - ldr r1, _08026C50 @ =gUnknown_02024C08 + ldr r1, _08026C50 @ =gEnemyMonIndex ldrb r2, [r1] movs r6, 0x58 adds r0, r2, 0 @@ -49832,14 +49832,14 @@ _08026C0C: ldr r1, _08026C64 @ =gUnknown_02024C10 ldr r0, _08026C68 @ =gUnknown_081D9826 str r0, [r1] - ldr r1, _08026C50 @ =gUnknown_02024C08 + ldr r1, _08026C50 @ =gEnemyMonIndex ldrb r0, [r1] movs r1, 0x5 bl sub_81074C4 b _08026E40 .align 2, 0 _08026C4C: .4byte gUnknown_02024C0B -_08026C50: .4byte gUnknown_02024C08 +_08026C50: .4byte gEnemyMonIndex _08026C54: .4byte gUnknown_02024D68 _08026C58: .4byte gBattleMons _08026C5C: .4byte gBattleMoveFlags @@ -49862,7 +49862,7 @@ _08026C6C: adds r2, r0 lsls r2, 2 adds r2, r1 - ldr r7, _08026CEC @ =gUnknown_02024C07 + ldr r7, _08026CEC @ =gPlayerMonIndex ldrb r0, [r7] muls r0, r6 add r0, r10 @@ -49891,7 +49891,7 @@ _08026C6C: muls r1, r6 add r1, r10 adds r1, 0x2A - ldr r2, _08026CF0 @ =gUnknown_02024C08 + ldr r2, _08026CF0 @ =gEnemyMonIndex ldrb r0, [r2] muls r0, r6 add r0, r10 @@ -49908,15 +49908,15 @@ _08026CDC: _08026CE0: .4byte gUnknown_02024C98 _08026CE4: .4byte gBattleMoves _08026CE8: .4byte gUnknown_02024BE6 -_08026CEC: .4byte gUnknown_02024C07 -_08026CF0: .4byte gUnknown_02024C08 +_08026CEC: .4byte gPlayerMonIndex +_08026CF0: .4byte gEnemyMonIndex _08026CF4: ldr r0, _08026D4C @ =gUnknown_02024CA8 lsls r1, r2, 3 subs r1, r2 lsls r1, 2 adds r1, r0 - ldr r2, _08026D50 @ =gUnknown_02024C07 + ldr r2, _08026D50 @ =gPlayerMonIndex ldrb r0, [r1, 0x15] movs r4, 0 ldrb r3, [r2] @@ -49937,7 +49937,7 @@ _08026D20: cmp r4, 0 beq _08026DE0 ldr r0, _08026D54 @ =gUnknown_02024D28 - ldr r1, _08026D58 @ =gUnknown_02024C08 + ldr r1, _08026D58 @ =gEnemyMonIndex ldrb r2, [r1] lsls r1, r2, 4 adds r1, r0 @@ -49958,9 +49958,9 @@ _08026D20: b _08026DC6 .align 2, 0 _08026D4C: .4byte gUnknown_02024CA8 -_08026D50: .4byte gUnknown_02024C07 +_08026D50: .4byte gPlayerMonIndex _08026D54: .4byte gUnknown_02024D28 -_08026D58: .4byte gUnknown_02024C08 +_08026D58: .4byte gEnemyMonIndex _08026D5C: .4byte gBattleMoveDamage _08026D60: .4byte gBattleMoveFlags _08026D64: @@ -49987,7 +49987,7 @@ _08026D64: orrs r0, r1 strb r0, [r2] ldr r1, _08026DAC @ =gUnknown_02024C04 - ldr r2, _08026DB0 @ =gUnknown_02024C08 + ldr r2, _08026DB0 @ =gEnemyMonIndex ldrb r0, [r2] muls r0, r3 add r0, r10 @@ -49999,7 +49999,7 @@ _08026DA0: .4byte gUnknown_02024D68 _08026DA4: .4byte gBattleMoveDamage _08026DA8: .4byte gBattleMoveFlags _08026DAC: .4byte gUnknown_02024C04 -_08026DB0: .4byte gUnknown_02024C08 +_08026DB0: .4byte gEnemyMonIndex _08026DB4: ldr r1, _08026DD4 @ =gBattleMoveDamage movs r0, 0x58 @@ -50029,14 +50029,14 @@ _08026DE0: movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r0, _08026E14 @ =gUnknown_02024C07 + ldr r0, _08026E14 @ =gPlayerMonIndex ldrb r0, [r0] movs r2, 0x58 adds r1, r0, 0 muls r1, r2 add r1, r10 adds r1, 0x2A - ldr r3, _08026E18 @ =gUnknown_02024C08 + ldr r3, _08026E18 @ =gEnemyMonIndex ldrb r0, [r3] muls r0, r2 add r0, r10 @@ -50050,8 +50050,8 @@ _08026DE0: b _08026E24 .align 2, 0 _08026E10: .4byte gBattleMoveFlags -_08026E14: .4byte gUnknown_02024C07 -_08026E18: .4byte gUnknown_02024C08 +_08026E14: .4byte gPlayerMonIndex +_08026E18: .4byte gEnemyMonIndex _08026E1C: .4byte gUnknown_02024D1E _08026E20: ldr r1, _08026E50 @ =gUnknown_02024D1E @@ -50089,7 +50089,7 @@ atk94_gethalfcurrentenemyhp: @ 8026E58 push {lr} ldr r3, _08026E84 @ =gBattleMoveDamage ldr r2, _08026E88 @ =gBattleMons - ldr r0, _08026E8C @ =gUnknown_02024C08 + ldr r0, _08026E8C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -50111,7 +50111,7 @@ _08026E76: .align 2, 0 _08026E84: .4byte gBattleMoveDamage _08026E88: .4byte gBattleMons -_08026E8C: .4byte gUnknown_02024C08 +_08026E8C: .4byte gEnemyMonIndex _08026E90: .4byte gUnknown_02024C10 thumb_func_end atk94_gethalfcurrentenemyhp @@ -50193,7 +50193,7 @@ _08026F20: movs r0, 0x18 ands r0, r1 adds r4, r2, 0 - ldr r5, _08026F98 @ =gUnknown_02024C07 + ldr r5, _08026F98 @ =gPlayerMonIndex cmp r0, 0 beq _08026FAE ldr r0, _08026F9C @ =gBattleMons @@ -50247,7 +50247,7 @@ _08026F20: b _08026FAC .align 2, 0 _08026F94: .4byte gBattleWeather -_08026F98: .4byte gUnknown_02024C07 +_08026F98: .4byte gPlayerMonIndex _08026F9C: .4byte gBattleMons _08026FA0: .4byte gUnknown_02024C98 _08026FA4: .4byte gBattleMoveDamage @@ -50315,7 +50315,7 @@ _0802701C: ldr r1, _08027050 @ =gBattleMoveDamage movs r0, 0 str r0, [r1] - ldr r5, _08027054 @ =gUnknown_02024C07 + ldr r5, _08027054 @ =gPlayerMonIndex _08027024: ldr r0, _08027058 @ =gUnknown_02024C0C ldrb r1, [r0] @@ -50341,7 +50341,7 @@ _0802703E: bx r0 .align 2, 0 _08027050: .4byte gBattleMoveDamage -_08027054: .4byte gUnknown_02024C07 +_08027054: .4byte gPlayerMonIndex _08027058: .4byte gUnknown_02024C0C _0802705C: .4byte gBitTable _08027060: .4byte gUnknown_02024C10 @@ -50354,7 +50354,7 @@ sub_8027064: @ 8027064 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r4, _08027090 @ =gUnknown_02024C07 + ldr r4, _08027090 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -50370,7 +50370,7 @@ sub_8027064: @ 8027064 ldr r0, _08027098 @ =gPlayerParty b _080270AC .align 2, 0 -_08027090: .4byte gUnknown_02024C07 +_08027090: .4byte gPlayerMonIndex _08027094: .4byte gUnknown_02024A6A _08027098: .4byte gPlayerParty _0802709C: @@ -50384,7 +50384,7 @@ _0802709C: ldr r0, _080270D4 @ =gEnemyParty _080270AC: adds r5, r1, r0 - ldr r4, _080270D8 @ =gUnknown_02024C08 + ldr r4, _080270D8 @ =gEnemyMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -50402,7 +50402,7 @@ _080270AC: .align 2, 0 _080270D0: .4byte gUnknown_02024A6A _080270D4: .4byte gEnemyParty -_080270D8: .4byte gUnknown_02024C08 +_080270D8: .4byte gEnemyMonIndex _080270DC: .4byte gPlayerParty _080270E0: ldr r1, _0802714C @ =gUnknown_02024A6A @@ -50435,7 +50435,7 @@ _080270F0: movs r1, 0 bl GetMonData adds r7, r0, 0 - ldr r5, _08027154 @ =gUnknown_02024C08 + ldr r5, _08027154 @ =gEnemyMonIndex ldrb r0, [r5] movs r6, 0x58 muls r0, r6 @@ -50457,7 +50457,7 @@ _080270F0: .align 2, 0 _0802714C: .4byte gUnknown_02024A6A _08027150: .4byte gEnemyParty -_08027154: .4byte gUnknown_02024C08 +_08027154: .4byte gEnemyMonIndex _08027158: .4byte gBattleMons _0802715C: .4byte gUnknown_02024C10 _08027160: .4byte gUnknown_081D98C9 @@ -50534,7 +50534,7 @@ _080271F8: muls r2, r6 adds r2, r4 ldr r1, _0802722C @ =gBitTable - ldr r0, _08027230 @ =gUnknown_02024C07 + ldr r0, _08027230 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 2 adds r0, r1 @@ -50557,7 +50557,7 @@ _0802721C: bx r0 .align 2, 0 _0802722C: .4byte gBitTable -_08027230: .4byte gUnknown_02024C07 +_08027230: .4byte gPlayerMonIndex _08027234: .4byte gUnknown_02024C10 thumb_func_end sub_8027064 @@ -50603,7 +50603,7 @@ _08027288: .4byte gUnknown_02024A60 _0802728C: .4byte gBattleMons _08027290: ldr r4, _0802732C @ =gUnknown_02024A60 - ldr r5, _08027330 @ =gUnknown_02024C07 + ldr r5, _08027330 @ =gPlayerMonIndex ldrb r0, [r5] strb r0, [r4] ldr r6, _08027334 @ =gUnknown_02024C0C @@ -50678,7 +50678,7 @@ _08027324: bx r0 .align 2, 0 _0802732C: .4byte gUnknown_02024A60 -_08027330: .4byte gUnknown_02024C07 +_08027330: .4byte gPlayerMonIndex _08027334: .4byte gUnknown_02024C0C _08027338: .4byte gBitTable _0802733C: .4byte gBattleMons @@ -50690,7 +50690,7 @@ _08027344: .4byte gUnknown_02024C10 sub_8027348: @ 8027348 push {r4-r6,lr} ldr r6, _08027378 @ =gUnknown_02024C80 - ldr r4, _0802737C @ =gUnknown_02024C07 + ldr r4, _0802737C @ =gPlayerMonIndex ldrb r0, [r4] bl battle_get_per_side_status movs r5, 0x1 @@ -50713,7 +50713,7 @@ sub_8027348: @ 8027348 b _080273C0 .align 2, 0 _08027378: .4byte gUnknown_02024C80 -_0802737C: .4byte gUnknown_02024C07 +_0802737C: .4byte gPlayerMonIndex _08027380: .4byte gBattleMoveFlags _08027384: .4byte gUnknown_02024D1E _08027388: @@ -50761,7 +50761,7 @@ _080273D8: .4byte gUnknown_02024C10 atk9A_setincreasedcriticalchance: @ 80273DC push {lr} ldr r1, _0802740C @ =gBattleMons - ldr r0, _08027410 @ =gUnknown_02024C07 + ldr r0, _08027410 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -50785,7 +50785,7 @@ atk9A_setincreasedcriticalchance: @ 80273DC b _08027424 .align 2, 0 _0802740C: .4byte gBattleMons -_08027410: .4byte gUnknown_02024C07 +_08027410: .4byte gPlayerMonIndex _08027414: .4byte gBattleMoveFlags _08027418: .4byte gUnknown_02024D1E _0802741C: @@ -50819,7 +50819,7 @@ atk9B_transformdataexecution: @ 8027438 adds r0, 0x1 str r0, [r1] ldr r7, _0802749C @ =gBattleMons - ldr r0, _080274A0 @ =gUnknown_02024C08 + ldr r0, _080274A0 @ =gEnemyMonIndex mov r12, r0 ldrb r1, [r0] movs r6, 0x58 @@ -50856,13 +50856,13 @@ _08027490: .4byte gUnknown_02024BE8 _08027494: .4byte 0x0000ffff _08027498: .4byte gUnknown_02024C10 _0802749C: .4byte gBattleMons -_080274A0: .4byte gUnknown_02024C08 +_080274A0: .4byte gEnemyMonIndex _080274A4: .4byte gUnknown_02024C98 _080274A8: .4byte 0x000400c0 _080274AC: .4byte gBattleMoveFlags _080274B0: .4byte gUnknown_02024D1E _080274B4: - ldr r3, _08027588 @ =gUnknown_02024C07 + ldr r3, _08027588 @ =gPlayerMonIndex ldrb r0, [r3] adds r1, r0, 0 muls r1, r6 @@ -50970,7 +50970,7 @@ _08027564: adds r0, r5 b _080275A6 .align 2, 0 -_08027588: .4byte gUnknown_02024C07 +_08027588: .4byte gPlayerMonIndex _0802758C: .4byte gUnknown_02024CA8 _08027590: .4byte gUnknown_030041C0 _08027594: .4byte gUnknown_02024A60 @@ -51011,7 +51011,7 @@ _080275D4: .4byte gUnknown_02024D1E sub_80275D8: @ 80275D8 push {r4-r7,lr} ldr r7, _08027608 @ =gBattleMons - ldr r6, _0802760C @ =gUnknown_02024C07 + ldr r6, _0802760C @ =gPlayerMonIndex ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -51035,7 +51035,7 @@ _080275F2: b _0802766C .align 2, 0 _08027608: .4byte gBattleMons -_0802760C: .4byte gUnknown_02024C07 +_0802760C: .4byte gPlayerMonIndex _08027610: .4byte gBattleMoveDamage _08027614: .4byte gUnknown_02024D1E _08027618: @@ -51151,7 +51151,7 @@ atk9D_copyattack: @ 80276DC adds r7, r1, 0 strh r7, [r0] ldr r5, _0802775C @ =gUnknown_02024C34 - ldr r6, _08027760 @ =gUnknown_02024C08 + ldr r6, _08027760 @ =gEnemyMonIndex ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -51161,7 +51161,7 @@ atk9D_copyattack: @ 80276DC cmp r0, 0 bne _08027736 ldr r3, _08027764 @ =gBattleMons - ldr r2, _08027768 @ =gUnknown_02024C07 + ldr r2, _08027768 @ =gPlayerMonIndex ldrb r1, [r2] movs r0, 0x58 adds r4, r1, 0 @@ -51204,9 +51204,9 @@ _08027736: _08027754: .4byte gUnknown_02024BE8 _08027758: .4byte 0x0000ffff _0802775C: .4byte gUnknown_02024C34 -_08027760: .4byte gUnknown_02024C08 +_08027760: .4byte gEnemyMonIndex _08027764: .4byte gBattleMons -_08027768: .4byte gUnknown_02024C07 +_08027768: .4byte gPlayerMonIndex _0802776C: .4byte gUnknown_02024C10 _08027770: movs r2, 0 @@ -51254,7 +51254,7 @@ _080277AA: adds r0, 0xC adds r1, r0 ldr r2, _08027808 @ =gUnknown_02024C34 - ldr r3, _0802780C @ =gUnknown_02024C08 + ldr r3, _0802780C @ =gEnemyMonIndex ldrb r0, [r3] lsls r0, 1 adds r0, r2 @@ -51286,7 +51286,7 @@ _080277AA: _08027800: .4byte gUnknown_02024C10 _08027804: .4byte gUnknown_02024BE4 _08027808: .4byte gUnknown_02024C34 -_0802780C: .4byte gUnknown_02024C08 +_0802780C: .4byte gEnemyMonIndex _08027810: .4byte gBattleMoves _08027814: mov r4, r9 @@ -51433,7 +51433,7 @@ _080278F8: ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _0802795C @ =gUnknown_02024C08 + ldr r1, _0802795C @ =gEnemyMonIndex strb r0, [r1] pop {r3} mov r8, r3 @@ -51450,14 +51450,14 @@ _0802794C: .4byte gUnknown_02024C6C _08027950: .4byte 0xfffffbff _08027954: .4byte gUnknown_081D6BBC _08027958: .4byte gBattleMoves -_0802795C: .4byte gUnknown_02024C08 +_0802795C: .4byte gEnemyMonIndex thumb_func_end sub_80278B8 thumb_func_start sub_8027960 sub_8027960: @ 8027960 ldr r3, _08027980 @ =gBattleMoveDamage ldr r2, _08027984 @ =gBattleMons - ldr r0, _08027988 @ =gUnknown_02024C07 + ldr r0, _08027988 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -51473,7 +51473,7 @@ sub_8027960: @ 8027960 .align 2, 0 _08027980: .4byte gBattleMoveDamage _08027984: .4byte gBattleMons -_08027988: .4byte gUnknown_02024C07 +_08027988: .4byte gPlayerMonIndex _0802798C: .4byte gUnknown_02024C10 thumb_func_end sub_8027960 @@ -51492,7 +51492,7 @@ _08027994: lsls r3, r0, 1 ldr r4, _080279D4 @ =gBattleMoveDamage ldr r2, _080279D8 @ =gBattleMons - ldr r0, _080279DC @ =gUnknown_02024C07 + ldr r0, _080279DC @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -51515,14 +51515,14 @@ _08027994: .align 2, 0 _080279D4: .4byte gBattleMoveDamage _080279D8: .4byte gBattleMons -_080279DC: .4byte gUnknown_02024C07 +_080279DC: .4byte gPlayerMonIndex _080279E0: .4byte gUnknown_02024C10 thumb_func_end atkA0_psywavedamageeffect thumb_func_start atkA1_counterdamagecalculator atkA1_counterdamagecalculator: @ 80279E4 push {r4-r6,lr} - ldr r4, _08027A54 @ =gUnknown_02024C07 + ldr r4, _08027A54 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -51571,20 +51571,20 @@ atkA1_counterdamagecalculator: @ 80279E4 ldrh r0, [r0, 0x28] cmp r0, 0 beq _08027A6C - ldr r0, _08027A68 @ =gUnknown_02024C08 + ldr r0, _08027A68 @ =gEnemyMonIndex strb r1, [r0] b _08027A7C .align 2, 0 -_08027A54: .4byte gUnknown_02024C07 +_08027A54: .4byte gPlayerMonIndex _08027A58: .4byte gUnknown_02024D28 _08027A5C: .4byte gBattleMons _08027A60: .4byte gBattleMoveDamage _08027A64: .4byte gUnknown_02024C80 -_08027A68: .4byte gUnknown_02024C08 +_08027A68: .4byte gEnemyMonIndex _08027A6C: - ldr r2, _08027A88 @ =gUnknown_02024C08 + ldr r2, _08027A88 @ =gEnemyMonIndex ldr r1, _08027A8C @ =gUnknown_02024D28 - ldr r0, _08027A90 @ =gUnknown_02024C07 + ldr r0, _08027A90 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -51597,13 +51597,13 @@ _08027A7C: str r0, [r1] b _08027AC8 .align 2, 0 -_08027A88: .4byte gUnknown_02024C08 +_08027A88: .4byte gEnemyMonIndex _08027A8C: .4byte gUnknown_02024D28 -_08027A90: .4byte gUnknown_02024C07 +_08027A90: .4byte gPlayerMonIndex _08027A94: .4byte gUnknown_02024C10 _08027A98: ldr r2, _08027AD0 @ =gUnknown_02024D68 - ldr r0, _08027AD4 @ =gUnknown_02024C07 + ldr r0, _08027AD4 @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -51632,14 +51632,14 @@ _08027AC8: bx r0 .align 2, 0 _08027AD0: .4byte gUnknown_02024D68 -_08027AD4: .4byte gUnknown_02024C07 +_08027AD4: .4byte gPlayerMonIndex _08027AD8: .4byte gUnknown_02024C10 thumb_func_end atkA1_counterdamagecalculator thumb_func_start atkA2_mirrorcoatdamagecalculator atkA2_mirrorcoatdamagecalculator: @ 8027ADC push {r4-r6,lr} - ldr r4, _08027B4C @ =gUnknown_02024C07 + ldr r4, _08027B4C @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -51689,20 +51689,20 @@ atkA2_mirrorcoatdamagecalculator: @ 8027ADC ldrh r0, [r0, 0x28] cmp r0, 0 beq _08027B64 - ldr r0, _08027B60 @ =gUnknown_02024C08 + ldr r0, _08027B60 @ =gEnemyMonIndex strb r1, [r0] b _08027B74 .align 2, 0 -_08027B4C: .4byte gUnknown_02024C07 +_08027B4C: .4byte gPlayerMonIndex _08027B50: .4byte gUnknown_02024D28 _08027B54: .4byte gBattleMons _08027B58: .4byte gBattleMoveDamage _08027B5C: .4byte gUnknown_02024C80 -_08027B60: .4byte gUnknown_02024C08 +_08027B60: .4byte gEnemyMonIndex _08027B64: - ldr r2, _08027B80 @ =gUnknown_02024C08 + ldr r2, _08027B80 @ =gEnemyMonIndex ldr r1, _08027B84 @ =gUnknown_02024D28 - ldr r0, _08027B88 @ =gUnknown_02024C07 + ldr r0, _08027B88 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -51715,13 +51715,13 @@ _08027B74: str r0, [r1] b _08027BC0 .align 2, 0 -_08027B80: .4byte gUnknown_02024C08 +_08027B80: .4byte gEnemyMonIndex _08027B84: .4byte gUnknown_02024D28 -_08027B88: .4byte gUnknown_02024C07 +_08027B88: .4byte gPlayerMonIndex _08027B8C: .4byte gUnknown_02024C10 _08027B90: ldr r2, _08027BC8 @ =gUnknown_02024D68 - ldr r0, _08027BCC @ =gUnknown_02024C07 + ldr r0, _08027BCC @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -51750,7 +51750,7 @@ _08027BC0: bx r0 .align 2, 0 _08027BC8: .4byte gUnknown_02024D68 -_08027BCC: .4byte gUnknown_02024C07 +_08027BCC: .4byte gPlayerMonIndex _08027BD0: .4byte gUnknown_02024C10 thumb_func_end atkA2_mirrorcoatdamagecalculator @@ -51762,7 +51762,7 @@ atkA3_disablelastusedattack: @ 8027BD4 push {r6,r7} movs r4, 0 ldr r2, _08027CD4 @ =gBattleMons - ldr r3, _08027CD8 @ =gUnknown_02024C08 + ldr r3, _08027CD8 @ =gEnemyMonIndex ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -51887,7 +51887,7 @@ _08027C28: b _08027D06 .align 2, 0 _08027CD4: .4byte gBattleMons -_08027CD8: .4byte gUnknown_02024C08 +_08027CD8: .4byte gEnemyMonIndex _08027CDC: .4byte gUnknown_02024C34 _08027CE0: .4byte gUnknown_02024CA8 _08027CE4: .4byte gUnknown_030041C0 @@ -51926,7 +51926,7 @@ atkA4_setencore: @ 8027D18 push {r5-r7} movs r5, 0 ldr r3, _08027E0C @ =gBattleMons - ldr r4, _08027E10 @ =gUnknown_02024C08 + ldr r4, _08027E10 @ =gEnemyMonIndex ldrb r1, [r4] movs r0, 0x58 muls r0, r1 @@ -52046,7 +52046,7 @@ _08027D88: b _08027E3A .align 2, 0 _08027E0C: .4byte gBattleMons -_08027E10: .4byte gUnknown_02024C08 +_08027E10: .4byte gEnemyMonIndex _08027E14: .4byte gUnknown_02024C34 _08027E18: .4byte gUnknown_02024CA8 _08027E1C: .4byte gUnknown_02024C10 @@ -52083,7 +52083,7 @@ sub_8027E4C: @ 8027E4C mov r6, r8 push {r6,r7} ldr r7, _08027EEC @ =gBattleMons - ldr r0, _08027EF0 @ =gUnknown_02024C08 + ldr r0, _08027EF0 @ =gEnemyMonIndex mov r8, r0 ldrb r0, [r0] movs r6, 0x58 @@ -52098,7 +52098,7 @@ sub_8027E4C: @ 8027E4C ands r0, r1 cmp r0, 0 bne _08027F18 - ldr r1, _08027EF4 @ =gUnknown_02024C07 + ldr r1, _08027EF4 @ =gPlayerMonIndex mov r12, r1 ldrb r0, [r1] muls r0, r6 @@ -52159,8 +52159,8 @@ sub_8027E4C: @ 8027E4C b _08027F32 .align 2, 0 _08027EEC: .4byte gBattleMons -_08027EF0: .4byte gUnknown_02024C08 -_08027EF4: .4byte gUnknown_02024C07 +_08027EF0: .4byte gEnemyMonIndex +_08027EF4: .4byte gPlayerMonIndex _08027EF8: .4byte gBattleMoveDamage _08027EFC: .4byte 0x02000000 _08027F00: .4byte 0x00016014 @@ -52202,7 +52202,7 @@ sub_8027F44: @ 8027F44 mov r5, r8 push {r5-r7} ldr r1, _08027FA8 @ =gUnknown_02024C3C - ldr r4, _08027FAC @ =gUnknown_02024C07 + ldr r4, _08027FAC @ =gPlayerMonIndex ldrb r0, [r4] lsls r0, 1 adds r2, r0, r1 @@ -52248,7 +52248,7 @@ _08027F8C: b _08028110 .align 2, 0 _08027FA8: .4byte gUnknown_02024C3C -_08027FAC: .4byte gUnknown_02024C07 +_08027FAC: .4byte gPlayerMonIndex _08027FB0: .4byte 0x0000ffff _08027FB4: .4byte gUnknown_02024D28 _08027FB8: .4byte gUnknown_02024C10 @@ -52320,7 +52320,7 @@ _0802802C: ldr r6, _08028120 @ =gTypeEffectiveness adds r3, r4, r6 ldr r1, _08028124 @ =gUnknown_02024C44 - ldr r2, _08028128 @ =gUnknown_02024C07 + ldr r2, _08028128 @ =gPlayerMonIndex ldrb r5, [r2] lsls r0, r5, 1 adds r0, r1 @@ -52438,7 +52438,7 @@ _08028110: .align 2, 0 _08028120: .4byte gTypeEffectiveness _08028124: .4byte gUnknown_02024C44 -_08028128: .4byte gUnknown_02024C07 +_08028128: .4byte gPlayerMonIndex _0802812C: .4byte gBattleMons _08028130: .4byte 0x000003e7 _08028134: .4byte gUnknown_02024C10 @@ -52449,7 +52449,7 @@ _08028138: .4byte 0x0000014f atkA7_setalwayshitflag: @ 802813C push {r4,lr} ldr r4, _08028180 @ =gUnknown_02024C98 - ldr r3, _08028184 @ =gUnknown_02024C08 + ldr r3, _08028184 @ =gEnemyMonIndex ldrb r1, [r3] lsls r1, 2 adds r1, r4 @@ -52471,7 +52471,7 @@ atkA7_setalwayshitflag: @ 802813C subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, _0802818C @ =gUnknown_02024C07 + ldr r1, _0802818C @ =gPlayerMonIndex ldrb r1, [r1] strb r1, [r0, 0x15] ldr r1, _08028190 @ =gUnknown_02024C10 @@ -52483,9 +52483,9 @@ atkA7_setalwayshitflag: @ 802813C bx r0 .align 2, 0 _08028180: .4byte gUnknown_02024C98 -_08028184: .4byte gUnknown_02024C08 +_08028184: .4byte gEnemyMonIndex _08028188: .4byte gUnknown_02024CA8 -_0802818C: .4byte gUnknown_02024C07 +_0802818C: .4byte gPlayerMonIndex _08028190: .4byte gUnknown_02024C10 thumb_func_end atkA7_setalwayshitflag @@ -52502,7 +52502,7 @@ atkA8_copymovepermanently: @ 8028194 adds r5, r1, 0 strh r5, [r0] ldr r3, _080282FC @ =gBattleMons - ldr r2, _08028300 @ =gUnknown_02024C07 + ldr r2, _08028300 @ =gPlayerMonIndex ldrb r1, [r2] movs r0, 0x58 adds r4, r1, 0 @@ -52521,7 +52521,7 @@ atkA8_copymovepermanently: @ 8028194 b _08028320 _080281CC: ldr r0, _08028304 @ =gUnknown_02024C2C - ldr r2, _08028308 @ =gUnknown_02024C08 + ldr r2, _08028308 @ =gEnemyMonIndex ldrb r1, [r2] lsls r1, 1 adds r1, r0 @@ -52656,7 +52656,7 @@ _08028282: movs r0, 0x2 strb r0, [r1, 0x1] ldr r3, _08028304 @ =gUnknown_02024C2C - ldr r2, _08028308 @ =gUnknown_02024C08 + ldr r2, _08028308 @ =gEnemyMonIndex ldrb r0, [r2] lsls r0, 1 adds r0, r3 @@ -52679,9 +52679,9 @@ _08028282: _080282F4: .4byte gUnknown_02024BE8 _080282F8: .4byte 0x0000ffff _080282FC: .4byte gBattleMons -_08028300: .4byte gUnknown_02024C07 +_08028300: .4byte gPlayerMonIndex _08028304: .4byte gUnknown_02024C2C -_08028308: .4byte gUnknown_02024C08 +_08028308: .4byte gEnemyMonIndex _0802830C: .4byte gUnknown_02024BE4 _08028310: .4byte gBattleMoves _08028314: .4byte gUnknown_02024A60 @@ -52844,7 +52844,7 @@ sub_8028420: @ 8028420 push {r5-r7} movs r6, 0 movs r5, 0 - ldr r0, _080284B0 @ =gUnknown_02024C07 + ldr r0, _080284B0 @ =gPlayerMonIndex mov r9, r0 movs r1, 0x58 mov r8, r1 @@ -52895,7 +52895,7 @@ _0802848C: adds r5, 0x1 cmp r5, 0x3 ble _0802843E - ldr r0, _080284B0 @ =gUnknown_02024C07 + ldr r0, _080284B0 @ =gPlayerMonIndex ldrb r0, [r0] adds r1, r6, 0 movs r2, 0xFD @@ -52910,7 +52910,7 @@ _0802848C: str r0, [r1] b _08028524 .align 2, 0 -_080284B0: .4byte gUnknown_02024C07 +_080284B0: .4byte gPlayerMonIndex _080284B4: .4byte gUnknown_02024A8C _080284B8: .4byte gBitTable _080284BC: .4byte gUnknown_02024C10 @@ -52930,7 +52930,7 @@ _080284C4: ldr r4, _08028538 @ =gUnknown_02024BEA ldr r2, _0802853C @ =gBattleMons lsls r1, r5, 1 - ldr r0, _08028540 @ =gUnknown_02024C07 + ldr r0, _08028540 @ =gPlayerMonIndex ldrb r3, [r0] movs r0, 0x58 muls r0, r3 @@ -52949,7 +52949,7 @@ _080284C4: ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _08028550 @ =gUnknown_02024C08 + ldr r1, _08028550 @ =gEnemyMonIndex strb r0, [r1] ldr r3, _08028554 @ =gUnknown_02024C10 ldr r2, [r3] @@ -52976,18 +52976,18 @@ _08028524: _08028534: .4byte gBitTable _08028538: .4byte gUnknown_02024BEA _0802853C: .4byte gBattleMons -_08028540: .4byte gUnknown_02024C07 +_08028540: .4byte gPlayerMonIndex _08028544: .4byte gUnknown_02024BE4 _08028548: .4byte gUnknown_02024C6C _0802854C: .4byte 0xfffffbff -_08028550: .4byte gUnknown_02024C08 +_08028550: .4byte gEnemyMonIndex _08028554: .4byte gUnknown_02024C10 thumb_func_end sub_8028420 thumb_func_start sub_8028558 sub_8028558: @ 8028558 ldr r1, _0802857C @ =gBattleMons - ldr r0, _08028580 @ =gUnknown_02024C07 + ldr r0, _08028580 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r2, r0 @@ -53005,19 +53005,19 @@ sub_8028558: @ 8028558 bx lr .align 2, 0 _0802857C: .4byte gBattleMons -_08028580: .4byte gUnknown_02024C07 +_08028580: .4byte gPlayerMonIndex _08028584: .4byte gUnknown_02024C10 thumb_func_end sub_8028558 thumb_func_start b_feature_update_destiny_bond b_feature_update_destiny_bond: @ 8028588 push {r4,r5,lr} - ldr r0, _080285D8 @ =gUnknown_02024C07 + ldr r0, _080285D8 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 lsrs r5, r0, 24 - ldr r4, _080285DC @ =gUnknown_02024C08 + ldr r4, _080285DC @ =gEnemyMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -53051,8 +53051,8 @@ _080285D2: pop {r0} bx r0 .align 2, 0 -_080285D8: .4byte gUnknown_02024C07 -_080285DC: .4byte gUnknown_02024C08 +_080285D8: .4byte gPlayerMonIndex +_080285DC: .4byte gEnemyMonIndex _080285E0: .4byte gBattleMons _080285E4: .4byte gUnknown_02024C6C thumb_func_end b_feature_update_destiny_bond @@ -53075,7 +53075,7 @@ _080285FC: .4byte gUnknown_02024C10 atkAC_remaininghptopower: @ 8028600 push {lr} ldr r2, _08028654 @ =gBattleMons - ldr r0, _08028658 @ =gUnknown_02024C07 + ldr r0, _08028658 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -53117,7 +53117,7 @@ _0802863A: bx r0 .align 2, 0 _08028654: .4byte gBattleMons -_08028658: .4byte gUnknown_02024C07 +_08028658: .4byte gPlayerMonIndex _0802865C: .4byte gUnknown_081FAD26 _08028660: .4byte gUnknown_02024DEC _08028664: .4byte gUnknown_02024C10 @@ -53132,7 +53132,7 @@ sub_8028668: @ 8028668 push {r5-r7} sub sp, 0x4 ldr r4, _080287F8 @ =gUnknown_02024C34 - ldr r1, _080287FC @ =gUnknown_02024C08 + ldr r1, _080287FC @ =gEnemyMonIndex ldrb r2, [r1] lsls r0, r2, 1 adds r0, r4 @@ -53316,7 +53316,7 @@ _080287D2: adds r0, 0x5 str r0, [r1] ldr r1, _0802880C @ =gBattleMons - ldr r0, _080287FC @ =gUnknown_02024C08 + ldr r0, _080287FC @ =gEnemyMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -53331,7 +53331,7 @@ _080287D2: b _08028842 .align 2, 0 _080287F8: .4byte gUnknown_02024C34 -_080287FC: .4byte gUnknown_02024C08 +_080287FC: .4byte gEnemyMonIndex _08028800: .4byte 0x0000ffff _08028804: .4byte gUnknown_02024C98 _08028808: .4byte 0x000400c0 @@ -53387,7 +53387,7 @@ sub_8028858: @ 8028858 _08028872: ldr r5, _080288B0 @ =gUnknown_02024D1E strb r7, [r5, 0x5] - ldr r6, _080288B4 @ =gUnknown_02024C07 + ldr r6, _080288B4 @ =gPlayerMonIndex ldrb r0, [r6] bl battle_side_get_owner lsls r0, 24 @@ -53417,7 +53417,7 @@ _0802888C: .align 2, 0 _080288AC: .4byte gUnknown_02024BE6 _080288B0: .4byte gUnknown_02024D1E -_080288B4: .4byte gUnknown_02024C07 +_080288B4: .4byte gPlayerMonIndex _080288B8: .4byte gEnemyParty _080288BC: .4byte gPlayerParty _080288C0: .4byte gBattleMons @@ -53431,7 +53431,7 @@ _080288C4: strb r0, [r5, 0x5] _080288D4: ldr r4, _08028934 @ =gUnknown_02024A60 - ldr r0, _08028938 @ =gUnknown_02024C07 + ldr r0, _08028938 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_get_per_side_status movs r6, 0x2 @@ -53477,7 +53477,7 @@ _080288D4: b _08028964 .align 2, 0 _08028934: .4byte gUnknown_02024A60 -_08028938: .4byte gUnknown_02024C07 +_08028938: .4byte gPlayerMonIndex _0802893C: .4byte 0x02000000 _08028940: .4byte 0x00016003 _08028944: .4byte gBattleTypeFlags @@ -53518,7 +53518,7 @@ _0802896A: cmp r5, r0 beq _08028A1E ldr r2, _080289B4 @ =gUnknown_02024A6A - ldr r0, _080289B8 @ =gUnknown_02024C07 + ldr r0, _080289B8 @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 1 adds r0, r2 @@ -53532,7 +53532,7 @@ _0802896A: _080289AC: .4byte gUnknown_02024D1E _080289B0: .4byte gBattleMons _080289B4: .4byte gUnknown_02024A6A -_080289B8: .4byte gUnknown_02024C07 +_080289B8: .4byte gPlayerMonIndex _080289BC: ldr r0, _080289F4 @ =gBattleTypeFlags ldrh r1, [r0] @@ -53593,7 +53593,7 @@ _08028A26: strb r0, [r1, 0x5] movs r7, 0x3F ldr r2, _08028AB8 @ =gBattleMons - ldr r1, _08028ABC @ =gUnknown_02024C07 + ldr r1, _08028ABC @ =gPlayerMonIndex ldrb r0, [r1] movs r6, 0x58 muls r0, r6 @@ -53632,7 +53632,7 @@ _08028A26: str r2, [r0] _08028A7E: ldr r4, _08028AC0 @ =gUnknown_02024A60 - ldr r0, _08028ABC @ =gUnknown_02024C07 + ldr r0, _08028ABC @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] add r1, sp, 0x4 @@ -53658,7 +53658,7 @@ _08028A7E: .align 2, 0 _08028AB4: .4byte gUnknown_02024D1E _08028AB8: .4byte gBattleMons -_08028ABC: .4byte gUnknown_02024C07 +_08028ABC: .4byte gPlayerMonIndex _08028AC0: .4byte gUnknown_02024A60 _08028AC4: .4byte gBattleTypeFlags _08028AC8: .4byte gUnknown_02024C0C @@ -53670,7 +53670,7 @@ _08028AD0: .4byte gUnknown_02024C10 sub_8028AD4: @ 8028AD4 push {r4-r7,lr} ldr r7, _08028B24 @ =gBattleMons - ldr r0, _08028B28 @ =gUnknown_02024C08 + ldr r0, _08028B28 @ =gEnemyMonIndex ldrb r3, [r0] movs r6, 0x58 adds r1, r3, 0 @@ -53710,7 +53710,7 @@ _08028B06: b _08028B5C .align 2, 0 _08028B24: .4byte gBattleMons -_08028B28: .4byte gUnknown_02024C08 +_08028B28: .4byte gEnemyMonIndex _08028B2C: .4byte gUnknown_02024C98 _08028B30: .4byte 0x000400c0 _08028B34: .4byte gUnknown_02024C10 @@ -53718,7 +53718,7 @@ _08028B38: orrs r2, r5 str r2, [r4] ldr r1, _08028B64 @ =gBattleMoveDamage - ldr r0, _08028B68 @ =gUnknown_02024C07 + ldr r0, _08028B68 @ =gPlayerMonIndex ldrb r0, [r0] muls r0, r6 adds r0, r7 @@ -53740,14 +53740,14 @@ _08028B5C: bx r0 .align 2, 0 _08028B64: .4byte gBattleMoveDamage -_08028B68: .4byte gUnknown_02024C07 +_08028B68: .4byte gPlayerMonIndex _08028B6C: .4byte gUnknown_02024C10 thumb_func_end sub_8028AD4 thumb_func_start sub_8028B70 sub_8028B70: @ 8028B70 push {r4,lr} - ldr r4, _08028BC4 @ =gUnknown_02024C07 + ldr r4, _08028BC4 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner movs r1, 0x1 @@ -53787,7 +53787,7 @@ sub_8028B70: @ 8028B70 str r1, [r3] b _08028BEE .align 2, 0 -_08028BC4: .4byte gUnknown_02024C07 +_08028BC4: .4byte gPlayerMonIndex _08028BC8: .4byte gUnknown_02024C80 _08028BCC: .4byte gUnknown_02024D68 _08028BD0: .4byte gUnknown_02024C10 @@ -53817,7 +53817,7 @@ _08028BF8: .4byte gUnknown_02024C10 thumb_func_start sub_8028BFC sub_8028BFC: @ 8028BFC ldr r1, _08028C20 @ =gBattleMons - ldr r0, _08028C24 @ =gUnknown_02024C08 + ldr r0, _08028C24 @ =gEnemyMonIndex ldrb r2, [r0] movs r0, 0x58 muls r2, r0 @@ -53835,7 +53835,7 @@ sub_8028BFC: @ 8028BFC bx lr .align 2, 0 _08028C20: .4byte gBattleMons -_08028C24: .4byte gUnknown_02024C08 +_08028C24: .4byte gEnemyMonIndex _08028C28: .4byte gUnknown_02024C10 thumb_func_end sub_8028BFC @@ -53849,7 +53849,7 @@ atkB2_setperishsong: @ 8028C2C movs r3, 0 ldr r0, _08028C70 @ =gUnknown_02024A68 adds r7, r0, 0 - ldr r0, _08028C74 @ =gUnknown_02024C07 + ldr r0, _08028C74 @ =gPlayerMonIndex mov r8, r0 ldrb r1, [r7] cmp r6, r1 @@ -53879,7 +53879,7 @@ _08028C6C: b _08028C8C .align 2, 0 _08028C70: .4byte gUnknown_02024A68 -_08028C74: .4byte gUnknown_02024C07 +_08028C74: .4byte gPlayerMonIndex _08028C78: .4byte gBattleMons _08028C7C: .4byte gUnknown_02024CA8 _08028C80: .4byte gUnknown_02024C98 @@ -53948,7 +53948,7 @@ atkB3_rolloutdamagecalculation: @ 8028CE4 ands r0, r1 cmp r0, 0 beq _08028D18 - ldr r0, _08028D0C @ =gUnknown_02024C07 + ldr r0, _08028D0C @ =gPlayerMonIndex ldrb r0, [r0] bl b_cancel_multi_turn_move_maybe ldr r1, _08028D10 @ =gUnknown_02024C10 @@ -53957,12 +53957,12 @@ atkB3_rolloutdamagecalculation: @ 8028CE4 b _08028E30 .align 2, 0 _08028D08: .4byte gBattleMoveFlags -_08028D0C: .4byte gUnknown_02024C07 +_08028D0C: .4byte gPlayerMonIndex _08028D10: .4byte gUnknown_02024C10 _08028D14: .4byte BattleScript_1D6F74 _08028D18: ldr r2, _08028E3C @ =gBattleMons - ldr r1, _08028E40 @ =gUnknown_02024C07 + ldr r1, _08028E40 @ =gPlayerMonIndex ldrb r3, [r1] movs r5, 0x58 adds r0, r3, 0 @@ -54115,7 +54115,7 @@ _08028E30: bx r0 .align 2, 0 _08028E3C: .4byte gBattleMons -_08028E40: .4byte gUnknown_02024C07 +_08028E40: .4byte gPlayerMonIndex _08028E44: .4byte gUnknown_02024CA8 _08028E48: .4byte gUnknown_02024BE6 _08028E4C: .4byte gUnknown_02024C54 @@ -54129,7 +54129,7 @@ _08028E5C: .4byte gUnknown_02024C10 atkB4_jumpifconfusedandattackmaxed: @ 8028E60 push {r4,r5,lr} ldr r5, _08028EB0 @ =gBattleMons - ldr r0, _08028EB4 @ =gUnknown_02024C08 + ldr r0, _08028EB4 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 adds r3, r1, 0 @@ -54168,7 +54168,7 @@ atkB4_jumpifconfusedandattackmaxed: @ 8028E60 b _08028EC2 .align 2, 0 _08028EB0: .4byte gBattleMons -_08028EB4: .4byte gUnknown_02024C08 +_08028EB4: .4byte gEnemyMonIndex _08028EB8: .4byte gUnknown_02024C10 _08028EBC: ldr r0, [r4] @@ -54190,7 +54190,7 @@ sub_8028EC8: @ 8028EC8 cmp r0, 0 beq _08028F04 ldr r2, _08028EF4 @ =gUnknown_02024CA8 - ldr r0, _08028EF8 @ =gUnknown_02024C07 + ldr r0, _08028EF8 @ =gPlayerMonIndex ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -54205,12 +54205,12 @@ sub_8028EC8: @ 8028EC8 .align 2, 0 _08028EF0: .4byte gBattleMoveFlags _08028EF4: .4byte gUnknown_02024CA8 -_08028EF8: .4byte gUnknown_02024C07 +_08028EF8: .4byte gPlayerMonIndex _08028EFC: .4byte gUnknown_02024C10 _08028F00: .4byte BattleScript_1D6F74 _08028F04: ldr r5, _08028F64 @ =gUnknown_02024CA8 - ldr r4, _08028F68 @ =gUnknown_02024C07 + ldr r4, _08028F68 @ =gPlayerMonIndex ldrb r1, [r4] lsls r0, r1, 3 subs r0, r1 @@ -54262,7 +54262,7 @@ _08028F5C: bx r0 .align 2, 0 _08028F64: .4byte gUnknown_02024CA8 -_08028F68: .4byte gUnknown_02024C07 +_08028F68: .4byte gPlayerMonIndex _08028F6C: .4byte gUnknown_02024DEC _08028F70: .4byte gBattleMoves _08028F74: .4byte gUnknown_02024BE6 @@ -54284,7 +54284,7 @@ atkB6_happinesstodamagecalculation: @ 8028F7C bne _08028FBC ldr r4, _08028FB0 @ =gUnknown_02024DEC ldr r2, _08028FB4 @ =gBattleMons - ldr r0, _08028FB8 @ =gUnknown_02024C07 + ldr r0, _08028FB8 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -54297,11 +54297,11 @@ _08028FA8: .4byte gBattleMoves _08028FAC: .4byte gUnknown_02024BE6 _08028FB0: .4byte gUnknown_02024DEC _08028FB4: .4byte gBattleMons -_08028FB8: .4byte gUnknown_02024C07 +_08028FB8: .4byte gPlayerMonIndex _08028FBC: ldr r4, _08028FF0 @ =gUnknown_02024DEC ldr r2, _08028FF4 @ =gBattleMons - ldr r0, _08028FF8 @ =gUnknown_02024C07 + ldr r0, _08028FF8 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -54327,7 +54327,7 @@ _08028FD2: .align 2, 0 _08028FF0: .4byte gUnknown_02024DEC _08028FF4: .4byte gBattleMons -_08028FF8: .4byte gUnknown_02024C07 +_08028FF8: .4byte gPlayerMonIndex _08028FFC: .4byte gUnknown_02024C10 thumb_func_end atkB6_happinesstodamagecalculation @@ -54366,7 +54366,7 @@ _08029038: .4byte gUnknown_02024DEC _0802903C: ldr r3, _08029068 @ =gBattleMoveDamage ldr r2, _0802906C @ =gBattleMons - ldr r0, _08029070 @ =gUnknown_02024C08 + ldr r0, _08029070 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -54391,12 +54391,12 @@ _0802905E: .align 2, 0 _08029068: .4byte gBattleMoveDamage _0802906C: .4byte gBattleMons -_08029070: .4byte gUnknown_02024C08 +_08029070: .4byte gEnemyMonIndex _08029074: .4byte gUnknown_02024C10 _08029078: .4byte BattleScript_1D6F44 _0802907C: ldr r2, _08029098 @ =gBattleMons - ldr r0, _0802909C @ =gUnknown_02024C08 + ldr r0, _0802909C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -54410,7 +54410,7 @@ _0802907C: b _080290AC .align 2, 0 _08029098: .4byte gBattleMons -_0802909C: .4byte gUnknown_02024C08 +_0802909C: .4byte gEnemyMonIndex _080290A0: .4byte gUnknown_02024C10 _080290A4: .4byte BattleScript_1D83B5 _080290A8: @@ -54429,7 +54429,7 @@ _080290B8: .4byte BattleScript_1D839B thumb_func_start sub_80290BC sub_80290BC: @ 80290BC push {r4-r6,lr} - ldr r4, _080290F0 @ =gUnknown_02024C07 + ldr r4, _080290F0 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_get_per_side_status ldr r6, _080290F4 @ =gUnknown_02024C7A @@ -54453,7 +54453,7 @@ sub_80290BC: @ 80290BC strb r0, [r1, 0x5] b _08029132 .align 2, 0 -_080290F0: .4byte gUnknown_02024C07 +_080290F0: .4byte gPlayerMonIndex _080290F4: .4byte gUnknown_02024C7A _080290F8: .4byte gBattleMoveFlags _080290FC: .4byte gUnknown_02024D1E @@ -54584,7 +54584,7 @@ _080291E4: strb r3, [r1, 0x4] movs r0, 0xFF strb r0, [r1, 0x5] - ldr r1, _08029258 @ =gUnknown_02024C08 + ldr r1, _08029258 @ =gEnemyMonIndex strb r2, [r1] ldr r0, _0802925C @ =gUnknown_02024A68 ldrb r3, [r0] @@ -54594,7 +54594,7 @@ _080291E4: cmp r2, r3 bcs _0802923C adds r4, r6, 0 - ldr r0, _08029264 @ =gUnknown_02024C07 + ldr r0, _08029264 @ =gPlayerMonIndex ldrb r5, [r0] ldr r1, _08029268 @ =gBitTable mov r12, r1 @@ -54631,10 +54631,10 @@ _0802923C: .align 2, 0 _08029250: .4byte gUnknown_02024DEC _08029254: .4byte gUnknown_030041C0 -_08029258: .4byte gUnknown_02024C08 +_08029258: .4byte gEnemyMonIndex _0802925C: .4byte gUnknown_02024A68 _08029260: .4byte gUnknown_02024C10 -_08029264: .4byte gUnknown_02024C07 +_08029264: .4byte gPlayerMonIndex _08029268: .4byte gBitTable _0802926C: .4byte gUnknown_02024C0C thumb_func_end atkB9_magnitudedamagecalculation @@ -54650,7 +54650,7 @@ sub_8029270: @ 8029270 ldrb r0, [r0] cmp r0, 0x1 bne _080292A0 - ldr r0, _08029298 @ =gUnknown_02024C07 + ldr r0, _08029298 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -54660,12 +54660,12 @@ sub_8029270: @ 8029270 b _080292BA .align 2, 0 _08029294: .4byte gUnknown_02024C0E -_08029298: .4byte gUnknown_02024C07 +_08029298: .4byte gPlayerMonIndex _0802929C: movs r0, 0 b _080292BA _080292A0: - ldr r0, _080292B4 @ =gUnknown_02024C07 + ldr r0, _080292B4 @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -54674,22 +54674,22 @@ _080292A0: movs r0, 0x3 b _080292BA .align 2, 0 -_080292B4: .4byte gUnknown_02024C07 +_080292B4: .4byte gPlayerMonIndex _080292B8: movs r0, 0x2 _080292BA: bl battle_get_side_with_given_state - ldr r1, _0802937C @ =gUnknown_02024C08 + ldr r1, _0802937C @ =gEnemyMonIndex strb r0, [r1] ldr r0, _08029380 @ =gUnknown_02024C18 - ldr r1, _0802937C @ =gUnknown_02024C08 + ldr r1, _0802937C @ =gEnemyMonIndex mov r9, r1 ldrb r3, [r1] adds r0, r3, r0 ldrb r0, [r0] cmp r0, 0 bne _080293BC - ldr r5, _08029384 @ =gUnknown_02024C07 + ldr r5, _08029384 @ =gPlayerMonIndex ldr r0, _08029388 @ =0x02000000 ldr r2, _0802938C @ =0x00016010 adds r1, r3, r2 @@ -54778,9 +54778,9 @@ _0802935A: str r0, [r7] b _080293D6 .align 2, 0 -_0802937C: .4byte gUnknown_02024C08 +_0802937C: .4byte gEnemyMonIndex _08029380: .4byte gUnknown_02024C18 -_08029384: .4byte gUnknown_02024C07 +_08029384: .4byte gPlayerMonIndex _08029388: .4byte 0x02000000 _0802938C: .4byte 0x00016010 _08029390: .4byte gBattleMons @@ -54869,7 +54869,7 @@ _0802943C: .4byte gUnknown_02024C10 atkBC_maxattackhalvehp: @ 8029440 push {r4,r5,lr} ldr r5, _0802948C @ =gBattleMons - ldr r4, _08029490 @ =gUnknown_02024C07 + ldr r4, _08029490 @ =gPlayerMonIndex ldrb r0, [r4] movs r3, 0x58 muls r0, r3 @@ -54908,7 +54908,7 @@ _08029480: b _080294B6 .align 2, 0 _0802948C: .4byte gBattleMons -_08029490: .4byte gUnknown_02024C07 +_08029490: .4byte gPlayerMonIndex _08029494: .4byte gBattleMoveDamage _08029498: .4byte gUnknown_02024C10 _0802949C: @@ -54938,10 +54938,10 @@ atkBD_copyfoestats: @ 80294C0 push {r4-r7,lr} movs r2, 0 ldr r7, _080294F8 @ =gUnknown_02024C10 - ldr r6, _080294FC @ =gUnknown_02024C07 + ldr r6, _080294FC @ =gPlayerMonIndex movs r4, 0x58 ldr r3, _08029500 @ =gUnknown_02024A98 - ldr r5, _08029504 @ =gUnknown_02024C08 + ldr r5, _08029504 @ =gEnemyMonIndex _080294CE: ldrb r0, [r6] adds r1, r0, 0 @@ -54965,16 +54965,16 @@ _080294CE: bx r0 .align 2, 0 _080294F8: .4byte gUnknown_02024C10 -_080294FC: .4byte gUnknown_02024C07 +_080294FC: .4byte gPlayerMonIndex _08029500: .4byte gUnknown_02024A98 -_08029504: .4byte gUnknown_02024C08 +_08029504: .4byte gEnemyMonIndex thumb_func_end atkBD_copyfoestats thumb_func_start atkBE_breakfree atkBE_breakfree: @ 8029508 push {r4,r5,lr} ldr r1, _08029570 @ =gBattleMons - ldr r5, _08029574 @ =gUnknown_02024C07 + ldr r5, _08029574 @ =gPlayerMonIndex ldrb r2, [r5] movs r0, 0x58 muls r0, r2 @@ -54989,7 +54989,7 @@ atkBE_breakfree: @ 8029508 ldr r0, _08029578 @ =0xffff1fff ands r1, r0 str r1, [r3] - ldr r1, _0802957C @ =gUnknown_02024C08 + ldr r1, _0802957C @ =gEnemyMonIndex ldr r2, _08029580 @ =0x02000000 ldrb r0, [r5] ldr r3, _08029584 @ =0x00016020 @@ -55024,9 +55024,9 @@ atkBE_breakfree: @ 8029508 b _0802963E .align 2, 0 _08029570: .4byte gBattleMons -_08029574: .4byte gUnknown_02024C07 +_08029574: .4byte gPlayerMonIndex _08029578: .4byte 0xffff1fff -_0802957C: .4byte gUnknown_02024C08 +_0802957C: .4byte gEnemyMonIndex _08029580: .4byte 0x02000000 _08029584: .4byte 0x00016020 _08029588: .4byte gUnknown_030041C0 @@ -55119,7 +55119,7 @@ _08029648: .4byte gUnknown_02024C10 thumb_func_start sub_802964C sub_802964C: @ 802964C ldr r1, _08029670 @ =gBattleMons - ldr r0, _08029674 @ =gUnknown_02024C07 + ldr r0, _08029674 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r2, r0 @@ -55137,7 +55137,7 @@ sub_802964C: @ 802964C bx lr .align 2, 0 _08029670: .4byte gBattleMons -_08029674: .4byte gUnknown_02024C07 +_08029674: .4byte gPlayerMonIndex _08029678: .4byte gUnknown_02024C10 thumb_func_end sub_802964C @@ -55145,8 +55145,8 @@ _08029678: .4byte gUnknown_02024C10 atkC0_recoverbasedonsunlight: @ 802967C push {r4-r7,lr} sub sp, 0x4 - ldr r1, _080296E8 @ =gUnknown_02024C08 - ldr r5, _080296EC @ =gUnknown_02024C07 + ldr r1, _080296E8 @ =gEnemyMonIndex + ldr r5, _080296EC @ =gPlayerMonIndex ldrb r0, [r5] strb r0, [r1] ldr r7, _080296F0 @ =gBattleMons @@ -55185,7 +55185,7 @@ atkC0_recoverbasedonsunlight: @ 802967C _080296CE: ldr r3, _080296F8 @ =gBattleMoveDamage ldr r2, _080296F0 @ =gBattleMons - ldr r0, _080296EC @ =gUnknown_02024C07 + ldr r0, _080296EC @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -55196,8 +55196,8 @@ _080296CE: adds r1, r3, 0 b _08029736 .align 2, 0 -_080296E8: .4byte gUnknown_02024C08 -_080296EC: .4byte gUnknown_02024C07 +_080296E8: .4byte gEnemyMonIndex +_080296EC: .4byte gPlayerMonIndex _080296F0: .4byte gBattleMons _080296F4: .4byte gBattleWeather _080296F8: .4byte gBattleMoveDamage @@ -55280,7 +55280,7 @@ sub_8029784: @ 8029784 mov r5, r8 push {r5-r7} ldr r2, _08029894 @ =gBattleMons - ldr r0, _08029898 @ =gUnknown_02024C07 + ldr r0, _08029898 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 adds r4, r1, 0 @@ -55411,7 +55411,7 @@ _08029876: bx r0 .align 2, 0 _08029894: .4byte gBattleMons -_08029898: .4byte gUnknown_02024C07 +_08029898: .4byte gPlayerMonIndex _0802989C: .4byte gUnknown_02024DEC _080298A0: .4byte 0x02000000 _080298A4: .4byte 0x0001601c @@ -55423,7 +55423,7 @@ atkC2_selectnexttarget: @ 80298AC push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _08029908 @ =gUnknown_02024C08 + ldr r0, _08029908 @ =gEnemyMonIndex movs r1, 0 strb r1, [r0] ldr r1, _0802990C @ =gUnknown_02024A68 @@ -55434,7 +55434,7 @@ atkC2_selectnexttarget: @ 80298AC cmp r1, 0 beq _080298F6 adds r3, r6, 0 - ldr r0, _08029914 @ =gUnknown_02024C07 + ldr r0, _08029914 @ =gPlayerMonIndex ldrb r5, [r0] ldr r0, _08029918 @ =gBitTable mov r12, r0 @@ -55470,10 +55470,10 @@ _080298F6: pop {r0} bx r0 .align 2, 0 -_08029908: .4byte gUnknown_02024C08 +_08029908: .4byte gEnemyMonIndex _0802990C: .4byte gUnknown_02024A68 _08029910: .4byte gUnknown_02024C10 -_08029914: .4byte gUnknown_02024C07 +_08029914: .4byte gPlayerMonIndex _08029918: .4byte gBitTable _0802991C: .4byte gUnknown_02024C0C thumb_func_end atkC2_selectnexttarget @@ -55488,7 +55488,7 @@ atkC3_setfutureattack: @ 8029920 sub sp, 0x10 ldr r0, _08029958 @ =gUnknown_02024DBC mov r8, r0 - ldr r7, _0802995C @ =gUnknown_02024C08 + ldr r7, _0802995C @ =gEnemyMonIndex ldrb r1, [r7] adds r0, r1, r0 ldrb r6, [r0] @@ -55510,7 +55510,7 @@ atkC3_setfutureattack: @ 8029920 b _08029A2E .align 2, 0 _08029958: .4byte gUnknown_02024DBC -_0802995C: .4byte gUnknown_02024C08 +_0802995C: .4byte gEnemyMonIndex _08029960: .4byte gUnknown_02024C10 _08029964: lsls r1, 1 @@ -55525,7 +55525,7 @@ _08029964: adds r0, 0x4 ldrb r4, [r7] adds r0, r4 - ldr r5, _08029A08 @ =gUnknown_02024C07 + ldr r5, _08029A08 @ =gPlayerMonIndex ldrb r1, [r5] strb r1, [r0] ldrb r0, [r7] @@ -55593,7 +55593,7 @@ _080299F2: b _08029A26 .align 2, 0 _08029A04: .4byte gUnknown_02024BE6 -_08029A08: .4byte gUnknown_02024C07 +_08029A08: .4byte gPlayerMonIndex _08029A0C: .4byte gUnknown_02024C7A _08029A10: .4byte gBattleMons _08029A14: .4byte gUnknown_02024D28 @@ -55628,7 +55628,7 @@ atkC4_802B910: @ 8029A48 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _08029A8C @ =gUnknown_02024C07 + ldr r0, _08029A8C @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -55638,7 +55638,7 @@ atkC4_802B910: @ 8029A48 ldr r7, _08029A94 @ =gPlayerParty _08029A62: ldr r2, _08029A98 @ =gBattleMons - ldr r0, _08029A9C @ =gUnknown_02024C08 + ldr r0, _08029A9C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -55658,11 +55658,11 @@ _08029A62: ldrb r0, [r2, 0x4] b _08029C40 .align 2, 0 -_08029A8C: .4byte gUnknown_02024C07 +_08029A8C: .4byte gPlayerMonIndex _08029A90: .4byte gEnemyParty _08029A94: .4byte gPlayerParty _08029A98: .4byte gBattleMons -_08029A9C: .4byte gUnknown_02024C08 +_08029A9C: .4byte gEnemyMonIndex _08029AA0: .4byte gUnknown_02024C10 _08029AA4: ldr r6, _08029BE0 @ =gUnknown_02024D1E @@ -55725,7 +55725,7 @@ _08029B08: strb r0, [r1] movs r0, 0x4 strb r0, [r1, 0x1] - ldr r6, _08029BE8 @ =gUnknown_02024C07 + ldr r6, _08029BE8 @ =gPlayerMonIndex ldrb r0, [r6] strb r0, [r1, 0x2] strb r2, [r1, 0x3] @@ -55778,7 +55778,7 @@ _08029B08: muls r0, r1 str r0, [r2] ldr r3, _08029C00 @ =gBattleMons - ldr r1, _08029C04 @ =gUnknown_02024C08 + ldr r1, _08029C04 @ =gEnemyMonIndex ldrb r2, [r1] movs r1, 0x58 muls r1, r2 @@ -55820,14 +55820,14 @@ _08029BD4: .align 2, 0 _08029BE0: .4byte gUnknown_02024D1E _08029BE4: .4byte gUnknown_030041C0 -_08029BE8: .4byte gUnknown_02024C07 +_08029BE8: .4byte gPlayerMonIndex _08029BEC: .4byte gUnknown_02024C10 _08029BF0: .4byte gBattleMoveDamage _08029BF4: .4byte gBaseStats _08029BF8: .4byte gBattleMoves _08029BFC: .4byte gUnknown_02024BE6 _08029C00: .4byte gBattleMons -_08029C04: .4byte gUnknown_02024C08 +_08029C04: .4byte gEnemyMonIndex _08029C08: .4byte gUnknown_02024D28 _08029C0C: mov r0, r8 @@ -55895,7 +55895,7 @@ _08029C70: bne _08029CC4 _08029C7C: ldr r2, _08029C90 @ =gUnknown_02024C98 - ldr r0, _08029C94 @ =gUnknown_02024C07 + ldr r0, _08029C94 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -55905,10 +55905,10 @@ _08029C7C: .align 2, 0 _08029C8C: .4byte 0x00000123 _08029C90: .4byte gUnknown_02024C98 -_08029C94: .4byte gUnknown_02024C07 +_08029C94: .4byte gPlayerMonIndex _08029C98: ldr r2, _08029CA8 @ =gUnknown_02024C98 - ldr r0, _08029CAC @ =gUnknown_02024C07 + ldr r0, _08029CAC @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -55917,10 +55917,10 @@ _08029C98: b _08029CC0 .align 2, 0 _08029CA8: .4byte gUnknown_02024C98 -_08029CAC: .4byte gUnknown_02024C07 +_08029CAC: .4byte gPlayerMonIndex _08029CB0: ldr r2, _08029CD0 @ =gUnknown_02024C98 - ldr r0, _08029CD4 @ =gUnknown_02024C07 + ldr r0, _08029CD4 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -55939,7 +55939,7 @@ _08029CC4: bx r0 .align 2, 0 _08029CD0: .4byte gUnknown_02024C98 -_08029CD4: .4byte gUnknown_02024C07 +_08029CD4: .4byte gPlayerMonIndex _08029CD8: .4byte gUnknown_02024C10 thumb_func_end atkC5_hidepreattack @@ -55966,7 +55966,7 @@ _08029CF4: bne _08029D4E _08029D00: ldr r2, _08029D18 @ =gUnknown_02024C98 - ldr r0, _08029D1C @ =gUnknown_02024C07 + ldr r0, _08029D1C @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -55977,10 +55977,10 @@ _08029D00: .align 2, 0 _08029D14: .4byte 0x00000123 _08029D18: .4byte gUnknown_02024C98 -_08029D1C: .4byte gUnknown_02024C07 +_08029D1C: .4byte gPlayerMonIndex _08029D20: ldr r2, _08029D34 @ =gUnknown_02024C98 - ldr r0, _08029D38 @ =gUnknown_02024C07 + ldr r0, _08029D38 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -55990,10 +55990,10 @@ _08029D20: b _08029D4A .align 2, 0 _08029D34: .4byte gUnknown_02024C98 -_08029D38: .4byte gUnknown_02024C07 +_08029D38: .4byte gPlayerMonIndex _08029D3C: ldr r2, _08029D5C @ =gUnknown_02024C98 - ldr r0, _08029D60 @ =gUnknown_02024C07 + ldr r0, _08029D60 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -56011,7 +56011,7 @@ _08029D4E: bx r0 .align 2, 0 _08029D5C: .4byte gUnknown_02024C98 -_08029D60: .4byte gUnknown_02024C07 +_08029D60: .4byte gPlayerMonIndex _08029D64: .4byte 0xfffbffff _08029D68: .4byte gUnknown_02024C10 thumb_func_end atkC6_unhidepostattack @@ -56027,7 +56027,7 @@ atkC7_setminimize: @ 8029D6C cmp r0, 0 beq _08029D90 ldr r2, _08029DA0 @ =gUnknown_02024C98 - ldr r0, _08029DA4 @ =gUnknown_02024C07 + ldr r0, _08029DA4 @ =gPlayerMonIndex ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -56046,7 +56046,7 @@ _08029D90: .align 2, 0 _08029D9C: .4byte gUnknown_02024C6C _08029DA0: .4byte gUnknown_02024C98 -_08029DA4: .4byte gUnknown_02024C07 +_08029DA4: .4byte gPlayerMonIndex _08029DA8: .4byte gUnknown_02024C10 thumb_func_end atkC7_setminimize @@ -56098,7 +56098,7 @@ _08029E00: .4byte gUnknown_02024C10 atkC9_jumpifattackandspecialattackcannotfall: @ 8029E04 push {r4,lr} ldr r2, _08029E48 @ =gBattleMons - ldr r0, _08029E4C @ =gUnknown_02024C08 + ldr r0, _08029E4C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -56132,12 +56132,12 @@ atkC9_jumpifattackandspecialattackcannotfall: @ 8029E04 b _08029E84 .align 2, 0 _08029E48: .4byte gBattleMons -_08029E4C: .4byte gUnknown_02024C08 +_08029E4C: .4byte gEnemyMonIndex _08029E50: .4byte gUnknown_02024D1E _08029E54: .4byte gUnknown_02024C10 _08029E58: ldr r4, _08029E8C @ =gUnknown_02024A60 - ldr r0, _08029E90 @ =gUnknown_02024C07 + ldr r0, _08029E90 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r4] ldr r2, _08029E94 @ =gBattleMoveDamage @@ -56162,7 +56162,7 @@ _08029E84: bx r0 .align 2, 0 _08029E8C: .4byte gUnknown_02024A60 -_08029E90: .4byte gUnknown_02024C07 +_08029E90: .4byte gPlayerMonIndex _08029E94: .4byte gBattleMoveDamage _08029E98: .4byte 0x00007fff _08029E9C: .4byte gUnknown_02024C10 @@ -56171,7 +56171,7 @@ _08029E9C: .4byte gUnknown_02024C10 thumb_func_start atkCA_setforcedtarget atkCA_setforcedtarget: @ 8029EA0 push {r4,r5,lr} - ldr r4, _08029EE0 @ =gUnknown_02024C07 + ldr r4, _08029EE0 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner ldr r5, _08029EE4 @ =gUnknown_02024C80 @@ -56201,7 +56201,7 @@ atkCA_setforcedtarget: @ 8029EA0 pop {r0} bx r0 .align 2, 0 -_08029EE0: .4byte gUnknown_02024C07 +_08029EE0: .4byte gPlayerMonIndex _08029EE4: .4byte gUnknown_02024C80 _08029EE8: .4byte gUnknown_02024C10 thumb_func_end atkCA_setforcedtarget @@ -56210,7 +56210,7 @@ _08029EE8: .4byte gUnknown_02024C10 atkCB_setcharge: @ 8029EEC push {r4,lr} ldr r0, _08029F40 @ =gUnknown_02024C98 - ldr r3, _08029F44 @ =gUnknown_02024C07 + ldr r3, _08029F44 @ =gPlayerMonIndex ldrb r1, [r3] lsls r1, 2 adds r1, r0 @@ -56252,7 +56252,7 @@ atkCB_setcharge: @ 8029EEC bx r0 .align 2, 0 _08029F40: .4byte gUnknown_02024C98 -_08029F44: .4byte gUnknown_02024C07 +_08029F44: .4byte gPlayerMonIndex _08029F48: .4byte gUnknown_02024CA8 _08029F4C: .4byte gUnknown_02024C10 thumb_func_end atkCB_setcharge @@ -56276,7 +56276,7 @@ atkCC_callterrainattack: @ 8029F50 ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _08029FB4 @ =gUnknown_02024C08 + ldr r1, _08029FB4 @ =gEnemyMonIndex strb r0, [r1] ldr r3, _08029FB8 @ =gUnknown_081D6BBC ldr r2, _08029FBC @ =gBattleMoves @@ -56303,7 +56303,7 @@ _08029FA4: .4byte 0xfffffbff _08029FA8: .4byte gUnknown_02024BE6 _08029FAC: .4byte gNaturePowerMoves _08029FB0: .4byte gBattleTerrain -_08029FB4: .4byte gUnknown_02024C08 +_08029FB4: .4byte gEnemyMonIndex _08029FB8: .4byte gUnknown_081D6BBC _08029FBC: .4byte gBattleMoves _08029FC0: .4byte gUnknown_02024C10 @@ -56314,7 +56314,7 @@ atkCD_cureifburnedparalysedorpoisoned: @ 8029FC4 push {r4-r6,lr} sub sp, 0x4 ldr r1, _0802A010 @ =gBattleMons - ldr r3, _0802A014 @ =gUnknown_02024C07 + ldr r3, _0802A014 @ =gPlayerMonIndex ldrb r0, [r3] movs r6, 0x58 muls r0, r6 @@ -56349,7 +56349,7 @@ atkCD_cureifburnedparalysedorpoisoned: @ 8029FC4 b _0802A03A .align 2, 0 _0802A010: .4byte gBattleMons -_0802A014: .4byte gUnknown_02024C07 +_0802A014: .4byte gPlayerMonIndex _0802A018: .4byte gUnknown_02024C10 _0802A01C: .4byte gUnknown_02024A60 _0802A020: @@ -56379,7 +56379,7 @@ _0802A044: .4byte gUnknown_02024C10 atkCE_settorment: @ 802A048 push {lr} ldr r1, _0802A080 @ =gBattleMons - ldr r0, _0802A084 @ =gUnknown_02024C08 + ldr r0, _0802A084 @ =gEnemyMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -56406,7 +56406,7 @@ atkCE_settorment: @ 802A048 b _0802A098 .align 2, 0 _0802A080: .4byte gBattleMons -_0802A084: .4byte gUnknown_02024C08 +_0802A084: .4byte gEnemyMonIndex _0802A088: .4byte gUnknown_02024C10 _0802A08C: orrs r1, r2 @@ -56426,7 +56426,7 @@ _0802A09C: .4byte gUnknown_02024C10 atkCF_jumpifnodamage: @ 802A0A0 push {lr} ldr r2, _0802A0CC @ =gUnknown_02024D28 - ldr r0, _0802A0D0 @ =gUnknown_02024C07 + ldr r0, _0802A0D0 @ =gPlayerMonIndex ldrb r0, [r0] lsls r1, r0, 4 adds r0, r2, 0x4 @@ -56448,7 +56448,7 @@ _0802A0C0: b _0802A0F2 .align 2, 0 _0802A0CC: .4byte gUnknown_02024D28 -_0802A0D0: .4byte gUnknown_02024C07 +_0802A0D0: .4byte gPlayerMonIndex _0802A0D4: .4byte gUnknown_02024C10 _0802A0D8: ldr r3, _0802A0F8 @ =gUnknown_02024C10 @@ -56475,7 +56475,7 @@ _0802A0F8: .4byte gUnknown_02024C10 atkD0_settaunt: @ 802A0FC push {r4,lr} ldr r4, _0802A140 @ =gUnknown_02024CA8 - ldr r3, _0802A144 @ =gUnknown_02024C08 + ldr r3, _0802A144 @ =gEnemyMonIndex ldrb r0, [r3] lsls r1, r0, 3 subs r1, r0 @@ -56509,7 +56509,7 @@ atkD0_settaunt: @ 802A0FC b _0802A166 .align 2, 0 _0802A140: .4byte gUnknown_02024CA8 -_0802A144: .4byte gUnknown_02024C08 +_0802A144: .4byte gEnemyMonIndex _0802A148: .4byte gUnknown_02024C10 _0802A14C: ldr r3, _0802A16C @ =gUnknown_02024C10 @@ -56536,7 +56536,7 @@ _0802A16C: .4byte gUnknown_02024C10 thumb_func_start sub_802A170 sub_802A170: @ 802A170 push {r4,lr} - ldr r4, _0802A1D8 @ =gUnknown_02024C07 + ldr r4, _0802A1D8 @ =gPlayerMonIndex ldrb r0, [r4] bl battle_get_per_side_status movs r1, 0x2 @@ -56544,7 +56544,7 @@ sub_802A170: @ 802A170 lsls r0, 24 lsrs r0, 24 bl battle_get_side_with_given_state - ldr r3, _0802A1DC @ =gUnknown_02024C08 + ldr r3, _0802A1DC @ =gEnemyMonIndex strb r0, [r3] ldr r0, _0802A1E0 @ =gBattleTypeFlags ldrh r1, [r0] @@ -56585,8 +56585,8 @@ sub_802A170: @ 802A170 str r0, [r1] b _0802A20E .align 2, 0 -_0802A1D8: .4byte gUnknown_02024C07 -_0802A1DC: .4byte gUnknown_02024C08 +_0802A1D8: .4byte gPlayerMonIndex +_0802A1DC: .4byte gEnemyMonIndex _0802A1E0: .4byte gBattleTypeFlags _0802A1E4: .4byte gUnknown_02024C0C _0802A1E8: .4byte gBitTable @@ -56622,7 +56622,7 @@ sub_802A218: @ 802A218 mov r5, r8 push {r5-r7} sub sp, 0x4 - ldr r0, _0802A30C @ =gUnknown_02024C07 + ldr r0, _0802A30C @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner lsls r0, 24 @@ -56642,7 +56642,7 @@ sub_802A218: @ 802A218 cmp r1, r0 bne _0802A2EE _0802A24C: - ldr r4, _0802A30C @ =gUnknown_02024C07 + ldr r4, _0802A30C @ =gPlayerMonIndex ldrb r0, [r4] bl battle_side_get_owner lsls r0, 24 @@ -56678,7 +56678,7 @@ _0802A24C: _0802A290: ldr r0, _0802A328 @ =gBattleMons mov r9, r0 - ldr r1, _0802A30C @ =gUnknown_02024C07 + ldr r1, _0802A30C @ =gPlayerMonIndex ldrb r4, [r1] movs r2, 0x58 mov r8, r2 @@ -56690,7 +56690,7 @@ _0802A290: adds r1, r3, 0 cmp r1, 0 bne _0802A2BE - ldr r0, _0802A32C @ =gUnknown_02024C08 + ldr r0, _0802A32C @ =gEnemyMonIndex ldrb r0, [r0] mov r2, r8 muls r2, r0 @@ -56702,7 +56702,7 @@ _0802A290: _0802A2BE: cmp r1, 0xAF beq _0802A2EE - ldr r7, _0802A32C @ =gUnknown_02024C08 + ldr r7, _0802A32C @ =gEnemyMonIndex ldrb r0, [r7] mov r1, r8 muls r1, r0 @@ -56740,7 +56740,7 @@ _0802A2EE: str r1, [r3] b _0802A49A .align 2, 0 -_0802A30C: .4byte gUnknown_02024C07 +_0802A30C: .4byte gPlayerMonIndex _0802A310: .4byte gBattleTypeFlags _0802A314: .4byte 0x00000902 _0802A318: .4byte gTrainerBattleOpponent @@ -56748,7 +56748,7 @@ _0802A31C: .4byte gUnknown_02024DBC _0802A320: .4byte gBitTable _0802A324: .4byte gUnknown_02024A6A _0802A328: .4byte gBattleMons -_0802A32C: .4byte gUnknown_02024C08 +_0802A32C: .4byte gEnemyMonIndex _0802A330: .4byte gUnknown_02024C10 _0802A334: adds r0, r2, 0 @@ -56783,7 +56783,7 @@ _0802A36C: ldrh r5, [r5, 0x2E] mov r10, r5 strh r1, [r6] - ldr r3, _0802A45C @ =gUnknown_02024C07 + ldr r3, _0802A45C @ =gPlayerMonIndex ldrb r0, [r3] mov r1, r8 muls r1, r0 @@ -56799,7 +56799,7 @@ _0802A36C: mov r3, r10 strh r3, [r0, 0x2E] ldr r5, _0802A460 @ =gUnknown_02024A60 - ldr r1, _0802A45C @ =gUnknown_02024C07 + ldr r1, _0802A45C @ =gPlayerMonIndex ldrb r0, [r1] strb r0, [r5] str r6, [sp] @@ -56808,7 +56808,7 @@ _0802A36C: movs r2, 0 movs r3, 0x2 bl dp01_build_cmdbuf_x02_a_b_varargs - ldr r2, _0802A45C @ =gUnknown_02024C07 + ldr r2, _0802A45C @ =gPlayerMonIndex ldrb r0, [r2] bl dp01_battle_side_mark_buffer_for_execution ldrb r0, [r7] @@ -56844,7 +56844,7 @@ _0802A36C: adds r0, r4 movs r3, 0 strb r3, [r0] - ldr r3, _0802A45C @ =gUnknown_02024C07 + ldr r3, _0802A45C @ =gPlayerMonIndex ldrb r0, [r3] lsls r0, 1 adds r0, r2 @@ -56893,7 +56893,7 @@ _0802A36C: b _0802A498 .align 2, 0 _0802A458: .4byte 0x020160f0 -_0802A45C: .4byte gUnknown_02024C07 +_0802A45C: .4byte gPlayerMonIndex _0802A460: .4byte gUnknown_02024A60 _0802A464: .4byte 0xfffe9f10 _0802A468: .4byte 0x000160e8 @@ -56934,7 +56934,7 @@ _0802A4AC: .4byte gUnknown_02024D1E sub_802A4B0: @ 802A4B0 push {r4,lr} ldr r3, _0802A4F0 @ =gBattleMons - ldr r4, _0802A4F4 @ =gUnknown_02024C08 + ldr r4, _0802A4F4 @ =gEnemyMonIndex ldrb r0, [r4] movs r2, 0x58 muls r0, r2 @@ -56946,7 +56946,7 @@ sub_802A4B0: @ 802A4B0 beq _0802A504 cmp r0, 0x19 beq _0802A504 - ldr r0, _0802A4F8 @ =gUnknown_02024C07 + ldr r0, _0802A4F8 @ =gPlayerMonIndex ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -56966,8 +56966,8 @@ sub_802A4B0: @ 802A4B0 b _0802A51E .align 2, 0 _0802A4F0: .4byte gBattleMons -_0802A4F4: .4byte gUnknown_02024C08 -_0802A4F8: .4byte gUnknown_02024C07 +_0802A4F4: .4byte gEnemyMonIndex +_0802A4F8: .4byte gPlayerMonIndex _0802A4FC: .4byte byte_2024C06 _0802A500: .4byte gUnknown_02024C10 _0802A504: @@ -57007,7 +57007,7 @@ atkD4_802C408: @ 802A528 _0802A53C: .4byte gUnknown_02024C10 _0802A540: ldr r1, _0802A56C @ =gUnknown_02024DBC - ldr r4, _0802A570 @ =gUnknown_02024C07 + ldr r4, _0802A570 @ =gPlayerMonIndex adds r0, r1, 0 adds r0, 0x20 ldrb r5, [r4] @@ -57030,7 +57030,7 @@ _0802A540: b _0802A5F2 .align 2, 0 _0802A56C: .4byte gUnknown_02024DBC -_0802A570: .4byte gUnknown_02024C07 +_0802A570: .4byte gPlayerMonIndex _0802A574: .4byte gUnknown_02024A6A _0802A578: ldr r1, _0802A5DC @ =gUnknown_030041C0 @@ -57038,7 +57038,7 @@ _0802A578: strb r0, [r1] movs r0, 0x4 strb r0, [r1, 0x1] - ldr r4, _0802A5E0 @ =gUnknown_02024C08 + ldr r4, _0802A5E0 @ =gEnemyMonIndex ldrb r0, [r4] strb r0, [r1, 0x2] ldr r0, _0802A5E4 @ =gUnknown_02024DBC @@ -57087,7 +57087,7 @@ _0802A5C4: b _0802A5F4 .align 2, 0 _0802A5DC: .4byte gUnknown_030041C0 -_0802A5E0: .4byte gUnknown_02024C08 +_0802A5E0: .4byte gEnemyMonIndex _0802A5E4: .4byte gUnknown_02024DBC _0802A5E8: .4byte gBattleMoveDamage _0802A5EC: .4byte gBattleMons @@ -57105,7 +57105,7 @@ _0802A5F4: sub_802A5FC: @ 802A5FC push {lr} ldr r1, _0802A634 @ =gUnknown_02024C98 - ldr r0, _0802A638 @ =gUnknown_02024C07 + ldr r0, _0802A638 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -57132,7 +57132,7 @@ sub_802A5FC: @ 802A5FC b _0802A64C .align 2, 0 _0802A634: .4byte gUnknown_02024C98 -_0802A638: .4byte gUnknown_02024C07 +_0802A638: .4byte gPlayerMonIndex _0802A63C: .4byte gUnknown_02024C10 _0802A640: orrs r1, r3 @@ -57152,7 +57152,7 @@ _0802A650: .4byte gUnknown_02024C10 atkD6_doubledamagedealtifdamaged: @ 802A654 push {lr} ldr r3, _0802A6A4 @ =gUnknown_02024D28 - ldr r0, _0802A6A8 @ =gUnknown_02024C07 + ldr r0, _0802A6A8 @ =gPlayerMonIndex ldrb r0, [r0] lsls r2, r0, 4 adds r0, r3, 0x4 @@ -57161,7 +57161,7 @@ atkD6_doubledamagedealtifdamaged: @ 802A654 cmp r0, 0 beq _0802A674 adds r0, r2, r3 - ldr r1, _0802A6AC @ =gUnknown_02024C08 + ldr r1, _0802A6AC @ =gEnemyMonIndex ldrb r0, [r0, 0xC] ldrb r1, [r1] cmp r0, r1 @@ -57174,7 +57174,7 @@ _0802A674: cmp r0, 0 beq _0802A696 adds r0, r2, r3 - ldr r1, _0802A6AC @ =gUnknown_02024C08 + ldr r1, _0802A6AC @ =gEnemyMonIndex ldrb r0, [r0, 0xD] ldrb r1, [r1] cmp r0, r1 @@ -57194,8 +57194,8 @@ _0802A696: bx r0 .align 2, 0 _0802A6A4: .4byte gUnknown_02024D28 -_0802A6A8: .4byte gUnknown_02024C07 -_0802A6AC: .4byte gUnknown_02024C08 +_0802A6A8: .4byte gPlayerMonIndex +_0802A6AC: .4byte gEnemyMonIndex _0802A6B0: .4byte 0x02000000 _0802A6B4: .4byte 0x0001601f _0802A6B8: .4byte gUnknown_02024C10 @@ -57205,7 +57205,7 @@ _0802A6B8: .4byte gUnknown_02024C10 sub_802A6BC: @ 802A6BC push {r4,lr} ldr r1, _0802A700 @ =gUnknown_02024C98 - ldr r0, _0802A704 @ =gUnknown_02024C08 + ldr r0, _0802A704 @ =gEnemyMonIndex ldrb r3, [r0] lsls r0, r3, 2 adds r4, r0, r1 @@ -57240,7 +57240,7 @@ _0802A6E4: b _0802A720 .align 2, 0 _0802A700: .4byte gUnknown_02024C98 -_0802A704: .4byte gUnknown_02024C08 +_0802A704: .4byte gEnemyMonIndex _0802A708: .4byte gBattleMons _0802A70C: .4byte gUnknown_02024C10 _0802A710: @@ -57264,12 +57264,12 @@ _0802A728: .4byte gUnknown_02024C10 atkD8_setdamagetohealthdifference: @ 802A72C push {lr} ldr r2, _0802A768 @ =gBattleMons - ldr r0, _0802A76C @ =gUnknown_02024C08 + ldr r0, _0802A76C @ =gEnemyMonIndex ldrb r0, [r0] movs r1, 0x58 muls r0, r1 adds r3, r0, r2 - ldr r0, _0802A770 @ =gUnknown_02024C07 + ldr r0, _0802A770 @ =gPlayerMonIndex ldrb r0, [r0] muls r0, r1 adds r1, r0, r2 @@ -57293,8 +57293,8 @@ atkD8_setdamagetohealthdifference: @ 802A72C b _0802A78A .align 2, 0 _0802A768: .4byte gBattleMons -_0802A76C: .4byte gUnknown_02024C08 -_0802A770: .4byte gUnknown_02024C07 +_0802A76C: .4byte gEnemyMonIndex +_0802A770: .4byte gPlayerMonIndex _0802A774: .4byte gUnknown_02024C10 _0802A778: ldr r2, _0802A790 @ =gBattleMoveDamage @@ -57330,7 +57330,7 @@ atkD9_scaledamagebyhealthratio: @ 802A798 adds r0, r2 ldrb r3, [r0, 0x1] ldr r2, _0802A7F0 @ =gBattleMons - ldr r0, _0802A7F4 @ =gUnknown_02024C07 + ldr r0, _0802A7F4 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -57358,7 +57358,7 @@ _0802A7E4: .4byte gUnknown_02024DEC _0802A7E8: .4byte gBattleMoves _0802A7EC: .4byte gUnknown_02024BE6 _0802A7F0: .4byte gBattleMons -_0802A7F4: .4byte gUnknown_02024C07 +_0802A7F4: .4byte gPlayerMonIndex _0802A7F8: .4byte gUnknown_02024C10 thumb_func_end atkD9_scaledamagebyhealthratio @@ -57366,7 +57366,7 @@ _0802A7F8: .4byte gUnknown_02024C10 atkDA_abilityswap: @ 802A7FC push {r4-r6,lr} ldr r5, _0802A860 @ =gBattleMons - ldr r0, _0802A864 @ =gUnknown_02024C07 + ldr r0, _0802A864 @ =gPlayerMonIndex ldrb r0, [r0] movs r4, 0x58 muls r0, r4 @@ -57376,7 +57376,7 @@ atkDA_abilityswap: @ 802A7FC ldrb r1, [r2] cmp r1, 0 bne _0802A824 - ldr r0, _0802A868 @ =gUnknown_02024C08 + ldr r0, _0802A868 @ =gEnemyMonIndex ldrb r0, [r0] muls r0, r4 adds r0, r5 @@ -57387,7 +57387,7 @@ atkDA_abilityswap: @ 802A7FC _0802A824: cmp r1, 0x19 beq _0802A844 - ldr r6, _0802A868 @ =gUnknown_02024C08 + ldr r6, _0802A868 @ =gEnemyMonIndex ldrb r0, [r6] muls r0, r4 adds r0, r5 @@ -57418,8 +57418,8 @@ _0802A844: b _0802A88A .align 2, 0 _0802A860: .4byte gBattleMons -_0802A864: .4byte gUnknown_02024C07 -_0802A868: .4byte gUnknown_02024C08 +_0802A864: .4byte gPlayerMonIndex +_0802A868: .4byte gEnemyMonIndex _0802A86C: .4byte gBattleMoveFlags _0802A870: .4byte gUnknown_02024C10 _0802A874: @@ -57451,7 +57451,7 @@ atkDB_imprisoneffect: @ 802A894 movs r0, 0 mov r8, r0 ldr r1, _0802A8B8 @ =gUnknown_02024C98 - ldr r0, _0802A8BC @ =gUnknown_02024C07 + ldr r0, _0802A8BC @ =gPlayerMonIndex ldrb r2, [r0] lsls r0, r2, 2 adds r0, r1 @@ -57464,7 +57464,7 @@ atkDB_imprisoneffect: @ 802A894 b _0802A95E .align 2, 0 _0802A8B8: .4byte gUnknown_02024C98 -_0802A8BC: .4byte gUnknown_02024C07 +_0802A8BC: .4byte gPlayerMonIndex _0802A8C0: ldr r0, _0802A8E0 @ =gUnknown_02024C98 mov r2, r9 @@ -57497,7 +57497,7 @@ _0802A8F2: cmp r8, r0 beq _0802A948 movs r4, 0 - ldr r7, _0802A984 @ =gUnknown_02024C07 + ldr r7, _0802A984 @ =gPlayerMonIndex mov r9, r7 ldr r0, _0802A988 @ =gBattleMons mov r12, r0 @@ -57573,7 +57573,7 @@ _0802A978: pop {r0} bx r0 .align 2, 0 -_0802A984: .4byte gUnknown_02024C07 +_0802A984: .4byte gPlayerMonIndex _0802A988: .4byte gBattleMons _0802A98C: .4byte gUnknown_02024A68 _0802A990: .4byte gUnknown_02024C10 @@ -57583,7 +57583,7 @@ _0802A990: .4byte gUnknown_02024C10 atkDC_setgrudge: @ 802A994 push {lr} ldr r1, _0802A9CC @ =gUnknown_02024C98 - ldr r0, _0802A9D0 @ =gUnknown_02024C07 + ldr r0, _0802A9D0 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -57610,7 +57610,7 @@ atkDC_setgrudge: @ 802A994 b _0802A9E4 .align 2, 0 _0802A9CC: .4byte gUnknown_02024C98 -_0802A9D0: .4byte gUnknown_02024C07 +_0802A9D0: .4byte gPlayerMonIndex _0802A9D4: .4byte gUnknown_02024C10 _0802A9D8: orrs r1, r3 @@ -57643,7 +57643,7 @@ atkDD_weightdamagecalculation: @ 802A9EC adds r7, r1, 0 adds r4, r6, 0 _0802AA08: - ldr r0, _0802AA5C @ =gUnknown_02024C08 + ldr r0, _0802AA5C @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -57682,7 +57682,7 @@ _0802AA36: _0802AA50: .4byte gWeightDamage _0802AA54: .4byte 0x0000ffff _0802AA58: .4byte gBattleMons -_0802AA5C: .4byte gUnknown_02024C08 +_0802AA5C: .4byte gEnemyMonIndex _0802AA60: .4byte gUnknown_02024DEC _0802AA64: ldr r1, _0802AA7C @ =gUnknown_02024DEC @@ -57713,7 +57713,7 @@ atkDE_asistattackselect: @ 802AA84 sub sp, 0x8 movs r0, 0 mov r10, r0 - ldr r0, _0802AB9C @ =gUnknown_02024C07 + ldr r0, _0802AB9C @ =gPlayerMonIndex ldrb r0, [r0] bl battle_get_per_side_status movs r1, 0x1 @@ -57728,7 +57728,7 @@ _0802AAAC: movs r2, 0 _0802AAAE: ldr r1, _0802ABA8 @ =gUnknown_02024A6A - ldr r0, _0802AB9C @ =gUnknown_02024C07 + ldr r0, _0802AB9C @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -57838,7 +57838,7 @@ _0802AB54: ldrh r0, [r4] movs r1, 0 bl sub_801B5C0 - ldr r1, _0802ABC4 @ =gUnknown_02024C08 + ldr r1, _0802ABC4 @ =gEnemyMonIndex strb r0, [r1] ldr r1, _0802ABC8 @ =gUnknown_02024C10 ldr r0, [r1] @@ -57846,7 +57846,7 @@ _0802AB54: str r0, [r1] b _0802ABE6 .align 2, 0 -_0802AB9C: .4byte gUnknown_02024C07 +_0802AB9C: .4byte gPlayerMonIndex _0802ABA0: .4byte gPlayerParty _0802ABA4: .4byte gEnemyParty _0802ABA8: .4byte gUnknown_02024A6A @@ -57856,7 +57856,7 @@ _0802ABB4: .4byte gUnknown_081FACFE _0802ABB8: .4byte gUnknown_02024C6C _0802ABBC: .4byte 0xfffffbff _0802ABC0: .4byte gUnknown_02024BEA -_0802ABC4: .4byte gUnknown_02024C08 +_0802ABC4: .4byte gEnemyMonIndex _0802ABC8: .4byte gUnknown_02024C10 _0802ABCC: ldr r3, _0802ABF8 @ =gUnknown_02024C10 @@ -57888,8 +57888,8 @@ _0802ABF8: .4byte gUnknown_02024C10 thumb_func_start atkDF_setmagiccoat atkDF_setmagiccoat: @ 802ABFC push {lr} - ldr r1, _0802AC44 @ =gUnknown_02024C08 - ldr r3, _0802AC48 @ =gUnknown_02024C07 + ldr r1, _0802AC44 @ =gEnemyMonIndex + ldr r3, _0802AC48 @ =gPlayerMonIndex ldrb r0, [r3] strb r0, [r1] ldr r2, _0802AC4C @ =gUnknown_02024D68 @@ -57924,8 +57924,8 @@ atkDF_setmagiccoat: @ 802ABFC str r1, [r3] b _0802AC74 .align 2, 0 -_0802AC44: .4byte gUnknown_02024C08 -_0802AC48: .4byte gUnknown_02024C07 +_0802AC44: .4byte gEnemyMonIndex +_0802AC48: .4byte gPlayerMonIndex _0802AC4C: .4byte gUnknown_02024D68 _0802AC50: .4byte gUnknown_02024A7E _0802AC54: .4byte gUnknown_02024A68 @@ -57955,7 +57955,7 @@ _0802AC7C: .4byte gUnknown_02024C10 atkE0_setstealstatchange: @ 802AC80 push {lr} ldr r2, _0802ACC4 @ =gUnknown_02024D68 - ldr r3, _0802ACC8 @ =gUnknown_02024C07 + ldr r3, _0802ACC8 @ =gPlayerMonIndex ldrb r1, [r3] lsls r0, r1, 2 adds r0, r1 @@ -57988,7 +57988,7 @@ atkE0_setstealstatchange: @ 802AC80 b _0802ACEE .align 2, 0 _0802ACC4: .4byte gUnknown_02024D68 -_0802ACC8: .4byte gUnknown_02024C07 +_0802ACC8: .4byte gPlayerMonIndex _0802ACCC: .4byte gUnknown_02024A7E _0802ACD0: .4byte gUnknown_02024A68 _0802ACD4: .4byte gUnknown_02024C10 @@ -58041,7 +58041,7 @@ atkE1_802CBE4: @ 802ACFC strb r0, [r2, 0x2] movs r0, 0xFF strb r0, [r2, 0x3] - ldr r2, _0802ADB0 @ =gUnknown_02024C08 + ldr r2, _0802ADB0 @ =gEnemyMonIndex ldr r1, _0802ADB4 @ =gUnknown_02024A68 ldrb r0, [r2] ldrb r1, [r1] @@ -58078,7 +58078,7 @@ _0802AD66: cmp r0, r1 bcc _0802AD44 _0802AD7A: - ldr r0, _0802ADB0 @ =gUnknown_02024C08 + ldr r0, _0802ADB0 @ =gEnemyMonIndex ldrb r0, [r0] ldrb r2, [r2] cmp r0, r2 @@ -58103,7 +58103,7 @@ _0802ADA0: .4byte 0x02000000 _0802ADA4: .4byte 0x000160dd _0802ADA8: .4byte gUnknown_030041C0 _0802ADAC: .4byte gBattleMons -_0802ADB0: .4byte gUnknown_02024C08 +_0802ADB0: .4byte gEnemyMonIndex _0802ADB4: .4byte gUnknown_02024A68 _0802ADB8: .4byte gBitTable _0802ADBC: .4byte gUnknown_02024C0C @@ -58534,7 +58534,7 @@ atkE8_settypebasedhalvers: @ 802B108 cmp r0, 0xC9 bne _0802B158 ldr r1, _0802B14C @ =gUnknown_02024C98 - ldr r0, _0802B150 @ =gUnknown_02024C07 + ldr r0, _0802B150 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -58554,11 +58554,11 @@ atkE8_settypebasedhalvers: @ 802B108 _0802B144: .4byte gBattleMoves _0802B148: .4byte gUnknown_02024BE6 _0802B14C: .4byte gUnknown_02024C98 -_0802B150: .4byte gUnknown_02024C07 +_0802B150: .4byte gPlayerMonIndex _0802B154: .4byte gUnknown_02024D1E _0802B158: ldr r1, _0802B18C @ =gUnknown_02024C98 - ldr r0, _0802B190 @ =gUnknown_02024C07 + ldr r0, _0802B190 @ =gPlayerMonIndex ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -58586,7 +58586,7 @@ _0802B180: b _0802B1B6 .align 2, 0 _0802B18C: .4byte gUnknown_02024C98 -_0802B190: .4byte gUnknown_02024C07 +_0802B190: .4byte gPlayerMonIndex _0802B194: .4byte gUnknown_02024D1E _0802B198: .4byte gUnknown_02024C10 _0802B19C: @@ -58719,7 +58719,7 @@ atkEA_recycleitem: @ 802B28C push {r4-r7,lr} sub sp, 0x4 ldr r7, _0802B2F0 @ =gUnknown_02024A60 - ldr r0, _0802B2F4 @ =gUnknown_02024C07 + ldr r0, _0802B2F4 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r7] ldrb r2, [r7] @@ -58765,7 +58765,7 @@ atkEA_recycleitem: @ 802B28C b _0802B322 .align 2, 0 _0802B2F0: .4byte gUnknown_02024A60 -_0802B2F4: .4byte gUnknown_02024C07 +_0802B2F4: .4byte gPlayerMonIndex _0802B2F8: .4byte 0x020160cc _0802B2FC: .4byte gBattleMons _0802B300: .4byte gUnknown_02024C04 @@ -58800,7 +58800,7 @@ atkEB_settypetoterrain: @ 802B330 push {r7} ldr r0, _0802B3A0 @ =gBattleMons mov r8, r0 - ldr r7, _0802B3A4 @ =gUnknown_02024C07 + ldr r7, _0802B3A4 @ =gPlayerMonIndex ldrb r0, [r7] movs r6, 0x58 muls r0, r6 @@ -58853,7 +58853,7 @@ atkEB_settypetoterrain: @ 802B330 b _0802B3D2 .align 2, 0 _0802B3A0: .4byte gBattleMons -_0802B3A4: .4byte gUnknown_02024C07 +_0802B3A4: .4byte gPlayerMonIndex _0802B3A8: .4byte gTerrainToType _0802B3AC: .4byte gBattleTerrain _0802B3B0: .4byte gUnknown_030041C0 @@ -58885,7 +58885,7 @@ _0802B3DC: .4byte gUnknown_02024C10 thumb_func_start sub_802B3E0 sub_802B3E0: @ 802B3E0 push {r4,r5,lr} - ldr r5, _0802B45C @ =gUnknown_02024C07 + ldr r5, _0802B45C @ =gPlayerMonIndex ldrb r0, [r5] bl battle_get_per_side_status movs r1, 0x2 @@ -58945,7 +58945,7 @@ sub_802B3E0: @ 802B3E0 strb r0, [r5] b _0802B4AA .align 2, 0 -_0802B45C: .4byte gUnknown_02024C07 +_0802B45C: .4byte gPlayerMonIndex _0802B460: .4byte gUnknown_02024A60 _0802B464: .4byte gBattleTypeFlags _0802B468: .4byte gUnknown_02024C0C @@ -58984,10 +58984,10 @@ _0802B4B0: .4byte gUnknown_02024C10 sub_802B4B4: @ 802B4B4 push {r4,r5,lr} ldr r1, _0802B4DC @ =gUnknown_02024C0A - ldr r3, _0802B4E0 @ =gUnknown_02024C07 + ldr r3, _0802B4E0 @ =gPlayerMonIndex ldrb r0, [r3] strb r0, [r1] - ldr r2, _0802B4E4 @ =gUnknown_02024C08 + ldr r2, _0802B4E4 @ =gEnemyMonIndex lsls r0, 24 lsrs r0, 24 adds r4, r1, 0 @@ -59003,8 +59003,8 @@ sub_802B4B4: @ 802B4B4 b _0802B4FA .align 2, 0 _0802B4DC: .4byte gUnknown_02024C0A -_0802B4E0: .4byte gUnknown_02024C07 -_0802B4E4: .4byte gUnknown_02024C08 +_0802B4E0: .4byte gPlayerMonIndex +_0802B4E4: .4byte gEnemyMonIndex _0802B4E8: .4byte 0x02000000 _0802B4EC: .4byte 0x00016003 _0802B4F0: @@ -59034,7 +59034,7 @@ _0802B518: .4byte gUnknown_02024C10 thumb_func_start sub_802B51C sub_802B51C: @ 802B51C push {r4,lr} - ldr r0, _0802B56C @ =gUnknown_02024C07 + ldr r0, _0802B56C @ =gPlayerMonIndex ldrb r0, [r0] bl battle_side_get_owner movs r1, 0x1 @@ -59073,7 +59073,7 @@ _0802B544: adds r0, r3 b _0802B598 .align 2, 0 -_0802B56C: .4byte gUnknown_02024C07 +_0802B56C: .4byte gPlayerMonIndex _0802B570: .4byte gUnknown_02024C80 _0802B574: .4byte gUnknown_02024C7A _0802B578: .4byte 0x0000fffe @@ -59115,10 +59115,10 @@ sub_802B5B8: @ 802B5B8 b _0802B94E _0802B5C6: ldr r5, _0802B5FC @ =gUnknown_02024A60 - ldr r0, _0802B600 @ =gUnknown_02024C07 + ldr r0, _0802B600 @ =gPlayerMonIndex ldrb r0, [r0] strb r0, [r5] - ldr r6, _0802B604 @ =gUnknown_02024C08 + ldr r6, _0802B604 @ =gEnemyMonIndex movs r1, 0x1 eors r0, r1 strb r0, [r6] @@ -59139,8 +59139,8 @@ _0802B5C6: .align 2, 0 _0802B5F8: .4byte gUnknown_02024A64 _0802B5FC: .4byte gUnknown_02024A60 -_0802B600: .4byte gUnknown_02024C07 -_0802B604: .4byte gUnknown_02024C08 +_0802B600: .4byte gPlayerMonIndex +_0802B604: .4byte gEnemyMonIndex _0802B608: .4byte gBattleTypeFlags _0802B60C: .4byte gUnknown_02024C10 _0802B610: .4byte gUnknown_081D9F35 @@ -59229,7 +59229,7 @@ _0802B6B0: .4byte _0802B72E _0802B6CC: ldr r2, _0802B6F4 @ =gBattleMons - ldr r0, _0802B6F8 @ =gUnknown_02024C08 + ldr r0, _0802B6F8 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -59250,7 +59250,7 @@ _0802B6CC: b _0802B72E .align 2, 0 _0802B6F4: .4byte gBattleMons -_0802B6F8: .4byte gUnknown_02024C08 +_0802B6F8: .4byte gEnemyMonIndex _0802B6FC: bl sav1_map_get_light_level lsls r0, 24 @@ -59262,7 +59262,7 @@ _0802B6FC: b _0802B78E _0802B70E: ldr r2, _0802B734 @ =gBattleMons - ldr r0, _0802B738 @ =gUnknown_02024C08 + ldr r0, _0802B738 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -59282,10 +59282,10 @@ _0802B72E: b _0802B78E .align 2, 0 _0802B734: .4byte gBattleMons -_0802B738: .4byte gUnknown_02024C08 +_0802B738: .4byte gEnemyMonIndex _0802B73C: ldr r2, _0802B764 @ =gBattleMons - ldr r0, _0802B768 @ =gUnknown_02024C08 + ldr r0, _0802B768 @ =gEnemyMonIndex ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -59305,7 +59305,7 @@ _0802B760: b _0802B78E .align 2, 0 _0802B764: .4byte gBattleMons -_0802B768: .4byte gUnknown_02024C08 +_0802B768: .4byte gEnemyMonIndex _0802B76C: ldr r0, _0802B780 @ =gUnknown_030042E0 ldrb r0, [r0, 0x13] @@ -59330,7 +59330,7 @@ _0802B78E: movs r1, 0xA bl __divsi3 ldr r5, _0802B7F8 @ =gBattleMons - ldr r1, _0802B7FC @ =gUnknown_02024C08 + ldr r1, _0802B7FC @ =gEnemyMonIndex ldrb r1, [r1] movs r7, 0x58 adds r4, r1, 0 @@ -59378,7 +59378,7 @@ _0802B7DC: .align 2, 0 _0802B7F4: .4byte gBallCatchBonuses _0802B7F8: .4byte gBattleMons -_0802B7FC: .4byte gUnknown_02024C08 +_0802B7FC: .4byte gEnemyMonIndex _0802B800: .4byte gUnknown_02024C04 _0802B804: .4byte gUnknown_030042E0 _0802B808: @@ -59405,7 +59405,7 @@ _0802B81C: ldr r0, _0802B86C @ =gUnknown_081D9EC2 str r0, [r1] ldr r1, _0802B870 @ =gUnknown_02024A6A - ldr r0, _0802B874 @ =gUnknown_02024C08 + ldr r0, _0802B874 @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -59429,7 +59429,7 @@ _0802B864: .4byte gUnknown_02024A60 _0802B868: .4byte gUnknown_02024C10 _0802B86C: .4byte gUnknown_081D9EC2 _0802B870: .4byte gUnknown_02024A6A -_0802B874: .4byte gUnknown_02024C08 +_0802B874: .4byte gEnemyMonIndex _0802B878: .4byte gEnemyParty _0802B87C: .4byte gUnknown_02024C04 _0802B880: @@ -59482,7 +59482,7 @@ _0802B8CC: ldr r0, _0802B924 @ =gUnknown_081D9EC2 str r0, [r1] ldr r1, _0802B928 @ =gUnknown_02024A6A - ldr r0, _0802B92C @ =gUnknown_02024C08 + ldr r0, _0802B92C @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -59510,7 +59510,7 @@ _0802B91C: .4byte gUnknown_02024A60 _0802B920: .4byte gUnknown_02024C10 _0802B924: .4byte gUnknown_081D9EC2 _0802B928: .4byte gUnknown_02024A6A -_0802B92C: .4byte gUnknown_02024C08 +_0802B92C: .4byte gEnemyMonIndex _0802B930: .4byte gEnemyParty _0802B934: .4byte gUnknown_02024D1E _0802B938: @@ -59545,7 +59545,7 @@ sub_802B960: @ 802B960 push {r5,r6} ldr r0, _0802B9C8 @ =gUnknown_02024A6A mov r9, r0 - ldr r5, _0802B9CC @ =gUnknown_02024C07 + ldr r5, _0802B9CC @ =gPlayerMonIndex ldrb r0, [r5] movs r4, 0x1 eors r0, r4 @@ -59591,7 +59591,7 @@ sub_802B960: @ 802B960 bx r0 .align 2, 0 _0802B9C8: .4byte gUnknown_02024A6A -_0802B9CC: .4byte gUnknown_02024C07 +_0802B9CC: .4byte gPlayerMonIndex _0802B9D0: .4byte gEnemyParty _0802B9D4: .4byte gUnknown_030042E0 _0802B9D8: .4byte gBattleMons @@ -59602,7 +59602,7 @@ _0802B9DC: .4byte gUnknown_02024C10 sub_802B9E0: @ 802B9E0 push {r4-r6,lr} ldr r4, _0802BA20 @ =gBattleMons - ldr r6, _0802BA24 @ =gUnknown_02024C08 + ldr r6, _0802BA24 @ =gEnemyMonIndex ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -59632,7 +59632,7 @@ sub_802B9E0: @ 802B9E0 b _0802BA82 .align 2, 0 _0802BA20: .4byte gBattleMons -_0802BA24: .4byte gUnknown_02024C08 +_0802BA24: .4byte gEnemyMonIndex _0802BA28: .4byte gUnknown_02024C10 _0802BA2C: ldrb r0, [r6] @@ -59726,7 +59726,7 @@ _0802BAC6: cmp r0, 0 bne _0802BBC4 ldr r4, _0802BB08 @ =gBattleMons - ldr r6, _0802BB0C @ =gUnknown_02024C08 + ldr r6, _0802BB0C @ =gEnemyMonIndex ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -59751,7 +59751,7 @@ _0802BAC6: .align 2, 0 _0802BB04: .4byte gPaletteFade _0802BB08: .4byte gBattleMons -_0802BB0C: .4byte gUnknown_02024C08 +_0802BB0C: .4byte gEnemyMonIndex _0802BB10: ldr r0, _0802BB7C @ =gPaletteFade ldrb r1, [r0, 0x7] @@ -60072,7 +60072,7 @@ _0802BD84: b _0802BEDA _0802BD92: ldr r7, _0802BE38 @ =gUnknown_02024A6A - ldr r0, _0802BE3C @ =gUnknown_02024C07 + ldr r0, _0802BE3C @ =gPlayerMonIndex mov r10, r0 ldrb r0, [r0] movs r4, 0x1 @@ -60149,7 +60149,7 @@ _0802BD92: .align 2, 0 _0802BE34: .4byte gPaletteFade _0802BE38: .4byte gUnknown_02024A6A -_0802BE3C: .4byte gUnknown_02024C07 +_0802BE3C: .4byte gPlayerMonIndex _0802BE40: .4byte gEnemyParty _0802BE44: .4byte 0x02016079 _0802BE48: .4byte sub_800F808 @@ -60167,7 +60167,7 @@ _0802BE50: cmp r0, 0 bne _0802BEDA ldr r2, _0802BE94 @ =gUnknown_02024A6A - ldr r0, _0802BE98 @ =gUnknown_02024C07 + ldr r0, _0802BE98 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x1 eors r0, r1 @@ -60187,7 +60187,7 @@ _0802BE88: .4byte gMain _0802BE8C: .4byte sub_800F808 _0802BE90: .4byte gPaletteFade _0802BE94: .4byte gUnknown_02024A6A -_0802BE98: .4byte gUnknown_02024C07 +_0802BE98: .4byte gPlayerMonIndex _0802BE9C: .4byte gEnemyParty _0802BEA0: .4byte 0x02016079 _0802BEA4: @@ -60233,7 +60233,7 @@ _0802BEEC: .4byte gUnknown_02024C10 thumb_func_start sub_802BEF0 sub_802BEF0: @ 802BEF0 ldr r2, _0802BF10 @ =gBattleMons - ldr r0, _0802BF14 @ =gUnknown_02024C07 + ldr r0, _0802BF14 @ =gPlayerMonIndex ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -60250,7 +60250,7 @@ sub_802BEF0: @ 802BEF0 bx lr .align 2, 0 _0802BF10: .4byte gBattleMons -_0802BF14: .4byte gUnknown_02024C07 +_0802BF14: .4byte gPlayerMonIndex _0802BF18: .4byte gBattleMoveDamage _0802BF1C: .4byte gUnknown_02024C10 thumb_func_end sub_802BEF0 @@ -60258,7 +60258,7 @@ _0802BF1C: .4byte gUnknown_02024C10 thumb_func_start sub_802BF20 sub_802BF20: @ 802BF20 ldr r1, _0802BF3C @ =gBattleMons - ldr r0, _0802BF40 @ =gUnknown_02024C07 + ldr r0, _0802BF40 @ =gPlayerMonIndex ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -60273,7 +60273,7 @@ sub_802BF20: @ 802BF20 bx lr .align 2, 0 _0802BF3C: .4byte gBattleMons -_0802BF40: .4byte gUnknown_02024C07 +_0802BF40: .4byte gPlayerMonIndex _0802BF44: .4byte gUnknown_02024C10 thumb_func_end sub_802BF20 @@ -78510,7 +78510,7 @@ _08035474: ands r0, r1 cmp r0, 0 beq _08035494 - ldr r1, _080354EC @ =gUnknown_02024C08 + ldr r1, _080354EC @ =gEnemyMonIndex ldrb r0, [r6] strb r0, [r1] _08035494: @@ -78526,7 +78526,7 @@ _08035494: beq _080354CE movs r0, 0 bl battle_get_side_with_given_state - ldr r5, _080354EC @ =gUnknown_02024C08 + ldr r5, _080354EC @ =gEnemyMonIndex strb r0, [r5] ldr r0, _080354F0 @ =gUnknown_02024C0C ldrb r1, [r0] @@ -78542,7 +78542,7 @@ _08035494: bl battle_get_side_with_given_state strb r0, [r5] _080354CE: - ldr r0, _080354EC @ =gUnknown_02024C08 + ldr r0, _080354EC @ =gEnemyMonIndex ldrb r0, [r0] lsls r0, 8 orrs r4, r0 @@ -78555,7 +78555,7 @@ _080354E0: b _0803558A .align 2, 0 _080354E8: .4byte gBattleMoves -_080354EC: .4byte gUnknown_02024C08 +_080354EC: .4byte gEnemyMonIndex _080354F0: .4byte gUnknown_02024C0C _080354F4: .4byte gBitTable _080354F8: diff --git a/constants/misc_constants.inc b/constants/misc_constants.inc index dcb3ab287..438fed6b6 100644 --- a/constants/misc_constants.inc +++ b/constants/misc_constants.inc @@ -33,3 +33,13 @@ .equiv FEMALE, 1 .equiv GAME_LANGUAGE, 2 + + .equiv ENEMY_TYPE1, 0 + .equiv ENEMY_TYPE2, 1 + .equiv PLAYER_TYPE1, 2 + .equiv PLAYER_TYPE2, 3 + .equiv CURRENT_MOVE, 4 + + .equiv LESS_THAN, 0 + .equiv GREATER_THAN, 1 + .equiv EQUAL, 2 diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index dce46a908..855221507 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -52,18 +52,18 @@ AI_CheckBadMove: @ 81DA09C jump AI_CheckBadMove_CheckSoundproof CheckIfVoltAbsorbCancelsElectric: @ 81DA0CE - get_type 4 - if_type TYPE_ELECTRIC, Score_Down12 + get_type CURRENT_MOVE + if_arg_equal TYPE_ELECTRIC, Score_Down12 jump AI_CheckBadMove_CheckSoundproof CheckIfWaterAbsorbCancelsWater: @ 81DA0DB - get_type 4 - if_type TYPE_WATER, Score_Down12 + get_type CURRENT_MOVE + if_arg_equal TYPE_WATER, Score_Down12 jump AI_CheckBadMove_CheckSoundproof CheckIfFlashFireCancelsFire: @ 81DA0E8 - get_type 4 - if_type TYPE_FIRE, Score_Down12 + get_type CURRENT_MOVE + if_arg_equal TYPE_FIRE, Score_Down12 jump AI_CheckBadMove_CheckSoundproof CheckIfWonderGuardCancelsMove: @ 81DA0F5 @@ -71,8 +71,8 @@ CheckIfWonderGuardCancelsMove: @ 81DA0F5 jump Score_Down10 CheckIfLevitateCancelsGroundMove: @ 81DA100 - get_type 4 - if_type TYPE_GROUND, Score_Down10 + get_type CURRENT_MOVE + if_arg_equal TYPE_GROUND, Score_Down10 AI_CheckBadMove_CheckSoundproof: @ 81DA108 get_ability TARGET @@ -325,10 +325,10 @@ AI_CBM_Roar: @ 81DA572 end AI_CBM_Toxic: @ 81DA583 - get_type 0 + get_type ENEMY_TYPE1 if_equal TYPE_STEEL, Score_Down10 if_equal TYPE_POISON, Score_Down10 - get_type 2 + get_type PLAYER_TYPE1 if_equal TYPE_STEEL, Score_Down10 if_equal TYPE_POISON, Score_Down10 get_ability TARGET @@ -393,9 +393,9 @@ AI_CBM_Substitute: @ 81DA641 AI_CBM_LeechSeed: @ 81DA653 if_status3 TARGET, S_LEECH_SEED, Score_Down10 - get_type 0 + get_type ENEMY_TYPE1 if_equal TYPE_GRASS, Score_Down10 - get_type 2 + get_type PLAYER_TYPE1 if_equal TYPE_GRASS, Score_Down10 end @@ -754,7 +754,7 @@ AI_CV_Sleep: @ 81DAB44 jump AI_CV_Sleep_End AI_CV_SleepEncourageSlpDamage: @ 81DAB57 - if_random 128, AI_CV_Sleep_End + if_random_less_than 128, AI_CV_Sleep_End score +1 AI_CV_Sleep_End: @ 81DAB5F @@ -766,7 +766,7 @@ AI_CV_Absorb: @ 81DAB60 jump AI_CV_Absorb_End AI_CV_AbsorbEncourageMaybe: @ 81DAB71 - if_random 50, AI_CV_Absorb_End + if_random_less_than 50, AI_CV_Absorb_End score -3 AI_CV_Absorb_End: @ 81DAB79 @@ -776,28 +776,28 @@ AI_CV_SelfKO: @ 81DAB7A if_stat_level_less_than TARGET, EVASION, 7, AI_CV_SelfKO_Encourage1 score -1 if_stat_level_less_than TARGET, EVASION, 10, AI_CV_SelfKO_Encourage1 - if_random 128, AI_CV_SelfKO_Encourage1 + if_random_less_than 128, AI_CV_SelfKO_Encourage1 score -1 AI_CV_SelfKO_Encourage1: @ 81DAB94 if_hp_less_than USER, 80, AI_CV_SelfKO_Encourage2 if_would_go_first USER, AI_CV_SelfKO_Encourage2 - if_random 50, AI_CV_SelfKO_End + if_random_less_than 50, AI_CV_SelfKO_End jump Score_Down3 AI_CV_SelfKO_Encourage2: @ 81DABAC if_hp_more_than USER, 50, AI_CV_SelfKO_Encourage4 - if_random 128, AI_CV_SelfKO_Encourage3 + if_random_less_than 128, AI_CV_SelfKO_Encourage3 score +1 AI_CV_SelfKO_Encourage3: @ 81DABBB if_hp_more_than USER, 30, AI_CV_SelfKO_End - if_random 50, AI_CV_SelfKO_End + if_random_less_than 50, AI_CV_SelfKO_End score +1 jump AI_CV_SelfKO_End AI_CV_SelfKO_Encourage4: @ 81DABCF - if_random 50, AI_CV_SelfKO_End + if_random_less_than 50, AI_CV_SelfKO_End score -1 AI_CV_SelfKO_End: @ 81DABD7 @@ -818,14 +818,14 @@ AI_CV_MirrorMove: @ 81DABEC if_would_go_first USER, AI_CV_MirrorMove2 get_move TARGET if_not_in_words AI_CV_MirrorMove_EncouragedMovesToMirror, AI_CV_MirrorMove2 - if_random 128, AI_CV_MirrorMove_End + if_random_less_than 128, AI_CV_MirrorMove_End score +2 jump AI_CV_MirrorMove_End AI_CV_MirrorMove2: @ 81DAC0A get_move TARGET if_in_words AI_CV_MirrorMove_EncouragedMovesToMirror, AI_CV_MirrorMove_End - if_random 80, AI_CV_MirrorMove_End + if_random_less_than 80, AI_CV_MirrorMove_End score -1 AI_CV_MirrorMove_End: @ 81DAC1D @@ -876,19 +876,19 @@ AI_CV_MirrorMove_EncouragedMovesToMirror: @ 81DAC20 AI_CV_AttackUp: @ 81DAC70 if_stat_level_less_than USER, ATTACK, 9, AI_CV_AttackUp2 - if_random 100, AI_CV_AttackUp3 + if_random_less_than 100, AI_CV_AttackUp3 score -1 jump AI_CV_AttackUp3 AI_CV_AttackUp2: @ 81DAC85 if_hp_not_equal USER, 100, AI_CV_AttackUp3 - if_random 128, AI_CV_AttackUp3 + if_random_less_than 128, AI_CV_AttackUp3 score +2 AI_CV_AttackUp3: @ 81DAC94 if_hp_more_than USER, 70, AI_CV_AttackUp_End if_hp_less_than USER, 40, AI_CV_AttackUp_ScoreDown2 - if_random 40, AI_CV_AttackUp_End + if_random_less_than 40, AI_CV_AttackUp_End AI_CV_AttackUp_ScoreDown2: @ 81DACA8 score -2 @@ -898,31 +898,31 @@ AI_CV_AttackUp_End: @ 81DACAA AI_CV_DefenseUp: @ 81DACAB if_stat_level_less_than USER, DEFENSE, 9, AI_CV_DefenseUp2 - if_random 100, AI_CV_DefenseUp3 + if_random_less_than 100, AI_CV_DefenseUp3 score -1 jump AI_CV_DefenseUp3 AI_CV_DefenseUp2: @ 81DACC0 if_hp_not_equal USER, 100, AI_CV_DefenseUp3 - if_random 128, AI_CV_DefenseUp3 + if_random_less_than 128, AI_CV_DefenseUp3 score +2 AI_CV_DefenseUp3: @ 81DACCF if_hp_less_than USER, 70, AI_CV_DefenseUp4 - if_random 200, AI_CV_DefenseUp_End + if_random_less_than 200, AI_CV_DefenseUp_End AI_CV_DefenseUp4: @ 81DACDC if_hp_less_than USER, 40, AI_CV_DefenseUp_ScoreDown2 get_move TARGET - get_move_power + get_move_power_from_result if_equal 0, AI_CV_DefenseUp5 get_move TARGET - get_move_type + get_move_type_from_result if_not_in_bytes AI_CV_DefenseUp_PhysicalTypes, AI_CV_DefenseUp_ScoreDown2 - if_random 60, AI_CV_DefenseUp_End + if_random_less_than 60, AI_CV_DefenseUp_End AI_CV_DefenseUp5: @ 81DACFE - if_random 60, AI_CV_DefenseUp_End + if_random_less_than 60, AI_CV_DefenseUp_End AI_CV_DefenseUp_ScoreDown2: @ 81DAD04 score -2 @@ -948,7 +948,7 @@ AI_CV_SpeedUp: @ 81DAD11 jump AI_CV_SpeedUp_End AI_CV_SpeedUp2: @ 81DAD1E - if_random 70, AI_CV_SpeedUp_End + if_random_less_than 70, AI_CV_SpeedUp_End score +3 AI_CV_SpeedUp_End: @ 81DAD26 @@ -956,19 +956,19 @@ AI_CV_SpeedUp_End: @ 81DAD26 AI_CV_SpAtkUp: @ 81DAD27 if_stat_level_less_than USER, SP_ATTACK, 9, AI_CV_SpAtkUp2 - if_random 100, AI_CV_SpAtkUp3 + if_random_less_than 100, AI_CV_SpAtkUp3 score -1 jump AI_CV_SpAtkUp3 AI_CV_SpAtkUp2: @ 81DAD3C if_hp_not_equal USER, 100, AI_CV_SpAtkUp3 - if_random 128, AI_CV_SpAtkUp3 + if_random_less_than 128, AI_CV_SpAtkUp3 score +2 AI_CV_SpAtkUp3: @ 81DAD4B if_hp_more_than USER, 70, AI_CV_SpAtkUp_End if_hp_less_than USER, 40, AI_CV_SpAtkUp_ScoreDown2 - if_random 70, AI_CV_SpAtkUp_End + if_random_less_than 70, AI_CV_SpAtkUp_End AI_CV_SpAtkUp_ScoreDown2: @ 81DAD5F score -2 @@ -978,31 +978,31 @@ AI_CV_SpAtkUp_End: @ 81DAD61 AI_CV_SpDefUp: @ 81DAD62 if_stat_level_less_than USER, SP_DEFENSE, 9, AI_CV_SpDefUp2 - if_random 100, AI_CV_SpDefUp3 + if_random_less_than 100, AI_CV_SpDefUp3 score -1 jump AI_CV_SpDefUp3 AI_CV_SpDefUp2: @ 81DAD77 if_hp_not_equal USER, 100, AI_CV_SpDefUp3 - if_random 128, AI_CV_SpDefUp3 + if_random_less_than 128, AI_CV_SpDefUp3 score +2 AI_CV_SpDefUp3: @ 81DAD86 if_hp_less_than USER, 70, AI_CV_SpDefUp4 - if_random 200, AI_CV_SpDefUp_End + if_random_less_than 200, AI_CV_SpDefUp_End AI_CV_SpDefUp4: @ 81DAD93 if_hp_less_than USER, 40, AI_CV_SpDefUp_ScoreDown2 get_move TARGET - get_move_power + get_move_power_from_result if_equal 0, AI_CV_SpDefUp5 get_move TARGET - get_move_type + get_move_type_from_result if_in_bytes AI_CV_SpDefUp_PhysicalTypes, AI_CV_SpDefUp_ScoreDown2 - if_random 60, AI_CV_SpDefUp_End + if_random_less_than 60, AI_CV_SpDefUp_End AI_CV_SpDefUp5: @ 81DADB5 - if_random 60, AI_CV_SpDefUp_End + if_random_less_than 60, AI_CV_SpDefUp_End AI_CV_SpDefUp_ScoreDown2: @ 81DADBB score -2 @@ -1024,7 +1024,7 @@ AI_CV_SpDefUp_PhysicalTypes: @ 81DADBE AI_CV_AccuracyUp: @ 81DADC8 if_stat_level_less_than USER, ACCURACY, 9, AI_CV_AccuracyUp2 - if_random 50, AI_CV_AccuracyUp2 + if_random_less_than 50, AI_CV_AccuracyUp2 score -2 AI_CV_AccuracyUp2: @ 81DADD8 @@ -1036,36 +1036,36 @@ AI_CV_AccuracyUp_End: @ 81DADE1 AI_CV_EvasionUp: @ 81DADE2 if_hp_less_than USER, 90, AI_CV_EvasionUp2 - if_random 100, AI_CV_EvasionUp2 + if_random_less_than 100, AI_CV_EvasionUp2 score +3 AI_CV_EvasionUp2: @ 81DADF1 if_stat_level_less_than USER, EVASION, 9, AI_CV_EvasionUp3 - if_random 128, AI_CV_EvasionUp3 + if_random_less_than 128, AI_CV_EvasionUp3 score -1 AI_CV_EvasionUp3: @ 81DAE01 if_not_status TARGET, TOX, AI_CV_EvasionUp5 if_hp_more_than USER, 50, AI_CV_EvasionUp4 - if_random 80, AI_CV_EvasionUp5 + if_random_less_than 80, AI_CV_EvasionUp5 AI_CV_EvasionUp4: @ 81DAE18 - if_random 50, AI_CV_EvasionUp5 + if_random_less_than 50, AI_CV_EvasionUp5 score +3 AI_CV_EvasionUp5: @ 81DAE20 if_not_status3 TARGET, S_LEECH_SEED, AI_CV_EvasionUp6 - if_random 70, AI_CV_EvasionUp6 + if_random_less_than 70, AI_CV_EvasionUp6 score +3 AI_CV_EvasionUp6: @ 81DAE32 if_not_status3 USER, S_ROOTED, AI_CV_EvasionUp7 - if_random 128, AI_CV_EvasionUp7 + if_random_less_than 128, AI_CV_EvasionUp7 score +2 AI_CV_EvasionUp7: @ 81DAE44 if_not_status2 TARGET, S_CURSED, AI_CV_EvasionUp8 - if_random 70, AI_CV_EvasionUp8 + if_random_less_than 70, AI_CV_EvasionUp8 score +3 AI_CV_EvasionUp8: @ 81DAE56 @@ -1073,7 +1073,7 @@ AI_CV_EvasionUp8: @ 81DAE56 if_stat_level_equal USER, EVASION, 6, AI_CV_EvasionUp_End if_hp_less_than USER, 40, AI_CV_EvasionUp_ScoreDown2 if_hp_less_than TARGET, 40, AI_CV_EvasionUp_ScoreDown2 - if_random 70, AI_CV_EvasionUp_End + if_random_less_than 70, AI_CV_EvasionUp_End AI_CV_EvasionUp_ScoreDown2: @ 81DAE79 score -2 @@ -1092,7 +1092,7 @@ AI_CV_AlwaysHit_ScoreUp1: @ 81DAEA1 score +1 AI_CV_AlwaysHit2: @ 81DAEA3 - if_random 100, AI_CV_AlwaysHit_End + if_random_less_than 100, AI_CV_AlwaysHit_End score +1 AI_CV_AlwaysHit_End: @ 81DAEAB @@ -1106,7 +1106,7 @@ AI_CV_AttackDown: @ 81DAEAC AI_CV_AttackDown2: @ 81DAEBF if_stat_level_more_than TARGET, ATTACK, 3, AI_CV_AttackDown3 - if_random 50, AI_CV_AttackDown3 + if_random_less_than 50, AI_CV_AttackDown3 score -2 AI_CV_AttackDown3: @ 81DAECF @@ -1114,11 +1114,11 @@ AI_CV_AttackDown3: @ 81DAECF score -2 AI_CV_AttackDown4: @ 81DAED8 - get_type 0 + get_type ENEMY_TYPE1 if_in_bytes AI_CV_AttackDown_UnknownTypeList, AI_CV_AttackDown_End - get_type 2 + get_type PLAYER_TYPE1 if_in_bytes AI_CV_AttackDown_UnknownTypeList, AI_CV_AttackDown_End - if_random 50, AI_CV_AttackDown_End + if_random_less_than 50, AI_CV_AttackDown_End score -2 AI_CV_AttackDown_End: @ 81DAEF6 @@ -1139,7 +1139,7 @@ AI_CV_DefenseDown: @ 81DAEFE if_stat_level_more_than TARGET, DEFENSE, 3, AI_CV_DefenseDown3 AI_CV_DefenseDown2: @ 81DAF0D - if_random 50, AI_CV_DefenseDown3 + if_random_less_than 50, AI_CV_DefenseDown3 score -2 AI_CV_DefenseDown3: @ 81DAF15 @@ -1161,7 +1161,7 @@ AI_CV_SpeedDown: @ 81DAF35 jump AI_CV_SpeedDown_End AI_CV_SpeedDown2: @ 81DAF42 - if_random 70, AI_CV_SpeedDown_End + if_random_less_than 70, AI_CV_SpeedDown_End score +2 AI_CV_SpeedDown_End: @ 81DAF4A @@ -1175,7 +1175,7 @@ AI_CV_SpAtkDown: @ 81DAF4B AI_CV_SpAtkDown2: @ 81DAF5E if_stat_level_more_than TARGET, SP_ATTACK, 3, AI_CV_SpAtkDown3 - if_random 50, AI_CV_SpAtkDown3 + if_random_less_than 50, AI_CV_SpAtkDown3 score -2 AI_CV_SpAtkDown3: @ 81DAF6E @@ -1183,11 +1183,11 @@ AI_CV_SpAtkDown3: @ 81DAF6E score -2 AI_CV_SpAtkDown4: @ 81DAF77 - get_type 0 + get_type ENEMY_TYPE1 if_in_bytes AI_CV_SpAtkDown_SpecialTypeList, AI_CV_SpAtkDown_End - get_type 2 + get_type PLAYER_TYPE1 if_in_bytes AI_CV_SpAtkDown_SpecialTypeList, AI_CV_SpAtkDown_End - if_random 50, AI_CV_SpAtkDown_End + if_random_less_than 50, AI_CV_SpAtkDown_End score -2 AI_CV_SpAtkDown_End: @ 81DAF95 @@ -1209,7 +1209,7 @@ AI_CV_SpDefDown: @ 81DAF9F if_stat_level_more_than TARGET, SP_DEFENSE, 3, AI_CV_SpDefDown3 AI_CV_SpDefDown2: @ 81DAFAE - if_random 50, AI_CV_SpDefDown3 + if_random_less_than 50, AI_CV_SpDefDown3 score -2 AI_CV_SpDefDown3: @ 81DAFB6 @@ -1224,32 +1224,32 @@ AI_CV_AccuracyDown: @ 81DAFC0 if_hp_more_than TARGET, 70, AI_CV_AccuracyDown3 AI_CV_AccuracyDown2: @ 81DAFCE - if_random 100, AI_CV_AccuracyDown3 + if_random_less_than 100, AI_CV_AccuracyDown3 score -1 AI_CV_AccuracyDown3: @ 81DAFD6 if_stat_level_more_than USER, ACCURACY, 4, AI_CV_AccuracyDown4 - if_random 80, AI_CV_AccuracyDown4 + if_random_less_than 80, AI_CV_AccuracyDown4 score -2 AI_CV_AccuracyDown4: @ 81DAFE6 if_not_status TARGET, TOX, AI_CV_AccuracyDown5 - if_random 70, AI_CV_AccuracyDown5 + if_random_less_than 70, AI_CV_AccuracyDown5 score +2 AI_CV_AccuracyDown5: @ 81DAFF8 if_not_status3 TARGET, S_LEECH_SEED, AI_CV_AccuracyDown6 - if_random 70, AI_CV_AccuracyDown6 + if_random_less_than 70, AI_CV_AccuracyDown6 score +2 AI_CV_AccuracyDown6: @ 81DB00A if_not_status3 USER, S_ROOTED, AI_CV_AccuracyDown7 - if_random 128, AI_CV_AccuracyDown7 + if_random_less_than 128, AI_CV_AccuracyDown7 score +1 AI_CV_AccuracyDown7: @ 81DB01C if_not_status2 TARGET, S_CURSED, AI_CV_AccuracyDown8 - if_random 70, AI_CV_AccuracyDown8 + if_random_less_than 70, AI_CV_AccuracyDown8 score +2 AI_CV_AccuracyDown8: @ 81DB02E @@ -1257,7 +1257,7 @@ AI_CV_AccuracyDown8: @ 81DB02E if_stat_level_equal TARGET, ACCURACY, 6, AI_CV_AccuracyDown_End if_hp_less_than USER, 40, AI_CV_AccuracyDown_ScoreDown2 if_hp_less_than TARGET, 40, AI_CV_AccuracyDown_ScoreDown2 - if_random 70, AI_CV_AccuracyDown_End + if_random_less_than 70, AI_CV_AccuracyDown_End AI_CV_AccuracyDown_ScoreDown2: @ 81DB051 score -2 @@ -1270,7 +1270,7 @@ AI_CV_EvasionDown: @ 81DB054 if_stat_level_more_than TARGET, EVASION, 3, AI_CV_EvasionDown3 AI_CV_EvasionDown2: @ 81DB063 - if_random 50, AI_CV_EvasionDown3 + if_random_less_than 50, AI_CV_EvasionDown3 score -2 AI_CV_EvasionDown3: @ 81DB06B @@ -1294,7 +1294,7 @@ AI_CV_Haze: @ 81DB075 jump AI_CV_Haze3 AI_CV_Haze2: @ 81DB0CA - if_random 50, AI_CV_Haze3 + if_random_less_than 50, AI_CV_Haze3 score -3 AI_CV_Haze3: @ 81DB0D2 @@ -1308,12 +1308,12 @@ AI_CV_Haze3: @ 81DB0D2 if_stat_level_less_than USER, SP_ATTACK, 4, AI_CV_Haze4 if_stat_level_less_than USER, SP_DEFENSE, 4, AI_CV_Haze4 if_stat_level_less_than USER, ACCURACY, 4, AI_CV_Haze4 - if_random 50, AI_CV_Haze_End + if_random_less_than 50, AI_CV_Haze_End score -1 jump AI_CV_Haze_End AI_CV_Haze4: @ 81DB12F - if_random 50, AI_CV_Haze_End + if_random_less_than 50, AI_CV_Haze_End score +3 AI_CV_Haze_End: @ 81DB137 @@ -1336,7 +1336,7 @@ AI_CV_Roar: @ 81DB142 jump AI_CV_Roar_End AI_CV_Roar2: @ 81DB171 - if_random 128, AI_CV_Roar_End + if_random_less_than 128, AI_CV_Roar_End score +2 AI_CV_Roar_End: @ 81DB179 @@ -1349,7 +1349,7 @@ AI_CV_Conversion: @ 81DB17A AI_CV_Conversion2: @ 81DB183 get_turn_count if_equal 0, AI_CV_Conversion_End - if_random 200, Score_Down2 + if_random_less_than 200, Score_Down2 AI_CV_Conversion_End: @ 81DB190 end @@ -1373,7 +1373,7 @@ AI_CV_Heal: @ 81DB1AB AI_CV_Heal2: @ unreferenced if_hp_less_than USER, 50, AI_CV_Heal5 if_hp_more_than USER, 80, AI_CV_Heal3 - if_random 70, AI_CV_Heal5 + if_random_less_than 70, AI_CV_Heal5 AI_CV_Heal3: @ 81DB1D3 score -3 @@ -1381,16 +1381,16 @@ AI_CV_Heal3: @ 81DB1D3 AI_CV_Heal4: @ 81DB1DA if_hp_less_than USER, 70, AI_CV_Heal5 - if_random 30, AI_CV_Heal5 + if_random_less_than 30, AI_CV_Heal5 score -3 jump AI_CV_Heal_End AI_CV_Heal5: @ 81DB1EE if_not_move_effect TARGET, EFFECT_SNATCH, AI_CV_Heal6 - if_random 100, AI_CV_Heal_End + if_random_less_than 100, AI_CV_Heal_End AI_CV_Heal6: @ 81DB1FB - if_random 20, AI_CV_Heal_End + if_random_less_than 20, AI_CV_Heal_End score +2 AI_CV_Heal_End: @ 81DB203 @@ -1399,12 +1399,12 @@ AI_CV_Heal_End: @ 81DB203 AI_CV_Toxic: @ 81DB204 if_user_cant_damage AI_CV_Toxic3 if_hp_more_than USER, 50, AI_CV_Toxic2 - if_random 50, AI_CV_Toxic2 + if_random_less_than 50, AI_CV_Toxic2 score -3 AI_CV_Toxic2: @ 81DB218 if_hp_more_than TARGET, 50, AI_CV_Toxic3 - if_random 50, AI_CV_Toxic3 + if_random_less_than 50, AI_CV_Toxic3 score -3 AI_CV_Toxic3: @ 81DB227 @@ -1413,7 +1413,7 @@ AI_CV_Toxic3: @ 81DB227 jump AI_CV_Toxic_End AI_CV_Toxic4: @ 81DB23A - if_random 60, AI_CV_Toxic_End + if_random_less_than 60, AI_CV_Toxic_End score +2 AI_CV_Toxic_End: @ 81DB242 @@ -1421,11 +1421,11 @@ AI_CV_Toxic_End: @ 81DB242 AI_CV_LightScreen: @ 81DB243 if_hp_less_than USER, 50, AI_CV_LightScreen_ScoreDown2 - get_type 0 + get_type ENEMY_TYPE1 if_in_bytes AI_CV_LightScreen_SpecialTypeList, AI_CV_LightScreen_End - get_type 2 + get_type PLAYER_TYPE1 if_in_bytes AI_CV_LightScreen_SpecialTypeList, AI_CV_LightScreen_End - if_random 50, AI_CV_LightScreen_End + if_random_less_than 50, AI_CV_LightScreen_End AI_CV_LightScreen_ScoreDown2: @ 81DB266 score -2 @@ -1453,7 +1453,7 @@ AI_CV_Rest: @ 81DB272 AI_CV_Rest2: @ 81DB286 if_hp_less_than USER, 40, AI_CV_Rest6 if_hp_more_than USER, 50, AI_CV_Rest3 - if_random 70, AI_CV_Rest6 + if_random_less_than 70, AI_CV_Rest6 AI_CV_Rest3: @ 81DB29A score -3 @@ -1462,7 +1462,7 @@ AI_CV_Rest3: @ 81DB29A AI_CV_Rest4: @ 81DB2A1 if_hp_less_than USER, 60, AI_CV_Rest6 if_hp_more_than USER, 70, AI_CV_Rest5 - if_random 50, AI_CV_Rest6 + if_random_less_than 50, AI_CV_Rest6 AI_CV_Rest5: @ 81DB2B5 score -3 @@ -1470,10 +1470,10 @@ AI_CV_Rest5: @ 81DB2B5 AI_CV_Rest6: @ 81DB2BC if_not_move_effect TARGET, EFFECT_SNATCH, AI_CV_Rest7 - if_random 50, AI_CV_Rest_End + if_random_less_than 50, AI_CV_Rest_End AI_CV_Rest7: @ 81DB2C9 - if_random 10, AI_CV_Rest_End + if_random_less_than 10, AI_CV_Rest_End score +3 AI_CV_Rest_End: @ 81DB2D1 @@ -1497,7 +1497,7 @@ AI_CV_Trap: @ 81DB2DD jump AI_CV_Trap_End AI_CV_Trap2: @ 81DB30A - if_random 128, AI_CV_Trap_End + if_random_less_than 128, AI_CV_Trap_End score +1 AI_CV_Trap_End: @ 81DB312 @@ -1508,22 +1508,22 @@ AI_CV_HighCrit: @ 81DB313 if_damage_bonus 20, AI_CV_HighCrit_End if_damage_bonus 80, AI_CV_HighCrit2 if_damage_bonus 160, AI_CV_HighCrit2 - if_random 128, AI_CV_HighCrit_End + if_random_less_than 128, AI_CV_HighCrit_End AI_CV_HighCrit2: @ 81DB331 - if_random 128, AI_CV_HighCrit_End + if_random_less_than 128, AI_CV_HighCrit_End score +1 AI_CV_HighCrit_End: @ 81DB339 end AI_CV_Flatter: @ 81DB33A - if_random 128, AI_CV_Confuse + if_random_less_than 128, AI_CV_Confuse score +1 AI_CV_Confuse: @ 81DB342 if_hp_more_than TARGET, 70, AI_CV_Confuse_End - if_random 128, AI_CV_Confuse2 + if_random_less_than 128, AI_CV_Confuse2 score -1 AI_CV_Confuse2: @ 81DB351 @@ -1537,11 +1537,11 @@ AI_CV_Confuse_End: @ 81DB363 AI_CV_Reflect: @ 81DB364 if_hp_less_than USER, 50, AI_CV_Reflect_ScoreDown2 - get_type 0 + get_type ENEMY_TYPE1 if_in_bytes AI_CV_Reflect_PhysicalTypeList, AI_CV_Reflect_End - get_type 2 + get_type PLAYER_TYPE1 if_in_bytes AI_CV_Reflect_PhysicalTypeList, AI_CV_Reflect_End - if_random 50, AI_CV_Reflect_End + if_random_less_than 50, AI_CV_Reflect_End AI_CV_Reflect_ScoreDown2: @ 81DB387 score -2 @@ -1578,7 +1578,7 @@ AI_CV_Paralyze: @ 81DB3A5 jump AI_CV_Paralyze_End AI_CV_Paralyze2: @ 81DB3B9 - if_random 20, AI_CV_Paralyze_End + if_random_less_than 20, AI_CV_Paralyze_End score +3 AI_CV_Paralyze_End: @ 81DB3C1 @@ -1588,10 +1588,10 @@ AI_CV_VitalThrow: @ 81DB3C2 if_would_go_first USER, AI_CV_VitalThrow_End if_hp_more_than USER, 60, AI_CV_VitalThrow_End if_hp_less_than USER, 40, AI_CV_VitalThrow2 - if_random 180, AI_CV_VitalThrow_End + if_random_less_than 180, AI_CV_VitalThrow_End AI_CV_VitalThrow2: @ 81DB3DC - if_random 50, AI_CV_VitalThrow_End + if_random_less_than 50, AI_CV_VitalThrow_End score -1 AI_CV_VitalThrow_End: @ 81DB3E4 @@ -1601,21 +1601,21 @@ AI_CV_Substitute: @ 81DB3E5 if_hp_more_than USER, 90, AI_CV_Substitute4 if_hp_more_than USER, 70, AI_CV_Substitute3 if_hp_more_than USER, 50, AI_CV_Substitute2 - if_random 100, AI_CV_Substitute2 + if_random_less_than 100, AI_CV_Substitute2 score -1 AI_CV_Substitute2: @ 81DB402 - if_random 100, AI_CV_Substitute3 + if_random_less_than 100, AI_CV_Substitute3 score -1 AI_CV_Substitute3: @ 81DB40A - if_random 100, AI_CV_Substitute4 + if_random_less_than 100, AI_CV_Substitute4 score -1 AI_CV_Substitute4: @ 81DB412 if_would_go_first USER, AI_CV_Substitute_End get_move TARGET - get_move_effect + get_move_effect_from_result if_equal EFFECT_SLEEP, AI_CV_Substitute5 if_equal EFFECT_TOXIC, AI_CV_Substitute5 if_equal EFFECT_POISON, AI_CV_Substitute5 @@ -1637,7 +1637,7 @@ AI_CV_Substitute7: @ 81DB468 if_status3 TARGET, S_LEECH_SEED, AI_CV_Substitute_End AI_CV_Substitute8: @ 81DB472 - if_random 100, AI_CV_Substitute_End + if_random_less_than 100, AI_CV_Substitute_End score +1 AI_CV_Substitute_End: @ 81DB47A @@ -1662,13 +1662,13 @@ AI_CV_Recharge_End: @ 81DB4A2 AI_CV_Disable: @ 81DB4A3 if_would_go_first USER, AI_CV_Disable_End get_move TARGET - get_move_power + get_move_power_from_result if_equal 0, AI_CV_Disable2 score +1 jump AI_CV_Disable_End AI_CV_Disable2: @ 81DB4B9 - if_random 100, AI_CV_Disable_End + if_random_less_than 100, AI_CV_Disable_End score -1 AI_CV_Disable_End: @ 81DB4C1 @@ -1679,41 +1679,41 @@ AI_CV_Counter: @ 81DB4C2 if_status2 TARGET, S_INFATUATED, AI_CV_Counter_ScoreDown1 if_status2 TARGET, S_CONFUSED, AI_CV_Counter_ScoreDown1 if_hp_more_than USER, 30, AI_CV_Counter2 - if_random 10, AI_CV_Counter2 + if_random_less_than 10, AI_CV_Counter2 score -1 AI_CV_Counter2: @ 81DB4EF if_hp_more_than USER, 50, AI_CV_Counter3 - if_random 100, AI_CV_Counter3 + if_random_less_than 100, AI_CV_Counter3 score -1 AI_CV_Counter3: @ 81DB4FE get_move TARGET - get_move_power + get_move_power_from_result if_equal 0, AI_CV_Counter5 if_not_taunted AI_CV_Counter4 - if_random 100, AI_CV_Counter4 + if_random_less_than 100, AI_CV_Counter4 score +1 AI_CV_Counter4: @ 81DB514 get_move TARGET - get_move_type + get_move_type_from_result if_not_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_ScoreDown1 - if_random 100, AI_CV_Counter_End + if_random_less_than 100, AI_CV_Counter_End score +1 jump AI_CV_Counter_End AI_CV_Counter5: @ 81DB52D if_not_taunted AI_CV_Counter6 - if_random 100, AI_CV_Counter6 + if_random_less_than 100, AI_CV_Counter6 score +1 AI_CV_Counter6: @ 81DB53A - get_type 0 + get_type ENEMY_TYPE1 if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_End - get_type 2 + get_type PLAYER_TYPE1 if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_End - if_random 50, AI_CV_Counter_End + if_random_less_than 50, AI_CV_Counter_End AI_CV_Counter_ScoreDown1: @ 81DB556 score -1 @@ -1737,11 +1737,11 @@ AI_CV_Encore: @ 81DB563 if_last_move_did_damage TARGET, 0, AI_CV_Encore2 if_would_go_first USER, AI_CV_Encore_ScoreDown2 get_move TARGET - get_move_effect + get_move_effect_from_result if_not_in_bytes AI_CV_Encore_EncouragedMovesToEncore, AI_CV_Encore_ScoreDown2 AI_CV_Encore2: @ 81DB57C - if_random 30, AI_CV_Encore_End + if_random_less_than 30, AI_CV_Encore_End score +3 jump AI_CV_Encore_End @@ -1839,7 +1839,7 @@ AI_CV_Snore: @ 81DB5F7 end AI_CV_LockOn: @ 81DB5FA - if_random 128, AI_CV_LockOn_End + if_random_less_than 128, AI_CV_LockOn_End score +2 AI_CV_LockOn_End: @ 81DB602 @@ -1853,17 +1853,17 @@ AI_CV_DestinyBond: @ 81DB606 score -1 if_would_go_first USER, AI_CV_DestinyBond_End if_hp_more_than USER, 70, AI_CV_DestinyBond_End - if_random 128, AI_CV_DestinyBond2 + if_random_less_than 128, AI_CV_DestinyBond2 score +1 AI_CV_DestinyBond2: @ 81DB61D if_hp_more_than USER, 50, AI_CV_DestinyBond_End - if_random 128, AI_CV_DestinyBond3 + if_random_less_than 128, AI_CV_DestinyBond3 score +1 AI_CV_DestinyBond3: @ 81DB62C if_hp_more_than USER, 30, AI_CV_DestinyBond_End - if_random 100, AI_CV_DestinyBond_End + if_random_less_than 100, AI_CV_DestinyBond_End score +2 AI_CV_DestinyBond_End: @ 81DB63B @@ -1885,7 +1885,7 @@ AI_CV_Flail_ScoreUp1: @ 81DB66F score +1 AI_CV_Flail3: @ 81DB671 - if_random 100, AI_CV_Flail_End + if_random_less_than 100, AI_CV_Flail_End score +1 jump AI_CV_Flail_End @@ -1906,7 +1906,7 @@ AI_CV_HealBell_End: @ 81DB697 AI_CV_Thief: @ 81DB698 get_hold_effect TARGET if_not_in_bytes AI_CV_Thief_EncourageItemsToSteal, AI_CV_Thief_ScoreDown2 - if_random 50, AI_CV_Thief_End + if_random_less_than 50, AI_CV_Thief_End score +1 jump AI_CV_Thief_End @@ -1927,22 +1927,22 @@ AI_CV_Thief_EncourageItemsToSteal: @ 81DB6B3 .byte -1 AI_CV_Curse: @ 81DB6BB - get_type 1 + get_type ENEMY_TYPE2 if_equal TYPE_GHOST, AI_CV_Curse4 - get_type 3 + get_type PLAYER_TYPE2 if_equal TYPE_GHOST, AI_CV_Curse4 if_stat_level_more_than USER, DEFENSE, 9, AI_CV_Curse_End - if_random 128, AI_CV_Curse2 + if_random_less_than 128, AI_CV_Curse2 score +1 AI_CV_Curse2: @ 81DB6DB if_stat_level_more_than USER, DEFENSE, 7, AI_CV_Curse_End - if_random 128, AI_CV_Curse3 + if_random_less_than 128, AI_CV_Curse3 score +1 AI_CV_Curse3: @ 81DB6EB if_stat_level_more_than USER, DEFENSE, 6, AI_CV_Curse_End - if_random 128, AI_CV_Curse_End + if_random_less_than 128, AI_CV_Curse_End score +1 jump AI_CV_Curse_End @@ -1971,7 +1971,7 @@ AI_CV_Protect: @ 81DB70A if_status3 TARGET, S_LEECH_SEED, AI_CV_Protect_ScoreUp2 if_status3 TARGET, S_YAWN, AI_CV_Protect_ScoreUp2 get_move TARGET - get_move_effect + get_move_effect_from_result if_not_equal EFFECT_LOCK_ON, AI_CV_Protect_ScoreUp2 jump AI_CV_Protect2 @@ -1982,13 +1982,13 @@ AI_CV_Protect2: @ 81DB7A8 get_protect_count USER if_equal 0, AI_CV_Protect_End score -1 - if_random 128, AI_CV_Protect_End + if_random_less_than 128, AI_CV_Protect_End score -1 jump AI_CV_Protect_End AI_CV_Protect3: @ 81DB7BF get_move TARGET - get_move_effect + get_move_effect_from_result if_not_equal EFFECT_LOCK_ON, AI_CV_Protect_End AI_CV_Protect_ScoreDown2: @ 81DB7C8 @@ -1998,19 +1998,19 @@ AI_CV_Protect_End: @ 81DB7CA end AI_CV_Foresight: @ 81DB7CB - get_type 1 + get_type ENEMY_TYPE2 if_equal TYPE_GHOST, AI_CV_Foresight2 - get_type 3 + get_type PLAYER_TYPE2 if_equal TYPE_GHOST, AI_CV_Foresight2 if_stat_level_more_than USER, EVASION, 8, AI_CV_Foresight3 score -2 jump AI_CV_Foresight_End AI_CV_Foresight2: @ 81DB7EA - if_random 80, AI_CV_Foresight_End + if_random_less_than 80, AI_CV_Foresight_End AI_CV_Foresight3: @ 81DB7F0 - if_random 80, AI_CV_Foresight_End + if_random_less_than 80, AI_CV_Foresight_End score +2 AI_CV_Foresight_End: @ 81DB7F8 @@ -2025,7 +2025,7 @@ AI_CV_Endure2: @ 81DB807 jump AI_CV_Endure_End AI_CV_Endure3: @ 81DB80E - if_random 70, AI_CV_Endure_End + if_random_less_than 70, AI_CV_Endure_End score +1 AI_CV_Endure_End: @ 81DB816 @@ -2048,7 +2048,7 @@ AI_CV_BatonPass3: @ 81DB856 if_hp_more_than USER, 70, AI_CV_BatonPass_End AI_CV_BatonPass4: @ 81DB85D - if_random 80, AI_CV_BatonPass_End + if_random_less_than 80, AI_CV_BatonPass_End score +2 jump AI_CV_BatonPass_End @@ -2077,18 +2077,18 @@ AI_CV_BatonPass_End: @ 81DB8B2 AI_CV_Pursuit: @ 81DB8B3 is_first_turn USER if_not_equal 0, AI_CV_Pursuit_End - get_type 0 + get_type ENEMY_TYPE1 if_equal TYPE_GHOST, AI_CV_Pursuit2 - get_type 0 + get_type ENEMY_TYPE1 if_equal TYPE_PSYCHIC, AI_CV_Pursuit2 - get_type 2 + get_type PLAYER_TYPE1 if_equal TYPE_GHOST, AI_CV_Pursuit2 - get_type 2 + get_type PLAYER_TYPE1 if_equal TYPE_PSYCHIC, AI_CV_Pursuit2 jump AI_CV_Pursuit_End AI_CV_Pursuit2: @ 81DB8E0 - if_random 128, AI_CV_Pursuit_End + if_random_less_than 128, AI_CV_Pursuit_End score +1 AI_CV_Pursuit_End: @ 81DB8E8 @@ -2161,14 +2161,14 @@ AI_CV_PsychUp2: @ 81DB98D if_stat_level_less_than USER, SP_ATTACK, 7, AI_CV_PsychUp3 if_stat_level_less_than USER, SP_DEFENSE, 7, AI_CV_PsychUp3 if_stat_level_less_than USER, EVASION, 7, AI_CV_PsychUp_ScoreUp1 - if_random 50, AI_CV_PsychUp_End + if_random_less_than 50, AI_CV_PsychUp_End jump AI_CV_PsychUp_ScoreDown2 AI_CV_PsychUp_ScoreUp1: @ 81DB9C0 score +1 AI_CV_PsychUp3: @ 81DB9C2 - if_random 128, AI_CV_PsychUp_End + if_random_less_than 128, AI_CV_PsychUp_End score +1 AI_CV_PsychUp_ScoreDown2: @ 81DB9CA @@ -2182,41 +2182,41 @@ AI_CV_MirrorCoat: @ 81DB9CD if_status2 TARGET, S_INFATUATED, AI_CV_MirrorCoat_ScoreDown1 if_status2 TARGET, S_CONFUSED, AI_CV_MirrorCoat_ScoreDown1 if_hp_more_than USER, 30, AI_CV_MirrorCoat2 - if_random 10, AI_CV_MirrorCoat2 + if_random_less_than 10, AI_CV_MirrorCoat2 score -1 AI_CV_MirrorCoat2: @ 81DB9FA if_hp_more_than USER, 50, AI_CV_MirrorCoat3 - if_random 100, AI_CV_MirrorCoat3 + if_random_less_than 100, AI_CV_MirrorCoat3 score -1 AI_CV_MirrorCoat3: @ 81DBA09 get_move TARGET - get_move_power + get_move_power_from_result if_equal 0, AI_CV_MirrorCoat5 if_not_taunted AI_CV_MirrorCoat4 - if_random 100, AI_CV_MirrorCoat4 + if_random_less_than 100, AI_CV_MirrorCoat4 score +1 AI_CV_MirrorCoat4: @ 81DBA1F get_move TARGET - get_move_type + get_move_type_from_result if_not_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_ScoreDown1 - if_random 100, AI_CV_MirrorCoat_End + if_random_less_than 100, AI_CV_MirrorCoat_End score +1 jump AI_CV_MirrorCoat_End AI_CV_MirrorCoat5: @ 81DBA38 if_not_taunted AI_CV_MirrorCoat6 - if_random 100, AI_CV_MirrorCoat6 + if_random_less_than 100, AI_CV_MirrorCoat6 score +1 AI_CV_MirrorCoat6: @ 81DBA45 - get_type 0 + get_type ENEMY_TYPE1 if_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_End - get_type 2 + get_type PLAYER_TYPE1 if_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_End - if_random 50, AI_CV_MirrorCoat_End + if_random_less_than 50, AI_CV_MirrorCoat_End AI_CV_MirrorCoat_ScoreDown1: @ 81DBA61 score -1 @@ -2264,27 +2264,27 @@ AI_CV_Fly2: @ 81DBA9F jump AI_CV_Fly5 AI_CV_Fly3: @ 81DBACF - get_type 1 + get_type ENEMY_TYPE2 if_in_bytes AI_CV_Fly_TypesToEncourage, AI_CV_Fly6 - get_type 3 + get_type PLAYER_TYPE2 if_in_bytes AI_CV_Fly_TypesToEncourage, AI_CV_Fly6 jump AI_CV_Fly5 AI_CV_Fly4: @ 81DBAEA - get_type 1 + get_type ENEMY_TYPE2 if_equal TYPE_ICE, AI_CV_Fly6 - get_type 3 + get_type PLAYER_TYPE2 if_equal TYPE_ICE, AI_CV_Fly6 AI_CV_Fly5: @ 81DBAFA if_would_go_first USER, AI_CV_Fly_End get_move TARGET - get_move_effect + get_move_effect_from_result if_not_equal EFFECT_LOCK_ON, AI_CV_Fly6 jump AI_CV_Fly_End AI_CV_Fly6: @ 81DBB0E - if_random 80, AI_CV_Fly_End + if_random_less_than 80, AI_CV_Fly_End score +1 AI_CV_Fly_End: @ 81DBB16 @@ -2303,7 +2303,7 @@ AI_CV_FakeOut: @ 81DBB1B AI_CV_SpitUp: @ 81DBB1E get_stockpile_count USER if_less_than 2, AI_CV_SpitUp_End - if_random 80, AI_CV_SpitUp_End + if_random_less_than 80, AI_CV_SpitUp_End score +2 AI_CV_SpitUp_End: @ 81DBB2E @@ -2342,7 +2342,7 @@ AI_CV_FocusPunch: @ 81DBB65 if_status2 TARGET, S_CONFUSED, AI_CV_FocusPunch3 is_first_turn USER if_not_equal 0, AI_CV_FocusPunch_End - if_random 100, AI_CV_FocusPunch_End + if_random_less_than 100, AI_CV_FocusPunch_End score +1 jump AI_CV_FocusPunch_End @@ -2351,7 +2351,7 @@ AI_CV_FocusPunch2: @ 81DBBA4 jump AI_CV_FocusPunch_End AI_CV_FocusPunch3: @ 81DBBAB - if_random 100, AI_CV_FocusPunch_End + if_random_less_than 100, AI_CV_FocusPunch_End AI_CV_FocusPunch_ScoreUp1: @ 81DBBB1 score +1 @@ -2387,7 +2387,7 @@ AI_CV_Trick3: @ 81DBBE1 AI_CV_Trick4: @ 81DBBF3 get_hold_effect TARGET if_in_bytes AI_CV_Trick_EffectsToEncourage, AI_CV_Trick2 - if_random 50, AI_CV_Trick_End + if_random_less_than 50, AI_CV_Trick_End score +2 AI_CV_Trick_End: @ 81DBC06 @@ -2418,7 +2418,7 @@ AI_CV_ChangeSelfAbility2: @ 81DBC27 jump AI_CV_ChangeSelfAbility_End AI_CV_ChangeSelfAbility3: @ 81DBC2E - if_random 50, AI_CV_ChangeSelfAbility_End + if_random_less_than 50, AI_CV_ChangeSelfAbility_End score +2 AI_CV_ChangeSelfAbility_End: @ 81DBC36 @@ -2462,21 +2462,21 @@ AI_CV_Superpower_End: @ 81DBC77 AI_CV_MagicCoat: @ 81DBC78 if_hp_more_than TARGET, 30, AI_CV_MagicCoat2 - if_random 100, AI_CV_MagicCoat2 + if_random_less_than 100, AI_CV_MagicCoat2 score -1 AI_CV_MagicCoat2: @ 81DBC87 is_first_turn USER if_equal 0, AI_CV_MagicCoat4 - if_random 150, AI_CV_MagicCoat_End + if_random_less_than 150, AI_CV_MagicCoat_End score +1 jump AI_CV_MagicCoat_End AI_CV_MagicCoat3: @ unreferenced - if_random 50, AI_CV_MagicCoat_End + if_random_less_than 50, AI_CV_MagicCoat_End AI_CV_MagicCoat4: @ 81DBCA2 - if_random 30, AI_CV_MagicCoat_End + if_random_less_than 30, AI_CV_MagicCoat_End score -1 AI_CV_MagicCoat_End: @ 81DBCAA @@ -2485,7 +2485,7 @@ AI_CV_MagicCoat_End: @ 81DBCAA AI_CV_Recycle: @ 81DBCAB get_item USER if_not_in_bytes AI_CV_Recycle_ItemsToEncourage, AI_CV_Recycle_ScoreDown2 - if_random 50, AI_CV_Recycle_End + if_random_less_than 50, AI_CV_Recycle_End score +1 jump AI_CV_Recycle_End @@ -2505,7 +2505,7 @@ AI_CV_Revenge: @ 81DBCCA if_status TARGET, SLP, AI_CV_Revenge_ScoreDown2 if_status2 TARGET, S_INFATUATED, AI_CV_Revenge_ScoreDown2 if_status2 TARGET, S_CONFUSED, AI_CV_Revenge_ScoreDown2 - if_random 180, AI_CV_Revenge_ScoreDown2 + if_random_less_than 180, AI_CV_Revenge_ScoreDown2 score +2 jump AI_CV_Revenge_End @@ -2529,7 +2529,7 @@ AI_CV_KnockOff: @ 81DBD0A if_hp_less_than TARGET, 30, AI_CV_KnockOff_End is_first_turn USER if_more_than 0, AI_CV_KnockOff_End - if_random 180, AI_CV_KnockOff_End + if_random_less_than 180, AI_CV_KnockOff_End score +1 AI_CV_KnockOff_End: @ 81DBD21 @@ -2572,7 +2572,7 @@ AI_CV_Eruption_End: @ 81DBD75 AI_CV_Imprison: @ 81DBD76 is_first_turn USER if_more_than 0, AI_CV_Imprison_End - if_random 100, AI_CV_Imprison_End + if_random_less_than 100, AI_CV_Imprison_End score +2 AI_CV_Imprison_End: @ 81DBD86 @@ -2591,11 +2591,11 @@ AI_CV_Refresh_End: @ 81DBD95 AI_CV_Snatch: @ 81DBD96 is_first_turn USER if_equal 1, AI_CV_Snatch3 - if_random 30, AI_CV_Snatch_End + if_random_less_than 30, AI_CV_Snatch_End if_would_go_first USER, AI_CV_Snatch2 if_hp_not_equal USER, 100, AI_CV_Snatch5 if_hp_less_than TARGET, 70, AI_CV_Snatch5 - if_random 60, AI_CV_Snatch_End + if_random_less_than 60, AI_CV_Snatch_End jump AI_CV_Snatch5 AI_CV_Snatch2: @ 81DBDC3 @@ -2605,17 +2605,17 @@ AI_CV_Snatch2: @ 81DBDC3 jump AI_CV_Snatch4 AI_CV_Snatch3: @ 81DBDDD - if_random 150, AI_CV_Snatch_End + if_random_less_than 150, AI_CV_Snatch_End score +2 jump AI_CV_Snatch_End AI_CV_Snatch4: @ 81DBDEA - if_random 230, AI_CV_Snatch5 + if_random_less_than 230, AI_CV_Snatch5 score +1 jump AI_CV_Snatch_End AI_CV_Snatch5: @ 81DBDF7 - if_random 30, AI_CV_Snatch_End + if_random_less_than 30, AI_CV_Snatch_End score -2 AI_CV_Snatch_End: @ 81DBDFF @@ -2623,9 +2623,9 @@ AI_CV_Snatch_End: @ 81DBDFF AI_CV_MudSport: @ 81DBE00 if_hp_less_than USER, 50, AI_CV_MudSport_ScoreDown1 - get_type 0 + get_type ENEMY_TYPE1 if_equal TYPE_ELECTRIC, AI_CV_MudSport2 - get_type 2 + get_type PLAYER_TYPE1 if_equal TYPE_ELECTRIC, AI_CV_MudSport2 jump AI_CV_MudSport_ScoreDown1 @@ -2657,9 +2657,9 @@ AI_CV_Overheat_End: @ 81DBE4D AI_CV_WaterSport: @ 81DBE4E if_hp_less_than USER, 50, AI_CV_WaterSport_ScoreDown1 - get_type 0 + get_type ENEMY_TYPE1 if_equal TYPE_FIRE, AI_CV_WaterSport2 - get_type 2 + get_type PLAYER_TYPE1 if_equal TYPE_FIRE, AI_CV_WaterSport2 jump AI_CV_WaterSport_ScoreDown1 @@ -2676,12 +2676,12 @@ AI_CV_WaterSport_End: @ 81DBE73 AI_CV_DragonDance: @ 81DBE74 if_would_go_first USER, AI_CV_DragonDance2 if_hp_more_than USER, 50, AI_CV_DragonDance_End - if_random 70, AI_CV_DragonDance_End + if_random_less_than 70, AI_CV_DragonDance_End score -1 jump AI_CV_DragonDance_End AI_CV_DragonDance2: @ 81DBE8E - if_random 128, AI_CV_DragonDance_End + if_random_less_than 128, AI_CV_DragonDance_End score +1 AI_CV_DragonDance_End: @ 81DBE96 @@ -2709,7 +2709,7 @@ AI_SetupFirstTurn: @ 81DBEB5 if_not_equal 0, AI_SetupFirstTurn_End get_effect if_not_in_bytes AI_SetupFirstTurn_SetupEffectsToEncourage, AI_SetupFirstTurn_End - if_random 80, AI_SetupFirstTurn_End + if_random_less_than 80, AI_SetupFirstTurn_End score +2 AI_SetupFirstTurn_End: @ 81DBECE @@ -2776,7 +2776,7 @@ AI_SetupFirstTurn_SetupEffectsToEncourage: @ 81DBECF AI_PreferStrongestMove: @ 81DBF07 is_most_powerful_move if_not_equal 0, AI_PreferStrongestMove_End - if_random 100, AI_PreferStrongestMove_End + if_random_less_than 100, AI_PreferStrongestMove_End score +2 AI_PreferStrongestMove_End: @ 81DBF16 @@ -2785,7 +2785,7 @@ AI_PreferStrongestMove_End: @ 81DBF16 AI_Risky: @ 81DBF17 get_effect if_not_in_bytes AI_Risky_EffectsToEncourage, AI_Risky_End - if_random 128, AI_Risky_End + if_random_less_than 128, AI_Risky_End score +2 AI_Risky_End: @ 81DBF29 @@ -2819,10 +2819,10 @@ AI_PreferBatonPass: @ 81DBF3E is_most_powerful_move if_not_equal 0, AI_PreferBatonPass_End if_move_effect USER, EFFECT_BATON_PASS, AI_PreferBatonPass_GoForBatonPass - if_random 80, AI_Risky_End + if_random_less_than 80, AI_Risky_End AI_PreferBatonPass_GoForBatonPass: @ 81DBF5A - if_random 20, AI_Risky_End + if_random_less_than 20, AI_Risky_End score +3 AI_PreferBatonPass_End: @ 81DBF62 @@ -2849,7 +2849,7 @@ AI_HPAware_UserHasMediumHP: @ 81DBF90 jump AI_HPAware_ConsiderTarget AI_HPAware_TryToDiscourage: @ 81DBF9F - if_random 50, AI_HPAware_ConsiderTarget + if_random_less_than 50, AI_HPAware_ConsiderTarget score -2 AI_HPAware_ConsiderTarget: @ 81DBFA7 @@ -2870,7 +2870,7 @@ AI_HPAware_TargetHasMediumHP: @ 81DBFD3 jump AI_HPAware_End AI_HPAware_TargetTryToDiscourage: @ 81DBFE2 - if_random 50, AI_HPAware_End + if_random_less_than 50, AI_HPAware_End score -2 AI_HPAware_End: @ 81DBFEA @@ -3121,7 +3121,7 @@ AI_Roaming_End: @ 81DC0FD end AI_Safari: @ 81DC0FE - if_random_2 AI_Safari_Flee + if_random_100 AI_Safari_Flee watch AI_Safari_Flee: @ 81DC104 diff --git a/include/battle.h b/include/battle.h index 82ed5f29c..be5b5f2d2 100644 --- a/include/battle.h +++ b/include/battle.h @@ -17,6 +17,15 @@ #define BATTLE_TYPE_LEGENDARY 0x2000 #define BATTLE_TYPE_REGI 0x4000 +#define AI_ACTION_UNK1 0x0001 +#define AI_ACTION_UNK2 0x0002 +#define AI_ACTION_UNK3 0x0004 +#define AI_ACTION_UNK4 0x0008 +#define AI_ACTION_UNK5 0x0010 +#define AI_ACTION_UNK6 0x0020 +#define AI_ACTION_UNK7 0x0040 +#define AI_ACTION_UNK8 0x0080 + struct Trainer { /*0x00*/ u8 partyFlags; @@ -32,15 +41,24 @@ struct Trainer /*0x24*/ void *party; }; +struct UnknownStruct1 +{ + /*0x00*/ u16 unk0[2][8]; + /*0x20*/ u8 unk20[2]; + /*0x22*/ u8 unk22[2]; + /*0x24*/ u16 items[4]; + /*0x2C*/ u8 unk8; +}; + struct AI_ThinkingStruct /* 0x2016800 */ { -/* 0x00 */ u8 unk0; -/* 0x01 */ u8 moveConsidered; -/* 0x02 */ u16 unk2; +/* 0x00 */ u8 aiState; +/* 0x01 */ u8 movesetIndex; +/* 0x02 */ u16 moveConsidered; /* 0x04 */ s8 score[4]; // score? /* 0x08 */ u32 funcResult; /* 0x0C */ u32 aiFlags; -/* 0x10 */ u8 unk10; +/* 0x10 */ u8 aiAction; /* 0x11 */ u8 aiLogicId; /* 0x12 */ u8 filler12[6]; /* 0x18 */ u8 unk18[4]; @@ -56,7 +74,7 @@ struct SmallBattleStruct1 struct SmallItemStruct { - u8 item[2][2]; + u8 itemLocal[2][3]; }; struct BattleStruct /* 0x2000000 */ @@ -64,14 +82,17 @@ struct BattleStruct /* 0x2000000 */ u8 filler0[0x1601C]; struct SmallBattleStruct1 unk; u8 filler1[0x68]; // 0x2016020 - u8 unk88; + u8 safariFleeRate; u8 filler1_2[0x42]; /* 0x160CB */ u8 linkPlayerIndex; - struct SmallItemStruct item; - u8 filler2[0x730]; - struct AI_ThinkingStruct ai; /* 0x2016800 */ + /* 0x160CC */ struct SmallItemStruct item; + u8 filler2[0x72E]; + /* 0x16800 */ struct AI_ThinkingStruct ai; /* 0x2016800 */ + u8 filler1681C[0x1E4]; + /* 0x16A00 */ struct UnknownStruct1 unk_2016A00_2; }; +extern struct UnknownStruct1 unk_2016A00; extern struct BattleStruct battle_2000000; extern struct AI_ThinkingStruct gAIThinkingSpace; diff --git a/include/moves.h b/include/moves.h new file mode 100644 index 000000000..e3b6d3113 --- /dev/null +++ b/include/moves.h @@ -0,0 +1,363 @@ +#ifndef GUARD_MOVES_H +#define GUARD_MOVES_H + +enum +{ + MOVE_NONE, + MOVE_POUND, + MOVE_KARATE_CHOP, + MOVE_DOUBLE_SLAP, + MOVE_COMET_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_PAY_DAY, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_SCRATCH, + MOVE_VICE_GRIP, + MOVE_GUILLOTINE, + MOVE_RAZOR_WIND, + MOVE_SWORDS_DANCE, + MOVE_CUT, + MOVE_GUST, + MOVE_WING_ATTACK, + MOVE_WHIRLWIND, + MOVE_FLY, + MOVE_BIND, + MOVE_SLAM, + MOVE_VINE_WHIP, + MOVE_STOMP, + MOVE_DOUBLE_KICK, + MOVE_MEGA_KICK, + MOVE_JUMP_KICK, + MOVE_ROLLING_KICK, + MOVE_SAND_ATTACK, + MOVE_HEADBUTT, + MOVE_HORN_ATTACK, + MOVE_FURY_ATTACK, + MOVE_HORN_DRILL, + MOVE_TACKLE, + MOVE_BODY_SLAM, + MOVE_WRAP, + MOVE_TAKE_DOWN, + MOVE_THRASH, + MOVE_DOUBLE_EDGE, + MOVE_TAIL_WHIP, + MOVE_POISON_STING, + MOVE_TWINEEDLE, + MOVE_PIN_MISSILE, + MOVE_LEER, + MOVE_BITE, + MOVE_GROWL, + MOVE_ROAR, + MOVE_SING, + MOVE_SUPERSONIC, + MOVE_SONIC_BOOM, + MOVE_DISABLE, + MOVE_ACID, + MOVE_EMBER, + MOVE_FLAMETHROWER, + MOVE_MIST, + MOVE_WATER_GUN, + MOVE_HYDRO_PUMP, + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_BLIZZARD, + MOVE_PSYBEAM, + MOVE_BUBBLE_BEAM, + MOVE_AURORA_BEAM, + MOVE_HYPER_BEAM, + MOVE_PECK, + MOVE_DRILL_PECK, + MOVE_SUBMISSION, + MOVE_LOW_KICK, + MOVE_COUNTER, + MOVE_SEISMIC_TOSS, + MOVE_STRENGTH, + MOVE_ABSORB, + MOVE_MEGA_DRAIN, + MOVE_LEECH_SEED, + MOVE_GROWTH, + MOVE_RAZOR_LEAF, + MOVE_SOLAR_BEAM, + MOVE_POISON_POWDER, + MOVE_STUN_SPORE, + MOVE_SLEEP_POWDER, + MOVE_PETAL_DANCE, + MOVE_STRING_SHOT, + MOVE_DRAGON_RAGE, + MOVE_FIRE_SPIN, + MOVE_THUNDER_SHOCK, + MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, + MOVE_THUNDER, + MOVE_ROCK_THROW, + MOVE_EARTHQUAKE, + MOVE_FISSURE, + MOVE_DIG, + MOVE_TOXIC, + MOVE_CONFUSION, + MOVE_PSYCHIC, + MOVE_HYPNOSIS, + MOVE_MEDITATE, + MOVE_AGILITY, + MOVE_QUICK_ATTACK, + MOVE_RAGE, + MOVE_TELEPORT, + MOVE_NIGHT_SHADE, + MOVE_MIMIC, + MOVE_SCREECH, + MOVE_DOUBLE_TEAM, + MOVE_RECOVER, + MOVE_HARDEN, + MOVE_MINIMIZE, + MOVE_SMOKESCREEN, + MOVE_CONFUSE_RAY, + MOVE_WITHDRAW, + MOVE_DEFENSE_CURL, + MOVE_BARRIER, + MOVE_LIGHT_SCREEN, + MOVE_HAZE, + MOVE_REFLECT, + MOVE_FOCUS_ENERGY, + MOVE_BIDE, + MOVE_METRONOME, + MOVE_MIRROR_MOVE, + MOVE_SELF_DESTRUCT, + MOVE_EGG_BOMB, + MOVE_LICK, + MOVE_SMOG, + MOVE_SLUDGE, + MOVE_BONE_CLUB, + MOVE_FIRE_BLAST, + MOVE_WATERFALL, + MOVE_CLAMP, + MOVE_SWIFT, + MOVE_SKULL_BASH, + MOVE_SPIKE_CANNON, + MOVE_CONSTRICT, + MOVE_AMNESIA, + MOVE_KINESIS, + MOVE_SOFT_BOILED, + MOVE_HI_JUMP_KICK, + MOVE_GLARE, + MOVE_DREAM_EATER, + MOVE_POISON_GAS, + MOVE_BARRAGE, + MOVE_LEECH_LIFE, + MOVE_LOVELY_KISS, + MOVE_SKY_ATTACK, + MOVE_TRANSFORM, + MOVE_BUBBLE, + MOVE_DIZZY_PUNCH, + MOVE_SPORE, + MOVE_FLASH, + MOVE_PSYWAVE, + MOVE_SPLASH, + MOVE_ACID_ARMOR, + MOVE_CRABHAMMER, + MOVE_EXPLOSION, + MOVE_FURY_SWIPES, + MOVE_BONEMERANG, + MOVE_REST, + MOVE_ROCK_SLIDE, + MOVE_HYPER_FANG, + MOVE_SHARPEN, + MOVE_CONVERSION, + MOVE_TRI_ATTACK, + MOVE_SUPER_FANG, + MOVE_SLASH, + MOVE_SUBSTITUTE, + MOVE_STRUGGLE, + MOVE_SKETCH, + MOVE_TRIPLE_KICK, + MOVE_THIEF, + MOVE_SPIDER_WEB, + MOVE_MIND_READER, + MOVE_NIGHTMARE, + MOVE_FLAME_WHEEL, + MOVE_SNORE, + MOVE_CURSE, + MOVE_FLAIL, + MOVE_CONVERSION_2, + MOVE_AEROBLAST, + MOVE_COTTON_SPORE, + MOVE_REVERSAL, + MOVE_SPITE, + MOVE_POWDER_SNOW, + MOVE_PROTECT, + MOVE_MACH_PUNCH, + MOVE_SCARY_FACE, + MOVE_FAINT_ATTACK, + MOVE_SWEET_KISS, + MOVE_BELLY_DRUM, + MOVE_SLUDGE_BOMB, + MOVE_MUD_SLAP, + MOVE_OCTAZOOKA, + MOVE_SPIKES, + MOVE_ZAP_CANNON, + MOVE_FORESIGHT, + MOVE_DESTINY_BOND, + MOVE_PERISH_SONG, + MOVE_ICY_WIND, + MOVE_DETECT, + MOVE_BONE_RUSH, + MOVE_LOCK_ON, + MOVE_OUTRAGE, + MOVE_SANDSTORM, + MOVE_GIGA_DRAIN, + MOVE_ENDURE, + MOVE_CHARM, + MOVE_ROLLOUT, + MOVE_FALSE_SWIPE, + MOVE_SWAGGER, + MOVE_MILK_DRINK, + MOVE_SPARK, + MOVE_FURY_CUTTER, + MOVE_STEEL_WING, + MOVE_MEAN_LOOK, + MOVE_ATTRACT, + MOVE_SLEEP_TALK, + MOVE_HEAL_BELL, + MOVE_RETURN, + MOVE_PRESENT, + MOVE_FRUSTRATION, + MOVE_SAFEGUARD, + MOVE_PAIN_SPLIT, + MOVE_SACRED_FIRE, + MOVE_MAGNITUDE, + MOVE_DYNAMIC_PUNCH, + MOVE_MEGAHORN, + MOVE_DRAGON_BREATH, + MOVE_BATON_PASS, + MOVE_ENCORE, + MOVE_PURSUIT, + MOVE_RAPID_SPIN, + MOVE_SWEET_SCENT, + MOVE_IRON_TAIL, + MOVE_METAL_CLAW, + MOVE_VITAL_THROW, + MOVE_MORNING_SUN, + MOVE_SYNTHESIS, + MOVE_MOONLIGHT, + MOVE_HIDDEN_POWER, + MOVE_CROSS_CHOP, + MOVE_TWISTER, + MOVE_RAIN_DANCE, + MOVE_SUNNY_DAY, + MOVE_CRUNCH, + MOVE_MIRROR_COAT, + MOVE_PSYCH_UP, + MOVE_EXTREME_SPEED, + MOVE_ANCIENT_POWER, + MOVE_SHADOW_BALL, + MOVE_FUTURE_SIGHT, + MOVE_ROCK_SMASH, + MOVE_WHIRLPOOL, + MOVE_BEAT_UP, + MOVE_FAKE_OUT, + MOVE_UPROAR, + MOVE_STOCKPILE, + MOVE_SPIT_UP, + MOVE_SWALLOW, + MOVE_HEAT_WAVE, + MOVE_HAIL, + MOVE_TORMENT, + MOVE_FLATTER, + MOVE_WILL_O_WISP, + MOVE_MEMENTO, + MOVE_FACADE, + MOVE_FOCUS_PUNCH, + MOVE_SMELLING_SALT, + MOVE_FOLLOW_ME, + MOVE_NATURE_POWER, + MOVE_CHARGE, + MOVE_TAUNT, + MOVE_HELPING_HAND, + MOVE_TRICK, + MOVE_ROLE_PLAY, + MOVE_WISH, + MOVE_ASSIST, + MOVE_INGRAIN, + MOVE_SUPERPOWER, + MOVE_MAGIC_COAT, + MOVE_RECYCLE, + MOVE_REVENGE, + MOVE_BRICK_BREAK, + MOVE_YAWN, + MOVE_KNOCK_OFF, + MOVE_ENDEAVOR, + MOVE_ERUPTION, + MOVE_SKILL_SWAP, + MOVE_IMPRISON, + MOVE_REFRESH, + MOVE_GRUDGE, + MOVE_SNATCH, + MOVE_SECRET_POWER, + MOVE_DIVE, + MOVE_ARM_THRUST, + MOVE_CAMOUFLAGE, + MOVE_TAIL_GLOW, + MOVE_LUSTER_PURGE, + MOVE_MIST_BALL, + MOVE_FEATHER_DANCE, + MOVE_TEETER_DANCE, + MOVE_BLAZE_KICK, + MOVE_MUD_SPORT, + MOVE_ICE_BALL, + MOVE_NEEDLE_ARM, + MOVE_SLACK_OFF, + MOVE_HYPER_VOICE, + MOVE_POISON_FANG, + MOVE_CRUSH_CLAW, + MOVE_BLAST_BURN, + MOVE_HYDRO_CANNON, + MOVE_METEOR_MASH, + MOVE_ASTONISH, + MOVE_WEATHER_BALL, + MOVE_AROMATHERAPY, + MOVE_FAKE_TEARS, + MOVE_AIR_CUTTER, + MOVE_OVERHEAT, + MOVE_ODOR_SLEUTH, + MOVE_ROCK_TOMB, + MOVE_SILVER_WIND, + MOVE_METAL_SOUND, + MOVE_GRASS_WHISTLE, + MOVE_TICKLE, + MOVE_COSMIC_POWER, + MOVE_WATER_SPOUT, + MOVE_SIGNAL_BEAM, + MOVE_SHADOW_PUNCH, + MOVE_EXTRASENSORY, + MOVE_SKY_UPPERCUT, + MOVE_SAND_TOMB, + MOVE_SHEER_COLD, + MOVE_MUDDY_WATER, + MOVE_BULLET_SEED, + MOVE_AERIAL_ACE, + MOVE_ICICLE_SPEAR, + MOVE_IRON_DEFENSE, + MOVE_BLOCK, + MOVE_HOWL, + MOVE_DRAGON_CLAW, + MOVE_FRENZY_PLANT, + MOVE_BULK_UP, + MOVE_BOUNCE, + MOVE_MUD_SHOT, + MOVE_POISON_TAIL, + MOVE_COVET, + MOVE_VOLT_TACKLE, + MOVE_MAGICAL_LEAF, + MOVE_WATER_SPORT, + MOVE_CALM_MIND, + MOVE_LEAF_BLADE, + MOVE_DRAGON_DANCE, + MOVE_ROCK_BLAST, + MOVE_SHOCK_WAVE, + MOVE_WATER_PULSE, + MOVE_DOOM_DESIRE, + MOVE_PSYCHO_BOOST, +}; + +#endif // GUARD_MOVES_H
\ No newline at end of file diff --git a/src/battle_ai.c b/src/battle_ai.c index 4509ca8db..6058068f0 100644 --- a/src/battle_ai.c +++ b/src/battle_ai.c @@ -7,14 +7,18 @@ #include "pokemon.h" #include "rng.h" #include "species.h" +#include "moves.h" #define AIScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24) #define AIScriptRead16(ptr) ((ptr)[0] | (ptr)[1] << 8) #define AIScriptRead8(ptr) ((ptr)[0]) #define AIScriptReadPtr(ptr) (u8*) AIScriptRead32(ptr) -#define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)((u8 *)&battle_2000000 + 0x16800)) -#define AI_ARRAY_160CC ((&battle_2000000 + 0x160CC)) +// to do: maybe try to reduce the defines needed to match? +#define BATTLE_STRUCT ((struct BattleStruct *)(unk_2000000)) +#define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(unk_2000000 + 0x16800)) +#define UNK_2016A00_STRUCT ((struct UnknownStruct1 *)(unk_2000000 + 0x16A00)) +#define AI_ARRAY_160CC ((struct SmallItemStruct *)(unk_2000000 + 0x160CC)) extern void sub_801CAF8(u8, u8); extern u8 sub_8109908(void); @@ -25,6 +29,15 @@ enum USER }; +// AI states +enum +{ + AIState_SettingUp, + AIState_Processing, + AIState_FinishedProcessing, + AIState_DoNotProcess +}; + extern void move_effectiveness_something(u16, u8, u8); extern u16 gBattleTypeFlags; @@ -33,8 +46,8 @@ extern u8 gUnknown_02024A60; extern u8 gUnknown_02024A6A[][2]; extern u16 gUnknown_02024BE6; extern int gBattleMoveDamage; -extern u8 gUnknown_02024C07; // something player? -extern u8 gUnknown_02024C08; // something opponent? +extern u8 gPlayerMonIndex; +extern u8 gEnemyMonIndex; extern u8 gUnknown_02024C0C; extern u8 gBattleMoveFlags; extern u16 gUnknown_02024DEC; @@ -65,19 +78,9 @@ AI scripts. */ extern u8 *gAIScriptPtr; -struct UnknownStruct1 -{ - /*0x00*/ u16 unk0[2][8]; - /*0x20*/ u8 unk20[2]; - /*0x22*/ u8 unk22[2]; - /*0x24*/ u16 items[4]; - /*0x2C*/ u8 unk8; -}; - struct UnknownStruct3 { - u8 *ptr[4]; // might be 8 pointers - u8 filler0[0x10]; + u8 *ptr[8]; u8 unk20; }; @@ -96,14 +99,13 @@ struct UnknownStruct4 u8 filler17[0x4]; }; -extern struct UnknownStruct1 unk_2016A00; extern struct UnknownStruct3 unk_2016C00; extern struct UnknownStruct4 gUnknown_02024CA8[]; -static void BattleAICmd_if_random(void); -static void BattleAICmd_if_not_random(void); -static void BattleAICmd_if_random_1(void); -static void BattleAICmd_if_not_random_1(void); +static void BattleAICmd_if_random_less_than(void); +static void BattleAICmd_if_random_greater_than(void); +static void BattleAICmd_if_random_equal(void); +static void BattleAICmd_if_random_not_equal(void); static void BattleAICmd_score(void); static void BattleAICmd_if_hp_less_than(void); static void BattleAICmd_if_hp_more_than(void); @@ -133,28 +135,28 @@ static void BattleAICmd_if_in_words(void); static void BattleAICmd_if_not_in_words(void); static void BattleAICmd_if_user_can_damage(void); static void BattleAICmd_if_user_cant_damage(void); -static void BattleAICmd_unk_21(void); +static void BattleAICmd_get_turn_count(void); static void BattleAICmd_get_type(void); -static void BattleAICmd_unk_23(void); -static void BattleAICmd_unk_24(void); +static void BattleAICmd_get_move_power(void); +static void BattleAICmd_is_most_powerful_move(void); static void BattleAICmd_get_move(void); -static void BattleAICmd_if_type(void); -static void BattleAICmd_unk_27(void); +static void BattleAICmd_if_arg_equal(void); +static void BattleAICmd_if_arg_not_equal(void); static void BattleAICmd_if_would_go_first(void); static void BattleAICmd_if_would_not_go_first(void); -static void BattleAICmd_unk_2A(void); -static void BattleAICmd_unk_2B(void); +static void BattleAICmd_nullsub_2A(void); +static void BattleAICmd_nullsub_2B(void); static void BattleAICmd_count_alive_pokemon(void); -static void BattleAICmd_unk_2D(void); -static void BattleAICmd_unk_2E(void); +static void BattleAICmd_get_considered_move(void); +static void BattleAICmd_get_considered_move_effect(void); static void BattleAICmd_get_ability(void); -static void BattleAICmd_unk_30(void); +static void BattleAICmd_get_highest_possible_damage(void); static void BattleAICmd_if_damage_bonus(void); -static void BattleAICmd_unk_32(void); -static void BattleAICmd_unk_33(void); +static void BattleAICmd_nullsub_32(void); +static void BattleAICmd_nullsub_33(void); static void BattleAICmd_if_status_in_party(void); static void BattleAICmd_if_status_not_in_party(void); -static void BattleAICmd_unk_36(void); +static void BattleAICmd_get_weather(void); static void BattleAICmd_if_effect(void); static void BattleAICmd_if_not_effect(void); static void BattleAICmd_if_stat_level_less_than(void); @@ -163,34 +165,34 @@ static void BattleAICmd_if_stat_level_equal(void); static void BattleAICmd_if_stat_level_not_equal(void); static void BattleAICmd_if_can_faint(void); static void BattleAICmd_if_cant_faint(void); -static void BattleAICmd_unk_3F(void); -static void BattleAICmd_unk_40(void); +static void BattleAICmd_if_has_move(void); +static void BattleAICmd_if_dont_have_move(void); static void BattleAICmd_if_move_effect(void); static void BattleAICmd_if_not_move_effect(void); static void BattleAICmd_if_last_move_did_damage(void); static void BattleAICmd_if_encored(void); -static void BattleAICmd_unk_45(void); -static void BattleAICmd_if_random_2(void); -static void BattleAICmd_unk_47(void); +static void BattleAICmd_flee(void); +static void BattleAICmd_if_random_100(void); +static void BattleAICmd_watch(void); static void BattleAICmd_get_hold_effect(void); static void BattleAICmd_get_gender(void); static void BattleAICmd_is_first_turn(void); static void BattleAICmd_get_stockpile_count(void); -static void BattleAICmd_unk_4C(void); +static void BattleAICmd_is_double_battle(void); static void BattleAICmd_get_item(void); -static void BattleAICmd_unk_4E(void); -static void BattleAICmd_unk_4F(void); -static void BattleAICmd_unk_50(void); +static void BattleAICmd_get_move_type_from_result(void); +static void BattleAICmd_get_move_power_from_result(void); +static void BattleAICmd_get_move_effect_from_result(void); static void BattleAICmd_get_protect_count(void); -static void BattleAICmd_unk_52(void); -static void BattleAICmd_unk_53(void); -static void BattleAICmd_unk_54(void); -static void BattleAICmd_unk_55(void); -static void BattleAICmd_unk_56(void); -static void BattleAICmd_unk_57(void); +static void BattleAICmd_nullsub_52(void); +static void BattleAICmd_nullsub_53(void); +static void BattleAICmd_nullsub_54(void); +static void BattleAICmd_nullsub_55(void); +static void BattleAICmd_nullsub_56(void); +static void BattleAICmd_nullsub_57(void); static void BattleAICmd_call(void); static void BattleAICmd_jump(void); -static void BattleAICmd_unk_5A(void); +static void BattleAICmd_end(void); static void BattleAICmd_if_level_cond(void); static void BattleAICmd_if_taunted(void); static void BattleAICmd_if_not_taunted(void); @@ -199,10 +201,10 @@ typedef void (*BattleAICmdFunc)(void); static const BattleAICmdFunc sBattleAICmdTable[] = { - BattleAICmd_if_random, - BattleAICmd_if_not_random, - BattleAICmd_if_random_1, - BattleAICmd_if_not_random_1, + BattleAICmd_if_random_less_than, + BattleAICmd_if_random_greater_than, + BattleAICmd_if_random_equal, + BattleAICmd_if_random_not_equal, BattleAICmd_score, BattleAICmd_if_hp_less_than, BattleAICmd_if_hp_more_than, @@ -232,28 +234,28 @@ static const BattleAICmdFunc sBattleAICmdTable[] = BattleAICmd_if_not_in_words, BattleAICmd_if_user_can_damage, BattleAICmd_if_user_cant_damage, - BattleAICmd_unk_21, + BattleAICmd_get_turn_count, BattleAICmd_get_type, - BattleAICmd_unk_23, - BattleAICmd_unk_24, + BattleAICmd_get_move_power, + BattleAICmd_is_most_powerful_move, BattleAICmd_get_move, - BattleAICmd_if_type, - BattleAICmd_unk_27, + BattleAICmd_if_arg_equal, + BattleAICmd_if_arg_not_equal, BattleAICmd_if_would_go_first, BattleAICmd_if_would_not_go_first, - BattleAICmd_unk_2A, - BattleAICmd_unk_2B, + BattleAICmd_nullsub_2A, + BattleAICmd_nullsub_2B, BattleAICmd_count_alive_pokemon, - BattleAICmd_unk_2D, - BattleAICmd_unk_2E, + BattleAICmd_get_considered_move, + BattleAICmd_get_considered_move_effect, BattleAICmd_get_ability, - BattleAICmd_unk_30, + BattleAICmd_get_highest_possible_damage, BattleAICmd_if_damage_bonus, - BattleAICmd_unk_32, - BattleAICmd_unk_33, + BattleAICmd_nullsub_32, + BattleAICmd_nullsub_33, BattleAICmd_if_status_in_party, BattleAICmd_if_status_not_in_party, - BattleAICmd_unk_36, + BattleAICmd_get_weather, BattleAICmd_if_effect, BattleAICmd_if_not_effect, BattleAICmd_if_stat_level_less_than, @@ -262,34 +264,34 @@ static const BattleAICmdFunc sBattleAICmdTable[] = BattleAICmd_if_stat_level_not_equal, BattleAICmd_if_can_faint, BattleAICmd_if_cant_faint, - BattleAICmd_unk_3F, - BattleAICmd_unk_40, + BattleAICmd_if_has_move, + BattleAICmd_if_dont_have_move, BattleAICmd_if_move_effect, BattleAICmd_if_not_move_effect, BattleAICmd_if_last_move_did_damage, BattleAICmd_if_encored, - BattleAICmd_unk_45, - BattleAICmd_if_random_2, - BattleAICmd_unk_47, + BattleAICmd_flee, + BattleAICmd_if_random_100, + BattleAICmd_watch, BattleAICmd_get_hold_effect, BattleAICmd_get_gender, BattleAICmd_is_first_turn, BattleAICmd_get_stockpile_count, - BattleAICmd_unk_4C, + BattleAICmd_is_double_battle, BattleAICmd_get_item, - BattleAICmd_unk_4E, - BattleAICmd_unk_4F, - BattleAICmd_unk_50, + BattleAICmd_get_move_type_from_result, + BattleAICmd_get_move_power_from_result, + BattleAICmd_get_move_effect_from_result, BattleAICmd_get_protect_count, - BattleAICmd_unk_52, - BattleAICmd_unk_53, - BattleAICmd_unk_54, - BattleAICmd_unk_55, - BattleAICmd_unk_56, - BattleAICmd_unk_57, + BattleAICmd_nullsub_52, + BattleAICmd_nullsub_53, + BattleAICmd_nullsub_54, + BattleAICmd_nullsub_55, + BattleAICmd_nullsub_56, + BattleAICmd_nullsub_57, BattleAICmd_call, BattleAICmd_jump, - BattleAICmd_unk_5A, + BattleAICmd_end, BattleAICmd_if_level_cond, BattleAICmd_if_taunted, BattleAICmd_if_not_taunted, @@ -348,135 +350,138 @@ void BattleAI_HandleItemUseBeforeAISetup(void) void BattleAI_SetupAIData(void) { s32 i; - u8 *data = (u8 *)&gAIThinkingSpace; + u8 *data = (u8 *)AI_THINKING_STRUCT; u8 r7; - // clear AI data and set default move score to 100. - for (i = 0; (u32)i < 28; i++) + // clear AI data and set default move score to 100. strange that they didn't use memset here. + for (i = 0; (u32)i < sizeof(struct AI_ThinkingStruct); i++) data[i] = 0; for (i = 0; i < 4; i++) - gAIThinkingSpace.score[i] = 100; + AI_THINKING_STRUCT->score[i] = 100; r7 = sub_8015A98(gUnknown_02024A60, 0, 0xFF); + // probably sets up the moves to consider and ignores non-valid moves such as NO_MOVE or glitch moves. for (i = 0; i < 4; i++) { u16 rand; if (gBitTable[i] & r7) - gAIThinkingSpace.score[i] = 0; + AI_THINKING_STRUCT->score[i] = 0; + rand = Random(); - gAIThinkingSpace.unk18[i] = 100 - (rand & 0xF); + AI_THINKING_STRUCT->unk18[i] = 100 - (rand & 0xF); } unk_2016C00.unk20 = 0; - gUnknown_02024C07 = gUnknown_02024A60; + gPlayerMonIndex = gUnknown_02024A60; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - gUnknown_02024C08 = Random() & 2; + gEnemyMonIndex = Random() & 2; // just pick somebody to target. - if (gUnknown_02024C0C & gBitTable[gUnknown_02024C08]) - gUnknown_02024C08 ^= 2; + if (gUnknown_02024C0C & gBitTable[gEnemyMonIndex]) + gEnemyMonIndex ^= 2; } else - gUnknown_02024C08 = gUnknown_02024A60 ^ 1; + gEnemyMonIndex = gUnknown_02024A60 ^ 1; // special AI flag cases. if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - gAIThinkingSpace.aiFlags = 0x40000000; + AI_THINKING_STRUCT->aiFlags = 0x40000000; else if (gBattleTypeFlags & BATTLE_TYPE_ROAMER) - gAIThinkingSpace.aiFlags = 0x20000000; + AI_THINKING_STRUCT->aiFlags = 0x20000000; else if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) - gAIThinkingSpace.aiFlags = 0x80000000; + AI_THINKING_STRUCT->aiFlags = 0x80000000; else // otherwise, just set aiFlags to whatever flags the trainer has set in their data. - gAIThinkingSpace.aiFlags = gTrainers[gTrainerBattleOpponent].aiFlags; + AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent].aiFlags; } u8 BattleAI_GetAIActionToUse(void) { - u8 arr1[4]; - u8 arr2[4]; - u8 r5; + u8 currentMoveArray[4]; + u8 consideredMoveArray[4]; + u8 numOfBestMoves; s32 i; sub_810745C(); - while (gAIThinkingSpace.aiFlags != 0) + while (AI_THINKING_STRUCT->aiFlags != 0) { - if (gAIThinkingSpace.aiFlags & 1) + if (AI_THINKING_STRUCT->aiFlags & 1) { - gAIThinkingSpace.unk0 = 0; + AI_THINKING_STRUCT->aiState = AIState_SettingUp; BattleAI_DoAIProcessing(); } - gAIThinkingSpace.aiFlags >>= 1; - gAIThinkingSpace.aiLogicId++; - gAIThinkingSpace.moveConsidered = 0; + AI_THINKING_STRUCT->aiFlags >>= 1; + AI_THINKING_STRUCT->aiLogicId++; + AI_THINKING_STRUCT->movesetIndex = 0; } - // will KO, need to use item or switch. - if (gAIThinkingSpace.unk10 & 2) + // special flee or watch cases for safari. + if (AI_THINKING_STRUCT->aiAction & (AI_ACTION_UNK2)) // flee return 4; - if (gAIThinkingSpace.unk10 & 4) + if (AI_THINKING_STRUCT->aiAction & (AI_ACTION_UNK3)) // watch return 5; - r5 = 1; - arr1[0] = gAIThinkingSpace.score[0]; - arr2[0] = 0; + numOfBestMoves = 1; + currentMoveArray[0] = AI_THINKING_STRUCT->score[0]; + consideredMoveArray[0] = 0; for (i = 1; i < 4; i++) { - if (arr1[0] < (s8)gAIThinkingSpace.score[i]) + if (currentMoveArray[0] < AI_THINKING_STRUCT->score[i]) { - r5 = 1; - arr1[0] = gAIThinkingSpace.score[i]; - arr2[0] = i; + numOfBestMoves = 1; + currentMoveArray[0] = AI_THINKING_STRUCT->score[i]; + consideredMoveArray[0] = i; } - if (arr1[0] == (s8)gAIThinkingSpace.score[i]) + if (currentMoveArray[0] == AI_THINKING_STRUCT->score[i]) { - arr1[r5] = gAIThinkingSpace.score[i]; - arr2[r5++] = i; + currentMoveArray[numOfBestMoves] = AI_THINKING_STRUCT->score[i]; + consideredMoveArray[numOfBestMoves++] = i; } } - return arr2[Random() % r5]; + return consideredMoveArray[Random() % numOfBestMoves]; // break any ties that exist. } void BattleAI_DoAIProcessing(void) { - while (gAIThinkingSpace.unk0 != 2) + while (AI_THINKING_STRUCT->aiState != AIState_FinishedProcessing) { - switch (gAIThinkingSpace.unk0) + switch (AI_THINKING_STRUCT->aiState) { - case 3: //Needed to match. + case AIState_DoNotProcess: //Needed to match. break; - case 0: - gAIScriptPtr = BattleAIs[gAIThinkingSpace.aiLogicId]; - if (gBattleMons[gUnknown_02024C07].pp[gAIThinkingSpace.moveConsidered] == 0) + case AIState_SettingUp: + gAIScriptPtr = BattleAIs[AI_THINKING_STRUCT->aiLogicId]; // set the AI ptr. + if (gBattleMons[gPlayerMonIndex].pp[AI_THINKING_STRUCT->movesetIndex] == 0) { - gAIThinkingSpace.unk2 = 0; + AI_THINKING_STRUCT->moveConsidered = MOVE_NONE; // don't consider a move you have 0 PP for, idiot. } else { - gAIThinkingSpace.unk2 = gBattleMons[gUnknown_02024C07].moves[gAIThinkingSpace.moveConsidered]; + AI_THINKING_STRUCT->moveConsidered = gBattleMons[gPlayerMonIndex].moves[AI_THINKING_STRUCT->movesetIndex]; } - gAIThinkingSpace.unk0++; + AI_THINKING_STRUCT->aiState++; break; - case 1: - if (gAIThinkingSpace.unk2 != 0) + case AIState_Processing: + if (AI_THINKING_STRUCT->moveConsidered != MOVE_NONE) sBattleAICmdTable[*(u8 *)gAIScriptPtr](); // run AI command. else { - gAIThinkingSpace.score[gAIThinkingSpace.moveConsidered] = 0; - gAIThinkingSpace.unk10 |= 1; + AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0; // definitely do not consider any move that has 0 PP. + AI_THINKING_STRUCT->aiAction |= AI_ACTION_UNK1; } - if (gAIThinkingSpace.unk10 & 1) + if (AI_THINKING_STRUCT->aiAction & AI_ACTION_UNK1) { - gAIThinkingSpace.moveConsidered++; - if (gAIThinkingSpace.moveConsidered < 4 && !(gAIThinkingSpace.unk10 & 8)) - gAIThinkingSpace.unk0 = 0; + AI_THINKING_STRUCT->movesetIndex++; + if (AI_THINKING_STRUCT->movesetIndex < 4 && !(AI_THINKING_STRUCT->aiAction & AI_ACTION_UNK4)) + AI_THINKING_STRUCT->aiState = AIState_SettingUp; // as long as their are more moves to process, keep setting this to setup state. else - gAIThinkingSpace.unk0++; - gAIThinkingSpace.unk10 &= 0xFE; + AI_THINKING_STRUCT->aiState++; // done processing. + AI_THINKING_STRUCT->aiAction &= (AI_ACTION_UNK2 | AI_ACTION_UNK3 | AI_ACTION_UNK4 | + AI_ACTION_UNK5 | AI_ACTION_UNK6 | AI_ACTION_UNK7 | AI_ACTION_UNK8); // disable UNK1. } break; } @@ -489,10 +494,9 @@ void sub_810745C(void) for (i = 0; i < 8; i++) { - // this is the same as dividing it by 2, but for some reason, >> 1 is needed to match the asm. - if (unk_2016A00.unk0[gUnknown_02024C08 >> 1][i] == 0) + if (unk_2016A00.unk0[gEnemyMonIndex >> 1][i] == 0) { - unk_2016A00.unk0[gUnknown_02024C08 >> 1][i] = gUnknown_02024C34[gUnknown_02024C08]; + unk_2016A00.unk0[gEnemyMonIndex >> 1][i] = gUnknown_02024C34[gEnemyMonIndex]; return; } } @@ -518,41 +522,41 @@ void sub_81074F8(u8 a, u8 b) unk_2016A00.unk22[battle_get_per_side_status(a) & 1] = b; } -static void BattleAICmd_if_random(void) +static void BattleAICmd_if_random_less_than(void) { u16 random = Random(); - if (!(random % 256 >= gAIScriptPtr[1])) // roll a random value. is it less than the parameter of the if_random call? (96 on if_random 80 will return true) + if (random % 256 < gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; } -static void BattleAICmd_if_not_random(void) +static void BattleAICmd_if_random_greater_than(void) { u16 random = Random(); - if (!(random % 256 <= gAIScriptPtr[1])) // roll a random value. is it greater than the parameter of the if_random call? (96 on if_random 80 will return true) + if (random % 256 > gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; } -static void BattleAICmd_if_random_1(void) // if RNG Value equal to +static void BattleAICmd_if_random_equal(void) // if RNG Value equal to { u16 random = Random(); - if (random % 256 == gAIScriptPtr[1]) // roll a random value. is it greater than the parameter of the if_random call? (96 on if_random 80 will return true) + if (random % 256 == gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; } -static void BattleAICmd_if_not_random_1(void) // if RNG value not equal to +static void BattleAICmd_if_random_not_equal(void) // if RNG value not equal to { u16 random = Random(); - if (random % 256 != gAIScriptPtr[1]) // roll a random value. is it greater than the parameter of the if_random call? (96 on if_random 80 will return true) + if (random % 256 != gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -560,24 +564,24 @@ static void BattleAICmd_if_not_random_1(void) // if RNG value not equal to static void BattleAICmd_score(void) { - gAIThinkingSpace.score[gAIThinkingSpace.moveConsidered] += gAIScriptPtr[1]; // add the result to the array of the move consider's score. + AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] += gAIScriptPtr[1]; // add the result to the array of the move consider's score. - if (gAIThinkingSpace.score[gAIThinkingSpace.moveConsidered] < 0) // if the score is negative, flatten it to 0. - gAIThinkingSpace.score[gAIThinkingSpace.moveConsidered] = 0; + if (AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] < 0) // if the score is negative, flatten it to 0. + AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0; gAIScriptPtr += 2; // AI return. } static void BattleAICmd_if_hp_less_than(void) { - u16 var; + u16 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - if ((u32)(100 * gBattleMons[var].hp / gBattleMons[var].maxHP) < gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) < gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -585,14 +589,14 @@ static void BattleAICmd_if_hp_less_than(void) static void BattleAICmd_if_hp_more_than(void) { - u16 var; + u16 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - if ((u32)(100 * gBattleMons[var].hp / gBattleMons[var].maxHP) > gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) > gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -600,14 +604,14 @@ static void BattleAICmd_if_hp_more_than(void) static void BattleAICmd_if_hp_equal(void) { - u16 var; + u16 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - if ((u32)(100 * gBattleMons[var].hp / gBattleMons[var].maxHP) == gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) == gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -615,14 +619,14 @@ static void BattleAICmd_if_hp_equal(void) static void BattleAICmd_if_hp_not_equal(void) { - u16 var; + u16 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - if ((u32)(100 * gBattleMons[var].hp / gBattleMons[var].maxHP) != gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) != gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -630,17 +634,17 @@ static void BattleAICmd_if_hp_not_equal(void) static void BattleAICmd_if_status(void) { - u16 var; - u32 temp; + u16 index; + u32 arg; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - temp = AIScriptRead32(gAIScriptPtr + 2); + arg = AIScriptRead32(gAIScriptPtr + 2); - if (gBattleMons[var].status1 & temp) + if ((gBattleMons[index].status1 & arg) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -648,17 +652,17 @@ static void BattleAICmd_if_status(void) static void BattleAICmd_if_not_status(void) { - u16 var; - u32 temp; + u16 index; + u32 arg; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - temp = AIScriptRead32(gAIScriptPtr + 2); + arg = AIScriptRead32(gAIScriptPtr + 2); - if (!(gBattleMons[var].status1 & temp)) + if ((gBattleMons[index].status1 & arg) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -666,17 +670,17 @@ static void BattleAICmd_if_not_status(void) static void BattleAICmd_if_status2(void) { - u8 var; - u32 temp; + u16 index; + u32 arg; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - temp = AIScriptRead32(gAIScriptPtr + 2); + arg = AIScriptRead32(gAIScriptPtr + 2); - if (gBattleMons[var].status2 & temp) + if ((gBattleMons[index].status2 & arg) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -684,17 +688,17 @@ static void BattleAICmd_if_status2(void) static void BattleAICmd_if_not_status2(void) { - u8 var; - u32 temp; + u16 index; + u32 arg; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - temp = AIScriptRead32(gAIScriptPtr + 2); + arg = AIScriptRead32(gAIScriptPtr + 2); - if (!(gBattleMons[var].status2 & temp)) + if ((gBattleMons[index].status2 & arg) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -702,17 +706,17 @@ static void BattleAICmd_if_not_status2(void) static void BattleAICmd_if_status3(void) { - u8 var; - u32 temp; + u16 index; + u32 arg; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - temp = AIScriptRead32(gAIScriptPtr + 2); + arg = AIScriptRead32(gAIScriptPtr + 2); - if (gUnknown_02024C98[var] & temp) + if ((gUnknown_02024C98[index] & arg) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -720,17 +724,17 @@ static void BattleAICmd_if_status3(void) static void BattleAICmd_if_not_status3(void) { - u8 var; - u32 temp; + u16 index; + u32 arg; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - temp = AIScriptRead32(gAIScriptPtr + 2); + arg = AIScriptRead32(gAIScriptPtr + 2); - if (!(gUnknown_02024C98[var] & temp)) + if ((gUnknown_02024C98[index] & arg) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -738,19 +742,18 @@ static void BattleAICmd_if_not_status3(void) static void BattleAICmd_if_status4(void) { - u8 var; - u32 temp; - u32 temp2; + u16 index; + u32 arg1, arg2; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - temp = battle_get_per_side_status(var) & 1; - temp2 = AIScriptRead32(gAIScriptPtr + 2); + arg1 = battle_get_per_side_status(index) & 1; + arg2 = AIScriptRead32(gAIScriptPtr + 2); - if (gUnknown_02024C7A[temp] & temp2) + if ((gUnknown_02024C7A[arg1] & arg2) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -758,19 +761,18 @@ static void BattleAICmd_if_status4(void) static void BattleAICmd_if_not_status4(void) { - u8 var; - u32 temp; - u32 temp2; + u16 index; + u32 arg1, arg2; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - temp = battle_get_per_side_status(var) & 1; - temp2 = AIScriptRead32(gAIScriptPtr + 2); + arg1 = battle_get_per_side_status(index) & 1; + arg2 = AIScriptRead32(gAIScriptPtr + 2); - if (!(gUnknown_02024C7A[temp] & temp2)) + if ((gUnknown_02024C7A[arg1] & arg2) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -778,7 +780,7 @@ static void BattleAICmd_if_not_status4(void) static void BattleAICmd_if_less_than(void) { - if (gAIThinkingSpace.funcResult < gAIScriptPtr[1]) + if (AI_THINKING_STRUCT->funcResult < gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -786,7 +788,7 @@ static void BattleAICmd_if_less_than(void) static void BattleAICmd_if_more_than(void) { - if (gAIThinkingSpace.funcResult > gAIScriptPtr[1]) + if (AI_THINKING_STRUCT->funcResult > gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -794,7 +796,7 @@ static void BattleAICmd_if_more_than(void) static void BattleAICmd_if_equal(void) { - if (gAIThinkingSpace.funcResult == gAIScriptPtr[1]) + if (AI_THINKING_STRUCT->funcResult == gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -802,7 +804,7 @@ static void BattleAICmd_if_equal(void) static void BattleAICmd_if_not_equal(void) { - if (gAIThinkingSpace.funcResult != gAIScriptPtr[1]) + if (AI_THINKING_STRUCT->funcResult != gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -812,7 +814,7 @@ static void BattleAICmd_if_less_than_32(void) { u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); - if (gAIThinkingSpace.funcResult < *temp) + if (AI_THINKING_STRUCT->funcResult < *temp) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); else gAIScriptPtr += 9; @@ -822,7 +824,7 @@ static void BattleAICmd_if_more_than_32(void) { u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); - if (gAIThinkingSpace.funcResult > *temp) + if (AI_THINKING_STRUCT->funcResult > *temp) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); else gAIScriptPtr += 9; @@ -832,7 +834,7 @@ static void BattleAICmd_if_equal_32(void) { u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); - if (gAIThinkingSpace.funcResult == *temp) + if (AI_THINKING_STRUCT->funcResult == *temp) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); else gAIScriptPtr += 9; @@ -842,7 +844,7 @@ static void BattleAICmd_if_not_equal_32(void) { u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); - if (gAIThinkingSpace.funcResult != *temp) + if (AI_THINKING_STRUCT->funcResult != *temp) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); else gAIScriptPtr += 9; @@ -852,7 +854,7 @@ static void BattleAICmd_if_move(void) { u16 move = AIScriptRead16(gAIScriptPtr + 1); - if (gAIThinkingSpace.unk2 == move) + if (AI_THINKING_STRUCT->moveConsidered == move) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -862,7 +864,7 @@ static void BattleAICmd_if_not_move(void) { u16 move = AIScriptRead16(gAIScriptPtr + 1); - if (gAIThinkingSpace.unk2 != move) + if (AI_THINKING_STRUCT->moveConsidered != move) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -874,7 +876,7 @@ static void BattleAICmd_if_in_bytes(void) while (*ptr != 0xFF) { - if (gAIThinkingSpace.funcResult == *ptr) + if (AI_THINKING_STRUCT->funcResult == *ptr) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); return; @@ -890,7 +892,7 @@ static void BattleAICmd_if_not_in_bytes(void) while (*ptr != 0xFF) { - if (gAIThinkingSpace.funcResult == *ptr) + if (AI_THINKING_STRUCT->funcResult == *ptr) { gAIScriptPtr += 9; return; @@ -906,7 +908,7 @@ static void BattleAICmd_if_in_words(void) while (*ptr != 0xFFFF) { - if (gAIThinkingSpace.funcResult == *ptr) + if (AI_THINKING_STRUCT->funcResult == *ptr) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); return; @@ -922,7 +924,7 @@ static void BattleAICmd_if_not_in_words(void) while (*ptr != 0xFFFF) { - if (gAIThinkingSpace.funcResult == *ptr) + if (AI_THINKING_STRUCT->funcResult == *ptr) { gAIScriptPtr += 9; return; @@ -938,8 +940,8 @@ static void BattleAICmd_if_user_can_damage(void) for (i = 0; i < 4; i++) { - if (gBattleMons[gUnknown_02024C07].moves[i] != 0 - && gBattleMoves[gBattleMons[gUnknown_02024C07].moves[i]].power != 0) + if (gBattleMons[gPlayerMonIndex].moves[i] != 0 + && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].power != 0) break; } if (i == 4) @@ -954,8 +956,8 @@ static void BattleAICmd_if_user_cant_damage(void) for (i = 0; i < 4; i++) { - if (gBattleMons[gUnknown_02024C07].moves[i] != 0 - && gBattleMoves[gBattleMons[gUnknown_02024C07].moves[i]].power != 0) + if (gBattleMons[gPlayerMonIndex].moves[i] != 0 + && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].power != 0) break; } if (i != 4) @@ -964,9 +966,9 @@ static void BattleAICmd_if_user_cant_damage(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); } -static void BattleAICmd_unk_21(void) +static void BattleAICmd_get_turn_count(void) { - gAIThinkingSpace.funcResult = gUnknown_030042E0[19]; + AI_THINKING_STRUCT->funcResult = gUnknown_030042E0[19]; gAIScriptPtr += 1; } @@ -976,69 +978,68 @@ static void BattleAICmd_get_type(void) switch (typeVar) { - case 1: - gAIThinkingSpace.funcResult = gBattleMons[gUnknown_02024C07].type1; + case 1: // player primary type + AI_THINKING_STRUCT->funcResult = gBattleMons[gPlayerMonIndex].type1; break; - case 0: - gAIThinkingSpace.funcResult = gBattleMons[gUnknown_02024C08].type1; + case 0: // enemy primary type + AI_THINKING_STRUCT->funcResult = gBattleMons[gEnemyMonIndex].type1; break; - case 3: - gAIThinkingSpace.funcResult = gBattleMons[gUnknown_02024C07].type2; + case 3: // player secondary type + AI_THINKING_STRUCT->funcResult = gBattleMons[gPlayerMonIndex].type2; break; - case 2: - gAIThinkingSpace.funcResult = gBattleMons[gUnknown_02024C08].type2; + case 2: // enemy secondary type + AI_THINKING_STRUCT->funcResult = gBattleMons[gEnemyMonIndex].type2; break; - case 4: - gAIThinkingSpace.funcResult = gBattleMoves[gAIThinkingSpace.unk2].type; + case 4: // type of move being pointed to + AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].type; break; } gAIScriptPtr += 2; } -static void BattleAICmd_unk_23(void) +static void BattleAICmd_get_move_power(void) { - gAIThinkingSpace.funcResult = gBattleMoves[gAIThinkingSpace.unk2].power; + AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power; gAIScriptPtr += 1; } #ifdef NONMATCHING -static void BattleAICmd_unk_24(void) +static void BattleAICmd_is_most_powerful_move(void) { int i, j; - s32 damage; s32 damages[4]; for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++) - if (gBattleMoves[AI_THINKING_STRUCT->unk2].effect == sDiscouragedPowerfulMoveEffects[i]) + if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == sDiscouragedPowerfulMoveEffects[i]) break; - if (gBattleMoves[AI_THINKING_STRUCT->unk2].power > 1 + if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power > 1 && sDiscouragedPowerfulMoveEffects[i] == 0xFFFF) { gUnknown_02024DEC = 0; - *((u8 *)&battle_2000000 + 0x1601C) = 0; - *((u8 *)&battle_2000000 + 0x1601F) = 1; + unk_2000000[0x1601C] = 0; // why is this a manual array? + unk_2000000[0x1601F] = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; for (i = 0; i < 4; i++) { for (j = 0; sDiscouragedPowerfulMoveEffects[j] != 0xFFFF; j++) - { - if (gBattleMoves[gBattleMons[gUnknown_02024C07].moves[i]].effect == sDiscouragedPowerfulMoveEffects[j]) + { // _08108276 + if (gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].effect == sDiscouragedPowerfulMoveEffects[j]) break; } - if (gBattleMons[gUnknown_02024C07].moves[i] + // _081082BA + if (gBattleMons[gPlayerMonIndex].moves[i] && sDiscouragedPowerfulMoveEffects[j] == 0xFFFF - && gBattleMoves[gBattleMons[gUnknown_02024C07].moves[i]].power > 1) + && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].power > 1) { - gUnknown_02024BE6 = gBattleMons[gUnknown_02024C07].moves[i]; - sub_801CAF8(gUnknown_02024C07, gUnknown_02024C08); - move_effectiveness_something(gUnknown_02024BE6, gUnknown_02024C07, gUnknown_02024C08); - damage = (gBattleMoveDamage * AI_THINKING_STRUCT->unk18[i]) / 100; - damages[i] = damage; - if (!damage) + gUnknown_02024BE6 = gBattleMons[gPlayerMonIndex].moves[i]; + sub_801CAF8(gPlayerMonIndex, gEnemyMonIndex); + move_effectiveness_something(gUnknown_02024BE6, gPlayerMonIndex, gEnemyMonIndex); + damages[i] = (gBattleMoveDamage * AI_THINKING_STRUCT->unk18[i]) / 100; + if (damages[i] == 0) // moves always do at least 1 damage. damages[i] = 1; } else @@ -1048,7 +1049,7 @@ static void BattleAICmd_unk_24(void) } for (i = 0; i < 4; i++) - if (damages[i] > damages[AI_THINKING_STRUCT->moveConsidered]) + if (damages[i] > damages[AI_THINKING_STRUCT->movesetIndex]) break; if (i == 4) @@ -1059,14 +1060,13 @@ static void BattleAICmd_unk_24(void) else { AI_THINKING_STRUCT->funcResult = 0; - gAIScriptPtr += 1; } gAIScriptPtr += 1; } #else __attribute__((naked)) -static void BattleAICmd_unk_24(void) +static void BattleAICmd_is_most_powerful_move(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -1142,7 +1142,7 @@ _08108276:\n\ movs r3, 0\n\ ldr r5, _08108348 @ =gBattleMons\n\ lsls r4, r6, 1\n\ - ldr r7, _0810834C @ =gUnknown_02024C07\n\ + ldr r7, _0810834C @ =gPlayerMonIndex\n\ lsls r1, r6, 2\n\ mov r8, r1\n\ adds r2, r6, 0x1\n\ @@ -1203,7 +1203,7 @@ _081082BA:\n\ ldr r5, _08108350 @ =gUnknown_02024BE6\n\ strh r2, [r5]\n\ ldrb r0, [r7]\n\ - ldr r4, _08108354 @ =gUnknown_02024C08\n\ + ldr r4, _08108354 @ =gEnemyMonIndex\n\ ldrb r1, [r4]\n\ bl sub_801CAF8\n\ ldrh r0, [r5]\n\ @@ -1237,9 +1237,9 @@ _0810833C: .4byte 0xfffff81c\n\ _08108340: .4byte gBattleMoveFlags\n\ _08108344: .4byte gCritMultiplier\n\ _08108348: .4byte gBattleMons\n\ -_0810834C: .4byte gUnknown_02024C07\n\ +_0810834C: .4byte gPlayerMonIndex\n\ _08108350: .4byte gUnknown_02024BE6\n\ -_08108354: .4byte gUnknown_02024C08\n\ +_08108354: .4byte gEnemyMonIndex\n\ _08108358: .4byte gBattleMoveDamage\n\ _0810835C:\n\ mov r1, sp\n\ @@ -1313,24 +1313,24 @@ _081083D0: .4byte gAIScriptPtr\n\ static void BattleAICmd_get_move(void) { if (gAIScriptPtr[1] == USER) - gAIThinkingSpace.funcResult = gUnknown_02024C34[gUnknown_02024C07]; + AI_THINKING_STRUCT->funcResult = gUnknown_02024C34[gPlayerMonIndex]; else - gAIThinkingSpace.funcResult = gUnknown_02024C34[gUnknown_02024C08]; + AI_THINKING_STRUCT->funcResult = gUnknown_02024C34[gEnemyMonIndex]; gAIScriptPtr += 2; } -static void BattleAICmd_if_type(void) +static void BattleAICmd_if_arg_equal(void) { - if (gAIScriptPtr[1] == gAIThinkingSpace.funcResult) + if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; } -static void BattleAICmd_unk_27(void) // if_not_type +static void BattleAICmd_if_arg_not_equal(void) { - if (gAIScriptPtr[1] != gAIThinkingSpace.funcResult) + if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1338,7 +1338,7 @@ static void BattleAICmd_unk_27(void) // if_not_type static void BattleAICmd_if_would_go_first(void) { - if (b_first_side(gUnknown_02024C07, gUnknown_02024C08, 1) == gAIScriptPtr[1]) + if (b_first_side(gPlayerMonIndex, gEnemyMonIndex, 1) == gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1346,34 +1346,33 @@ static void BattleAICmd_if_would_go_first(void) static void BattleAICmd_if_would_not_go_first(void) { - if (b_first_side(gUnknown_02024C07, gUnknown_02024C08, 1) != gAIScriptPtr[1]) + if (b_first_side(gPlayerMonIndex, gEnemyMonIndex, 1) != gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; } -static void BattleAICmd_unk_2A(void) +static void BattleAICmd_nullsub_2A(void) { } -static void BattleAICmd_unk_2B(void) +static void BattleAICmd_nullsub_2B(void) { } static void BattleAICmd_count_alive_pokemon(void) { u8 index; + u8 var, var2; struct Pokemon *party; - struct AI_ThinkingStruct *ai = &battle_2000000.ai; int i; - u8 var, var2; - ai->funcResult = 0; + AI_THINKING_STRUCT->funcResult = 0; if (gAIScriptPtr[1] == USER) - index = gUnknown_02024C07; + index = gPlayerMonIndex; else - index = gUnknown_02024C08; + index = gEnemyMonIndex; if (battle_side_get_owner(index) == 0) party = gPlayerParty; @@ -1395,87 +1394,86 @@ static void BattleAICmd_count_alive_pokemon(void) for (i = 0; i < 6; i++) { - struct AI_ThinkingStruct *ai2 = &battle_2000000.ai; if (i != var && i != var2 && GetMonData(&party[i], MON_DATA_HP) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG) { - ai2->funcResult++; + AI_THINKING_STRUCT->funcResult++; } } gAIScriptPtr += 2; } -static void BattleAICmd_unk_2D(void) +static void BattleAICmd_get_considered_move(void) { - gAIThinkingSpace.funcResult = gAIThinkingSpace.unk2; + AI_THINKING_STRUCT->funcResult = AI_THINKING_STRUCT->moveConsidered; gAIScriptPtr += 1; } -static void BattleAICmd_unk_2E(void) +static void BattleAICmd_get_considered_move_effect(void) { - gAIThinkingSpace.funcResult = gBattleMoves[gAIThinkingSpace.unk2].effect; + AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect; gAIScriptPtr += 1; } static void BattleAICmd_get_ability(void) { - u8 var; + u8 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - if (battle_side_get_owner(var) == TARGET) + if (battle_side_get_owner(index) == TARGET) { - u16 unk = battle_get_per_side_status(var) & 1; + u16 unk = battle_get_per_side_status(index) & 1; - if (unk_2016A00.unk20[unk] != 0) + if (UNK_2016A00_STRUCT->unk20[unk] != 0) { - ((struct AI_ThinkingStruct *)((u8 *)&unk_2016A00 - 0x200))->funcResult = unk_2016A00.unk20[unk]; + AI_THINKING_STRUCT->funcResult = UNK_2016A00_STRUCT->unk20[unk]; gAIScriptPtr += 2; return; } // abilities that prevent fleeing. - if (gBattleMons[var].ability == ABILITY_SHADOW_TAG || gBattleMons[var].ability == ABILITY_MAGNET_PULL || gBattleMons[var].ability == ABILITY_ARENA_TRAP) + if (gBattleMons[index].ability == ABILITY_SHADOW_TAG || gBattleMons[index].ability == ABILITY_MAGNET_PULL || gBattleMons[index].ability == ABILITY_ARENA_TRAP) { - gAIThinkingSpace.funcResult = gBattleMons[var].ability; + AI_THINKING_STRUCT->funcResult = gBattleMons[index].ability; gAIScriptPtr += 2; return; } - if (gBaseStats[gBattleMons[var].species].ability1 != ABILITY_NONE) + if (gBaseStats[gBattleMons[index].species].ability1 != ABILITY_NONE) { - if (gBaseStats[gBattleMons[var].species].ability2 != ABILITY_NONE) + if (gBaseStats[gBattleMons[index].species].ability2 != ABILITY_NONE) { - // AI is guessing what ability? + // AI has no knowledge of opponent, so it guesses which ability. In Emerald, it has knowledge of the opponent's ability when it is invoked at least once. if (Random() & 1) { - ((struct AI_ThinkingStruct *)((u8 *)&unk_2016A00 - 0x200))->funcResult = gBaseStats[gBattleMons[var].species].ability1; + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability1; gAIScriptPtr += 2; return; } else { - ((struct AI_ThinkingStruct *)((u8 *)&unk_2016A00 - 0x200))->funcResult = gBaseStats[gBattleMons[var].species].ability2; + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability2; gAIScriptPtr += 2; return; } } else { - ((struct AI_ThinkingStruct *)((u8 *)&unk_2016A00 - 0x200))->funcResult = gBaseStats[gBattleMons[var].species].ability1; // it's definitely ability 1. + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability1; // it's definitely ability 1. gAIScriptPtr += 2; return; } } else { - ((struct AI_ThinkingStruct *)((u8 *)&unk_2016A00 - 0x200))->funcResult = gBaseStats[gBattleMons[var].species].ability2; // AI cant actually reach this part since every mon has at least 1 ability. + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability2; // AI cant actually reach this part since every mon has at least 1 ability. gAIScriptPtr += 2; return; } @@ -1483,34 +1481,31 @@ static void BattleAICmd_get_ability(void) else { // The AI knows its own ability. - gAIThinkingSpace.funcResult = gBattleMons[var].ability; + AI_THINKING_STRUCT->funcResult = gBattleMons[index].ability; gAIScriptPtr += 2; return; } } -static void BattleAICmd_unk_30(void) +static void BattleAICmd_get_highest_possible_damage(void) { s32 i; - struct AI_ThinkingStruct *ai; - struct AI_ThinkingStruct *ai2; gUnknown_02024DEC = 0; - battle_2000000.unk.unk1 = 0; - battle_2000000.unk.unk4 = 1; + BATTLE_STRUCT->unk.unk1 = 0; + BATTLE_STRUCT->unk.unk4 = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; - ai = &battle_2000000.ai; - ai->funcResult = 0; + AI_THINKING_STRUCT->funcResult = 0; for (i = 0; i < 4; i++) { gBattleMoveDamage = 40; - gUnknown_02024BE6 = gBattleMons[gUnknown_02024C07].moves[i]; + gUnknown_02024BE6 = gBattleMons[gPlayerMonIndex].moves[i]; if (gUnknown_02024BE6) { - move_effectiveness_something(gUnknown_02024BE6, gUnknown_02024C07, gUnknown_02024C08); + move_effectiveness_something(gUnknown_02024BE6, gPlayerMonIndex, gEnemyMonIndex); // reduce by 1/3. if (gBattleMoveDamage == 120) @@ -1522,12 +1517,11 @@ static void BattleAICmd_unk_30(void) if (gBattleMoveDamage == 15) gBattleMoveDamage = 10; - if (gBattleMoveFlags & 8) + if (gBattleMoveFlags & 8) // if it's a status move, it wont do anything. gBattleMoveDamage = 0; - ai2 = &battle_2000000.ai; - if (ai2->funcResult < gBattleMoveDamage) - ai2->funcResult = gBattleMoveDamage; + if (AI_THINKING_STRUCT->funcResult < gBattleMoveDamage) + AI_THINKING_STRUCT->funcResult = gBattleMoveDamage; } } gAIScriptPtr += 1; @@ -1535,19 +1529,18 @@ static void BattleAICmd_unk_30(void) static void BattleAICmd_if_damage_bonus(void) { - struct AI_ThinkingStruct *ai; u8 damageVar; gUnknown_02024DEC = 0; - battle_2000000.unk.unk1 = 0; - battle_2000000.unk.unk4 = 1; + BATTLE_STRUCT->unk.unk1 = 0; + BATTLE_STRUCT->unk.unk4 = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; gBattleMoveDamage = 40; - gUnknown_02024BE6 = (ai = &battle_2000000.ai)->unk2; + gUnknown_02024BE6 = AI_THINKING_STRUCT->moveConsidered; - move_effectiveness_something(gUnknown_02024BE6, gUnknown_02024C07, gUnknown_02024C08); + move_effectiveness_something(gUnknown_02024BE6, gPlayerMonIndex, gEnemyMonIndex); if (gBattleMoveDamage == 120) gBattleMoveDamage = 80; @@ -1561,42 +1554,39 @@ static void BattleAICmd_if_damage_bonus(void) if (gBattleMoveFlags & 8) gBattleMoveDamage = 0; - // i have to store 2024BEC in a local variable before the comparison or else it will not match. + // store gBattleMoveDamage in a u8 variable because gAIScriptPtr[1] is a u8. damageVar = gBattleMoveDamage; + if (damageVar == gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; } -static void BattleAICmd_unk_32(void) +static void BattleAICmd_nullsub_32(void) { } -static void BattleAICmd_unk_33(void) +static void BattleAICmd_nullsub_33(void) { } static void BattleAICmd_if_status_in_party(void) { struct Pokemon *party; + struct Pokemon *partyPtr; int i; u32 statusToCompareTo; - if (gAIScriptPtr[1] == USER) - { - party = gEnemyParty; - } - else if (0) - { - // what is going on here? - follow_jump: - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); - return; - } - else + // for whatever reason, game freak put the party pointer into 2 variables instead of 1. it's possible at some point the switch encompassed the whole function and used each respective variable creating largely duplicate code. + switch (gAIScriptPtr[1]) { - party = gPlayerParty; + case 1: + party = partyPtr = gEnemyParty; + break; + default: + party = partyPtr = gPlayerParty; + break; } statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2); @@ -1608,29 +1598,30 @@ static void BattleAICmd_if_status_in_party(void) u32 status = GetMonData(&party[i], MON_DATA_STATUS); if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo) - goto follow_jump; + { + gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); // WHAT. why is this being merged into the above switch + return; + } } gAIScriptPtr += 10; } +// bugged, doesnt return properly. also unused static void BattleAICmd_if_status_not_in_party(void) { struct Pokemon *party; + struct Pokemon *partyPtr; int i; u32 statusToCompareTo; - u8 *partyPtr; - // what weird code. needed to match switch (gAIScriptPtr[1]) { case 1: - partyPtr = (u8 *)gEnemyParty; - party = (struct Pokemon *)partyPtr; + party = partyPtr = gEnemyParty; break; default: - partyPtr = (u8 *)gPlayerParty; - party = (struct Pokemon *)partyPtr; + party = partyPtr = gPlayerParty; break; } @@ -1642,30 +1633,30 @@ static void BattleAICmd_if_status_not_in_party(void) u16 hp = GetMonData(&party[i], MON_DATA_HP); u32 status = GetMonData(&party[i], MON_DATA_STATUS); - // this jump is seemingly bugged. everytime the status is found, the AI's logic jumps further and further past its intended destination. + // everytime the status is found, the AI's logic jumps further and further past its intended destination. this results in a broken AI macro and is probably why it is unused. if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo) gAIScriptPtr += 10; // doesnt return? } gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); } -static void BattleAICmd_unk_36(void) +static void BattleAICmd_get_weather(void) { if (gBattleWeather & 7) - gAIThinkingSpace.funcResult = 1; + AI_THINKING_STRUCT->funcResult = 1; if (gBattleWeather & 0x18) - gAIThinkingSpace.funcResult = 2; + AI_THINKING_STRUCT->funcResult = 2; if (gBattleWeather & 0x60) - gAIThinkingSpace.funcResult = 0; + AI_THINKING_STRUCT->funcResult = 0; if (gBattleWeather & 0x80) - gAIThinkingSpace.funcResult = 3; + AI_THINKING_STRUCT->funcResult = 3; gAIScriptPtr += 1; } static void BattleAICmd_if_effect(void) { - if (gBattleMoves[gAIThinkingSpace.unk2].effect == gAIScriptPtr[1]) + if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1673,7 +1664,7 @@ static void BattleAICmd_if_effect(void) static void BattleAICmd_if_not_effect(void) { - if (gBattleMoves[gAIThinkingSpace.unk2].effect != gAIScriptPtr[1]) + if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect != gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1684,9 +1675,9 @@ static void BattleAICmd_if_stat_level_less_than(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gUnknown_02024C07; + party = gPlayerMonIndex; else - party = gUnknown_02024C08; + party = gEnemyMonIndex; if (gBattleMons[party].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1699,9 +1690,9 @@ static void BattleAICmd_if_stat_level_more_than(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gUnknown_02024C07; + party = gPlayerMonIndex; else - party = gUnknown_02024C08; + party = gEnemyMonIndex; if (gBattleMons[party].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1714,9 +1705,9 @@ static void BattleAICmd_if_stat_level_equal(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gUnknown_02024C07; + party = gPlayerMonIndex; else - party = gUnknown_02024C08; + party = gEnemyMonIndex; if (gBattleMons[party].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1729,9 +1720,9 @@ static void BattleAICmd_if_stat_level_not_equal(void) u32 party; if (gAIScriptPtr[1] == USER) - party = gUnknown_02024C07; + party = gPlayerMonIndex; else - party = gUnknown_02024C08; + party = gEnemyMonIndex; if (gBattleMons[party].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1741,27 +1732,27 @@ static void BattleAICmd_if_stat_level_not_equal(void) static void BattleAICmd_if_can_faint(void) { - if (gBattleMoves[gAIThinkingSpace.unk2].power < 2) + if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2) { gAIScriptPtr += 5; return; } gUnknown_02024DEC = 0; - ((struct BattleStruct *)((u8 *)&gAIThinkingSpace - 0x16800))->unk.unk1 = 0; - ((struct BattleStruct *)((u8 *)&gAIThinkingSpace - 0x16800))->unk.unk4 = 1; + BATTLE_STRUCT->unk.unk1 = 0; + BATTLE_STRUCT->unk.unk4 = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; - gUnknown_02024BE6 = gAIThinkingSpace.unk2; - sub_801CAF8(gUnknown_02024C07, gUnknown_02024C08); - move_effectiveness_something(gUnknown_02024BE6, gUnknown_02024C07, gUnknown_02024C08); + gUnknown_02024BE6 = AI_THINKING_STRUCT->moveConsidered; + sub_801CAF8(gPlayerMonIndex, gEnemyMonIndex); + move_effectiveness_something(gUnknown_02024BE6, gPlayerMonIndex, gEnemyMonIndex); - gBattleMoveDamage = gBattleMoveDamage * gAIThinkingSpace.unk18[gAIThinkingSpace.moveConsidered] / 100; + gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->unk18[AI_THINKING_STRUCT->movesetIndex] / 100; // moves always do at least 1 damage. if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[gUnknown_02024C08].hp <= gBattleMoveDamage) + if (gBattleMons[gEnemyMonIndex].hp <= gBattleMoveDamage) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1769,32 +1760,32 @@ static void BattleAICmd_if_can_faint(void) static void BattleAICmd_if_cant_faint(void) { - if (gBattleMoves[gAIThinkingSpace.unk2].power < 2) + if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2) { gAIScriptPtr += 5; return; } gUnknown_02024DEC = 0; - ((struct BattleStruct *)((u8 *)&gAIThinkingSpace - 0x16800))->unk.unk1 = 0; - ((struct BattleStruct *)((u8 *)&gAIThinkingSpace - 0x16800))->unk.unk4 = 1; + BATTLE_STRUCT->unk.unk1 = 0; + BATTLE_STRUCT->unk.unk4 = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; - gUnknown_02024BE6 = gAIThinkingSpace.unk2; - sub_801CAF8(gUnknown_02024C07, gUnknown_02024C08); - move_effectiveness_something(gUnknown_02024BE6, gUnknown_02024C07, gUnknown_02024C08); + gUnknown_02024BE6 = AI_THINKING_STRUCT->moveConsidered; + sub_801CAF8(gPlayerMonIndex, gEnemyMonIndex); + move_effectiveness_something(gUnknown_02024BE6, gPlayerMonIndex, gEnemyMonIndex); - gBattleMoveDamage = gBattleMoveDamage * gAIThinkingSpace.unk18[gAIThinkingSpace.moveConsidered] / 100; + gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->unk18[AI_THINKING_STRUCT->movesetIndex] / 100; // this macro is missing the damage 0 = 1 assumption. - if (gBattleMons[gUnknown_02024C08].hp > gBattleMoveDamage) + if (gBattleMons[gEnemyMonIndex].hp > gBattleMoveDamage) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void BattleAICmd_unk_3F(void) +static void BattleAICmd_if_has_move(void) { int i; u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2); @@ -1805,7 +1796,7 @@ static void BattleAICmd_unk_3F(void) case 3: for (i = 0; i < 4; i++) { - if (gBattleMons[gUnknown_02024C07].moves[i] == *temp_ptr) + if (gBattleMons[gPlayerMonIndex].moves[i] == *temp_ptr) break; } if (i == 4) @@ -1822,7 +1813,7 @@ static void BattleAICmd_unk_3F(void) case 2: for (i = 0; i < 8; i++) { - if (unk_2016A00.unk0[gUnknown_02024C08 >> 1][i] == *temp_ptr) + if (unk_2016A00.unk0[gEnemyMonIndex >> 1][i] == *temp_ptr) break; } if (i == 8) @@ -1838,7 +1829,7 @@ static void BattleAICmd_unk_3F(void) } } -static void BattleAICmd_unk_40(void) +static void BattleAICmd_if_dont_have_move(void) { int i; u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2); @@ -1849,7 +1840,7 @@ static void BattleAICmd_unk_40(void) case 3: for (i = 0; i < 4; i++) { - if (gBattleMons[gUnknown_02024C07].moves[i] == *temp_ptr) + if (gBattleMons[gPlayerMonIndex].moves[i] == *temp_ptr) break; } if (i != 4) @@ -1866,7 +1857,7 @@ static void BattleAICmd_unk_40(void) case 2: for (i = 0; i < 8; i++) { - if (unk_2016A00.unk0[gUnknown_02024C08 >> 1][i] == *temp_ptr) + if (unk_2016A00.unk0[gEnemyMonIndex >> 1][i] == *temp_ptr) break; } if (i != 8) @@ -1892,7 +1883,7 @@ static void BattleAICmd_if_move_effect(void) case 3: for (i = 0; i < 4; i++) { - if (gBattleMons[gUnknown_02024C07].moves[i] != 0 && gBattleMoves[gBattleMons[gUnknown_02024C07].moves[i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gPlayerMonIndex].moves[i] != 0 && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].effect == gAIScriptPtr[2]) break; } if (i != 4) @@ -1904,7 +1895,7 @@ static void BattleAICmd_if_move_effect(void) case 2: for (i = 0; i < 8; i++) { - if (gBattleMons[gUnknown_02024C07].moves[i] != 0 && gBattleMoves[unk_2016A00.unk0[gUnknown_02024C08 >> 1][i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gPlayerMonIndex].moves[i] != 0 && gBattleMoves[unk_2016A00.unk0[gEnemyMonIndex >> 1][i]].effect == gAIScriptPtr[2]) break; } gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); @@ -1921,7 +1912,7 @@ static void BattleAICmd_if_not_move_effect(void) case 3: for (i = 0; i < 4; i++) { - if (gBattleMons[gUnknown_02024C07].moves[i] != 0 && gBattleMoves[gBattleMons[gUnknown_02024C07].moves[i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gPlayerMonIndex].moves[i] != 0 && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].effect == gAIScriptPtr[2]) break; } if (i != 4) @@ -1933,7 +1924,7 @@ static void BattleAICmd_if_not_move_effect(void) case 2: for (i = 0; i < 8; i++) { - if (unk_2016A00.unk0[gUnknown_02024C08 >> 1][i] != 0 && gBattleMoves[unk_2016A00.unk0[gUnknown_02024C08 >> 1][i]].effect == gAIScriptPtr[2]) + if (unk_2016A00.unk0[gEnemyMonIndex >> 1][i] != 0 && gBattleMoves[unk_2016A00.unk0[gEnemyMonIndex >> 1][i]].effect == gAIScriptPtr[2]) break; } gAIScriptPtr += 7; @@ -1942,16 +1933,16 @@ static void BattleAICmd_if_not_move_effect(void) static void BattleAICmd_if_last_move_did_damage(void) { - u8 var; + u8 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; if (gAIScriptPtr[2] == 0) { - if (gUnknown_02024CA8[var].unk4 == 0) + if (gUnknown_02024CA8[index].unk4 == 0) { gAIScriptPtr += 7; return; @@ -1959,12 +1950,12 @@ static void BattleAICmd_if_last_move_did_damage(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); return; } - else if (gAIScriptPtr[2] != 1) + else if (gAIScriptPtr[2] != 1) // ignore the macro if its not 0 or 1. { gAIScriptPtr += 7; return; } - else if (gUnknown_02024CA8[var].unk6 != 0) + else if (gUnknown_02024CA8[index].unk6 != 0) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); return; @@ -1977,7 +1968,7 @@ static void BattleAICmd_if_encored(void) switch (gAIScriptPtr[1]) { case 0: // _08109348 - if (gUnknown_02024CA8[gUnknown_02024A60].unk4 == gAIThinkingSpace.unk2) + if (gUnknown_02024CA8[gUnknown_02024A60].unk4 == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -1985,7 +1976,7 @@ static void BattleAICmd_if_encored(void) gAIScriptPtr += 6; return; case 1: // _08109370 - if (gUnknown_02024CA8[gUnknown_02024A60].unk6 == gAIThinkingSpace.unk2) + if (gUnknown_02024CA8[gUnknown_02024A60].unk6 == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -1998,170 +1989,167 @@ static void BattleAICmd_if_encored(void) } } -static void BattleAICmd_unk_45(void) +static void BattleAICmd_flee(void) { - gAIThinkingSpace.unk10 |= 0xB; + AI_THINKING_STRUCT->aiAction |= (AI_ACTION_UNK1 | AI_ACTION_UNK2 | AI_ACTION_UNK4); // what matters is UNK2 being enabled. } -static void BattleAICmd_if_random_2(void) +static void BattleAICmd_if_random_100(void) { - u8 var = battle_2000000.unk88 * 5; + u8 safariFleeRate = BATTLE_STRUCT->safariFleeRate * 5; // safari flee rate, from 0-20 - if ((u8)(Random() % 100) < var) + if ((u8)(Random() % 100) < safariFleeRate) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void BattleAICmd_unk_47(void) +static void BattleAICmd_watch(void) { - gAIThinkingSpace.unk10 |= 0xD; + AI_THINKING_STRUCT->aiAction |= (AI_ACTION_UNK1 | AI_ACTION_UNK3 | AI_ACTION_UNK4); // what matters is UNK3 being enabled. } static void BattleAICmd_get_hold_effect(void) { - u8 var; + u8 index; u16 status; - u8 *aiPtr; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - if (battle_side_get_owner(var) == 0) + if (battle_side_get_owner(index) == 0) { - // weird pointer arithmetic is needed to match. - status = (battle_get_per_side_status(var) & 1); - aiPtr = (u8 *)&gAIThinkingSpace; - gAIThinkingSpace.funcResult = ((struct UnknownStruct1 *)((u8 *)aiPtr + 0x202))->unk20[status]; + status = (battle_get_per_side_status(index) & 1); + AI_THINKING_STRUCT->funcResult = UNK_2016A00_STRUCT->unk22[status]; } else - gAIThinkingSpace.funcResult = ItemId_GetHoldEffect(gBattleMons[var].item); + AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[index].item); gAIScriptPtr += 2; } static void BattleAICmd_get_gender(void) { - u8 var; + u8 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - gAIThinkingSpace.funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[var].species, gBattleMons[var].personality); + AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[index].species, gBattleMons[index].personality); gAIScriptPtr += 2; } static void BattleAICmd_is_first_turn(void) { - u8 var; + u8 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - gAIThinkingSpace.funcResult = gUnknown_02024CA8[var].unk16; + AI_THINKING_STRUCT->funcResult = gUnknown_02024CA8[index].unk16; gAIScriptPtr += 2; } static void BattleAICmd_get_stockpile_count(void) { - u8 var; + u8 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - gAIThinkingSpace.funcResult = gUnknown_02024CA8[var].unk9; + AI_THINKING_STRUCT->funcResult = gUnknown_02024CA8[index].unk9; gAIScriptPtr += 2; } -static void BattleAICmd_unk_4C(void) +static void BattleAICmd_is_double_battle(void) { - gAIThinkingSpace.funcResult = gBattleTypeFlags & 1; + AI_THINKING_STRUCT->funcResult = gBattleTypeFlags & BATTLE_TYPE_DOUBLE; gAIScriptPtr += 1; } static void BattleAICmd_get_item(void) { - u8 var; + u8 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - // this hack and a half matches. whatever. i dont care. someone else fix this mess later. - ((struct AI_ThinkingStruct *)(unk_2000000 + 0x16800))->funcResult = unk_2000000[0x160CC + var * 2]; + // this hack and a half matches. whatever. i dont care. someone else fix this mess later. PS: still cant fix this. + AI_THINKING_STRUCT->funcResult = unk_2000000[0x160CC + (index * 2)]; gAIScriptPtr += 2; } -static void BattleAICmd_unk_4E(void) +static void BattleAICmd_get_move_type_from_result(void) { - gAIThinkingSpace.funcResult = gBattleMoves[gAIThinkingSpace.funcResult].type; + AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].type; gAIScriptPtr += 1; } -static void BattleAICmd_unk_4F(void) +static void BattleAICmd_get_move_power_from_result(void) { - gAIThinkingSpace.funcResult = gBattleMoves[gAIThinkingSpace.funcResult].power; + AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].power; gAIScriptPtr += 1; } -static void BattleAICmd_unk_50(void) +static void BattleAICmd_get_move_effect_from_result(void) { - gAIThinkingSpace.funcResult = gBattleMoves[gAIThinkingSpace.funcResult].effect; + AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].effect; gAIScriptPtr += 1; } static void BattleAICmd_get_protect_count(void) { - u8 var; + u8 index; if (gAIScriptPtr[1] == USER) - var = gUnknown_02024C07; + index = gPlayerMonIndex; else - var = gUnknown_02024C08; + index = gEnemyMonIndex; - gAIThinkingSpace.funcResult = gUnknown_02024CA8[var].unk8; + AI_THINKING_STRUCT->funcResult = gUnknown_02024CA8[index].unk8; gAIScriptPtr += 2; } -static void BattleAICmd_unk_52(void) +static void BattleAICmd_nullsub_52(void) { } -static void BattleAICmd_unk_53(void) +static void BattleAICmd_nullsub_53(void) { } -static void BattleAICmd_unk_54(void) +static void BattleAICmd_nullsub_54(void) { } -static void BattleAICmd_unk_55(void) +static void BattleAICmd_nullsub_55(void) { } -static void BattleAICmd_unk_56(void) +static void BattleAICmd_nullsub_56(void) { } -static void BattleAICmd_unk_57(void) +static void BattleAICmd_nullsub_57(void) { } @@ -2176,34 +2164,34 @@ static void BattleAICmd_jump(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); } -static void BattleAICmd_unk_5A(void) +static void BattleAICmd_end(void) { if (sub_8109908() == 0) - gAIThinkingSpace.unk10 |= 1; + AI_THINKING_STRUCT->aiAction |= AI_ACTION_UNK1; } static void BattleAICmd_if_level_cond(void) { switch (gAIScriptPtr[1]) { - case 0: - if (gBattleMons[gUnknown_02024C07].level > gBattleMons[gUnknown_02024C08].level) + case 0: // greater than + if (gBattleMons[gPlayerMonIndex].level > gBattleMons[gEnemyMonIndex].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; return; - case 1: - if (gBattleMons[gUnknown_02024C07].level < gBattleMons[gUnknown_02024C08].level) + case 1: // less than + if (gBattleMons[gPlayerMonIndex].level < gBattleMons[gEnemyMonIndex].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; return; - case 2: - if (gBattleMons[gUnknown_02024C07].level == gBattleMons[gUnknown_02024C08].level) + case 2: // equal + if (gBattleMons[gPlayerMonIndex].level == gBattleMons[gEnemyMonIndex].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2215,7 +2203,7 @@ static void BattleAICmd_if_level_cond(void) static void BattleAICmd_if_taunted(void) { - if (gUnknown_02024CA8[gUnknown_02024C08].taunt) + if (gUnknown_02024CA8[gEnemyMonIndex].taunt != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -2223,7 +2211,7 @@ static void BattleAICmd_if_taunted(void) static void BattleAICmd_if_not_taunted(void) { - if (!(gUnknown_02024CA8[gUnknown_02024C08].taunt)) + if (gUnknown_02024CA8[gEnemyMonIndex].taunt == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; diff --git a/src/battle_anim.c b/src/battle_anim.c index 264a1dd9e..4cc337a0c 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -59,8 +59,8 @@ struct UnknownStruct3 extern u8 unk_2000000[]; extern u16 gUnknown_02024A6A[4]; extern u8 gUnknown_02024BE0[]; -extern u8 gUnknown_02024C07; -extern u8 gUnknown_02024C08; +extern u8 gPlayerMonIndex; +extern u8 gEnemyMonIndex; EWRAM_DATA const u8 *gBattleAnimScriptPtr = NULL; EWRAM_DATA const u8 *gBattleAnimScriptRetAddr = NULL; EWRAM_DATA void (*gUnknown_0202F7AC)(void) = NULL; @@ -260,8 +260,8 @@ void battle_anim_clear_some_data(void) void move_anim_start_t1(u16 a) { - gUnknown_0202F7C8 = gUnknown_02024C07; - gUnknown_0202F7C9 = gUnknown_02024C08; + gUnknown_0202F7C8 = gPlayerMonIndex; + gUnknown_0202F7C9 = gEnemyMonIndex; move_something(gBattleAnims_Moves, a, 1); } diff --git a/src/pokemon_2.c b/src/pokemon_2.c index c4d99e3bf..c591e893a 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -22,8 +22,8 @@ extern u8 gUnknown_02024A60; extern struct BattlePokemon gBattleMons[4]; extern u16 gUnknown_02024BE6; extern u8 byte_2024C06; -extern u8 gUnknown_02024C07; -extern u8 gUnknown_02024C08; +extern u8 gPlayerMonIndex; +extern u8 gEnemyMonIndex; extern u8 gUnknown_02024C0C; extern u8 gXXX_CritRelated; extern u16 gBattleWeather; @@ -69,14 +69,14 @@ u8 sub_803C348(u8 a1) case 1: for (i = 0; i < 4; i++) { - if (battle_side_get_owner(i) == battle_side_get_owner(gUnknown_02024C07) && !(gUnknown_02024C0C & gBitTable[i])) + if (battle_side_get_owner(i) == battle_side_get_owner(gPlayerMonIndex) && !(gUnknown_02024C0C & gBitTable[i])) retVal++; } break; case 2: for (i = 0; i < 4; i++) { - if (battle_side_get_owner(i) == battle_side_get_owner(gUnknown_02024C08) && !(gUnknown_02024C0C & gBitTable[i])) + if (battle_side_get_owner(i) == battle_side_get_owner(gEnemyMonIndex) && !(gUnknown_02024C0C & gBitTable[i])) retVal++; } break; diff --git a/src/pokemon_3.c b/src/pokemon_3.c index f313bff49..5f186292f 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -58,8 +58,8 @@ extern u16 gSpeciesIdToCryId[]; extern u8 gUnknown_030041C0[]; extern u8 gUnknown_03004290[]; extern u8 gUnknown_020238CC[]; -extern u8 gUnknown_02024C07; -extern u8 gUnknown_02024C08; +extern u8 gPlayerMonIndex; +extern u8 gEnemyMonIndex; extern u8 gUnknown_02024C0B; extern u8 gUnknown_02024E6C; @@ -203,7 +203,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) void sub_803F324(int stat) { - gUnknown_02024C08 = gUnknown_02024E6C; + gEnemyMonIndex = gUnknown_02024E6C; StringCopy(gUnknown_030041C0, gUnknown_08400F58[gUnknown_082082F8[stat]]); StringCopy(gUnknown_03004290, gUnknown_083FFDB3); get_battle_strings_(gUnknown_083FFDD3); @@ -244,7 +244,7 @@ u8 *sub_803F378(u16 itemId) } else { - gUnknown_02024C07 = gUnknown_02024E6C; + gPlayerMonIndex = gUnknown_02024E6C; get_battle_strings_(gUnknown_083FEE92); } } @@ -252,7 +252,7 @@ u8 *sub_803F378(u16 itemId) if (itemEffect[3] & 0x80) { - gUnknown_02024C07 = gUnknown_02024E6C; + gPlayerMonIndex = gUnknown_02024E6C; get_battle_strings_(gUnknown_083FEE5D); } diff --git a/src/rom3.c b/src/rom3.c index a5227d9d9..84032c933 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -34,8 +34,8 @@ extern u16 gUnknown_02024BE6; extern u16 gUnknown_02024BE8; extern u16 gUnknown_02024C04; extern u8 byte_2024C06; -extern u8 gUnknown_02024C07; -extern u8 gUnknown_02024C08; +extern u8 gPlayerMonIndex; +extern u8 gEnemyMonIndex; extern u8 gUnknown_02024C0A; extern u8 gUnknown_02024C0B; extern u8 gUnknown_02024C0C; @@ -422,8 +422,8 @@ void dp01_prepare_buffer_wireless_probably(u8 a, u16 b, u8 *c) } unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14000] = a; unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14001] = gUnknown_02024A60; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14002] = gUnknown_02024C07; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14003] = gUnknown_02024C08; + unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14002] = gPlayerMonIndex; + unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14003] = gEnemyMonIndex; unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14004] = r9; unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14005] = (r9 & 0x0000FF00) >> 8; unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14006] = gUnknown_02024C0C; @@ -565,8 +565,8 @@ void sub_800C47C(u8 taskId) sub_80155A4(r4); if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) { - gUnknown_02024C07 = unk_2000000[0x15000 + gTasks[taskId].data[15] + 2]; - gUnknown_02024C08 = unk_2000000[0x15000 + gTasks[taskId].data[15] + 3]; + gPlayerMonIndex = unk_2000000[0x15000 + gTasks[taskId].data[15] + 2]; + gEnemyMonIndex = unk_2000000[0x15000 + gTasks[taskId].data[15] + 3]; gUnknown_02024C0C = unk_2000000[0x15000 + gTasks[taskId].data[15] + 6]; gUnknown_02024C0A = unk_2000000[0x15000 + gTasks[taskId].data[15] + 7]; } diff --git a/sym_ewram.txt b/sym_ewram.txt index 1e0c06359..001321ea7 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -137,10 +137,10 @@ gUnknown_02024C04: @ 2024C04 byte_2024C06: @ 2024C06 .space 0x1 -gUnknown_02024C07: @ 2024C07 +gPlayerMonIndex: @ 2024C07 .space 0x1 -gUnknown_02024C08: @ 2024C08 +gEnemyMonIndex: @ 2024C08 .space 0x1 gUnknown_02024C09: @ 2024C09 |