diff --git a/asm/dungeon_message.s b/asm/dungeon_message.s index 9f533de53..94e95e6bf 100644 --- a/asm/dungeon_message.s +++ b/asm/dungeon_message.s @@ -7,3917 +7,6 @@ - thumb_func_start sub_8053704 -sub_8053704: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x48 - str r0, [sp, 0x10] - adds r7, r1, 0 - mov r8, r2 - mov r9, r3 - movs r0, 0 - str r0, [sp, 0x14] - ldrh r1, [r2, 0x2] - str r1, [sp, 0x18] - bl _08055570 -_08053724: - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - bne _08053734 - bl _0805556A -_08053734: - str r7, [sp, 0x1C] - ldr r2, [r5, 0x70] - str r2, [sp, 0x24] - movs r3, 0xAD - lsls r3, 1 - adds r0, r2, r3 - add r1, sp, 0x20 - ldrb r1, [r1] - strb r1, [r0] - ldr r0, [sp, 0x18] - bl CanBeSnatched - lsls r0, 24 - cmp r0, 0 - beq _080537B4 - ldr r6, _080537A4 - ldr r0, [r6] - ldr r2, _080537A8 - adds r0, r2 - ldr r4, [r0] - cmp r4, 0 - beq _080537B4 - adds r0, r4, 0 - bl GetEntityType - cmp r0, 0x1 - beq _0805376C - b _08053A1C -_0805376C: - cmp r4, r7 - bne _08053772 - b _08053A1C -_08053772: - ldr r1, [r4, 0x70] - adds r1, 0x98 - ldr r0, [r6] - ldr r3, _080537AC - adds r0, r3 - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - beq _08053786 - b _08053A1C -_08053786: - ldr r0, [sp, 0x24] - adds r0, 0xFF - ldrb r0, [r0] - cmp r0, 0 - beq _08053792 - b _08053A1C -_08053792: - ldr r0, _080537B0 - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 - adds r5, r4, 0 - b _08053A1C - .align 2, 0 -_080537A4: .4byte gDungeon -_080537A8: .4byte 0x00017b30 -_080537AC: .4byte 0x00017b3c -_080537B0: .4byte gUnknown_80FCD28 -_080537B4: - adds r0, r7, 0 - mov r1, r8 - bl GetMoveTypeForMonster - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _08053854 - ldr r2, _08053844 - ldr r0, [r2] - ldr r1, _08053848 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08053854 - adds r4, r0, 0 - str r2, [sp, 0x44] - bl GetEntityType - ldr r2, [sp, 0x44] - cmp r0, 0x1 - beq _080537E2 - b _08053A1C -_080537E2: - ldr r6, [r4, 0x70] - adds r1, r6, 0 - adds r1, 0x98 - ldr r0, [r2] - ldr r2, _0805384C - adds r0, r2 - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - beq _080537F8 - b _08053A1C -_080537F8: - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x1 - movs r3, 0 - bl GetTreatmentBetweenMonsters - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0805380E - b _08053A1C -_0805380E: - ldr r0, [sp, 0x24] - adds r0, 0xFF - ldrb r0, [r0] - cmp r0, 0 - bne _08053822 - adds r0, r6, 0 - adds r0, 0xFF - ldrb r0, [r0] - cmp r0, 0 - beq _08053828 -_08053822: - cmp r5, r4 - beq _08053828 - b _08053A1C -_08053828: - adds r0, r4, 0 - bl sub_8042930 - ldr r0, _08053850 - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 - adds r5, r4, 0 - movs r3, 0x1 - str r3, [sp, 0x2C] - b _08053A1C - .align 2, 0 -_08053844: .4byte gDungeon -_08053848: .4byte 0x00017b2c -_0805384C: .4byte 0x00017b38 -_08053850: .4byte gUnknown_80FCD0C -_08053854: - adds r0, r5, 0 - movs r1, 0x2C - bl HasHeldItem - lsls r0, 24 - cmp r0, 0 - bne _08053864 - b _08053A1C -_08053864: - adds r0, r5, 0 - movs r1, 0 - bl CannotAttack - lsls r0, 24 - cmp r0, 0 - beq _08053874 - b _08053A1C -_08053874: - adds r0, r7, 0 - mov r1, r8 - movs r2, 0 - bl GetMoveTargetAndRangeForPokemon - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0 - beq _08053888 - b _08053A1C -_08053888: - ldr r1, [sp, 0x24] - movs r2, 0x9E - lsls r2, 1 - adds r0, r1, r2 - ldr r0, [r0] - bl FixedPointToInt - ldr r1, _080538C4 - movs r3, 0 - ldrsh r1, [r1, r3] - cmp r0, r1 - bge _080538A2 - b _08053A1C -_080538A2: - ldr r0, [sp, 0x24] - adds r0, 0xFF - ldrb r0, [r0] - cmp r0, 0 - beq _080538AE - b _08053A1C -_080538AE: - ldr r0, [sp, 0x24] - adds r0, 0x46 - ldrb r4, [r0] - mov r10, r4 - bl IsBossFight - lsls r0, 24 - cmp r0, 0 - beq _080538CC - ldr r0, _080538C8 - b _080539FA - .align 2, 0 -_080538C4: .4byte gUnknown_80F5006 -_080538C8: .4byte gUnknown_80FDD88 -_080538CC: - movs r0, 0 - str r0, [sp, 0x34] - movs r2, 0x9E - lsls r2, 1 - ldr r1, [sp, 0x24] - adds r2, r1, r2 - str r2, [sp, 0x3C] -_080538DA: - movs r3, 0x1 - add r10, r3 - movs r0, 0x7 - mov r1, r10 - ands r1, r0 - mov r10, r1 - movs r2, 0x4 - ldrsh r0, [r5, r2] - ldr r1, _080539B4 - mov r3, r10 - lsls r2, r3, 2 - adds r2, r1 - movs r3, 0 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r3, 0x6 - ldrsh r1, [r5, r3] - movs r3, 0x2 - ldrsh r2, [r2, r3] - adds r1, r2 - bl GetTile - ldr r0, [r0, 0x10] - str r0, [sp, 0x38] - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _080539DC - ldr r0, [sp, 0x38] - bl GetEntityType - cmp r0, 0x1 - bne _080539DC - adds r0, r5, 0 - bl sub_8045888 - lsls r0, 24 - mov r1, sp - adds r1, 0xC - str r1, [sp, 0x40] - cmp r0, 0 - beq _0805397C - movs r6, 0x17 -_08053932: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_806CE68 - movs r0, 0x2 - movs r1, 0x43 - bl sub_803E708 - adds r4, 0x1 - movs r2, 0x7 - ands r4, r2 - subs r6, 0x1 - cmp r6, 0 - bge _08053932 - cmp r4, r10 - beq _0805396C - movs r6, 0x7 -_08053954: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_806CE68 - movs r0, 0x2 - movs r1, 0x43 - bl sub_803E708 - adds r4, 0x1 - ands r4, r6 - cmp r4, r10 - bne _08053954 -_0805396C: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_806CE68 - movs r0, 0x2 - movs r1, 0x43 - bl sub_803E708 -_0805397C: - ldr r3, [sp, 0x3C] - ldr r4, [r3] - ldr r0, _080539B8 - movs r2, 0 - ldrsh r1, [r0, r2] - add r0, sp, 0x8 - bl IntToFixedPoint - ldr r2, [sp, 0x8] - ldr r0, [sp, 0x40] - adds r1, r4, 0 - bl FixedPoint_Subtract - ldr r0, [sp, 0xC] - ldr r3, [sp, 0x3C] - str r0, [r3] - mov r0, r8 - ldrh r1, [r0, 0x2] - ldr r0, _080539BC - cmp r1, r0 - bne _080539C4 - ldr r0, _080539C0 - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 - b _080539D0 - .align 2, 0 -_080539B4: .4byte gAdjacentTileOffsets -_080539B8: .4byte gUnknown_80F5006 -_080539BC: .4byte 0x00000163 -_080539C0: .4byte gUnknown_80FDDA8 -_080539C4: - ldr r0, _080539D8 - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 -_080539D0: - str r5, [sp, 0x20] - ldr r5, [sp, 0x38] - b _080539E8 - .align 2, 0 -_080539D8: .4byte gUnknown_80FDD20 -_080539DC: - ldr r1, [sp, 0x34] - adds r1, 0x1 - str r1, [sp, 0x34] - cmp r1, 0x7 - bgt _080539E8 - b _080538DA -_080539E8: - ldr r2, [sp, 0x34] - cmp r2, 0x8 - bne _08053A1C - mov r3, r8 - ldrh r1, [r3, 0x2] - ldr r0, _08053A08 - cmp r1, r0 - bne _08053A10 - ldr r0, _08053A0C -_080539FA: - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 - b _08053A1C - .align 2, 0 -_08053A08: .4byte 0x00000163 -_08053A0C: .4byte gUnknown_80FDDAC -_08053A10: - ldr r0, _08053AD8 - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 -_08053A1C: - ldr r1, _08053ADC - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r1, _08053AE0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, [r5, 0x70] - str r0, [sp, 0x24] - movs r6, 0xAD - lsls r6, 1 - adds r1, r0, r6 - movs r0, 0 - strb r0, [r1] - ldr r1, [sp, 0x24] - ldrb r0, [r1, 0x6] - cmp r0, 0 - beq _08053A4C - movs r2, 0xB6 - lsls r2, 1 - adds r1, r2 - ldr r0, [r7, 0x4] - str r0, [r1] -_08053A4C: - adds r0, r5, 0 - bl sub_806A1E8 - adds r0, r7, 0 - adds r1, r5, 0 - bl TrySendImmobilizeSleepEndMsg - movs r4, 0 - adds r0, r7, 0 - mov r1, r8 - bl MoveMatchesChargingStatus - lsls r0, 24 - cmp r0, 0 - bne _08053A7E - mov r3, r8 - ldrh r1, [r3, 0x2] - adds r0, r7, 0 - bl sub_805755C - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r4, r1, 31 -_08053A7E: - ldr r0, [sp, 0x2C] - cmp r0, 0 - beq _08053A86 - b _08053BAE -_08053A86: - ldr r0, [sp, 0x24] - adds r0, 0xC4 - ldrb r0, [r0] - cmp r0, 0x5 - bne _08053AE8 - ldr r0, [sp, 0x18] - bl IsReflectedByMagicCoat - lsls r0, 24 - cmp r0, 0 - beq _08053B5C - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_8055988 - lsls r0, 24 - cmp r0, 0 - beq _08053B5C - ldr r0, _08053AE4 - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 - adds r0, r5, 0 - bl sub_8041B48 - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_80559DC - adds r5, r7, 0 - ldr r1, [r7, 0x70] - str r1, [sp, 0x24] - adds r0, r1, r6 - add r2, sp, 0x2C - ldrb r2, [r2] - strb r2, [r0] - movs r3, 0x1 - str r3, [sp, 0x30] - b _08053B5C - .align 2, 0 -_08053AD8: .4byte gUnknown_80FDD48 -_08053ADC: .4byte gUnknown_202F208 -_08053AE0: .4byte gUnknown_202F20C -_08053AE4: .4byte gUnknown_80FC52C -_08053AE8: - cmp r0, 0xB - bne _08053B5C - adds r0, r7, 0 - mov r1, r8 - movs r2, 0 - bl GetMoveTargetAndRangeForPokemon - lsls r0, 16 - asrs r1, r0, 16 - ldr r0, _08053C88 - ldr r2, [sp, 0x18] - cmp r2, r0 - beq _08053B5C - adds r0, 0x32 - cmp r2, r0 - beq _08053B5C - cmp r4, 0 - bne _08053B5C - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _08053B20 - cmp r0, 0x4 - beq _08053B20 - cmp r0, 0x5 - beq _08053B20 - cmp r0, 0x2 - bne _08053B5C -_08053B20: - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_8055988 - lsls r0, 24 - cmp r0, 0 - beq _08053B5C - ldr r0, _08053C8C - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 - adds r0, r5, 0 - bl sub_8041BA8 - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_80559DC - adds r5, r7, 0 - ldr r3, [r7, 0x70] - str r3, [sp, 0x24] - movs r0, 0xAD - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0 - strb r0, [r1] - movs r1, 0x1 - str r1, [sp, 0x30] -_08053B5C: - ldr r2, [sp, 0x2C] - cmp r2, 0 - bne _08053BAE - ldr r0, [sp, 0x24] - adds r0, 0xC4 - ldrb r0, [r0] - cmp r0, 0x7 - bne _08053BAE - adds r0, r7, 0 - mov r1, r8 - movs r2, 0 - bl GetMoveTargetAndRangeForPokemon - lsls r0, 16 - movs r1, 0xF0 - lsls r1, 12 - ands r1, r0 - asrs r1, 16 - cmp r1, 0 - beq _08053B90 - cmp r1, 0x4 - beq _08053B90 - cmp r1, 0x5 - beq _08053B90 - cmp r1, 0x2 - bne _08053BAE -_08053B90: - cmp r4, 0 - bne _08053BAE - ldr r0, _08053C90 - adds r1, r5, 0 - movs r2, 0 - bl SetMessageArgument - ldr r0, _08053C94 - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 - movs r3, 0 - str r3, [sp, 0x28] -_08053BAE: - adds r0, r5, 0 - mov r1, r8 - bl sub_80571F0 - lsls r0, 24 - cmp r0, 0 - beq _08053BC0 - movs r0, 0 - str r0, [sp, 0x28] -_08053BC0: - ldr r1, [sp, 0x28] - cmp r1, 0 - beq _08053C4A - adds r0, r5, 0 - movs r1, 0x3C - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _08053BFA - mov r0, r8 - bl IsSoundMove - lsls r0, 24 - cmp r0, 0 - beq _08053BFA - ldr r0, _08053C90 - adds r1, r5, 0 - movs r2, 0 - bl SetMessageArgument - ldr r0, _08053C98 - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 - movs r2, 0 - str r2, [sp, 0x28] -_08053BFA: - ldr r3, [sp, 0x28] - cmp r3, 0 - beq _08053C4A - movs r0, 0 - ldr r1, [sp, 0x30] - cmp r1, 0 - bne _08053C0A - movs r0, 0x1 -_08053C0A: - adds r2, r0, 0 - mov r3, r8 - ldrh r1, [r3, 0x2] - cmp r1, 0x68 - beq _08053C20 - ldr r0, _08053C9C - cmp r1, r0 - beq _08053C20 - subs r0, 0x4 - cmp r1, r0 - bne _08053C22 -_08053C20: - movs r2, 0 -_08053C22: - str r2, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - movs r3, 0 - bl sub_8056B34 - lsls r0, 24 - cmp r0, 0 - bne _08053C3A - movs r0, 0 - str r0, [sp, 0x28] -_08053C3A: - ldr r1, [sp, 0x28] - cmp r1, 0 - beq _08053C4A - ldr r2, [sp, 0x2C] - cmp r2, 0 - beq _08053C4A - movs r3, 0 - str r3, [sp, 0x28] -_08053C4A: - adds r0, r5, 0 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _08053C6A - movs r0, 0x4 - movs r1, 0x4A - bl sub_803E708 - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - movs r3, 0 - bl sub_8041168 -_08053C6A: - ldr r0, [sp, 0x28] - cmp r0, 0 - beq _08053C72 - b _08053D72 -_08053C72: - ldr r0, [r7, 0x70] - ldrb r0, [r0, 0x7] - cmp r0, 0 - beq _08053CA0 - movs r1, 0xAB - lsls r1, 1 - adds r0, r7, 0 - bl sub_80421C0 - b _08053CA8 - .align 2, 0 -_08053C88: .4byte 0x00000163 -_08053C8C: .4byte gUnknown_80FC558 -_08053C90: .4byte gUnknown_202DFE8 -_08053C94: .4byte gUnknown_80FC574 -_08053C98: .4byte gUnknown_8100524 -_08053C9C: .4byte 0x00000131 -_08053CA0: - ldr r1, _08053CC4 - adds r0, r7, 0 - bl sub_80421C0 -_08053CA8: - ldr r0, _08053CC8 - ldr r1, [r5, 0x70] - movs r2, 0 - bl SetMessageArgument_2 - cmp r7, r5 - bne _08053CD0 - ldr r0, _08053CCC - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r7, 0 - bl TryDisplayDungeonLoggableMessage3 - b _08053D10 - .align 2, 0 -_08053CC4: .4byte 0x00000157 -_08053CC8: .4byte gUnknown_202DFE8 -_08053CCC: .4byte gUnknown_80F9380 -_08053CD0: - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0 - bl GetTreatmentBetweenMonsters - lsls r0, 24 - cmp r0, 0 - bne _08053CEC - ldr r0, _08053CE8 - b _08053CF4 - .align 2, 0 -_08053CE8: .4byte gUnknown_80F9384 -_08053CEC: - ldr r1, [sp, 0x2C] - cmp r1, 0 - beq _08053D04 - ldr r0, _08053D00 -_08053CF4: - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 - b _08053D10 - .align 2, 0 -_08053D00: .4byte gUnknown_80F93A4 -_08053D04: - ldr r0, _08053D48 - ldr r2, [r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl TryDisplayDungeonLoggableMessage3 -_08053D10: - adds r0, r5, 0 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _08053D2A - ldr r0, _08053D4C - movs r3, 0x1 - negs r3, r3 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_803ED30 -_08053D2A: - ldr r2, [sp, 0x18] - cmp r2, 0xCC - beq _08053D50 - cmp r2, 0xCE - bne _08053D60 - movs r0, 0x1 - str r0, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059FC8 - b _08053D60 - .align 2, 0 -_08053D48: .4byte gUnknown_80F9364 -_08053D4C: .4byte 0x0000270f -_08053D50: - movs r0, 0x1 - str r0, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059E54 -_08053D60: - bl sub_8044B28 - lsls r0, 24 - cmp r0, 0 - beq _08053D6E - bl _080555A2 -_08053D6E: - bl _08055568 -_08053D72: - ldr r0, [sp, 0x24] - adds r0, 0xFB - ldrb r3, [r0] - mov r10, r3 - ldr r2, [sp, 0x24] - ldrb r1, [r2, 0x6] - adds r6, r0, 0 - cmp r1, 0 - beq _08053DA8 - mov r3, r8 - ldrh r1, [r3, 0x2] - ldr r0, _08053E88 - cmp r1, r0 - beq _08053D9E - mov r0, r9 - cmp r0, 0 - bne _08053D9E - mov r1, r10 - cmp r1, 0 - bne _08053D9E - movs r0, 0x1 - strb r0, [r6] -_08053D9E: - ldr r2, [sp, 0x68] - cmp r2, 0x1 - bne _08053DA8 - movs r0, 0x2 - strb r0, [r6] -_08053DA8: - ldr r3, [sp, 0x24] - movs r0, 0xB2 - lsls r0, 1 - adds r4, r3, r0 - ldrb r0, [r4] - cmp r0, 0xFF - bne _08053DCE - adds r0, r5, 0 - movs r1, 0xE3 - bl sub_80717A4 - lsls r0, 24 - cmp r0, 0 - beq _08053DCE - adds r0, r5, 0x4 - adds r1, r7, 0x4 - bl GetDirectionTowardsPosition - strb r0, [r4] -_08053DCE: - ldr r1, [sp, 0x24] - ldr r2, _08053E8C - adds r4, r1, r2 - ldrb r0, [r4] - cmp r0, 0xFF - bne _08053DF2 - adds r0, r5, 0 - movs r1, 0x19 - bl sub_80717A4 - lsls r0, 24 - cmp r0, 0 - beq _08053DF2 - adds r0, r5, 0x4 - adds r1, r7, 0x4 - bl GetDirectionTowardsPosition - strb r0, [r4] -_08053DF2: - adds r0, r5, 0 - movs r1, 0x39 - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _08053E4A - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0 - bl GetTreatmentBetweenMonsters - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08053E4A - mov r3, r8 - ldrh r1, [r3, 0x2] - ldr r0, _08053E88 - cmp r1, r0 - beq _08053E4A - subs r0, 0x3 - cmp r1, r0 - beq _08053E4A - mov r0, r9 - cmp r0, 0 - bne _08053E4A - ldrb r0, [r3, 0x4] - cmp r0, 0 - beq _08053E4A - ldrb r1, [r3, 0x1] - movs r4, 0x10 - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _08053E42 - adds r0, r7, 0 - bl sub_8042950 -_08053E42: - mov r1, r8 - ldrb r0, [r1, 0x1] - orrs r0, r4 - strb r0, [r1, 0x1] -_08053E4A: - adds r0, r7, 0 - mov r1, r8 - movs r2, 0 - bl GetMoveTargetAndRangeForPokemon - movs r1, 0xF - ands r1, r0 - cmp r1, 0 - bne _08053E64 - adds r0, r7, 0 - adds r1, r5, 0 - bl SetShopkeeperAggression -_08053E64: - ldr r2, [sp, 0x24] - movs r3, 0xAC - lsls r3, 1 - adds r0, r2, r3 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0xCE - lsls r0, 1 - ldr r1, [sp, 0x18] - cmp r1, r0 - bls _08053E7E - bl _080554C0 -_08053E7E: - lsls r0, r1, 2 - ldr r1, _08053E90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08053E88: .4byte 0x00000163 -_08053E8C: .4byte 0x00000165 -_08053E90: .4byte _08053E94 - .align 2, 0 -_08053E94: - .4byte _08054520 - .4byte _08054DB8 - .4byte _08054C18 - .4byte _08054888 - .4byte _08054878 - .4byte _08054D80 - .4byte _08054D8E - .4byte _08054FB0 - .4byte _08054FE8 - .4byte _08054508 - .4byte _08054FF6 - .4byte _08055270 - .4byte _08055190 - .4byte _080548C8 - .4byte _080552B6 - .4byte _08054E1A - .4byte _0805527E - .4byte _080551F2 - .4byte _08054508 - .4byte _080549C8 - .4byte _08054EEC - .4byte _08054968 - .4byte _08054EDE - .4byte _0805528C - .4byte _08054B18 - .4byte _08055422 - .4byte _08054E1A - .4byte _08054AB8 - .4byte _08054508 - .4byte _0805529A - .4byte _080547A8 - .4byte _08055200 - .4byte _0805460A - .4byte _08054948 - .4byte _08054878 - .4byte _0805519E - .4byte _080545AE - .4byte _0805514A - .4byte _08054CD4 - .4byte _08054508 - .4byte _08055396 - .4byte _08054EB4 - .4byte _08054A68 - .4byte _08054C28 - .4byte _08054A58 - .4byte _08054E8A - .4byte _080547A8 - .4byte _08054DD4 - .4byte _080553DC - .4byte _0805504A - .4byte _080554A0 - .4byte _08054CD4 - .4byte _0805455E - .4byte _0805456E - .4byte _080552D2 - .4byte _080549B8 - .4byte _08055004 - .4byte _0805453E - .4byte _08054F94 - .4byte _08054818 - .4byte _08054D56 - .4byte _08054CE2 - .4byte _080547B8 - .4byte _08054788 - .4byte _08054868 - .4byte _08054868 - .4byte _08054F16 - .4byte _08055112 - .4byte _080545AE - .4byte _080545FA - .4byte _08054F94 - .4byte _080546D8 - .4byte _08054F86 - .4byte _08054928 - .4byte _0805459E - .4byte _08054D64 - .4byte _08054AD8 - .4byte _080550DA - .4byte _08054E52 - .4byte _08054878 - .4byte _08054AD8 - .4byte _080545AE - .4byte _080546E8 - .4byte _08054ED0 - .4byte _08054878 - .4byte _080550CC - .4byte _0805462A - .4byte _080545AE - .4byte _08054E28 - .4byte _0805462A - .4byte _080545AE - .4byte _08054B78 - .4byte _08055120 - .4byte _080546E8 - .4byte _08054C48 - .4byte _08054CC6 - .4byte _080551D6 - .4byte _08054928 - .4byte _08054FA2 - .4byte _08054A38 - .4byte _08054B58 - .4byte _0805457E - .4byte _08055090 - .4byte _080547E8 - .4byte _08055238 - .4byte _08054C18 - .4byte _08054A88 - .4byte _080546F8 - .4byte _08054DF0 - .4byte _0805464A - .4byte _08054A78 - .4byte _08054878 - .4byte _08054B98 - .4byte _0805512E - .4byte _080546F8 - .4byte _08055414 - .4byte _08054AF8 - .4byte _08054C78 - .4byte _0805452E - .4byte _0805536C - .4byte _08054768 - .4byte _080550DA - .4byte _08054DC6 - .4byte _080550E8 - .4byte _08054858 - .4byte _080545FA - .4byte _08054508 - .4byte _080547B8 - .4byte _08055104 - .4byte _08054898 - .4byte _08054BF8 - .4byte _080545CA - .4byte _08054508 - .4byte _08054778 - .4byte _08054BE8 - .4byte _08054B08 - .4byte _08054508 - .4byte _080553B2 - .4byte _08055388 - .4byte _08054798 - .4byte _08054AE8 - .4byte _08054BD8 - .4byte _08054EA6 - .4byte _080545FA - .4byte _08054768 - .4byte _08054508 - .4byte _08054EA6 - .4byte _08054738 - .4byte _080549F8 - .4byte _08054748 - .4byte _080545DA - .4byte _08054B48 - .4byte _08054838 - .4byte _08054FBE - .4byte _08054508 - .4byte _080550F6 - .4byte _08054FDA - .4byte _0805456E - .4byte _08054508 - .4byte _08054A48 - .4byte _08055166 - .4byte _08054508 - .4byte _080546C8 - .4byte _08054508 - .4byte _08054B38 - .4byte _08054C38 - .4byte _08054508 - .4byte _08054508 - .4byte _08054508 - .4byte _08054988 - .4byte _08054AC8 - .4byte _080548C8 - .4byte _080550BE - .4byte _08054C58 - .4byte _08054508 - .4byte _08054508 - .4byte _08054508 - .4byte _080548B8 - .4byte _08054508 - .4byte _08054508 - .4byte _08054508 - .4byte _080549D8 - .4byte _08054508 - .4byte _080553C0 - .4byte _08055468 - .4byte _08055246 - .4byte _08054A28 - .4byte _08054F5C - .4byte _08054758 - .4byte _08054508 - .4byte _08054508 - .4byte _080548C8 - .4byte _080548E8 - .4byte _08054908 - .4byte _080548A8 - .4byte _080549B8 - .4byte _080548D8 - .4byte _08054EC2 - .4byte _08054BA8 - .4byte _080548D8 - .4byte _0805463A - .4byte _08054508 - .4byte _08054A28 - .4byte _08054AF8 - .4byte _0805509E - .4byte _08054FCC - .4byte _08054D28 - .4byte _080547D8 - .4byte _08054508 - .4byte _08054C98 - .4byte _08054B28 - .4byte _08054508 - .4byte _08054DAA - .4byte _08054E98 - .4byte _08054CB8 - .4byte _08054A08 - .4byte _08054AC8 - .4byte _08054A98 - .4byte _08054C78 - .4byte _0805461A - .4byte _080553A4 - .4byte _08054788 - .4byte _08054508 - .4byte _0805520E - .4byte _08054DC6 - .4byte _08054E7C - .4byte _08054828 - .4byte _08054D0C - .4byte _0805521C - .4byte _08055066 - .4byte _0805456E - .4byte _08054878 - .4byte _08054C68 - .4byte _08054DE2 - .4byte _080546F8 - .4byte _08054768 - .4byte _08055182 - .4byte _08054D1A - .4byte _0805458E - .4byte _0805458E - .4byte _08054508 - .4byte _08054508 - .4byte _0805458E - .4byte _08054918 - .4byte _0805469C - .4byte _08055174 - .4byte _08054938 - .4byte _080545DA - .4byte _08054508 - .4byte _08055012 - .4byte _08054508 - .4byte _080545AE - .4byte _08054F24 - .4byte _08054B78 - .4byte _080552E0 - .4byte _080546D8 - .4byte _08055074 - .4byte _08055254 - .4byte _08054A28 - .4byte _08054C08 - .4byte _08054508 - .4byte _08054778 - .4byte _0805456E - .4byte _0805535E - .4byte _080547C8 - .4byte _080549A8 - .4byte _08055326 - .4byte _08054AA8 - .4byte _08054958 - .4byte _0805530A - .4byte _0805457E - .4byte _08054788 - .4byte _08054D3A - .4byte _08054EA6 - .4byte _080548C8 - .4byte _08054728 - .4byte _080547F8 - .4byte _08054BB8 - .4byte _0805513C - .4byte _0805463A - .4byte _0805463A - .4byte _080548F8 - .4byte _080552A8 - .4byte _080546B8 - .4byte _08054958 - .4byte _08054508 - .4byte _080553F8 - .4byte _08054CB8 - .4byte _08054978 - .4byte _08054778 - .4byte _08054508 - .4byte _080545FA - .4byte _0805456E - .4byte _080551C8 - .4byte _08054B88 - .4byte _08054E0C - .4byte _08054E60 - .4byte _08054508 - .4byte _08054D72 - .4byte _08054928 - .4byte _08054508 - .4byte _080550B0 - .4byte _08054A18 - .4byte _08054788 - .4byte _08055090 - .4byte _080550B0 - .4byte _08054508 - .4byte _08054DAA - .4byte _08054508 - .4byte _08054708 - .4byte _080547C8 - .4byte _08054508 - .4byte _08054508 - .4byte _080551E4 - .4byte _08054EFA - .4byte _080552D2 - .4byte _080551BA - .4byte _08055074 - .4byte _08054C38 - .4byte _080549E8 - .4byte _08054AD8 - .4byte _08054508 - .4byte _08054508 - .4byte _08054508 - .4byte _08054D48 - .4byte _08054680 - .4byte _08054808 - .4byte _08055492 - .4byte _08055406 - .4byte _08054DFE - .4byte _0805544C - .4byte _08054F32 - .4byte _08054664 - .4byte _080549B8 - .4byte _080553EA - .4byte _08054718 - .4byte _080545AE - .4byte _08055430 - .4byte _08054BC8 - .4byte _08054E1A - .4byte _08054CE2 - .4byte _08054848 - .4byte _08054768 - .4byte _08054998 - .4byte _0805457E - .4byte _0805457E - .4byte _08054508 - .4byte _08054508 - .4byte _08054E6E - .4byte _08054FA2 - .4byte _08054508 - .4byte _08054A88 - .4byte _0805454E - .4byte _08054508 - .4byte _08054AF8 - .4byte _08054512 - .4byte _080554C0 - .4byte _08054CF0 - .4byte _080554C0 - .4byte _080554C0 - .4byte _08054508 - .4byte _0805529A - .4byte _08054508 - .4byte _08055158 - .4byte _08054CA8 - .4byte _08055318 - .4byte _08054508 - .4byte _08054F24 - .4byte _08054958 - .4byte _08054F5C - .4byte _080552EE - .4byte _08054B68 - .4byte _08054CC6 - .4byte _08054F40 - .4byte _08055058 - .4byte _080552FC - .4byte _08055476 - .4byte _08055484 - .4byte _080553CE - .4byte _08055326 - .4byte _08055090 - .4byte _08054E44 - .4byte _080548C8 - .4byte _08054F08 - .4byte _0805543E - .4byte _08055350 - .4byte _08054C88 - .4byte _08054E36 - .4byte _08054F6A - .4byte _08055020 - .4byte _08055334 - .4byte _080551AC - .4byte _080545EA - .4byte _0805545A - .4byte _08054D9C - .4byte _08055342 - .4byte _08055082 - .4byte _080554AE - .4byte _08055262 - .4byte _0805522A - .4byte _08054F4E - .4byte _08054CFE - .4byte _080554C0 - .4byte _0805537A - .4byte _080554C0 - .4byte _080554C0 - .4byte _080554A0 - .4byte _080552C4 - .4byte _080554C0 - .4byte _08054F78 - .4byte _0805502E - .4byte _080554C0 - .4byte _0805503C -_08054508: - movs r3, 0x80 - lsls r3, 1 - mov r2, r9 - str r2, [sp] - b _080545B6 -_08054512: - mov r3, r9 - str r3, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - movs r3, 0x80 - b _080545BC -_08054520: - mov r0, r9 - str r0, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - movs r3, 0 - b _080545BC -_0805452E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058F04 - bl _080554BA -_0805453E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058270 - bl _080554BA -_0805454E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B968 - bl _080554BA -_0805455E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805816C - bl _080554BA -_0805456E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80581D0 - bl _080554BA -_0805457E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058B3C - bl _080554BA -_0805458E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A568 - bl _080554BA -_0805459E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl FocusEnergyMoveAction - bl _080554BA -_080545AE: - movs r3, 0x80 - lsls r3, 1 - mov r1, r9 - str r1, [sp] -_080545B6: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 -_080545BC: - bl sub_8055640 - negs r1, r0 - orrs r1, r0 - lsrs r4, r1, 31 - bl _080554C2 -_080545CA: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80590D4 - bl _080554BA -_080545DA: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80595EC - bl _080554BA -_080545EA: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805C138 - bl _080554BA -_080545FA: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B17C - bl _080554BA -_0805460A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl WhirlpoolMoveAction - bl _080554BA -_0805461A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SurfMoveAction - bl _080554BA -_0805462A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805889C - bl _080554BA -_0805463A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059E0C - bl _080554BA -_0805464A: - ldr r0, _08054660 - ldr r3, [r0] - mov r2, r9 - str r2, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - bl sub_8058C98 - bl _080554BA - .align 2, 0 -_08054660: .4byte gUnknown_8106A50 -_08054664: - ldr r0, _0805467C - ldr r3, [r0] - mov r0, r9 - str r0, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - bl sub_8058C98 - bl _080554BA - .align 2, 0 -_0805467C: .4byte gUnknown_8106A4C -_08054680: - ldr r0, _08054698 - ldr r3, [r0] - mov r1, r9 - str r1, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - bl sub_805B3FC - bl _080554BA - .align 2, 0 -_08054698: .4byte gUnknown_8106A4C -_0805469C: - ldr r0, _080546B4 - ldr r3, [r0] - mov r2, r9 - str r2, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - bl sub_805A5E8 - bl _080554BA - .align 2, 0 -_080546B4: .4byte gUnknown_8106A4C -_080546B8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B074 - bl _080554BA -_080546C8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059928 - bl _080554BA -_080546D8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058580 - bl _080554BA -_080546E8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058930 - bl _080554BA -_080546F8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058C00 - bl _080554BA -_08054708: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B324 - bl _080554BA -_08054718: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B910 - bl _080554BA -_08054728: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805AE74 - bl _080554BA -_08054738: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059540 - bl _080554BA -_08054748: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80595A0 - bl _080554BA -_08054758: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059D00 - bl _080554BA -_08054768: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058FBC - bl _080554BA -_08054778: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059190 - bl _080554BA -_08054788: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058430 - bl _080554BA -_08054798: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059424 - bl _080554BA -_080547A8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057C88 - bl _080554BA -_080547B8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80583D8 - bl _080554BA -_080547C8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805AC90 - bl _080554BA -_080547D8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl TriAttackMoveAction - bl _080554BA -_080547E8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058B84 - bl _080554BA -_080547F8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805AECC - bl _080554BA -_08054808: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B454 - bl _080554BA -_08054818: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80582C4 - bl _080554BA -_08054828: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A408 - bl _080554BA -_08054838: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059714 - bl _080554BA -_08054848: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B808 - bl _080554BA -_08054858: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059050 - bl _080554BA -_08054868: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058478 - bl _080554BA -_08054878: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80576F8 - bl _080554BA -_08054888: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl YawnMoveAction - bl _080554BA -_08054898: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059080 - bl _080554BA -_080548A8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059D98 - bl _080554BA -_080548B8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059AF8 - bl _080554BA -_080548C8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059AA8 - bl _080554BA -_080548D8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059DA4 - bl _080554BA -_080548E8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059D48 - bl _080554BA -_080548F8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B028 - bl _080554BA -_08054908: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059D58 - bl _080554BA -_08054918: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl TickleMoveAction - bl _080554BA -_08054928: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058638 - bl _080554BA -_08054938: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A688 - bl _080554BA -_08054948: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057D7C - bl _080554BA -_08054958: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B0BC - bl _080554BA -_08054968: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl PainSplitMoveAction - bl _080554BA -_08054978: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B164 - bl _080554BA -_08054988: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059A18 - bl _080554BA -_08054998: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B884 - bl _080554BA -_080549A8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl BulkUpMoveAction - bl _080554BA -_080549B8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80582D4 - bl _080554BA -_080549C8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl RageMoveAction - bl _080554BA -_080549D8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059B94 - bl _080554BA -_080549E8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B3B4 - bl _080554BA -_080549F8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059588 - bl _080554BA -_08054A08: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A2B0 - bl _080554BA -_08054A18: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B2FC - bl _080554BA -_08054A28: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059CD8 - bl _080554BA -_08054A38: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058A7C - bl _080554BA -_08054A48: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80598CC - bl _080554BA -_08054A58: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057F7C - bl _080554BA -_08054A68: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057ED0 - bl _080554BA -_08054A78: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058CEC - bl _080554BA -_08054A88: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058BF0 - bl _080554BA -_08054A98: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A2C8 - bl _080554BA -_08054AA8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805AD34 - bl _080554BA -_08054AB8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057C68 - bl _080554BA -_08054AC8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059A2C - bl _080554BA -_08054AD8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80586DC - bl _080554BA -_08054AE8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805946C - bl _080554BA -_08054AF8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058E5C - bl _080554BA -_08054B08: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80591E4 - bl _080554BA -_08054B18: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057BC4 - bl _080554BA -_08054B28: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A210 - bl _080554BA -_08054B38: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059988 - bl _080554BA -_08054B48: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SolarBeamMoveAction - bl _080554BA -_08054B58: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SkyAttackMoveAction - bl _080554BA -_08054B68: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805BE90 - bl _080554BA -_08054B78: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80588B8 - bl _080554BA -_08054B88: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl WrapMoveAction - bl _080554BA -_08054B98: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058D38 - bl _080554BA -_08054BA8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059DC4 - bl _080554BA -_08054BB8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl PresentMoveAction - bl _080554BA -_08054BC8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl ReflectMoveAction - bl _080554BA -_08054BD8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SandstormMoveAction - bl _080554BA -_08054BE8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SafeguardMoveAction - bl _080554BA -_08054BF8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl MistMoveAction - bl _080554BA -_08054C08: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl LightScreenMoveAction - bl _080554BA -_08054C18: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805768C - bl _080554BA -_08054C28: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057F24 - bl _080554BA -_08054C38: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80599EC - bl _080554BA -_08054C48: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80589D4 - bl _080554BA -_08054C58: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059AC4 - bl _080554BA -_08054C68: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A4D4 - bl _080554BA -_08054C78: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058EE0 - bl _080554BA -_08054C88: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl ScannerOrbAction - bl _080554BA -_08054C98: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A120 - bl _080554BA -_08054CA8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805BA50 - bl _080554BA -_08054CB8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A2A0 - b _080554BA -_08054CC6: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058A08 - b _080554BA -_08054CD4: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl CounterMoveAction - b _080554BA -_08054CE2: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl BideMoveAction - b _080554BA -_08054CF0: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805836C - b _080554BA -_08054CFE: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl TrapperOrbAction - b _080554BA -_08054D0C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A450 - b _080554BA -_08054D1A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl CurseMoveAction - b _080554BA -_08054D28: - movs r0, 0 - str r0, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059FC8 - b _080554BA -_08054D3A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805AE3C - b _080554BA -_08054D48: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B3E0 - b _080554BA -_08054D56: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl RazorWindMoveAction - b _080554BA -_08054D64: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl FocusPunchMoveAction - b _080554BA -_08054D72: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl MagicCoatMoveAction - b _080554BA -_08054D80: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl NightmareMoveAction - b _080554BA -_08054D8E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057748 - b _080554BA -_08054D9C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805C1BC - b _080554BA -_08054DAA: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl MudWaterSportMoveAction - b _080554BA -_08054DB8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057634 - b _080554BA -_08054DC6: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A3DC - b _080554BA -_08054DD4: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057FF4 - b _080554BA -_08054DE2: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A4FC - b _080554BA -_08054DF0: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058C48 - b _080554BA -_08054DFE: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl LeechSeedMoveAction - b _080554BA -_08054E0C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SpikesMoveAction - b _080554BA -_08054E1A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80578EC - b _080554BA -_08054E28: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80588A8 - b _080554BA -_08054E36: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl RadarOrbAction - b _080554BA -_08054E44: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805BC70 - b _080554BA -_08054E52: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80587E8 - b _080554BA -_08054E60: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B264 - b _080554BA -_08054E6E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SkullBashMoveAction - b _080554BA -_08054E7C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl WishMoveAction - b _080554BA -_08054E8A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057FCC - b _080554BA -_08054E98: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A258 - b _080554BA -_08054EA6: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059528 - b _080554BA -_08054EB4: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057E6C - b _080554BA -_08054EC2: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059DB4 - b _080554BA -_08054ED0: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058838 - b _080554BA -_08054EDE: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl TormentMoveAction - b _080554BA -_08054EEC: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057974 - b _080554BA -_08054EFA: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B388 - b _080554BA -_08054F08: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805BC98 - b _080554BA -_08054F16: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80584C0 - b _080554BA -_08054F24: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805BB74 - b _080554BA -_08054F32: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B668 - b _080554BA -_08054F40: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl LuminousOrbAction - b _080554BA -_08054F4E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl FillInOrbAction - b _080554BA -_08054F5C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059CF0 - b _080554BA -_08054F6A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805BF34 - b _080554BA -_08054F78: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl StairsOrbAction - b _080554BA -_08054F86: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl BrickBreakMoveAction - b _080554BA -_08054F94: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80582AC - b _080554BA -_08054FA2: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058A54 - b _080554BA -_08054FB0: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl VitalThrowMoveAction - b _080554BA -_08054FBE: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl FlyMoveAction - b _080554BA -_08054FCC: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059F38 - b _080554BA -_08054FDA: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl DiveMoveAction - b _080554BA -_08054FE8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl DigMoveAction - b _080554BA -_08054FF6: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057824 - b _080554BA -_08055004: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805825C - b _080554BA -_08055012: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl KnockOffMoveAction - b _080554BA -_08055020: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl TrapbustOrbAction - b _080554BA -_0805502E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl LongtossOrbAction - b _080554BA -_0805503C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl PierceOrbAction - b _080554BA -_0805504A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl GrudgeMoveAction - b _080554BA -_08055058: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl PetrifyOrbAction - b _080554BA -_08055066: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A4C0 - b _080554BA -_08055074: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805AAD0 - b _080554BA -_08055082: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl ShockerOrbAction - b _080554BA -_08055090: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B314 - b _080554BA -_0805509E: - movs r0, 0 - str r0, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059E54 - b _080554BA -_080550B0: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl ProtectMoveAction - b _080554BA -_080550BE: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059AB8 - b _080554BA -_080550CC: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058858 - b _080554BA -_080550DA: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058770 - b _080554BA -_080550E8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8059004 - b _080554BA -_080550F6: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80597F0 - b _080554BA -_08055104: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl ChargeMoveAction - b _080554BA -_08055112: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058548 - b _080554BA -_08055120: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80588F4 - b _080554BA -_0805512E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058D44 - b _080554BA -_0805513C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805AFA4 - b _080554BA -_0805514A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SmokescreenMoveAction - b _080554BA -_08055158: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805BA44 - b _080554BA -_08055166: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl StockpileMoveAction - b _080554BA -_08055174: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SpitUpMoveAction - b _080554BA -_08055182: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SwallowMoveAction - b _080554BA -_08055190: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl RainDanceMoveAction - b _080554BA -_0805519E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057D9C - b _080554BA -_080551AC: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl InvisifyOrbAction - b _080554BA -_080551BA: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl MirrorCoatMoveAction - b _080554BA -_080551C8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl PerishSongMoveAction - b _080554BA -_080551D6: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058A18 - b _080554BA -_080551E4: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl DestinyBondMoveAction - b _080554BA -_080551F2: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl EncoreMoveAction - b _080554BA -_08055200: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057CD0 - b _080554BA -_0805520E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SunnyDayMoveAction - b _080554BA -_0805521C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A464 - b _080554BA -_0805522A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805C2A0 - b _080554BA -_08055238: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl EndureMoveAction - b _080554BA -_08055246: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl HelpingHandMoveAction - b _080554BA -_08055254: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl BellyDrumMoveAction - b _080554BA -_08055262: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805C288 - b _080554BA -_08055270: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805783C - b _080554BA -_0805527E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_80578FC - b _080554BA -_0805528C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057BB4 - b _080554BA -_0805529A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl RockSmashMoveAction - b _080554BA -_080552A8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl TransformMoveAction - b _080554BA -_080552B6: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl HailMoveAction - b _080554BA -_080552C4: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl MobileOrbAction - b _080554BA -_080552D2: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8058234 - b _080554BA -_080552E0: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805A85C - b _080554BA -_080552EE: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl TransferOrbAction - b _080554BA -_080552FC: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805BB98 - b _080554BA -_0805530A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805AD54 - b _080554BA -_08055318: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl ReboundOrbAction - b _080554BA -_08055326: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805AD04 - b _080554BA -_08055334: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805C080 - b _080554BA -_08055342: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805C1E4 - b _080554BA -_08055350: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl EscapeOrbAction - b _080554BA -_0805535E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SecretPowerMoveAction - b _080554BA -_0805536C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl NaturePowerMoveAction - b _080554BA -_0805537A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805C3F8 - b _080554BA -_08055388: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SketchMoveAction - b _080554BA -_08055396: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8057E50 - b _080554BA -_080553A4: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl RolePlayMoveAction - b _080554BA -_080553B2: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SkillSwapMoveAction - b _080554BA -_080553C0: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl ConversionMoveAction - b _080554BA -_080553CE: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl CleanseOrbAction - b _080554BA -_080553DC: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805805C - b _080554BA -_080553EA: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SnatchMoveAction - b _080554BA -_080553F8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl HandleColorChange - b _080554BA -_08055406: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B53C - b _080554BA -_08055414: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl PsychUpMoveAction - b _080554BA -_08055422: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SnoreMoveAction - b _080554BA -_08055430: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl RecycleMoveAction - b _080554BA -_0805543E: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl SilenceOrbAction - b _080554BA -_0805544C: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805B618 - b _080554BA -_0805545A: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl IdentifyOrbAction - b _080554BA -_08055468: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl Conversion2MoveAction - b _080554BA -_08055476: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805BEB8 - b _080554BA -_08055484: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805BEC8 - b _080554BA -_08055492: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl MimicMoveAction - b _080554BA -_080554A0: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805C45C - b _080554BA -_080554AE: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_805C208 -_080554BA: - lsls r0, 24 - lsrs r4, r0, 24 - b _080554C2 -_080554C0: - movs r4, 0 -_080554C2: - bl sub_8044B28 - lsls r0, 24 - cmp r0, 0 - bne _080555A2 - ldr r0, [sp, 0x20] - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _080554E6 - ldr r3, [sp, 0x20] - ldr r0, [r3, 0x70] - adds r0, 0x46 - ldrb r1, [r0] - adds r0, r3, 0 - bl sub_806CE68 -_080554E6: - cmp r4, 0 - bne _08055510 - adds r0, r7, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _08055530 - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _08055530 - ldr r1, [sp, 0x24] - ldrb r0, [r1, 0x6] - cmp r0, 0 - beq _08055530 - mov r2, r10 - strb r2, [r6] - b _08055530 -_08055510: - mov r0, r8 - bl MoveCausesPaused - lsls r0, 24 - cmp r0, 0 - beq _08055530 - adds r0, r7, 0 - movs r1, 0 - bl sub_8057308 - lsls r0, 24 - cmp r0, 0 - beq _08055530 - ldr r1, _08055614 - movs r0, 0x1 - strb r0, [r1] -_08055530: - adds r0, r5, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _08055548 - ldr r3, [sp, 0x24] - movs r0, 0xAC - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x1 - strb r0, [r1] -_08055548: - ldr r1, [sp, 0x18] - cmp r1, 0x89 - beq _08055568 - adds r0, r7, 0 - bl sub_8055DDC - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - bl sub_8069F9C - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, r8 - bl sub_806A120 -_08055568: - ldr r7, [sp, 0x1C] -_0805556A: - ldr r2, [sp, 0x14] - adds r2, 0x1 - str r2, [sp, 0x14] -_08055570: - ldr r3, [sp, 0x14] - cmp r3, 0x3F - bgt _080555A2 - movs r0, 0 - str r0, [sp, 0x20] - lsls r0, r3, 2 - ldr r1, [sp, 0x10] - adds r0, r1 - ldr r5, [r0] - movs r2, 0x1 - str r2, [sp, 0x28] - movs r3, 0 - str r3, [sp, 0x2C] - movs r0, 0 - str r0, [sp, 0x30] - cmp r5, 0 - beq _080555A2 - adds r0, r7, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _080555A2 - bl _08053724 -_080555A2: - bl sub_8044B28 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08055604 - adds r0, r7, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _080555D6 - ldr r0, [r7, 0x70] - movs r2, 0xAA - lsls r2, 1 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _080555D6 - strb r4, [r1] - adds r0, r7, 0 - adds r1, r7, 0 - movs r2, 0 - movs r3, 0 - bl sub_807D148 -_080555D6: - adds r0, r7, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _08055604 - ldr r0, [r7, 0x70] - ldr r3, _08055618 - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, 0 - beq _08055604 - movs r0, 0 - strb r0, [r1] - ldr r1, _0805561C - ldr r2, [r1] - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r7, 0 - adds r1, r7, 0 - movs r3, 0x2 - bl LowerAttackStageTarget -_08055604: - add sp, 0x48 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08055614: .4byte gUnknown_202F222 -_08055618: .4byte 0x00000155 -_0805561C: .4byte gUnknown_8106A50 - thumb_func_end sub_8053704 - - thumb_func_start sub_8055620 -sub_8055620: - push {r4,lr} - sub sp, 0x4 - movs r4, 0x80 - lsls r4, 1 - str r3, [sp] - adds r3, r4, 0 - bl sub_8055640 - cmp r0, 0 - beq _08055636 - movs r0, 0x1 -_08055636: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8055620 - - thumb_func_start sub_8055640 -sub_8055640: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - adds r6, r0, 0 - mov r10, r1 - adds r5, r2, 0 - mov r9, r3 - ldr r7, [sp, 0x44] - adds r1, r5, 0 - bl GetMoveTypeForMonster - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl GetMovePower - mov r8, r0 - adds r0, r5, 0 - bl GetMoveCritChance - str r0, [sp] - add r0, sp, 0x14 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - ldrh r0, [r5, 0x2] - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - adds r0, r6, 0 - mov r1, r10 - adds r2, r4, 0 - mov r3, r8 - bl sub_806EAF4 - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_8057600 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - adds r0, r6, 0 - mov r1, r10 - adds r2, r5, 0 - add r3, sp, 0x14 - bl sub_8055728 - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8055640 - - thumb_func_start sub_80556BC -sub_80556BC: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x24 - adds r6, r0, 0 - mov r9, r1 - adds r4, r2, 0 - adds r5, r3, 0 - ldr r7, [sp, 0x40] - lsls r4, 24 - lsrs r4, 24 - adds r1, r5, 0 - bl GetMovePower - mov r8, r0 - adds r0, r5, 0 - bl GetMoveCritChance - str r0, [sp] - add r0, sp, 0x14 - str r0, [sp, 0x4] - str r7, [sp, 0x8] - ldrh r0, [r5, 0x2] - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - adds r0, r6, 0 - mov r1, r9 - adds r2, r4, 0 - mov r3, r8 - bl sub_806EAF4 - adds r0, r5, 0 - ldr r1, [sp, 0x44] - bl sub_8057600 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - adds r0, r6, 0 - mov r1, r9 - adds r2, r5, 0 - add r3, sp, 0x14 - bl sub_8055728 - add sp, 0x24 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80556BC - - thumb_func_start sub_8055728 -sub_8055728: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - mov r8, r3 - ldr r0, [sp, 0x30] - lsls r0, 16 - asrs r0, 16 - mov r9, r0 - movs r7, 0x1 - str r7, [sp] - adds r0, r6, 0 - movs r3, 0x1 - bl sub_8056B34 - lsls r0, 24 - cmp r0, 0 - beq _080557C0 - movs r0, 0 - mov r10, r0 - ldrh r1, [r5, 0x2] - movs r0, 0x9D - lsls r0, 1 - cmp r1, r0 - bne _08055768 - movs r1, 0x1 - mov r10, r1 -_08055768: - adds r0, r4, 0 - movs r1, 0x2E - bl HasAbility - lsls r0, 24 - cmp r0, 0 - beq _08055790 - ldr r0, _080557AC - ldr r1, [r0] - ldr r0, _080557B0 - adds r2, r1, r0 - ldr r0, _080557B4 - strh r0, [r2] - ldr r2, _080557B8 - adds r0, r1, r2 - str r4, [r0] - ldr r0, _080557BC - adds r1, r0 - ldrh r0, [r4, 0x26] - str r0, [r1] -_08055790: - str r7, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - adds r0, r6, 0 - adds r1, r4, 0 - mov r2, r8 - mov r3, r10 - bl HandleDealingDamage - b _08055826 - .align 2, 0 -_080557AC: .4byte gDungeon -_080557B0: .4byte 0x00000662 -_080557B4: .4byte 0x000003e7 -_080557B8: .4byte 0x00017b34 -_080557BC: .4byte 0x00017b40 -_080557C0: - ldr r0, _08055808 - ldr r1, [r4, 0x70] - movs r2, 0 - bl SetMessageArgument_2 - adds r0, r6, 0 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _08055814 - adds r0, r4, 0 - bl sub_8045888 - lsls r0, 24 - cmp r0, 0 - beq _08055814 - ldr r0, _0805580C - movs r3, 0x1 - negs r3, r3 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_803ED30 - ldr r0, _08055810 - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r4, 0 - bl TryDisplayDungeonLoggableMessage4 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8042238 - b _08055820 - .align 2, 0 -_08055808: .4byte gUnknown_202DFE8 -_0805580C: .4byte 0x0000270f -_08055810: .4byte gUnknown_80F9688 -_08055814: - ldr r0, _08055834 - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r4, 0 - bl TryDisplayDungeonLoggableMessage3 -_08055820: - movs r0, 0x1 - mov r2, r8 - strb r0, [r2, 0xF] -_08055826: - mov r1, r8 - ldrb r0, [r1, 0xF] - cmp r0, 0 - beq _08055838 - movs r0, 0 - b _08055854 - .align 2, 0 -_08055834: .4byte gUnknown_80F9688 -_08055838: - adds r0, r4, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _08055850 - ldr r0, [r4, 0x70] - movs r2, 0xAD - lsls r2, 1 - adds r1, r0, r2 - movs r0, 0x1 - strb r0, [r1] -_08055850: - mov r1, r8 - ldr r0, [r1] -_08055854: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8055728 - - thumb_func_start sub_8055864 -sub_8055864: - push {r4-r7,lr} - sub sp, 0x20 - adds r4, r0, 0 - adds r7, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - adds r1, r5, 0 - bl GetMoveTypeForMonster - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - add r0, sp, 0x10 - str r0, [sp] - adds r0, r4, 0 - adds r1, r7, 0 - adds r3, r6, 0 - bl sub_806F2BC - adds r0, r5, 0 - ldr r1, [sp, 0x34] - bl sub_8057600 - lsls r0, 16 - asrs r0, 16 - movs r5, 0x1 - str r5, [sp] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - adds r0, r4, 0 - adds r1, r7, 0 - add r2, sp, 0x10 - movs r3, 0 - bl HandleDealingDamage - add r0, sp, 0x10 - ldrb r0, [r0, 0xF] - cmp r0, 0 - beq _080558BA - movs r0, 0 - b _080558D2 -_080558BA: - adds r0, r7, 0 - bl EntityExists - lsls r0, 24 - cmp r0, 0 - beq _080558D0 - ldr r0, [r7, 0x70] - movs r1, 0xAD - lsls r1, 1 - adds r0, r1 - strb r5, [r0] -_080558D0: - ldr r0, [sp, 0x10] -_080558D2: - add sp, 0x20 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8055864 - - thumb_func_start sub_80558DC -sub_80558DC: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r4, 0x1 - movs r2, 0 - mov r9, r2 - ldr r1, [r1, 0x70] - mov r10, r1 - bl GetMoveType - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - beq _08055902 - cmp r1, 0x7 - bne _08055906 -_08055902: - movs r5, 0x1 - mov r9, r5 -_08055906: - ldr r6, _08055944 - mov r8, r6 - mov r3, r10 - adds r3, 0x5C - ldr r7, _08055948 - mov r12, r7 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - str r0, [sp, 0x10] - adds r2, r3, 0 -_0805591C: - mov r0, sp - mov r1, r8 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldr r1, [r1] - str r1, [r0] - mov r0, r9 - cmp r0, 0 - beq _0805594C - ldrb r0, [r2] - cmp r0, 0xE - bne _0805594C - mov r0, r10 - adds r0, 0xF5 - ldrb r0, [r0] - cmp r0, 0 - bne _0805594C - movs r0, 0 - b _0805595A - .align 2, 0 -_08055944: .4byte gUnknown_81069BC -_08055948: .4byte gTypeEffectivenessChart -_0805594C: - ldrb r0, [r2] - lsls r0, 1 - ldr r1, [sp, 0x10] - adds r0, r1 - add r0, r12 - movs r5, 0 - ldrsh r0, [r0, r5] -_0805595A: - lsls r0, 2 - add r0, sp - ldr r0, [r0] - muls r4, r0 - cmp r4, 0 - beq _0805596E - adds r2, 0x1 - adds r0, r3, 0x1 - cmp r2, r0 - ble _0805591C -_0805596E: - adds r0, r4, 0 - cmp r0, 0 - beq _08055976 - movs r0, 0x1 -_08055976: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80558DC - - thumb_func_start sub_8055988 -sub_8055988: - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - cmp r2, r4 - beq _080559D4 - movs r0, 0x4 - ldrsh r1, [r2, r0] - movs r3, 0x4 - ldrsh r0, [r4, r3] - subs r1, r0 - cmp r1, 0 - bge _080559A2 - negs r1, r1 -_080559A2: - cmp r1, 0x1 - bgt _080559D4 - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r3, 0x6 - ldrsh r0, [r4, r3] - subs r1, r0 - cmp r1, 0 - bge _080559B6 - negs r1, r1 -_080559B6: - cmp r1, 0x1 - bgt _080559D4 - adds r0, r4, 0x4 - adds r1, r2, 0x4 - bl GetDirectionTowardsPosition - adds r1, r0, 0 - adds r0, r4, 0 - bl CanAttackInDirection - lsls r0, 24 - cmp r0, 0 - beq _080559D4 - movs r0, 0x1 - b _080559D6 -_080559D4: - movs r0, 0 -_080559D6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8055988 - - thumb_func_start sub_80559DC -sub_80559DC: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, [r5, 0x70] - adds r0, r5, 0x4 - adds r1, 0x4 - bl GetDirectionTowardsPosition - adds r1, r0, 0 - movs r2, 0x7 - ands r0, r2 - adds r4, 0x46 - strb r0, [r4] - adds r0, r5, 0 - bl sub_806CE68 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80559DC - thumb_func_start sub_8055A00 sub_8055A00: push {r4-r7,lr} diff --git a/src/code_806CD90.c b/src/code_806CD90.c index 682d2c104..a4dd3774a 100644 --- a/src/code_806CD90.c +++ b/src/code_806CD90.c @@ -322,7 +322,7 @@ extern const u8 *const gUnknown_80F9D28[]; extern u8 gAvailablePokemonNames[]; extern u32 gFormatData_202DE30; -void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *dmgStruct, bool32 isFalseSwipe, s32 giveExp, s16 arg4, bool32 arg8, s32 argC) +void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *dmgStruct, bool32 isFalseSwipe, bool32 giveExp, s16 arg4, bool32 arg8, s32 argC) { bool32 r9; // Some compiler weirdness, because it won't match without creating arg4 again @@ -601,8 +601,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc gFormatData_202DE30 = dmgStruct->dmg; str = gUnknown_80F9764[dmgStruct->residualDmgType]; - // Needed to match - the line can be safely removed - dmgStruct++;dmgStruct--; + ASM_MATCH_TRICK(dmgStruct); targetData->unkA0 += dmgStruct->dmg; if (targetData->unkA0 > 999) diff --git a/src/dungeon_message.c b/src/dungeon_message.c index 756ce5e8c..ee763a92f 100644 --- a/src/dungeon_message.c +++ b/src/dungeon_message.c @@ -95,31 +95,31 @@ void DisplayDungeonLoggableMessageFalse(Entity *r0, const char *str) DisplayMessageAddToLog(r0, str, FALSE); } -void TryDisplayDungeonLoggableMessage3(Entity *r0, Entity *r1, const char *str) +void TryDisplayDungeonLoggableMessage3(Entity *attacker, Entity *target, const char *str) { u8 flag; - flag = sub_8045888(r0) ? TRUE : FALSE; - if(sub_8052DC0(r1) != 0) + flag = sub_8045888(attacker) ? TRUE : FALSE; + if(sub_8052DC0(target) != 0) { flag = TRUE; } if(flag) { - DisplayMessageAddToLog(r0, str, TRUE); + DisplayMessageAddToLog(attacker, str, TRUE); } } -void TryDisplayDungeonLoggableMessage4(Entity *r0, Entity *r1, const char *str) +void TryDisplayDungeonLoggableMessage4(Entity *attacker, Entity *target, const char *str) { u8 flag; - flag = sub_8045888(r0) ? TRUE : FALSE; - if(sub_8052DC0(r1) != 0) + flag = sub_8045888(attacker) ? TRUE : FALSE; + if(sub_8052DC0(target) != 0) { flag = TRUE; } if(flag) { - DisplayMessageAddToLog(r0, str, FALSE); + DisplayMessageAddToLog(attacker, str, FALSE); } } @@ -1073,3 +1073,3578 @@ static void CreateMessageLogArrow(bool8 upArrow, s32 y) AddSprite(&gUnknown_202F200, 127, NULL, NULL); } } + +// TODO: figure out if a new file starts here +#include "dungeon_pokemon_attributes.h" +#include "moves.h" +#include "status_checks_1.h" +#include "dungeon_ai_targeting.h" +#include "structs/str_damage.h" +#include "constants/ability.h" +#include "type_chart.h" +#include "position_util.h" +#include "code_806CD90.h" + +NAKED void sub_8053704(void) +{ + asm_unified("\n" + " push {r4-r7,lr}\n" + " mov r7, r10\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5-r7}\n" + " sub sp, 0x48\n" + " str r0, [sp, 0x10]\n" + " adds r7, r1, 0\n" + " mov r8, r2\n" + " mov r9, r3\n" + " movs r0, 0\n" + " str r0, [sp, 0x14]\n" + " ldrh r1, [r2, 0x2]\n" + " str r1, [sp, 0x18]\n" + " bl _08055570\n" + "_08053724:\n" + " adds r0, r5, 0\n" + " bl EntityExists\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " bne _08053734\n" + " bl _0805556A\n" + "_08053734:\n" + " str r7, [sp, 0x1C]\n" + " ldr r2, [r5, 0x70]\n" + " str r2, [sp, 0x24]\n" + " movs r3, 0xAD\n" + " lsls r3, 1\n" + " adds r0, r2, r3\n" + " add r1, sp, 0x20\n" + " ldrb r1, [r1]\n" + " strb r1, [r0]\n" + " ldr r0, [sp, 0x18]\n" + " bl CanBeSnatched\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _080537B4\n" + " ldr r6, _080537A4\n" + " ldr r0, [r6]\n" + " ldr r2, _080537A8\n" + " adds r0, r2\n" + " ldr r4, [r0]\n" + " cmp r4, 0\n" + " beq _080537B4\n" + " adds r0, r4, 0\n" + " bl GetEntityType\n" + " cmp r0, 0x1\n" + " beq _0805376C\n" + " b _08053A1C\n" + "_0805376C:\n" + " cmp r4, r7\n" + " bne _08053772\n" + " b _08053A1C\n" + "_08053772:\n" + " ldr r1, [r4, 0x70]\n" + " adds r1, 0x98\n" + " ldr r0, [r6]\n" + " ldr r3, _080537AC\n" + " adds r0, r3\n" + " ldr r1, [r1]\n" + " ldr r0, [r0]\n" + " cmp r1, r0\n" + " beq _08053786\n" + " b _08053A1C\n" + "_08053786:\n" + " ldr r0, [sp, 0x24]\n" + " adds r0, 0xFF\n" + " ldrb r0, [r0]\n" + " cmp r0, 0\n" + " beq _08053792\n" + " b _08053A1C\n" + "_08053792:\n" + " ldr r0, _080537B0\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + " adds r5, r4, 0\n" + " b _08053A1C\n" + " .align 2, 0\n" + "_080537A4: .4byte gDungeon\n" + "_080537A8: .4byte 0x00017b30\n" + "_080537AC: .4byte 0x00017b3c\n" + "_080537B0: .4byte gUnknown_80FCD28\n" + "_080537B4:\n" + " adds r0, r7, 0\n" + " mov r1, r8\n" + " bl GetMoveTypeForMonster\n" + " lsls r0, 24\n" + " lsrs r0, 24\n" + " cmp r0, 0x5\n" + " bne _08053854\n" + " ldr r2, _08053844\n" + " ldr r0, [r2]\n" + " ldr r1, _08053848\n" + " adds r0, r1\n" + " ldr r0, [r0]\n" + " cmp r0, 0\n" + " beq _08053854\n" + " adds r4, r0, 0\n" + " str r2, [sp, 0x44]\n" + " bl GetEntityType\n" + " ldr r2, [sp, 0x44]\n" + " cmp r0, 0x1\n" + " beq _080537E2\n" + " b _08053A1C\n" + "_080537E2:\n" + " ldr r6, [r4, 0x70]\n" + " adds r1, r6, 0\n" + " adds r1, 0x98\n" + " ldr r0, [r2]\n" + " ldr r2, _0805384C\n" + " adds r0, r2\n" + " ldr r1, [r1]\n" + " ldr r0, [r0]\n" + " cmp r1, r0\n" + " beq _080537F8\n" + " b _08053A1C\n" + "_080537F8:\n" + " adds r0, r4, 0\n" + " adds r1, r7, 0\n" + " movs r2, 0x1\n" + " movs r3, 0\n" + " bl GetTreatmentBetweenMonsters\n" + " lsls r0, 24\n" + " lsrs r0, 24\n" + " cmp r0, 0x1\n" + " beq _0805380E\n" + " b _08053A1C\n" + "_0805380E:\n" + " ldr r0, [sp, 0x24]\n" + " adds r0, 0xFF\n" + " ldrb r0, [r0]\n" + " cmp r0, 0\n" + " bne _08053822\n" + " adds r0, r6, 0\n" + " adds r0, 0xFF\n" + " ldrb r0, [r0]\n" + " cmp r0, 0\n" + " beq _08053828\n" + "_08053822:\n" + " cmp r5, r4\n" + " beq _08053828\n" + " b _08053A1C\n" + "_08053828:\n" + " adds r0, r4, 0\n" + " bl sub_8042930\n" + " ldr r0, _08053850\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + " adds r5, r4, 0\n" + " movs r3, 0x1\n" + " str r3, [sp, 0x2C]\n" + " b _08053A1C\n" + " .align 2, 0\n" + "_08053844: .4byte gDungeon\n" + "_08053848: .4byte 0x00017b2c\n" + "_0805384C: .4byte 0x00017b38\n" + "_08053850: .4byte gUnknown_80FCD0C\n" + "_08053854:\n" + " adds r0, r5, 0\n" + " movs r1, 0x2C\n" + " bl HasHeldItem\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " bne _08053864\n" + " b _08053A1C\n" + "_08053864:\n" + " adds r0, r5, 0\n" + " movs r1, 0\n" + " bl CannotAttack\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053874\n" + " b _08053A1C\n" + "_08053874:\n" + " adds r0, r7, 0\n" + " mov r1, r8\n" + " movs r2, 0\n" + " bl GetMoveTargetAndRangeForPokemon\n" + " movs r1, 0xF0\n" + " ands r1, r0\n" + " cmp r1, 0\n" + " beq _08053888\n" + " b _08053A1C\n" + "_08053888:\n" + " ldr r1, [sp, 0x24]\n" + " movs r2, 0x9E\n" + " lsls r2, 1\n" + " adds r0, r1, r2\n" + " ldr r0, [r0]\n" + " bl FixedPointToInt\n" + " ldr r1, _080538C4\n" + " movs r3, 0\n" + " ldrsh r1, [r1, r3]\n" + " cmp r0, r1\n" + " bge _080538A2\n" + " b _08053A1C\n" + "_080538A2:\n" + " ldr r0, [sp, 0x24]\n" + " adds r0, 0xFF\n" + " ldrb r0, [r0]\n" + " cmp r0, 0\n" + " beq _080538AE\n" + " b _08053A1C\n" + "_080538AE:\n" + " ldr r0, [sp, 0x24]\n" + " adds r0, 0x46\n" + " ldrb r4, [r0]\n" + " mov r10, r4\n" + " bl IsBossFight\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _080538CC\n" + " ldr r0, _080538C8\n" + " b _080539FA\n" + " .align 2, 0\n" + "_080538C4: .4byte gUnknown_80F5006\n" + "_080538C8: .4byte gUnknown_80FDD88\n" + "_080538CC:\n" + " movs r0, 0\n" + " str r0, [sp, 0x34]\n" + " movs r2, 0x9E\n" + " lsls r2, 1\n" + " ldr r1, [sp, 0x24]\n" + " adds r2, r1, r2\n" + " str r2, [sp, 0x3C]\n" + "_080538DA:\n" + " movs r3, 0x1\n" + " add r10, r3\n" + " movs r0, 0x7\n" + " mov r1, r10\n" + " ands r1, r0\n" + " mov r10, r1\n" + " movs r2, 0x4\n" + " ldrsh r0, [r5, r2]\n" + " ldr r1, _080539B4\n" + " mov r3, r10\n" + " lsls r2, r3, 2\n" + " adds r2, r1\n" + " movs r3, 0\n" + " ldrsh r1, [r2, r3]\n" + " adds r0, r1\n" + " movs r3, 0x6\n" + " ldrsh r1, [r5, r3]\n" + " movs r3, 0x2\n" + " ldrsh r2, [r2, r3]\n" + " adds r1, r2\n" + " bl GetTile\n" + " ldr r0, [r0, 0x10]\n" + " str r0, [sp, 0x38]\n" + " bl EntityExists\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _080539DC\n" + " ldr r0, [sp, 0x38]\n" + " bl GetEntityType\n" + " cmp r0, 0x1\n" + " bne _080539DC\n" + " adds r0, r5, 0\n" + " bl sub_8045888\n" + " lsls r0, 24\n" + " mov r1, sp\n" + " adds r1, 0xC\n" + " str r1, [sp, 0x40]\n" + " cmp r0, 0\n" + " beq _0805397C\n" + " movs r6, 0x17\n" + "_08053932:\n" + " adds r0, r5, 0\n" + " adds r1, r4, 0\n" + " bl sub_806CE68\n" + " movs r0, 0x2\n" + " movs r1, 0x43\n" + " bl sub_803E708\n" + " adds r4, 0x1\n" + " movs r2, 0x7\n" + " ands r4, r2\n" + " subs r6, 0x1\n" + " cmp r6, 0\n" + " bge _08053932\n" + " cmp r4, r10\n" + " beq _0805396C\n" + " movs r6, 0x7\n" + "_08053954:\n" + " adds r0, r5, 0\n" + " adds r1, r4, 0\n" + " bl sub_806CE68\n" + " movs r0, 0x2\n" + " movs r1, 0x43\n" + " bl sub_803E708\n" + " adds r4, 0x1\n" + " ands r4, r6\n" + " cmp r4, r10\n" + " bne _08053954\n" + "_0805396C:\n" + " adds r0, r5, 0\n" + " adds r1, r4, 0\n" + " bl sub_806CE68\n" + " movs r0, 0x2\n" + " movs r1, 0x43\n" + " bl sub_803E708\n" + "_0805397C:\n" + " ldr r3, [sp, 0x3C]\n" + " ldr r4, [r3]\n" + " ldr r0, _080539B8\n" + " movs r2, 0\n" + " ldrsh r1, [r0, r2]\n" + " add r0, sp, 0x8\n" + " bl IntToFixedPoint\n" + " ldr r2, [sp, 0x8]\n" + " ldr r0, [sp, 0x40]\n" + " adds r1, r4, 0\n" + " bl FixedPoint_Subtract\n" + " ldr r0, [sp, 0xC]\n" + " ldr r3, [sp, 0x3C]\n" + " str r0, [r3]\n" + " mov r0, r8\n" + " ldrh r1, [r0, 0x2]\n" + " ldr r0, _080539BC\n" + " cmp r1, r0\n" + " bne _080539C4\n" + " ldr r0, _080539C0\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + " b _080539D0\n" + " .align 2, 0\n" + "_080539B4: .4byte gAdjacentTileOffsets\n" + "_080539B8: .4byte gUnknown_80F5006\n" + "_080539BC: .4byte 0x00000163\n" + "_080539C0: .4byte gUnknown_80FDDA8\n" + "_080539C4:\n" + " ldr r0, _080539D8\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + "_080539D0:\n" + " str r5, [sp, 0x20]\n" + " ldr r5, [sp, 0x38]\n" + " b _080539E8\n" + " .align 2, 0\n" + "_080539D8: .4byte gUnknown_80FDD20\n" + "_080539DC:\n" + " ldr r1, [sp, 0x34]\n" + " adds r1, 0x1\n" + " str r1, [sp, 0x34]\n" + " cmp r1, 0x7\n" + " bgt _080539E8\n" + " b _080538DA\n" + "_080539E8:\n" + " ldr r2, [sp, 0x34]\n" + " cmp r2, 0x8\n" + " bne _08053A1C\n" + " mov r3, r8\n" + " ldrh r1, [r3, 0x2]\n" + " ldr r0, _08053A08\n" + " cmp r1, r0\n" + " bne _08053A10\n" + " ldr r0, _08053A0C\n" + "_080539FA:\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + " b _08053A1C\n" + " .align 2, 0\n" + "_08053A08: .4byte 0x00000163\n" + "_08053A0C: .4byte gUnknown_80FDDAC\n" + "_08053A10:\n" + " ldr r0, _08053AD8\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + "_08053A1C:\n" + " ldr r1, _08053ADC\n" + " ldr r0, [r1]\n" + " adds r0, 0x1\n" + " str r0, [r1]\n" + " ldr r1, _08053AE0\n" + " ldr r0, [r1]\n" + " adds r0, 0x1\n" + " str r0, [r1]\n" + " ldr r0, [r5, 0x70]\n" + " str r0, [sp, 0x24]\n" + " movs r6, 0xAD\n" + " lsls r6, 1\n" + " adds r1, r0, r6\n" + " movs r0, 0\n" + " strb r0, [r1]\n" + " ldr r1, [sp, 0x24]\n" + " ldrb r0, [r1, 0x6]\n" + " cmp r0, 0\n" + " beq _08053A4C\n" + " movs r2, 0xB6\n" + " lsls r2, 1\n" + " adds r1, r2\n" + " ldr r0, [r7, 0x4]\n" + " str r0, [r1]\n" + "_08053A4C:\n" + " adds r0, r5, 0\n" + " bl sub_806A1E8\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TrySendImmobilizeSleepEndMsg\n" + " movs r4, 0\n" + " adds r0, r7, 0\n" + " mov r1, r8\n" + " bl MoveMatchesChargingStatus\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " bne _08053A7E\n" + " mov r3, r8\n" + " ldrh r1, [r3, 0x2]\n" + " adds r0, r7, 0\n" + " bl sub_805755C\n" + " lsls r0, 24\n" + " lsrs r0, 24\n" + " negs r1, r0\n" + " orrs r1, r0\n" + " lsrs r4, r1, 31\n" + "_08053A7E:\n" + " ldr r0, [sp, 0x2C]\n" + " cmp r0, 0\n" + " beq _08053A86\n" + " b _08053BAE\n" + "_08053A86:\n" + " ldr r0, [sp, 0x24]\n" + " adds r0, 0xC4\n" + " ldrb r0, [r0]\n" + " cmp r0, 0x5\n" + " bne _08053AE8\n" + " ldr r0, [sp, 0x18]\n" + " bl IsReflectedByMagicCoat\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053B5C\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl sub_8055988\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053B5C\n" + " ldr r0, _08053AE4\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + " adds r0, r5, 0\n" + " bl sub_8041B48\n" + " adds r0, r5, 0\n" + " adds r1, r7, 0\n" + " bl sub_80559DC\n" + " adds r5, r7, 0\n" + " ldr r1, [r7, 0x70]\n" + " str r1, [sp, 0x24]\n" + " adds r0, r1, r6\n" + " add r2, sp, 0x2C\n" + " ldrb r2, [r2]\n" + " strb r2, [r0]\n" + " movs r3, 0x1\n" + " str r3, [sp, 0x30]\n" + " b _08053B5C\n" + " .align 2, 0\n" + "_08053AD8: .4byte gUnknown_80FDD48\n" + "_08053ADC: .4byte gUnknown_202F208\n" + "_08053AE0: .4byte gUnknown_202F20C\n" + "_08053AE4: .4byte gUnknown_80FC52C\n" + "_08053AE8:\n" + " cmp r0, 0xB\n" + " bne _08053B5C\n" + " adds r0, r7, 0\n" + " mov r1, r8\n" + " movs r2, 0\n" + " bl GetMoveTargetAndRangeForPokemon\n" + " lsls r0, 16\n" + " asrs r1, r0, 16\n" + " ldr r0, _08053C88\n" + " ldr r2, [sp, 0x18]\n" + " cmp r2, r0\n" + " beq _08053B5C\n" + " adds r0, 0x32\n" + " cmp r2, r0\n" + " beq _08053B5C\n" + " cmp r4, 0\n" + " bne _08053B5C\n" + " movs r0, 0xF\n" + " ands r0, r1\n" + " cmp r0, 0\n" + " beq _08053B20\n" + " cmp r0, 0x4\n" + " beq _08053B20\n" + " cmp r0, 0x5\n" + " beq _08053B20\n" + " cmp r0, 0x2\n" + " bne _08053B5C\n" + "_08053B20:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl sub_8055988\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053B5C\n" + " ldr r0, _08053C8C\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + " adds r0, r5, 0\n" + " bl sub_8041BA8\n" + " adds r0, r5, 0\n" + " adds r1, r7, 0\n" + " bl sub_80559DC\n" + " adds r5, r7, 0\n" + " ldr r3, [r7, 0x70]\n" + " str r3, [sp, 0x24]\n" + " movs r0, 0xAD\n" + " lsls r0, 1\n" + " adds r1, r3, r0\n" + " movs r0, 0\n" + " strb r0, [r1]\n" + " movs r1, 0x1\n" + " str r1, [sp, 0x30]\n" + "_08053B5C:\n" + " ldr r2, [sp, 0x2C]\n" + " cmp r2, 0\n" + " bne _08053BAE\n" + " ldr r0, [sp, 0x24]\n" + " adds r0, 0xC4\n" + " ldrb r0, [r0]\n" + " cmp r0, 0x7\n" + " bne _08053BAE\n" + " adds r0, r7, 0\n" + " mov r1, r8\n" + " movs r2, 0\n" + " bl GetMoveTargetAndRangeForPokemon\n" + " lsls r0, 16\n" + " movs r1, 0xF0\n" + " lsls r1, 12\n" + " ands r1, r0\n" + " asrs r1, 16\n" + " cmp r1, 0\n" + " beq _08053B90\n" + " cmp r1, 0x4\n" + " beq _08053B90\n" + " cmp r1, 0x5\n" + " beq _08053B90\n" + " cmp r1, 0x2\n" + " bne _08053BAE\n" + "_08053B90:\n" + " cmp r4, 0\n" + " bne _08053BAE\n" + " ldr r0, _08053C90\n" + " adds r1, r5, 0\n" + " movs r2, 0\n" + " bl SetMessageArgument\n" + " ldr r0, _08053C94\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + " movs r3, 0\n" + " str r3, [sp, 0x28]\n" + "_08053BAE:\n" + " adds r0, r5, 0\n" + " mov r1, r8\n" + " bl sub_80571F0\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053BC0\n" + " movs r0, 0\n" + " str r0, [sp, 0x28]\n" + "_08053BC0:\n" + " ldr r1, [sp, 0x28]\n" + " cmp r1, 0\n" + " beq _08053C4A\n" + " adds r0, r5, 0\n" + " movs r1, 0x3C\n" + " bl HasAbility\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053BFA\n" + " mov r0, r8\n" + " bl IsSoundMove\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053BFA\n" + " ldr r0, _08053C90\n" + " adds r1, r5, 0\n" + " movs r2, 0\n" + " bl SetMessageArgument\n" + " ldr r0, _08053C98\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + " movs r2, 0\n" + " str r2, [sp, 0x28]\n" + "_08053BFA:\n" + " ldr r3, [sp, 0x28]\n" + " cmp r3, 0\n" + " beq _08053C4A\n" + " movs r0, 0\n" + " ldr r1, [sp, 0x30]\n" + " cmp r1, 0\n" + " bne _08053C0A\n" + " movs r0, 0x1\n" + "_08053C0A:\n" + " adds r2, r0, 0\n" + " mov r3, r8\n" + " ldrh r1, [r3, 0x2]\n" + " cmp r1, 0x68\n" + " beq _08053C20\n" + " ldr r0, _08053C9C\n" + " cmp r1, r0\n" + " beq _08053C20\n" + " subs r0, 0x4\n" + " cmp r1, r0\n" + " bne _08053C22\n" + "_08053C20:\n" + " movs r2, 0\n" + "_08053C22:\n" + " str r2, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " movs r3, 0\n" + " bl sub_8056B34\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " bne _08053C3A\n" + " movs r0, 0\n" + " str r0, [sp, 0x28]\n" + "_08053C3A:\n" + " ldr r1, [sp, 0x28]\n" + " cmp r1, 0\n" + " beq _08053C4A\n" + " ldr r2, [sp, 0x2C]\n" + " cmp r2, 0\n" + " beq _08053C4A\n" + " movs r3, 0\n" + " str r3, [sp, 0x28]\n" + "_08053C4A:\n" + " adds r0, r5, 0\n" + " bl sub_8045888\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053C6A\n" + " movs r0, 0x4\n" + " movs r1, 0x4A\n" + " bl sub_803E708\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " movs r3, 0\n" + " bl sub_8041168\n" + "_08053C6A:\n" + " ldr r0, [sp, 0x28]\n" + " cmp r0, 0\n" + " beq _08053C72\n" + " b _08053D72\n" + "_08053C72:\n" + " ldr r0, [r7, 0x70]\n" + " ldrb r0, [r0, 0x7]\n" + " cmp r0, 0\n" + " beq _08053CA0\n" + " movs r1, 0xAB\n" + " lsls r1, 1\n" + " adds r0, r7, 0\n" + " bl sub_80421C0\n" + " b _08053CA8\n" + " .align 2, 0\n" + "_08053C88: .4byte 0x00000163\n" + "_08053C8C: .4byte gUnknown_80FC558\n" + "_08053C90: .4byte gUnknown_202DFE8\n" + "_08053C94: .4byte gUnknown_80FC574\n" + "_08053C98: .4byte gUnknown_8100524\n" + "_08053C9C: .4byte 0x00000131\n" + "_08053CA0:\n" + " ldr r1, _08053CC4\n" + " adds r0, r7, 0\n" + " bl sub_80421C0\n" + "_08053CA8:\n" + " ldr r0, _08053CC8\n" + " ldr r1, [r5, 0x70]\n" + " movs r2, 0\n" + " bl SetMessageArgument_2\n" + " cmp r7, r5\n" + " bne _08053CD0\n" + " ldr r0, _08053CCC\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r7, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + " b _08053D10\n" + " .align 2, 0\n" + "_08053CC4: .4byte 0x00000157\n" + "_08053CC8: .4byte gUnknown_202DFE8\n" + "_08053CCC: .4byte gUnknown_80F9380\n" + "_08053CD0:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " movs r2, 0x1\n" + " movs r3, 0\n" + " bl GetTreatmentBetweenMonsters\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " bne _08053CEC\n" + " ldr r0, _08053CE8\n" + " b _08053CF4\n" + " .align 2, 0\n" + "_08053CE8: .4byte gUnknown_80F9384\n" + "_08053CEC:\n" + " ldr r1, [sp, 0x2C]\n" + " cmp r1, 0\n" + " beq _08053D04\n" + " ldr r0, _08053D00\n" + "_08053CF4:\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + " b _08053D10\n" + " .align 2, 0\n" + "_08053D00: .4byte gUnknown_80F93A4\n" + "_08053D04:\n" + " ldr r0, _08053D48\n" + " ldr r2, [r0]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl TryDisplayDungeonLoggableMessage3\n" + "_08053D10:\n" + " adds r0, r5, 0\n" + " bl sub_8045888\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053D2A\n" + " ldr r0, _08053D4C\n" + " movs r3, 0x1\n" + " negs r3, r3\n" + " adds r1, r5, 0\n" + " movs r2, 0x1\n" + " bl sub_803ED30\n" + "_08053D2A:\n" + " ldr r2, [sp, 0x18]\n" + " cmp r2, 0xCC\n" + " beq _08053D50\n" + " cmp r2, 0xCE\n" + " bne _08053D60\n" + " movs r0, 0x1\n" + " str r0, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059FC8\n" + " b _08053D60\n" + " .align 2, 0\n" + "_08053D48: .4byte gUnknown_80F9364\n" + "_08053D4C: .4byte 0x0000270f\n" + "_08053D50:\n" + " movs r0, 0x1\n" + " str r0, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059E54\n" + "_08053D60:\n" + " bl sub_8044B28\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053D6E\n" + " bl _080555A2\n" + "_08053D6E:\n" + " bl _08055568\n" + "_08053D72:\n" + " ldr r0, [sp, 0x24]\n" + " adds r0, 0xFB\n" + " ldrb r3, [r0]\n" + " mov r10, r3\n" + " ldr r2, [sp, 0x24]\n" + " ldrb r1, [r2, 0x6]\n" + " adds r6, r0, 0\n" + " cmp r1, 0\n" + " beq _08053DA8\n" + " mov r3, r8\n" + " ldrh r1, [r3, 0x2]\n" + " ldr r0, _08053E88\n" + " cmp r1, r0\n" + " beq _08053D9E\n" + " mov r0, r9\n" + " cmp r0, 0\n" + " bne _08053D9E\n" + " mov r1, r10\n" + " cmp r1, 0\n" + " bne _08053D9E\n" + " movs r0, 0x1\n" + " strb r0, [r6]\n" + "_08053D9E:\n" + " ldr r2, [sp, 0x68]\n" + " cmp r2, 0x1\n" + " bne _08053DA8\n" + " movs r0, 0x2\n" + " strb r0, [r6]\n" + "_08053DA8:\n" + " ldr r3, [sp, 0x24]\n" + " movs r0, 0xB2\n" + " lsls r0, 1\n" + " adds r4, r3, r0\n" + " ldrb r0, [r4]\n" + " cmp r0, 0xFF\n" + " bne _08053DCE\n" + " adds r0, r5, 0\n" + " movs r1, 0xE3\n" + " bl sub_80717A4\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053DCE\n" + " adds r0, r5, 0x4\n" + " adds r1, r7, 0x4\n" + " bl GetDirectionTowardsPosition\n" + " strb r0, [r4]\n" + "_08053DCE:\n" + " ldr r1, [sp, 0x24]\n" + " ldr r2, _08053E8C\n" + " adds r4, r1, r2\n" + " ldrb r0, [r4]\n" + " cmp r0, 0xFF\n" + " bne _08053DF2\n" + " adds r0, r5, 0\n" + " movs r1, 0x19\n" + " bl sub_80717A4\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053DF2\n" + " adds r0, r5, 0x4\n" + " adds r1, r7, 0x4\n" + " bl GetDirectionTowardsPosition\n" + " strb r0, [r4]\n" + "_08053DF2:\n" + " adds r0, r5, 0\n" + " movs r1, 0x39\n" + " bl HasAbility\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08053E4A\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " movs r2, 0x1\n" + " movs r3, 0\n" + " bl GetTreatmentBetweenMonsters\n" + " lsls r0, 24\n" + " lsrs r0, 24\n" + " cmp r0, 0x1\n" + " bne _08053E4A\n" + " mov r3, r8\n" + " ldrh r1, [r3, 0x2]\n" + " ldr r0, _08053E88\n" + " cmp r1, r0\n" + " beq _08053E4A\n" + " subs r0, 0x3\n" + " cmp r1, r0\n" + " beq _08053E4A\n" + " mov r0, r9\n" + " cmp r0, 0\n" + " bne _08053E4A\n" + " ldrb r0, [r3, 0x4]\n" + " cmp r0, 0\n" + " beq _08053E4A\n" + " ldrb r1, [r3, 0x1]\n" + " movs r4, 0x10\n" + " movs r0, 0x10\n" + " ands r0, r1\n" + " cmp r0, 0\n" + " bne _08053E42\n" + " adds r0, r7, 0\n" + " bl sub_8042950\n" + "_08053E42:\n" + " mov r1, r8\n" + " ldrb r0, [r1, 0x1]\n" + " orrs r0, r4\n" + " strb r0, [r1, 0x1]\n" + "_08053E4A:\n" + " adds r0, r7, 0\n" + " mov r1, r8\n" + " movs r2, 0\n" + " bl GetMoveTargetAndRangeForPokemon\n" + " movs r1, 0xF\n" + " ands r1, r0\n" + " cmp r1, 0\n" + " bne _08053E64\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " bl SetShopkeeperAggression\n" + "_08053E64:\n" + " ldr r2, [sp, 0x24]\n" + " movs r3, 0xAC\n" + " lsls r3, 1\n" + " adds r0, r2, r3\n" + " movs r1, 0x1\n" + " strb r1, [r0]\n" + " movs r0, 0xCE\n" + " lsls r0, 1\n" + " ldr r1, [sp, 0x18]\n" + " cmp r1, r0\n" + " bls _08053E7E\n" + " bl _080554C0\n" + "_08053E7E:\n" + " lsls r0, r1, 2\n" + " ldr r1, _08053E90\n" + " adds r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + " .align 2, 0\n" + "_08053E88: .4byte 0x00000163\n" + "_08053E8C: .4byte 0x00000165\n" + "_08053E90: .4byte _08053E94\n" + " .align 2, 0\n" + "_08053E94:\n" + " .4byte _08054520\n" + " .4byte _08054DB8\n" + " .4byte _08054C18\n" + " .4byte _08054888\n" + " .4byte _08054878\n" + " .4byte _08054D80\n" + " .4byte _08054D8E\n" + " .4byte _08054FB0\n" + " .4byte _08054FE8\n" + " .4byte _08054508\n" + " .4byte _08054FF6\n" + " .4byte _08055270\n" + " .4byte _08055190\n" + " .4byte _080548C8\n" + " .4byte _080552B6\n" + " .4byte _08054E1A\n" + " .4byte _0805527E\n" + " .4byte _080551F2\n" + " .4byte _08054508\n" + " .4byte _080549C8\n" + " .4byte _08054EEC\n" + " .4byte _08054968\n" + " .4byte _08054EDE\n" + " .4byte _0805528C\n" + " .4byte _08054B18\n" + " .4byte _08055422\n" + " .4byte _08054E1A\n" + " .4byte _08054AB8\n" + " .4byte _08054508\n" + " .4byte _0805529A\n" + " .4byte _080547A8\n" + " .4byte _08055200\n" + " .4byte _0805460A\n" + " .4byte _08054948\n" + " .4byte _08054878\n" + " .4byte _0805519E\n" + " .4byte _080545AE\n" + " .4byte _0805514A\n" + " .4byte _08054CD4\n" + " .4byte _08054508\n" + " .4byte _08055396\n" + " .4byte _08054EB4\n" + " .4byte _08054A68\n" + " .4byte _08054C28\n" + " .4byte _08054A58\n" + " .4byte _08054E8A\n" + " .4byte _080547A8\n" + " .4byte _08054DD4\n" + " .4byte _080553DC\n" + " .4byte _0805504A\n" + " .4byte _080554A0\n" + " .4byte _08054CD4\n" + " .4byte _0805455E\n" + " .4byte _0805456E\n" + " .4byte _080552D2\n" + " .4byte _080549B8\n" + " .4byte _08055004\n" + " .4byte _0805453E\n" + " .4byte _08054F94\n" + " .4byte _08054818\n" + " .4byte _08054D56\n" + " .4byte _08054CE2\n" + " .4byte _080547B8\n" + " .4byte _08054788\n" + " .4byte _08054868\n" + " .4byte _08054868\n" + " .4byte _08054F16\n" + " .4byte _08055112\n" + " .4byte _080545AE\n" + " .4byte _080545FA\n" + " .4byte _08054F94\n" + " .4byte _080546D8\n" + " .4byte _08054F86\n" + " .4byte _08054928\n" + " .4byte _0805459E\n" + " .4byte _08054D64\n" + " .4byte _08054AD8\n" + " .4byte _080550DA\n" + " .4byte _08054E52\n" + " .4byte _08054878\n" + " .4byte _08054AD8\n" + " .4byte _080545AE\n" + " .4byte _080546E8\n" + " .4byte _08054ED0\n" + " .4byte _08054878\n" + " .4byte _080550CC\n" + " .4byte _0805462A\n" + " .4byte _080545AE\n" + " .4byte _08054E28\n" + " .4byte _0805462A\n" + " .4byte _080545AE\n" + " .4byte _08054B78\n" + " .4byte _08055120\n" + " .4byte _080546E8\n" + " .4byte _08054C48\n" + " .4byte _08054CC6\n" + " .4byte _080551D6\n" + " .4byte _08054928\n" + " .4byte _08054FA2\n" + " .4byte _08054A38\n" + " .4byte _08054B58\n" + " .4byte _0805457E\n" + " .4byte _08055090\n" + " .4byte _080547E8\n" + " .4byte _08055238\n" + " .4byte _08054C18\n" + " .4byte _08054A88\n" + " .4byte _080546F8\n" + " .4byte _08054DF0\n" + " .4byte _0805464A\n" + " .4byte _08054A78\n" + " .4byte _08054878\n" + " .4byte _08054B98\n" + " .4byte _0805512E\n" + " .4byte _080546F8\n" + " .4byte _08055414\n" + " .4byte _08054AF8\n" + " .4byte _08054C78\n" + " .4byte _0805452E\n" + " .4byte _0805536C\n" + " .4byte _08054768\n" + " .4byte _080550DA\n" + " .4byte _08054DC6\n" + " .4byte _080550E8\n" + " .4byte _08054858\n" + " .4byte _080545FA\n" + " .4byte _08054508\n" + " .4byte _080547B8\n" + " .4byte _08055104\n" + " .4byte _08054898\n" + " .4byte _08054BF8\n" + " .4byte _080545CA\n" + " .4byte _08054508\n" + " .4byte _08054778\n" + " .4byte _08054BE8\n" + " .4byte _08054B08\n" + " .4byte _08054508\n" + " .4byte _080553B2\n" + " .4byte _08055388\n" + " .4byte _08054798\n" + " .4byte _08054AE8\n" + " .4byte _08054BD8\n" + " .4byte _08054EA6\n" + " .4byte _080545FA\n" + " .4byte _08054768\n" + " .4byte _08054508\n" + " .4byte _08054EA6\n" + " .4byte _08054738\n" + " .4byte _080549F8\n" + " .4byte _08054748\n" + " .4byte _080545DA\n" + " .4byte _08054B48\n" + " .4byte _08054838\n" + " .4byte _08054FBE\n" + " .4byte _08054508\n" + " .4byte _080550F6\n" + " .4byte _08054FDA\n" + " .4byte _0805456E\n" + " .4byte _08054508\n" + " .4byte _08054A48\n" + " .4byte _08055166\n" + " .4byte _08054508\n" + " .4byte _080546C8\n" + " .4byte _08054508\n" + " .4byte _08054B38\n" + " .4byte _08054C38\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _08054988\n" + " .4byte _08054AC8\n" + " .4byte _080548C8\n" + " .4byte _080550BE\n" + " .4byte _08054C58\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _080548B8\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _080549D8\n" + " .4byte _08054508\n" + " .4byte _080553C0\n" + " .4byte _08055468\n" + " .4byte _08055246\n" + " .4byte _08054A28\n" + " .4byte _08054F5C\n" + " .4byte _08054758\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _080548C8\n" + " .4byte _080548E8\n" + " .4byte _08054908\n" + " .4byte _080548A8\n" + " .4byte _080549B8\n" + " .4byte _080548D8\n" + " .4byte _08054EC2\n" + " .4byte _08054BA8\n" + " .4byte _080548D8\n" + " .4byte _0805463A\n" + " .4byte _08054508\n" + " .4byte _08054A28\n" + " .4byte _08054AF8\n" + " .4byte _0805509E\n" + " .4byte _08054FCC\n" + " .4byte _08054D28\n" + " .4byte _080547D8\n" + " .4byte _08054508\n" + " .4byte _08054C98\n" + " .4byte _08054B28\n" + " .4byte _08054508\n" + " .4byte _08054DAA\n" + " .4byte _08054E98\n" + " .4byte _08054CB8\n" + " .4byte _08054A08\n" + " .4byte _08054AC8\n" + " .4byte _08054A98\n" + " .4byte _08054C78\n" + " .4byte _0805461A\n" + " .4byte _080553A4\n" + " .4byte _08054788\n" + " .4byte _08054508\n" + " .4byte _0805520E\n" + " .4byte _08054DC6\n" + " .4byte _08054E7C\n" + " .4byte _08054828\n" + " .4byte _08054D0C\n" + " .4byte _0805521C\n" + " .4byte _08055066\n" + " .4byte _0805456E\n" + " .4byte _08054878\n" + " .4byte _08054C68\n" + " .4byte _08054DE2\n" + " .4byte _080546F8\n" + " .4byte _08054768\n" + " .4byte _08055182\n" + " .4byte _08054D1A\n" + " .4byte _0805458E\n" + " .4byte _0805458E\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _0805458E\n" + " .4byte _08054918\n" + " .4byte _0805469C\n" + " .4byte _08055174\n" + " .4byte _08054938\n" + " .4byte _080545DA\n" + " .4byte _08054508\n" + " .4byte _08055012\n" + " .4byte _08054508\n" + " .4byte _080545AE\n" + " .4byte _08054F24\n" + " .4byte _08054B78\n" + " .4byte _080552E0\n" + " .4byte _080546D8\n" + " .4byte _08055074\n" + " .4byte _08055254\n" + " .4byte _08054A28\n" + " .4byte _08054C08\n" + " .4byte _08054508\n" + " .4byte _08054778\n" + " .4byte _0805456E\n" + " .4byte _0805535E\n" + " .4byte _080547C8\n" + " .4byte _080549A8\n" + " .4byte _08055326\n" + " .4byte _08054AA8\n" + " .4byte _08054958\n" + " .4byte _0805530A\n" + " .4byte _0805457E\n" + " .4byte _08054788\n" + " .4byte _08054D3A\n" + " .4byte _08054EA6\n" + " .4byte _080548C8\n" + " .4byte _08054728\n" + " .4byte _080547F8\n" + " .4byte _08054BB8\n" + " .4byte _0805513C\n" + " .4byte _0805463A\n" + " .4byte _0805463A\n" + " .4byte _080548F8\n" + " .4byte _080552A8\n" + " .4byte _080546B8\n" + " .4byte _08054958\n" + " .4byte _08054508\n" + " .4byte _080553F8\n" + " .4byte _08054CB8\n" + " .4byte _08054978\n" + " .4byte _08054778\n" + " .4byte _08054508\n" + " .4byte _080545FA\n" + " .4byte _0805456E\n" + " .4byte _080551C8\n" + " .4byte _08054B88\n" + " .4byte _08054E0C\n" + " .4byte _08054E60\n" + " .4byte _08054508\n" + " .4byte _08054D72\n" + " .4byte _08054928\n" + " .4byte _08054508\n" + " .4byte _080550B0\n" + " .4byte _08054A18\n" + " .4byte _08054788\n" + " .4byte _08055090\n" + " .4byte _080550B0\n" + " .4byte _08054508\n" + " .4byte _08054DAA\n" + " .4byte _08054508\n" + " .4byte _08054708\n" + " .4byte _080547C8\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _080551E4\n" + " .4byte _08054EFA\n" + " .4byte _080552D2\n" + " .4byte _080551BA\n" + " .4byte _08055074\n" + " .4byte _08054C38\n" + " .4byte _080549E8\n" + " .4byte _08054AD8\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _08054D48\n" + " .4byte _08054680\n" + " .4byte _08054808\n" + " .4byte _08055492\n" + " .4byte _08055406\n" + " .4byte _08054DFE\n" + " .4byte _0805544C\n" + " .4byte _08054F32\n" + " .4byte _08054664\n" + " .4byte _080549B8\n" + " .4byte _080553EA\n" + " .4byte _08054718\n" + " .4byte _080545AE\n" + " .4byte _08055430\n" + " .4byte _08054BC8\n" + " .4byte _08054E1A\n" + " .4byte _08054CE2\n" + " .4byte _08054848\n" + " .4byte _08054768\n" + " .4byte _08054998\n" + " .4byte _0805457E\n" + " .4byte _0805457E\n" + " .4byte _08054508\n" + " .4byte _08054508\n" + " .4byte _08054E6E\n" + " .4byte _08054FA2\n" + " .4byte _08054508\n" + " .4byte _08054A88\n" + " .4byte _0805454E\n" + " .4byte _08054508\n" + " .4byte _08054AF8\n" + " .4byte _08054512\n" + " .4byte _080554C0\n" + " .4byte _08054CF0\n" + " .4byte _080554C0\n" + " .4byte _080554C0\n" + " .4byte _08054508\n" + " .4byte _0805529A\n" + " .4byte _08054508\n" + " .4byte _08055158\n" + " .4byte _08054CA8\n" + " .4byte _08055318\n" + " .4byte _08054508\n" + " .4byte _08054F24\n" + " .4byte _08054958\n" + " .4byte _08054F5C\n" + " .4byte _080552EE\n" + " .4byte _08054B68\n" + " .4byte _08054CC6\n" + " .4byte _08054F40\n" + " .4byte _08055058\n" + " .4byte _080552FC\n" + " .4byte _08055476\n" + " .4byte _08055484\n" + " .4byte _080553CE\n" + " .4byte _08055326\n" + " .4byte _08055090\n" + " .4byte _08054E44\n" + " .4byte _080548C8\n" + " .4byte _08054F08\n" + " .4byte _0805543E\n" + " .4byte _08055350\n" + " .4byte _08054C88\n" + " .4byte _08054E36\n" + " .4byte _08054F6A\n" + " .4byte _08055020\n" + " .4byte _08055334\n" + " .4byte _080551AC\n" + " .4byte _080545EA\n" + " .4byte _0805545A\n" + " .4byte _08054D9C\n" + " .4byte _08055342\n" + " .4byte _08055082\n" + " .4byte _080554AE\n" + " .4byte _08055262\n" + " .4byte _0805522A\n" + " .4byte _08054F4E\n" + " .4byte _08054CFE\n" + " .4byte _080554C0\n" + " .4byte _0805537A\n" + " .4byte _080554C0\n" + " .4byte _080554C0\n" + " .4byte _080554A0\n" + " .4byte _080552C4\n" + " .4byte _080554C0\n" + " .4byte _08054F78\n" + " .4byte _0805502E\n" + " .4byte _080554C0\n" + " .4byte _0805503C\n" + "_08054508:\n" + " movs r3, 0x80\n" + " lsls r3, 1\n" + " mov r2, r9\n" + " str r2, [sp]\n" + " b _080545B6\n" + "_08054512:\n" + " mov r3, r9\n" + " str r3, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " movs r3, 0x80\n" + " b _080545BC\n" + "_08054520:\n" + " mov r0, r9\n" + " str r0, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " movs r3, 0\n" + " b _080545BC\n" + "_0805452E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058F04\n" + " bl _080554BA\n" + "_0805453E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058270\n" + " bl _080554BA\n" + "_0805454E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B968\n" + " bl _080554BA\n" + "_0805455E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805816C\n" + " bl _080554BA\n" + "_0805456E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80581D0\n" + " bl _080554BA\n" + "_0805457E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058B3C\n" + " bl _080554BA\n" + "_0805458E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A568\n" + " bl _080554BA\n" + "_0805459E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl FocusEnergyMoveAction\n" + " bl _080554BA\n" + "_080545AE:\n" + " movs r3, 0x80\n" + " lsls r3, 1\n" + " mov r1, r9\n" + " str r1, [sp]\n" + "_080545B6:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + "_080545BC:\n" + " bl sub_8055640\n" + " negs r1, r0\n" + " orrs r1, r0\n" + " lsrs r4, r1, 31\n" + " bl _080554C2\n" + "_080545CA:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80590D4\n" + " bl _080554BA\n" + "_080545DA:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80595EC\n" + " bl _080554BA\n" + "_080545EA:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805C138\n" + " bl _080554BA\n" + "_080545FA:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B17C\n" + " bl _080554BA\n" + "_0805460A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl WhirlpoolMoveAction\n" + " bl _080554BA\n" + "_0805461A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SurfMoveAction\n" + " bl _080554BA\n" + "_0805462A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805889C\n" + " bl _080554BA\n" + "_0805463A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059E0C\n" + " bl _080554BA\n" + "_0805464A:\n" + " ldr r0, _08054660\n" + " ldr r3, [r0]\n" + " mov r2, r9\n" + " str r2, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " bl sub_8058C98\n" + " bl _080554BA\n" + " .align 2, 0\n" + "_08054660: .4byte gUnknown_8106A50\n" + "_08054664:\n" + " ldr r0, _0805467C\n" + " ldr r3, [r0]\n" + " mov r0, r9\n" + " str r0, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " bl sub_8058C98\n" + " bl _080554BA\n" + " .align 2, 0\n" + "_0805467C: .4byte gUnknown_8106A4C\n" + "_08054680:\n" + " ldr r0, _08054698\n" + " ldr r3, [r0]\n" + " mov r1, r9\n" + " str r1, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " bl sub_805B3FC\n" + " bl _080554BA\n" + " .align 2, 0\n" + "_08054698: .4byte gUnknown_8106A4C\n" + "_0805469C:\n" + " ldr r0, _080546B4\n" + " ldr r3, [r0]\n" + " mov r2, r9\n" + " str r2, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " bl sub_805A5E8\n" + " bl _080554BA\n" + " .align 2, 0\n" + "_080546B4: .4byte gUnknown_8106A4C\n" + "_080546B8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B074\n" + " bl _080554BA\n" + "_080546C8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059928\n" + " bl _080554BA\n" + "_080546D8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058580\n" + " bl _080554BA\n" + "_080546E8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058930\n" + " bl _080554BA\n" + "_080546F8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058C00\n" + " bl _080554BA\n" + "_08054708:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B324\n" + " bl _080554BA\n" + "_08054718:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B910\n" + " bl _080554BA\n" + "_08054728:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805AE74\n" + " bl _080554BA\n" + "_08054738:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059540\n" + " bl _080554BA\n" + "_08054748:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80595A0\n" + " bl _080554BA\n" + "_08054758:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059D00\n" + " bl _080554BA\n" + "_08054768:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058FBC\n" + " bl _080554BA\n" + "_08054778:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059190\n" + " bl _080554BA\n" + "_08054788:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058430\n" + " bl _080554BA\n" + "_08054798:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059424\n" + " bl _080554BA\n" + "_080547A8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057C88\n" + " bl _080554BA\n" + "_080547B8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80583D8\n" + " bl _080554BA\n" + "_080547C8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805AC90\n" + " bl _080554BA\n" + "_080547D8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl TriAttackMoveAction\n" + " bl _080554BA\n" + "_080547E8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058B84\n" + " bl _080554BA\n" + "_080547F8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805AECC\n" + " bl _080554BA\n" + "_08054808:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B454\n" + " bl _080554BA\n" + "_08054818:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80582C4\n" + " bl _080554BA\n" + "_08054828:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A408\n" + " bl _080554BA\n" + "_08054838:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059714\n" + " bl _080554BA\n" + "_08054848:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B808\n" + " bl _080554BA\n" + "_08054858:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059050\n" + " bl _080554BA\n" + "_08054868:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058478\n" + " bl _080554BA\n" + "_08054878:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80576F8\n" + " bl _080554BA\n" + "_08054888:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl YawnMoveAction\n" + " bl _080554BA\n" + "_08054898:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059080\n" + " bl _080554BA\n" + "_080548A8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059D98\n" + " bl _080554BA\n" + "_080548B8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059AF8\n" + " bl _080554BA\n" + "_080548C8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059AA8\n" + " bl _080554BA\n" + "_080548D8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059DA4\n" + " bl _080554BA\n" + "_080548E8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059D48\n" + " bl _080554BA\n" + "_080548F8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B028\n" + " bl _080554BA\n" + "_08054908:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059D58\n" + " bl _080554BA\n" + "_08054918:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl TickleMoveAction\n" + " bl _080554BA\n" + "_08054928:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058638\n" + " bl _080554BA\n" + "_08054938:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A688\n" + " bl _080554BA\n" + "_08054948:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057D7C\n" + " bl _080554BA\n" + "_08054958:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B0BC\n" + " bl _080554BA\n" + "_08054968:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl PainSplitMoveAction\n" + " bl _080554BA\n" + "_08054978:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B164\n" + " bl _080554BA\n" + "_08054988:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059A18\n" + " bl _080554BA\n" + "_08054998:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B884\n" + " bl _080554BA\n" + "_080549A8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl BulkUpMoveAction\n" + " bl _080554BA\n" + "_080549B8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80582D4\n" + " bl _080554BA\n" + "_080549C8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl RageMoveAction\n" + " bl _080554BA\n" + "_080549D8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059B94\n" + " bl _080554BA\n" + "_080549E8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B3B4\n" + " bl _080554BA\n" + "_080549F8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059588\n" + " bl _080554BA\n" + "_08054A08:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A2B0\n" + " bl _080554BA\n" + "_08054A18:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B2FC\n" + " bl _080554BA\n" + "_08054A28:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059CD8\n" + " bl _080554BA\n" + "_08054A38:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058A7C\n" + " bl _080554BA\n" + "_08054A48:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80598CC\n" + " bl _080554BA\n" + "_08054A58:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057F7C\n" + " bl _080554BA\n" + "_08054A68:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057ED0\n" + " bl _080554BA\n" + "_08054A78:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058CEC\n" + " bl _080554BA\n" + "_08054A88:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058BF0\n" + " bl _080554BA\n" + "_08054A98:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A2C8\n" + " bl _080554BA\n" + "_08054AA8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805AD34\n" + " bl _080554BA\n" + "_08054AB8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057C68\n" + " bl _080554BA\n" + "_08054AC8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059A2C\n" + " bl _080554BA\n" + "_08054AD8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80586DC\n" + " bl _080554BA\n" + "_08054AE8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805946C\n" + " bl _080554BA\n" + "_08054AF8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058E5C\n" + " bl _080554BA\n" + "_08054B08:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80591E4\n" + " bl _080554BA\n" + "_08054B18:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057BC4\n" + " bl _080554BA\n" + "_08054B28:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A210\n" + " bl _080554BA\n" + "_08054B38:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059988\n" + " bl _080554BA\n" + "_08054B48:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SolarBeamMoveAction\n" + " bl _080554BA\n" + "_08054B58:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SkyAttackMoveAction\n" + " bl _080554BA\n" + "_08054B68:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805BE90\n" + " bl _080554BA\n" + "_08054B78:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80588B8\n" + " bl _080554BA\n" + "_08054B88:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl WrapMoveAction\n" + " bl _080554BA\n" + "_08054B98:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058D38\n" + " bl _080554BA\n" + "_08054BA8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059DC4\n" + " bl _080554BA\n" + "_08054BB8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl PresentMoveAction\n" + " bl _080554BA\n" + "_08054BC8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl ReflectMoveAction\n" + " bl _080554BA\n" + "_08054BD8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SandstormMoveAction\n" + " bl _080554BA\n" + "_08054BE8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SafeguardMoveAction\n" + " bl _080554BA\n" + "_08054BF8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl MistMoveAction\n" + " bl _080554BA\n" + "_08054C08:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl LightScreenMoveAction\n" + " bl _080554BA\n" + "_08054C18:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805768C\n" + " bl _080554BA\n" + "_08054C28:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057F24\n" + " bl _080554BA\n" + "_08054C38:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80599EC\n" + " bl _080554BA\n" + "_08054C48:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80589D4\n" + " bl _080554BA\n" + "_08054C58:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059AC4\n" + " bl _080554BA\n" + "_08054C68:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A4D4\n" + " bl _080554BA\n" + "_08054C78:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058EE0\n" + " bl _080554BA\n" + "_08054C88:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl ScannerOrbAction\n" + " bl _080554BA\n" + "_08054C98:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A120\n" + " bl _080554BA\n" + "_08054CA8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805BA50\n" + " bl _080554BA\n" + "_08054CB8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A2A0\n" + " b _080554BA\n" + "_08054CC6:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058A08\n" + " b _080554BA\n" + "_08054CD4:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl CounterMoveAction\n" + " b _080554BA\n" + "_08054CE2:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl BideMoveAction\n" + " b _080554BA\n" + "_08054CF0:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805836C\n" + " b _080554BA\n" + "_08054CFE:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl TrapperOrbAction\n" + " b _080554BA\n" + "_08054D0C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A450\n" + " b _080554BA\n" + "_08054D1A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl CurseMoveAction\n" + " b _080554BA\n" + "_08054D28:\n" + " movs r0, 0\n" + " str r0, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059FC8\n" + " b _080554BA\n" + "_08054D3A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805AE3C\n" + " b _080554BA\n" + "_08054D48:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B3E0\n" + " b _080554BA\n" + "_08054D56:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl RazorWindMoveAction\n" + " b _080554BA\n" + "_08054D64:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl FocusPunchMoveAction\n" + " b _080554BA\n" + "_08054D72:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl MagicCoatMoveAction\n" + " b _080554BA\n" + "_08054D80:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl NightmareMoveAction\n" + " b _080554BA\n" + "_08054D8E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057748\n" + " b _080554BA\n" + "_08054D9C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805C1BC\n" + " b _080554BA\n" + "_08054DAA:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl MudWaterSportMoveAction\n" + " b _080554BA\n" + "_08054DB8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057634\n" + " b _080554BA\n" + "_08054DC6:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A3DC\n" + " b _080554BA\n" + "_08054DD4:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057FF4\n" + " b _080554BA\n" + "_08054DE2:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A4FC\n" + " b _080554BA\n" + "_08054DF0:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058C48\n" + " b _080554BA\n" + "_08054DFE:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl LeechSeedMoveAction\n" + " b _080554BA\n" + "_08054E0C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SpikesMoveAction\n" + " b _080554BA\n" + "_08054E1A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80578EC\n" + " b _080554BA\n" + "_08054E28:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80588A8\n" + " b _080554BA\n" + "_08054E36:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl RadarOrbAction\n" + " b _080554BA\n" + "_08054E44:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805BC70\n" + " b _080554BA\n" + "_08054E52:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80587E8\n" + " b _080554BA\n" + "_08054E60:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B264\n" + " b _080554BA\n" + "_08054E6E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SkullBashMoveAction\n" + " b _080554BA\n" + "_08054E7C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl WishMoveAction\n" + " b _080554BA\n" + "_08054E8A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057FCC\n" + " b _080554BA\n" + "_08054E98:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A258\n" + " b _080554BA\n" + "_08054EA6:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059528\n" + " b _080554BA\n" + "_08054EB4:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057E6C\n" + " b _080554BA\n" + "_08054EC2:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059DB4\n" + " b _080554BA\n" + "_08054ED0:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058838\n" + " b _080554BA\n" + "_08054EDE:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl TormentMoveAction\n" + " b _080554BA\n" + "_08054EEC:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057974\n" + " b _080554BA\n" + "_08054EFA:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B388\n" + " b _080554BA\n" + "_08054F08:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805BC98\n" + " b _080554BA\n" + "_08054F16:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80584C0\n" + " b _080554BA\n" + "_08054F24:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805BB74\n" + " b _080554BA\n" + "_08054F32:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B668\n" + " b _080554BA\n" + "_08054F40:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl LuminousOrbAction\n" + " b _080554BA\n" + "_08054F4E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl FillInOrbAction\n" + " b _080554BA\n" + "_08054F5C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059CF0\n" + " b _080554BA\n" + "_08054F6A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805BF34\n" + " b _080554BA\n" + "_08054F78:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl StairsOrbAction\n" + " b _080554BA\n" + "_08054F86:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl BrickBreakMoveAction\n" + " b _080554BA\n" + "_08054F94:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80582AC\n" + " b _080554BA\n" + "_08054FA2:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058A54\n" + " b _080554BA\n" + "_08054FB0:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl VitalThrowMoveAction\n" + " b _080554BA\n" + "_08054FBE:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl FlyMoveAction\n" + " b _080554BA\n" + "_08054FCC:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059F38\n" + " b _080554BA\n" + "_08054FDA:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl DiveMoveAction\n" + " b _080554BA\n" + "_08054FE8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl DigMoveAction\n" + " b _080554BA\n" + "_08054FF6:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057824\n" + " b _080554BA\n" + "_08055004:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805825C\n" + " b _080554BA\n" + "_08055012:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl KnockOffMoveAction\n" + " b _080554BA\n" + "_08055020:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl TrapbustOrbAction\n" + " b _080554BA\n" + "_0805502E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl LongtossOrbAction\n" + " b _080554BA\n" + "_0805503C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl PierceOrbAction\n" + " b _080554BA\n" + "_0805504A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl GrudgeMoveAction\n" + " b _080554BA\n" + "_08055058:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl PetrifyOrbAction\n" + " b _080554BA\n" + "_08055066:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A4C0\n" + " b _080554BA\n" + "_08055074:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805AAD0\n" + " b _080554BA\n" + "_08055082:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl ShockerOrbAction\n" + " b _080554BA\n" + "_08055090:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B314\n" + " b _080554BA\n" + "_0805509E:\n" + " movs r0, 0\n" + " str r0, [sp]\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059E54\n" + " b _080554BA\n" + "_080550B0:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl ProtectMoveAction\n" + " b _080554BA\n" + "_080550BE:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059AB8\n" + " b _080554BA\n" + "_080550CC:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058858\n" + " b _080554BA\n" + "_080550DA:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058770\n" + " b _080554BA\n" + "_080550E8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8059004\n" + " b _080554BA\n" + "_080550F6:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80597F0\n" + " b _080554BA\n" + "_08055104:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl ChargeMoveAction\n" + " b _080554BA\n" + "_08055112:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058548\n" + " b _080554BA\n" + "_08055120:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80588F4\n" + " b _080554BA\n" + "_0805512E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058D44\n" + " b _080554BA\n" + "_0805513C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805AFA4\n" + " b _080554BA\n" + "_0805514A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SmokescreenMoveAction\n" + " b _080554BA\n" + "_08055158:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805BA44\n" + " b _080554BA\n" + "_08055166:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl StockpileMoveAction\n" + " b _080554BA\n" + "_08055174:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SpitUpMoveAction\n" + " b _080554BA\n" + "_08055182:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SwallowMoveAction\n" + " b _080554BA\n" + "_08055190:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl RainDanceMoveAction\n" + " b _080554BA\n" + "_0805519E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057D9C\n" + " b _080554BA\n" + "_080551AC:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl InvisifyOrbAction\n" + " b _080554BA\n" + "_080551BA:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl MirrorCoatMoveAction\n" + " b _080554BA\n" + "_080551C8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl PerishSongMoveAction\n" + " b _080554BA\n" + "_080551D6:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058A18\n" + " b _080554BA\n" + "_080551E4:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl DestinyBondMoveAction\n" + " b _080554BA\n" + "_080551F2:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl EncoreMoveAction\n" + " b _080554BA\n" + "_08055200:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057CD0\n" + " b _080554BA\n" + "_0805520E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SunnyDayMoveAction\n" + " b _080554BA\n" + "_0805521C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A464\n" + " b _080554BA\n" + "_0805522A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805C2A0\n" + " b _080554BA\n" + "_08055238:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl EndureMoveAction\n" + " b _080554BA\n" + "_08055246:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl HelpingHandMoveAction\n" + " b _080554BA\n" + "_08055254:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl BellyDrumMoveAction\n" + " b _080554BA\n" + "_08055262:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805C288\n" + " b _080554BA\n" + "_08055270:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805783C\n" + " b _080554BA\n" + "_0805527E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_80578FC\n" + " b _080554BA\n" + "_0805528C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057BB4\n" + " b _080554BA\n" + "_0805529A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl RockSmashMoveAction\n" + " b _080554BA\n" + "_080552A8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl TransformMoveAction\n" + " b _080554BA\n" + "_080552B6:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl HailMoveAction\n" + " b _080554BA\n" + "_080552C4:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl MobileOrbAction\n" + " b _080554BA\n" + "_080552D2:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8058234\n" + " b _080554BA\n" + "_080552E0:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805A85C\n" + " b _080554BA\n" + "_080552EE:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl TransferOrbAction\n" + " b _080554BA\n" + "_080552FC:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805BB98\n" + " b _080554BA\n" + "_0805530A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805AD54\n" + " b _080554BA\n" + "_08055318:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl ReboundOrbAction\n" + " b _080554BA\n" + "_08055326:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805AD04\n" + " b _080554BA\n" + "_08055334:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805C080\n" + " b _080554BA\n" + "_08055342:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805C1E4\n" + " b _080554BA\n" + "_08055350:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl EscapeOrbAction\n" + " b _080554BA\n" + "_0805535E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SecretPowerMoveAction\n" + " b _080554BA\n" + "_0805536C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl NaturePowerMoveAction\n" + " b _080554BA\n" + "_0805537A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805C3F8\n" + " b _080554BA\n" + "_08055388:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SketchMoveAction\n" + " b _080554BA\n" + "_08055396:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_8057E50\n" + " b _080554BA\n" + "_080553A4:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl RolePlayMoveAction\n" + " b _080554BA\n" + "_080553B2:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SkillSwapMoveAction\n" + " b _080554BA\n" + "_080553C0:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl ConversionMoveAction\n" + " b _080554BA\n" + "_080553CE:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl CleanseOrbAction\n" + " b _080554BA\n" + "_080553DC:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805805C\n" + " b _080554BA\n" + "_080553EA:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SnatchMoveAction\n" + " b _080554BA\n" + "_080553F8:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl HandleColorChange\n" + " b _080554BA\n" + "_08055406:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B53C\n" + " b _080554BA\n" + "_08055414:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl PsychUpMoveAction\n" + " b _080554BA\n" + "_08055422:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SnoreMoveAction\n" + " b _080554BA\n" + "_08055430:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl RecycleMoveAction\n" + " b _080554BA\n" + "_0805543E:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl SilenceOrbAction\n" + " b _080554BA\n" + "_0805544C:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805B618\n" + " b _080554BA\n" + "_0805545A:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl IdentifyOrbAction\n" + " b _080554BA\n" + "_08055468:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl Conversion2MoveAction\n" + " b _080554BA\n" + "_08055476:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805BEB8\n" + " b _080554BA\n" + "_08055484:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805BEC8\n" + " b _080554BA\n" + "_08055492:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl MimicMoveAction\n" + " b _080554BA\n" + "_080554A0:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805C45C\n" + " b _080554BA\n" + "_080554AE:\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " mov r3, r9\n" + " bl sub_805C208\n" + "_080554BA:\n" + " lsls r0, 24\n" + " lsrs r4, r0, 24\n" + " b _080554C2\n" + "_080554C0:\n" + " movs r4, 0\n" + "_080554C2:\n" + " bl sub_8044B28\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " bne _080555A2\n" + " ldr r0, [sp, 0x20]\n" + " bl EntityExists\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _080554E6\n" + " ldr r3, [sp, 0x20]\n" + " ldr r0, [r3, 0x70]\n" + " adds r0, 0x46\n" + " ldrb r1, [r0]\n" + " adds r0, r3, 0\n" + " bl sub_806CE68\n" + "_080554E6:\n" + " cmp r4, 0\n" + " bne _08055510\n" + " adds r0, r7, 0\n" + " bl EntityExists\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08055530\n" + " adds r0, r5, 0\n" + " bl EntityExists\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08055530\n" + " ldr r1, [sp, 0x24]\n" + " ldrb r0, [r1, 0x6]\n" + " cmp r0, 0\n" + " beq _08055530\n" + " mov r2, r10\n" + " strb r2, [r6]\n" + " b _08055530\n" + "_08055510:\n" + " mov r0, r8\n" + " bl MoveCausesPaused\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08055530\n" + " adds r0, r7, 0\n" + " movs r1, 0\n" + " bl sub_8057308\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08055530\n" + " ldr r1, _08055614\n" + " movs r0, 0x1\n" + " strb r0, [r1]\n" + "_08055530:\n" + " adds r0, r5, 0\n" + " bl EntityExists\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08055548\n" + " ldr r3, [sp, 0x24]\n" + " movs r0, 0xAC\n" + " lsls r0, 1\n" + " adds r1, r3, r0\n" + " movs r0, 0x1\n" + " strb r0, [r1]\n" + "_08055548:\n" + " ldr r1, [sp, 0x18]\n" + " cmp r1, 0x89\n" + " beq _08055568\n" + " adds r0, r7, 0\n" + " bl sub_8055DDC\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " bl sub_8069F9C\n" + " adds r0, r7, 0\n" + " adds r1, r5, 0\n" + " mov r2, r8\n" + " bl sub_806A120\n" + "_08055568:\n" + " ldr r7, [sp, 0x1C]\n" + "_0805556A:\n" + " ldr r2, [sp, 0x14]\n" + " adds r2, 0x1\n" + " str r2, [sp, 0x14]\n" + "_08055570:\n" + " ldr r3, [sp, 0x14]\n" + " cmp r3, 0x3F\n" + " bgt _080555A2\n" + " movs r0, 0\n" + " str r0, [sp, 0x20]\n" + " lsls r0, r3, 2\n" + " ldr r1, [sp, 0x10]\n" + " adds r0, r1\n" + " ldr r5, [r0]\n" + " movs r2, 0x1\n" + " str r2, [sp, 0x28]\n" + " movs r3, 0\n" + " str r3, [sp, 0x2C]\n" + " movs r0, 0\n" + " str r0, [sp, 0x30]\n" + " cmp r5, 0\n" + " beq _080555A2\n" + " adds r0, r7, 0\n" + " bl EntityExists\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _080555A2\n" + " bl _08053724\n" + "_080555A2:\n" + " bl sub_8044B28\n" + " lsls r0, 24\n" + " lsrs r4, r0, 24\n" + " cmp r4, 0\n" + " bne _08055604\n" + " adds r0, r7, 0\n" + " bl EntityExists\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _080555D6\n" + " ldr r0, [r7, 0x70]\n" + " movs r2, 0xAA\n" + " lsls r2, 1\n" + " adds r1, r0, r2\n" + " ldrb r0, [r1]\n" + " cmp r0, 0\n" + " beq _080555D6\n" + " strb r4, [r1]\n" + " adds r0, r7, 0\n" + " adds r1, r7, 0\n" + " movs r2, 0\n" + " movs r3, 0\n" + " bl sub_807D148\n" + "_080555D6:\n" + " adds r0, r7, 0\n" + " bl EntityExists\n" + " lsls r0, 24\n" + " cmp r0, 0\n" + " beq _08055604\n" + " ldr r0, [r7, 0x70]\n" + " ldr r3, _08055618\n" + " adds r1, r0, r3\n" + " ldrb r0, [r1]\n" + " cmp r0, 0\n" + " beq _08055604\n" + " movs r0, 0\n" + " strb r0, [r1]\n" + " ldr r1, _0805561C\n" + " ldr r2, [r1]\n" + " str r0, [sp]\n" + " str r0, [sp, 0x4]\n" + " adds r0, r7, 0\n" + " adds r1, r7, 0\n" + " movs r3, 0x2\n" + " bl LowerAttackStageTarget\n" + "_08055604:\n" + " add sp, 0x48\n" + " pop {r3-r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov r10, r5\n" + " pop {r4-r7}\n" + " pop {r0}\n" + " bx r0\n" + " .align 2, 0\n" + "_08055614: .4byte gUnknown_202F222\n" + "_08055618: .4byte 0x00000155\n" + "_0805561C: .4byte gUnknown_8106A50\n"); +} + +s32 sub_8055640(Entity *, Entity *, Move *, s32, s32); +s32 sub_8055728(Entity *attacker, Entity *target, Move *move, struct DamageStruct *dmgStruct, s16 unk); +bool8 sub_8056B34(Entity *attacker, Entity *target, Move *move, s32 accuracyType, bool8 unkBool); + +UNUSED bool32 sub_8055620(Entity *a0, Entity *a1, Move *a2, s32 a3) +{ + return (sub_8055640(a0, a1, a2, 0x100, a3) != FALSE); +} + +extern void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *dmgStruct, bool32 isFalseSwipe, bool32 giveExp, s16 arg4, bool32 arg8, s32 argC); +extern void sub_806EAF4(Entity *, Entity *, u8, u32, u32, struct DamageStruct *dmgStruct, u32, u16, u32); +extern s16 sub_8057600(Move *move, s32 itemID); +extern void sub_803ED30(s32, Entity *r0, u8, s32); +extern void sub_8042238(Entity *pokemon, Entity *target); + +extern const u8 *const gUnknown_80F9688; + +s32 sub_8055640(Entity *attacker, Entity *target, Move *move, s32 r9, s32 itemId) +{ + struct DamageStruct dmgStruct; + s16 unk; + s32 moveType = GetMoveTypeForMonster(attacker, move); + s32 movePower = GetMovePower(attacker, move); + s32 critChance = GetMoveCritChance(move); + + sub_806EAF4(attacker, target, moveType, movePower, critChance, &dmgStruct, r9, move->id, 1); + unk = sub_8057600(move, itemId); + return sub_8055728(attacker, target, move, &dmgStruct, unk); +} + +s32 sub_80556BC(Entity *attacker, Entity *target, u8 moveType, Move *move, s32 r9, s32 itemId) +{ + struct DamageStruct dmgStruct; + s16 unk; + s32 movePower = GetMovePower(attacker, move); + s32 critChance = GetMoveCritChance(move); + + sub_806EAF4(attacker, target, moveType, movePower, critChance, &dmgStruct, r9, move->id, 1); + unk = sub_8057600(move, itemId); + return sub_8055728(attacker, target, move, &dmgStruct, unk); +} + +s32 sub_8055728(Entity *attacker, Entity *target, Move *move, struct DamageStruct *dmgStruct, s16 unk_) +{ + s32 unk = unk_; // It's happening again... + if (sub_8056B34(attacker, target, move, ACCURACY_2, TRUE)) { + bool32 isFalseSwipe = (move->id == MOVE_FALSE_SWIPE); + + if (HasAbility(target, ABILITY_ILLUMINATE)) { + gDungeon->unk662 = 999; + gDungeon->unk17B34 = target; + gDungeon->unk17B40 = target->spawnGenID; + } + + HandleDealingDamage(attacker, target, dmgStruct, isFalseSwipe, TRUE, unk, TRUE, 0); + } + else { + SetMessageArgument_2(gUnknown_202DFE8, GetEntInfo(target), 0); + if (sub_8045888(attacker) && sub_8045888(target)) { + sub_803ED30(9999, target, 1, -1); + TryDisplayDungeonLoggableMessage4(attacker, target, gUnknown_80F9688); // It took no damage! + sub_8042238(attacker, target); + } + else { + TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9688); // It took no damage! + } + dmgStruct->unkF = 1; + } + + if (dmgStruct->unkF != 0) { + return 0; + } + + if (EntityExists(target)) { + GetEntInfo(target)->unk15A = 1; + } + + return dmgStruct->dmg; +} + +extern void sub_806F2BC(Entity *attacker, Entity *target, u8 moveType, s32 a2, struct DamageStruct *dmgStruct); + +s32 sub_8055864(Entity *attacker, Entity *target, Move *move, s32 param_4, s32 itemId) +{ + struct DamageStruct dmgStruct; + s32 moveType = GetMoveTypeForMonster(attacker, move); + + sub_806F2BC(attacker, target, moveType, param_4, &dmgStruct); + HandleDealingDamage(attacker, target, &dmgStruct, FALSE, TRUE, sub_8057600(move, itemId), TRUE, 0); + if (dmgStruct.unkF != 0) { + return 0; + } + + if (EntityExists(target)) { + GetEntInfo(target)->unk15A = 1; + } + return dmgStruct.dmg; +} + +extern const s32 gUnknown_81069BC[]; + +// This unused function returns FALSE if target's typing makes it immune to move's type. +UNUSED bool32 TargetNotImmuneTo(Move *move, Entity *target) +{ + s32 i; + s32 dmg = 1; + bool32 ghostImmunity = FALSE; + EntityInfo *targetInfo = GetEntInfo(target); + s32 moveType = GetMoveType(move); + + if (moveType == TYPE_NORMAL || moveType == TYPE_FIGHTING) { + ghostImmunity = TRUE; + } + + for (i = 0; i < 2; i++) { + s32 multiplier[4]; // 0, 1, 1, 1 ; 0 is for EFFECTIVENESS_IMMUNE + s32 effectiveness; + + memcpy(multiplier, &gUnknown_81069BC, sizeof(multiplier)); + if (ghostImmunity && targetInfo->types[i] == TYPE_GHOST && !targetInfo->exposed) { + effectiveness = EFFECTIVENESS_IMMUNE; + } + else { + effectiveness = gTypeEffectivenessChart[moveType][targetInfo->types[i]]; + } + + dmg *= multiplier[effectiveness]; + if (dmg == 0) + break; + } + + return (dmg != 0); +} + +bool8 sub_8055988(Entity *r2, Entity *r4) +{ + if (r2 != r4 + && abs(r2->pos.x - r4->pos.x) <= 1 && abs(r2->pos.y - r4->pos.y) <= 1 + && CanAttackInDirection(r4, GetDirectionTowardsPosition(&r4->pos, &r2->pos))) + { + return TRUE; + } + + return FALSE; +} + +void sub_80559DC(Entity *entity1, Entity *entity2) +{ + EntityInfo *entInfo = GetEntInfo(entity1); + s32 direction = GetDirectionTowardsPosition(&entity1->pos, &entity2->pos); + + entInfo->action.direction = direction & DIRECTION_MASK; + sub_806CE68(entity1, direction); +}