.include "asm/macros.inc" .include "overlay_29_0232E864.inc" .text ; https://decomp.me/scratch/H0aXM arm_func_start ExecuteMoveEffect ExecuteMoveEffect: ; 0x0232E864 #ifdef JAPAN #define EXECUTE_MOVE_EFFECT_OFFSET -4 #define EXECUTE_MOVE_EFFECT_OFFSET_2 -1 #else #define EXECUTE_MOVE_EFFECT_OFFSET 0 #define EXECUTE_MOVE_EFFECT_OFFSET_2 0 #endif stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xf0 ldr fp, _0232F7AC ; =ov10_022C45F8 str r0, [sp, #0x14] ldrsh r0, [fp] ldr r5, _0232F7B0 ; =SPATK_STAT_IDX ldr sl, _0232F7B4 ; =ov10_022C483C ldr r7, [r5] str r0, [sp, #0x34] ldr r0, [sl] ldr r4, _0232F7B8 ; =ATK_STAT_IDX mov r8, r2 ldr r6, [r4] mov r2, #0 str r2, [sp, #0x78] str r6, [sp, #0xa0] ldr r5, _0232F7BC ; =FOREWARN_FORCED_MISS_CHANCE str r0, [sp, #0x30] ldrsh r0, [r5] ldr r4, _0232F7C0 ; =ov10_022C460C ldrh r6, [r8, #4] str r0, [sp, #0x2c] ldrsh r0, [r4] ldr r2, _0232F7C4 ; =ov10_022C4480 ldr ip, _0232F7C8 ; =ov10_022C4614 str r0, [sp, #0x28] ldrsh r0, [r2] ldr lr, _0232F7CC ; =ov10_022C4508 mov sb, r1 str r0, [sp, #0x24] ldrsh r0, [ip] str r7, [sp, #0x9c] ldr r1, _0232F7D0 ; =ov29_02353718 str r0, [sp, #0x20] ldrsh r0, [lr] mov r7, r3 str r0, [sp, #0x1c] ldr r0, _0232F7D4 ; =ov10_022C4504 ldrsh r0, [r0] str r0, [sp, #0x18] mov r0, #1 str r0, [sp, #0x80] ldr r0, [sp, #0x78] str r0, [sp, #0x74] ldr r0, [sp, #0x78] str r0, [sp, #0x70] ldr r0, [sp, #0x78] str r0, [sp, #0x7c] str r0, [r1] b _02332824 _0232E92C: mov r0, #0 str r0, [sp, #0x6c] ldr r1, [sp, #0x14] ldr r0, [sp, #0x7c] mov fp, #1 ldr r4, [r1, r0, lsl #2] ldr r0, [sp, #0x6c] cmp r4, #0 str r0, [sp, #0x68] str r0, [sp, #0x64] str r0, [sp, #0x60] str r0, [sp, #0x5c] str r0, [sp, #0x58] beq _02332830 mov r0, sb bl EntityIsValid__0232E840 cmp r0, #0 beq _02332830 mov r0, r4 bl EntityIsValid__0232E840 cmp r0, #0 beq _02332818 mov r0, #0 str r0, [sp, #0x80] ldr sl, [r4, #0xb4] cmp sb, r4 str r0, [sp, #0x38] strb r0, [sl, #0x164 + EXECUTE_MOVE_EFFECT_OFFSET] bne _0232E9B0 mov r0, r6 bl IsHealingWishOrLunarDance cmp r0, #0 bne _02332818 _0232E9B0: mov r0, #0 mov r1, sb mov r2, r0 bl SubstitutePlaceholderStringTags mov r0, r6 bl CanBeSnatched cmp r0, #0 ldrne r0, _0232F7D8 ; =DUNGEON_PTR ldrne r0, [r0] addne r0, r0, #0x19000 #ifdef JAPAN ldrne r5, [r0, #0x860] #else ldrne r5, [r0, #0x904] #endif cmpne r5, #0 beq _0232EA2C ldr r1, [r5] cmp r1, #1 bne _0232EE54 cmp r5, sb beq _0232EE54 #ifdef JAPAN ldr r1, [r0, #0x868] #else ldr r1, [r0, #0x90c] #endif ldr r0, [r5, #0xb4] ldr r0, [r0, #0xb0] cmp r1, r0 ldreqb r0, [sl, #0x10b + EXECUTE_MOVE_EFFECT_OFFSET_2] cmpeq r0, #0 bne _0232EE54 mov r0, sb mov r1, r4 ldr r2, _0232F7DC ; =0x00000EAB bl LogMessageByIdWithPopupCheckUserTarget mov r4, r5 b _0232EE54 _0232EA2C: mov r0, sb mov r1, r4 mov r2, r8 mov r3, #0 bl LightningRodStormDrainCheck movs r5, r0 beq _0232EA6C bl ov29_022E6338 ldr r2, _0232F7E0 ; =0x00000EAC mov r0, sb mov r1, r4 bl LogMessageByIdWithPopupCheckUserTarget mov r0, #1 mov r4, r5 str r0, [sp, #0x68] b _0232EE54 _0232EA6C: mov r0, sb mov r1, r4 mov r2, r8 mov r3, #1 bl LightningRodStormDrainCheck movs r5, r0 beq _0232EAAC bl ov29_022E6388 ldr r2, _0232F7E4 ; =0x00000EAD mov r0, sb mov r1, r4 bl LogMessageByIdWithPopupCheckUserTarget mov r0, #1 mov r4, r5 str r0, [sp, #0x64] b _0232EE54 _0232EAAC: mov r0, r4 mov r1, #0x6f bl AbilityIsActiveVeneer cmp r0, #0 movne r0, #0 bne _0232EAD0 mov r0, r4 mov r1, #0x33 bl HasHeldItem _0232EAD0: cmp r0, #0 bne _0232EAEC mov r0, r4 mov r1, #0x2a bl IqSkillIsEnabled cmp r0, #0 beq _0232ED9C _0232EAEC: mov r0, r4 mov r1, #0 bl MonsterCannotAttack cmp r0, #0 bne _0232ED9C mov r0, sb mov r1, r8 mov r2, #0 bl GetEntityMoveTargetAndRange tst r0, #0xf0 bne _0232ED9C add r0, sl, #0x100 ldrh r1, [r0, #0x46 + EXECUTE_MOVE_EFFECT_OFFSET] sub r2, sp, #4 strh r1, [r2] ldrh r0, [r0, #0x48 + EXECUTE_MOVE_EFFECT_OFFSET] strh r0, [r2, #2] ldr r0, [r2] bl CeilFixedPoint ldr r1, [sp, #0x34] cmp r0, r1 blt _0232ED9C ldrb r0, [sl, #0x10b + EXECUTE_MOVE_EFFECT_OFFSET_2] cmp r0, #0 bne _0232EE54 ldrb r5, [sl, #0x4c] str r5, [sp, #0x50] bl IsCurrentFixedRoomBossFight cmp r0, #0 beq _0232EB78 mov r0, sb mov r1, r4 #ifdef JAPAN ldr r2, _02330BE0 ; =0x00000BF2 #else mov r2, #0xeb0 #endif bl LogMessageByIdWithPopupCheckUserTarget b _0232EE54 _0232EB78: mov r0, #0 str r0, [sp, #0x54] b _0232ED54 _0232EB84: ldr r0, [sp, #0x50] ldrsh r1, [r4, #4] add r0, r0, #1 and r0, r0, #7 str r0, [sp, #0x50] mov r2, r0, lsl #2 ldr r0, _0232F7E8 ; =DIRECTIONS_XY ldr r3, _0232F7E8 ; =DIRECTIONS_XY ldrsh r0, [r0, r2] ldr r2, [sp, #0x50] ldrsh ip, [r4, #6] add r2, r3, r2, lsl #2 add r0, r1, r0 ldrsh r1, [r2, #2] add r1, ip, r1 bl GetTile ldr r0, [r0, #0xc] str r0, [sp, #0x4c] bl EntityIsValid__0232E840 cmp r0, #0 beq _0232ED48 ldr r0, [sp, #0x4c] ldr r0, [r0] cmp r0, #1 bne _0232ED48 ldrb r0, [sl, #6] cmp r0, #0 bne _0232EC0C bne _0232ED48 ldr r0, [sp, #0x4c] ldr r0, [r0, #0xb4] ldrb r0, [r0, #9] cmp r0, #1 beq _0232ED48 _0232EC0C: mov r0, r4 bl ShouldDisplayEntityWrapper cmp r0, #0 beq _0232ECA0 mov r0, #0 str r0, [sp, #0x48] _0232EC24: mov r0, r4 mov r1, r5 bl ov29_02304A48 mov r0, #2 mov r1, #0x43 bl ov29_022EA370 add r0, r5, #1 and r5, r0, #7 ldr r0, [sp, #0x48] add r0, r0, #1 str r0, [sp, #0x48] cmp r0, #0x18 blt _0232EC24 b _0232EC7C _0232EC5C: mov r0, r4 mov r1, r5 bl ov29_02304A48 mov r0, #2 mov r1, #0x43 bl ov29_022EA370 add r0, r5, #1 and r5, r0, #7 _0232EC7C: ldr r0, [sp, #0x50] cmp r5, r0 bne _0232EC5C mov r1, r5 mov r0, r4 bl ov29_02304A48 mov r0, #2 mov r1, #0x43 bl ov29_022EA370 _0232ECA0: ldr r0, [sp, #0x34] bl sub_02050FF8 strh r0, [sp, #0x98] mov r0, r0, lsr #0x10 strh r0, [sp, #0x9a] add r0, sl, #0x100 ldrh r5, [r0, #0x46 + EXECUTE_MOVE_EFFECT_OFFSET] sub r1, sp, #4 ldrh r3, [sp, #0x98] strh r5, [r1] ldrh r0, [r0, #0x48 + EXECUTE_MOVE_EFFECT_OFFSET] ldrh r2, [sp, #0x9a] strh r0, [r1, #2] ldr r0, [r1] strh r3, [r1] strh r2, [r1, #2] ldr r1, [r1] bl SubFixedPoint strh r0, [sp, #0x94] mov r0, r0, lsr #0x10 strh r0, [sp, #0x96] ldrh r3, [sp, #0x94] add r1, sl, #0x100 ldrh r2, [sp, #0x96] strh r3, [r1, #0x46 + EXECUTE_MOVE_EFFECT_OFFSET] ldr r0, _0232F7EC ; =0x00000163 strh r2, [r1, #0x48 + EXECUTE_MOVE_EFFECT_OFFSET] ldrh r1, [r8, #4] cmp r1, r0 #ifdef JAPAN bne _0232ED2C add r2, r0, #0xa90 mov r0, sb mov r1, r4 #else mov r0, sb mov r1, r4 bne _0232ED2C ldr r2, _0232F7F0 ; =0x00000EB1 #endif bl LogMessageByIdWithPopupCheckUserTarget b _0232ED34 _0232ED2C: #ifdef JAPAN mov r0, sb mov r1, r4 mov r2, #0xbf0 #else ldr r2, _0232F7F4 ; =0x00000EAE #endif bl LogMessageByIdWithPopupCheckUserTarget _0232ED34: str r4, [sp, #0x6c] ldr r0, [sp, #0x6c] ldr r4, [sp, #0x4c] str r0, [sp, #0x38] b _0232ED60 _0232ED48: ldr r0, [sp, #0x54] add r0, r0, #1 str r0, [sp, #0x54] _0232ED54: ldr r0, [sp, #0x54] cmp r0, #8 blt _0232EB84 _0232ED60: ldr r0, [sp, #0x54] cmp r0, #8 bne _0232EE54 ldrh r1, [r8, #4] ldr r0, _0232F7EC ; =0x00000163 cmp r1, r0 mov r0, sb mov r1, r4 bne _0232ED90 ldr r2, _0232F7F8 ; =0x00000EB2 bl LogMessageByIdWithPopupCheckUserTarget b _0232EE54 _0232ED90: ldr r2, _0232F7FC ; =0x00000EAF bl LogMessageByIdWithPopupCheckUserTarget b _0232EE54 _0232ED9C: ldr r0, [sp, #0x7c] cmp r0, #0 bne _0232EE54 mov r0, r4 bl HasLowHealth cmp r0, #0 beq _0232EE54 mov r0, sb mov r1, r8 mov r2, #0 bl GetEntityMoveTargetAndRange ands r0, r0, #0xf0 cmpne r0, #0x40 cmpne r0, #0x50 cmpne r0, #0x80 cmpne r0, #0x90 bne _0232EE54 mov r0, r4 mov r1, #0x20 mov r2, #1 bl ov29_023381C0 movs r5, r0 beq _0232EE54 bl ov29_02300DC0 cmp r0, #0 ldreq r0, [r5, #0xb4] ldreqb r0, [r0, #0x10b + EXECUTE_MOVE_EFFECT_OFFSET_2] cmpeq r0, #0 bne _0232EE54 mov sl, r4 mov r4, r5 mov r0, r5 mov r1, #3 bl ov29_02304C3C mov r1, sl mov r0, #1 mov r2, #0 bl SubstitutePlaceholderStringTags mov r0, #2 mov r1, r5 mov r2, #0 bl SubstitutePlaceholderStringTags mov r1, r5 mov r0, sb #ifdef JAPAN ldr r2, _02330BF4 ; =0x00000C02 #else mov r2, #0xec0 #endif bl LogMessageByIdWithPopupCheckUserTarget _0232EE54: ldr r1, _0232F800 ; =ov29_0237CA80 ldr r0, _0232F804 ; =ov29_0237CA74 ldr r3, [r1] ldr r2, [r0] add r3, r3, #1 str r3, [r1] add r1, r2, #1 str r1, [r0] ldr r5, [r4, #0xb4] mov r0, #0 strb r0, [r5, #0x164 + EXECUTE_MOVE_EFFECT_OFFSET] ldrb r0, [r5, #6] cmp r0, #0 ldrneh r1, [sb, #4] addne r0, r5, #0x100 strneh r1, [r0, #0x7e + EXECUTE_MOVE_EFFECT_OFFSET] ldrneh r1, [sb, #6] strneh r1, [r0, #0x80 + EXECUTE_MOVE_EFFECT_OFFSET] mov r0, r4 bl ov29_022F9840 mov r0, sb mov r1, r4 bl TryEndPetrifiedOrSleepStatus ldr r0, [sp, #0x7c] cmp r0, #0 ldreq r0, _0232F7EC ; =0x00000163 cmpeq r6, r0 bne _0232EF48 mov r0, sb mov r1, #0x56 bl AbilityIsActiveVeneer cmp r0, #0 beq _0232EF28 mov r0, sb mov r1, r4 mov r2, #1 bl HasSuperEffectiveMoveAgainstUser cmp r0, #0 bne _0232EF00 mov r0, r4 bl ov29_022FB1A8 cmp r0, #0 beq _0232EF28 _0232EF00: mov r0, sb bl ov29_022E4110 mov r0, #1 mov r1, r4 mov r2, #0 bl SubstitutePlaceholderStringTags mov r0, sb mov r1, r4 ldr r2, _0232F808 ; =0x00000EB3 bl LogMessageByIdWithPopupCheckUserTarget _0232EF28: mov r0, sb mov r1, #0x52 bl AbilityIsActiveVeneer cmp r0, #0 beq _0232EF48 mov r0, sb mov r1, r4 bl TryActivateFrisk _0232EF48: mov r0, sb mov r1, r8 bl IsChargingTwoTurnMove cmp r0, #0 bne _0232EF74 ldrh r1, [r8, #4] mov r0, sb bl ov29_02324D60 cmp r0, #0 movne r0, #1 bne _0232EF78 _0232EF74: mov r0, #0 _0232EF78: and sl, r0, #0xff ldr r0, [sp, #0x68] cmp r0, #0 ldreq r0, [sp, #0x64] cmpeq r0, #0 bne _0232F188 mov r0, #0 str r0, [sp, #0x44] str r0, [sp, #0x40] ldrb r0, [r5, #0xd5] cmp r0, #5 moveq r0, #1 streq r0, [sp, #0x44] beq _0232EFDC mov r0, r4 mov r1, #0x21 bl ExclusiveItemEffectIsActive__023329E8 cmp r0, #0 beq _0232EFDC ldr r0, [sp, #0x30] bl DungeonRandOutcome__022EAB20 str r0, [sp, #0x40] cmp r0, #0 movne r0, #1 strne r0, [sp, #0x44] _0232EFDC: ldr r0, [sp, #0x44] cmp r0, #0 beq _0232F090 mov r0, r6 bl IsReflectedByMagicCoat cmp r0, #0 beq _0232F188 mov r0, sb mov r1, r4 bl CanHitWithRegularAttack cmp r0, #0 beq _0232F188 ldr r0, [sp, #0x40] cmp r0, #0 beq _0232F050 mov r0, r4 mov r1, #0x21 add r2, sp, #0xac bl GetExclusiveItemWithEffectFromBag cmp r0, #0 beq _0232F060 mov r0, #0 add r1, sp, #0xac bl PrepareItemForPrinting__02345728 ldr r2, _0232F80C ; =0x00000EB5 mov r0, sb mov r1, r4 bl LogMessageByIdWithPopupCheckUserTarget b _0232F060 _0232F050: mov r0, sb mov r1, r4 ldr r2, _0232F810 ; =0x00000EB4 bl LogMessageByIdWithPopupCheckUserTarget _0232F060: mov r0, r4 bl ov29_022E3FCC mov r0, r4 mov r1, sb bl ov29_02333044 ldr r5, [sb, #0xb4] mov r0, #0 strb r0, [r5, #0x164 + EXECUTE_MOVE_EFFECT_OFFSET] mov r0, #1 mov r4, sb str r0, [sp, #0x60] b _0232F188 _0232F090: mov r0, r4 bl MirrorMoveIsActive str r0, [sp, #0x3c] cmp r0, #0 beq _0232F188 mov r0, sb mov r1, r8 mov r2, #0 bl GetEntityMoveTargetAndRange str r0, [sp, #0x84] ldr r0, _0232F7EC ; =0x00000163 cmp r6, r0 addne r0, r0, #0x32 cmpne r6, r0 beq _0232F188 cmp sl, #0 bne _0232F188 mov r0, r4 mov r1, #1 bl IsChargingAnyTwoTurnMove cmp r0, #0 bne _0232F188 ldr r0, [sp, #0x84] ands r0, r0, #0xf cmpne r0, #4 cmpne r0, #5 cmpne r0, #2 bne _0232F188 mov r0, sb mov r1, r4 bl CanHitWithRegularAttack cmp r0, #0 beq _0232F188 mov r0, r4 bl ov29_02300D50 cmp r0, #0 bne _0232F188 ldr r0, [sp, #0x3c] str r4, [sp, #0x38] cmp r0, #2 mov r0, sb mov r1, r4 bne _0232F14C ldr r2, _0232F814 ; =0x00000EB7 mov r3, #0x25 bl ov29_02314DC4 b _0232F154 _0232F14C: ldr r2, _0232F818 ; =0x00000EB6 bl LogMessageByIdWithPopupCheckUserTarget _0232F154: mov r0, r4 bl ov29_022E4110 mov r0, r4 mov r1, sb bl ov29_02333044 ldr r5, [sb, #0xb4] mov r0, #0 strb r0, [r5, #0x164 + EXECUTE_MOVE_EFFECT_OFFSET] mov r0, #1 mov r4, sb cmp r6, #0x42 ldreq r4, [sp, #0x38] str r0, [sp, #0x60] _0232F188: ldr r0, [sp, #0x68] cmp r0, #0 ldreq r0, [sp, #0x64] cmpeq r0, #0 ldreqb r0, [r5, #0xd5] cmpeq r0, #7 bne _0232F204 cmp r6, #0x204 ldrne r0, _0232F81C ; =0x000001DD cmpne r6, r0 beq _0232F204 mov r0, sb mov r1, r8 mov r2, #0 bl GetEntityMoveTargetAndRange ands r0, r0, #0xf cmpne r0, #4 cmpne r0, #5 cmpne r0, #2 bne _0232F204 cmp sl, #0 bne _0232F204 mov r0, #1 mov r1, r4 mov r2, #0 bl SubstitutePlaceholderStringTags mov r0, sb mov r1, r4 ldr r2, _0232F820 ; =0x00000EB8 bl LogMessageByIdWithPopupCheckUserTarget mov fp, #0 _0232F204: mov r0, r4 mov r1, r8 bl TwoTurnMoveForcedMiss cmp r0, #0 movne fp, #0 cmp fp, #0 beq _0232F270 mov r0, sb mov r1, r4 mov r2, #0x3c #ifndef JAPAN mov r3, #1 #endif bl DefenderAbilityIsActive__02332A0C cmp r0, #0 beq _0232F270 mov r0, r8 bl IsSoundMove cmp r0, #0 beq _0232F270 mov r0, #1 mov r1, r4 mov r2, #0 bl SubstitutePlaceholderStringTags mov r0, sb mov r1, r4 ldr r2, _0232F824 ; =0x00000EB9 bl LogMessageByIdWithPopupCheckUserTarget mov fp, #0 _0232F270: cmp fp, #0 beq _0232F350 ldr r0, [sp, #0x60] ldrh r1, [r8, #4] cmp r0, #0 moveq r0, #1 movne r0, #0 and sl, r0, #0xff cmp r1, #0x68 ldrne r0, _0232F828 ; =0x00000131 mov r2, #0x79 cmpne r1, r0 subne r0, r0, #4 cmpne r1, r0 mov r0, sb mov r1, r4 #ifndef JAPAN mov r3, #1 #endif moveq sl, #0 bl DefenderAbilityIsActive__02332A0C cmp r0, #0 beq _0232F2F0 mov r0, sb mov r1, r8 bl ov29_0231AD38 cmp r0, #0 bne _0232F2F0 mov r0, #0x64 bl DungeonRandInt ldr r1, [sp, #0x2c] cmp r0, r1 movlt r0, #1 strlt r0, [sp, #0x5c] _0232F2F0: ldr r0, [sp, #0x5c] cmp r0, #0 beq _0232F330 mov r0, #1 mov r1, r4 mov r2, #0 bl SubstitutePlaceholderStringTags mov r0, #0x79 str r0, [sp] mov r0, sb mov r1, r4 ldr r2, _0232F82C ; =0x00000EBA mov r3, #2 bl LogMessageByIdWithPopupCheckParticipants mov fp, #0 b _0232F350 _0232F330: mov r0, sb mov r1, r4 mov r2, r8 mov r3, #0 str sl, [sp] bl MoveHitCheck cmp r0, #0 moveq fp, #0 _0232F350: cmp fp, #0 beq _0232F370 ldr r0, [sp, #0x68] cmp r0, #0 ldr r0, [sp, #0x64] movne fp, #0 cmp r0, #0 movne fp, #0 _0232F370: mov r0, r4 bl ShouldDisplayEntityWrapper cmp r0, #0 beq _0232F40C mov r0, #4 mov r1, #0x4a bl ov29_022EA370 ldrh r0, [r8, #4] bl ov10_022BFD6C cmp r0, #0 beq _0232F3B0 mov r0, sb mov r1, r4 mov r2, r8 bl ov29_023258EC b _0232F40C _0232F3B0: ldrh r0, [r8, #4] cmp r0, #0xad bne _0232F3C4 mov r0, #1 bl AnimationDelayOrSomething _0232F3C4: ldr r0, [sp, #0x38] cmp r0, #0 beq _0232F3F8 ldrh r0, [r8, #4] cmp r0, #0x1f4 cmpne r0, #0x50 bne _0232F3F8 ldr r1, [sp, #0x38] mov r0, sb mov r2, r8 mov r3, #0 bl PlayMoveAnimation b _0232F40C _0232F3F8: mov r0, sb mov r1, r4 mov r2, r8 mov r3, #0 bl PlayMoveAnimation _0232F40C: ldr r0, _0232F830 ; =0x000001F6 cmp r6, r0 bne _0232F498 mov r3, r8 add r2, sp, #0xa4 mov r1, #4 _0232F424: ldrh r0, [r3], #2 subs r1, r1, #1 strh r0, [r2], #2 bne _0232F424 ldr r0, [sp, #0x60] mov sl, #1 cmp r0, #0 ldr r0, _0232F834 ; =0x00000232 strh r0, [sp, #0xa8] beq _0232F468 mov r3, #0 mov r0, sb mov r1, r4 add r2, sp, #0xa4 str r3, [sp] bl ov29_0232393C b _0232F498 _0232F468: mov r0, sb mov r1, r4 bl AreEntitiesAdjacent cmp r0, #0 moveq sl, #2 mov r0, #0 str r0, [sp] mov r3, sl mov r0, sb mov r1, r4 add r2, sp, #0xa4 bl ov29_0232393C _0232F498: cmp fp, #0 bne _0232F62C ldrh r0, [r8, #4] ldr r2, [sb, #0xb4] cmp r0, #2 cmpne r0, #0x69 ldreq r0, _0232F838 ; =ROLLOUT_ICE_BALL_MISSED moveq r1, #1 streqb r1, [r0] ldrh r1, [r8, #4] ldr r0, _0232F7EC ; =0x00000163 cmp r1, r0 movne r0, #1 strneb r0, [r2, #0x166 + EXECUTE_MOVE_EFFECT_OFFSET] ldrb r0, [r2, #7] cmp r0, #0 mov r0, sb beq _0232F4EC ldr r1, _0232F83C ; =0x00001307 bl PlaySeByIdIfShouldDisplayEntity b _0232F4F4 _0232F4EC: ldr r1, _0232F840 ; =0x00001306 bl PlaySeByIdIfShouldDisplayEntity _0232F4F4: bl GetMessageLogPreprocessorArgs mov r3, #0 str r3, [sp] ldr r2, [r4, #0xb4] mov r1, #1 bl SetPreprocessorArgsStringToName cmp sb, r4 mov r0, sb mov r1, r4 bne _0232F528 ldr r2, _0232F844 ; =0x00000EBC bl LogMessageByIdWithPopupCheckUserTarget b _0232F598 _0232F528: mov r2, #1 mov r3, #0 bl GetTreatmentBetweenMonsters cmp r0, #0 bne _0232F550 mov r0, sb mov r1, r4 ldr r2, _0232F848 ; =0x00000EBD bl LogMessageByIdWithPopupCheckUserTarget b _0232F598 _0232F550: ldr r0, [sp, #0x68] cmp r0, #0 beq _0232F570 mov r0, sb mov r1, r4 #ifdef JAPAN mov r2, #0xc00 #else ldr r2, _0232F84C ; =0x00000EBE #endif bl LogMessageByIdWithPopupCheckUserTarget b _0232F598 _0232F570: ldr r0, [sp, #0x64] mov r1, r4 cmp r0, #0 mov r0, sb beq _0232F590 ldr r2, _0232F850 ; =0x00000EBF bl LogMessageByIdWithPopupCheckUserTarget b _0232F598 _0232F590: ldr r2, _0232F854 ; =0x00000EBB bl LogMessageByIdWithPopupCheckUserTarget _0232F598: mov r0, r4 bl ShouldDisplayEntityWrapper cmp r0, #0 beq _0232F5BC ldr r0, _0232F858 ; =0x0000270F mov r1, r4 mov r2, #1 sub r3, r2, #2 bl DisplayAnimatedNumbers _0232F5BC: cmp r6, #0xcc beq _0232F5EC cmp r6, #0xce bne _0232F608 mov r1, r4 mov r0, #1 str r0, [sp] mov r0, sb mov r2, r8 mov r3, r7 bl DoMoveHiJumpKick b _0232F608 _0232F5EC: mov r1, r4 mov r0, #1 str r0, [sp] mov r0, sb mov r2, r8 mov r3, r7 bl DoMoveJumpKick _0232F608: ldr r0, [sp, #0x70] add r0, r0, #1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [sp, #0x70] bl IsFloorOver cmp r0, #0 bne _02332830 b _02332818 _0232F62C: mov sl, #1 ldrb fp, [r5, #0x108 + EXECUTE_MOVE_EFFECT_OFFSET_2] ldrb r0, [r5, #6] cmp r0, #0 beq _0232F670 ldrh r1, [r8, #4] rsb r0, sl, #0x164 cmp r1, r0 beq _0232F660 cmp r7, #0 bne _0232F660 cmp fp, #1 strlob sl, [r5, #0x108 + EXECUTE_MOVE_EFFECT_OFFSET_2] _0232F660: ldr r0, [sp, #0x118] cmp r0, #1 moveq r0, #2 streqb r0, [r5, #0x108 + EXECUTE_MOVE_EFFECT_OFFSET_2] _0232F670: ldrb r0, [r5, #0x177 + EXECUTE_MOVE_EFFECT_OFFSET] cmp r0, #0xff bne _0232F6A0 mov r0, r4 mov r1, #0xe3 bl ov29_02301C2C cmp r0, #0 beq _0232F6A0 add r0, r4, #4 add r1, sb, #4 bl GetDirectionTowardsPosition strb r0, [r5, #0x177 + EXECUTE_MOVE_EFFECT_OFFSET] _0232F6A0: ldrb r0, [r5, #0x178 + EXECUTE_MOVE_EFFECT_OFFSET] cmp r0, #0xff bne _0232F6D0 mov r0, r4 mov r1, #0x19 bl ov29_02301C2C cmp r0, #0 beq _0232F6D0 add r0, r4, #4 add r1, sb, #4 bl GetDirectionTowardsPosition strb r0, [r5, #0x178 + EXECUTE_MOVE_EFFECT_OFFSET] _0232F6D0: mov r0, sb mov r1, r8 mov r2, #0 bl GetEntityMoveTargetAndRange and r0, r0, #0xf cmp r0, #4 ldrne r2, [sb, #0xb4] ldrneh r1, [r8, #4] ldrneh r0, [r2, #0xac] cmpne r1, r0 beq _0232F708 ldrb r0, [r2, #0x23f + EXECUTE_MOVE_EFFECT_OFFSET] cmp r0, #0 beq _0232F70C _0232F708: mov sl, #0 _0232F70C: cmp sl, #0 beq _0232F87C mov r0, sb mov r1, r4 mov r2, #0x39 #ifndef JAPAN mov r3, #1 #endif bl DefenderAbilityIsActive__02332A0C cmp r0, #0 beq _0232F87C mov r0, sb mov r1, r4 mov r2, #1 mov r3, #0 bl GetTreatmentBetweenMonsters cmp r0, #1 bne _0232F87C ldrh r1, [r8, #4] ldr r0, _0232F7EC ; =0x00000163 cmp r1, r0 cmpne r1, #0x160 beq _0232F87C cmp r7, #0 bne _0232F87C ldrb r0, [r8, #6] cmp r0, #0 beq _0232F87C mov r0, r4 mov r1, #0x58 bl ExclusiveItemEffectIsActive__023329E8 cmp r0, #0 ldrh r0, [r8, #2] beq _0232F860 tst r0, #0x40 bne _0232F79C mov r0, sb bl ov29_022E6424 _0232F79C: ldrh r0, [r8, #2] orr r0, r0, #0x40 strh r0, [r8, #2] b _0232F87C .align 2, 0 #ifdef JAPAN #define EXECUTE_MOVE_EFFECT_DATA_OFFSET -0x2BE #else #define EXECUTE_MOVE_EFFECT_DATA_OFFSET 0 #endif _0232F7AC: .word ov10_022C45F8 _0232F7B0: .word SPATK_STAT_IDX _0232F7B4: .word ov10_022C483C _0232F7B8: .word ATK_STAT_IDX _0232F7BC: .word FOREWARN_FORCED_MISS_CHANCE _0232F7C0: .word ov10_022C460C _0232F7C4: .word ov10_022C4480 _0232F7C8: .word ov10_022C4614 _0232F7CC: .word ov10_022C4508 _0232F7D0: .word ov29_02353718 _0232F7D4: .word ov10_022C4504 _0232F7D8: .word DUNGEON_PTR _0232F7DC: .word 0x00000EAB + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F7E0: .word 0x00000EAC + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F7E4: .word 0x00000EAD + EXECUTE_MOVE_EFFECT_DATA_OFFSET #ifdef JAPAN _02330BE0: .word 0x00000BF2 #endif _0232F7E8: .word DIRECTIONS_XY _0232F7EC: .word 0x00000163 #ifndef JAPAN _0232F7F0: .word 0x00000EB1 _0232F7F4: .word 0x00000EAE #endif _0232F7F8: .word 0x00000EB2 + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F7FC: .word 0x00000EAF + EXECUTE_MOVE_EFFECT_DATA_OFFSET #ifdef JAPAN _02330BF4: .word 0x00000C02 #endif _0232F800: .word ov29_0237CA80 _0232F804: .word ov29_0237CA74 _0232F808: .word 0x00000EB3 + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F80C: .word 0x00000EB5 + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F810: .word 0x00000EB4 + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F814: .word 0x00000EB7 + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F818: .word 0x00000EB6 + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F81C: .word 0x000001DD _0232F820: .word 0x00000EB8 + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F824: .word 0x00000EB9 + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F828: .word 0x00000131 _0232F82C: .word 0x00000EBA + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F830: .word 0x000001F6 _0232F834: .word 0x00000232 _0232F838: .word ROLLOUT_ICE_BALL_MISSED _0232F83C: .word 0x00001307 _0232F840: .word 0x00001306 _0232F844: .word 0x00000EBC + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F848: .word 0x00000EBD + EXECUTE_MOVE_EFFECT_DATA_OFFSET #ifndef JAPAN _0232F84C: .word 0x00000EBE #endif _0232F850: .word 0x00000EBF + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F854: .word 0x00000EBB + EXECUTE_MOVE_EFFECT_DATA_OFFSET _0232F858: .word 0x0000270F _0232F85C: .word 0x0000021E _0232F860: tst r0, #0x10 bne _0232F870 mov r0, sb bl ov29_022E6424 _0232F870: ldrh r0, [r8, #2] orr r0, r0, #0x10 strh r0, [r8, #2] _0232F87C: mov r0, sb mov r1, r8 mov r2, #0 bl GetEntityMoveTargetAndRange tst r0, #0xf bne _0232F8A0 mov r0, sb mov r1, r4 bl UpdateShopkeeperModeAfterAttack _0232F8A0: ldr r0, _0232F85C ; =0x0000021E mov r1, #1 strb r1, [r5, #0x162 + EXECUTE_MOVE_EFFECT_OFFSET] cmp r6, r0 addls pc, pc, r6, lsl #2 b _023326C8 _0232F8B8: ; jump table b _023301E8 ; case 0 b _02331300 ; case 1 b _02330FE8 ; case 2 b _02330990 ; case 3 b _02330974 ; case 4 b _02331290 ; case 5 b _023312AC ; case 6 b _023316F0 ; case 7 b _02331760 ; case 8 b _02330134 ; case 9 b _0233177C ; case 10 b _02331C70 ; case 11 b _02331AB0 ; case 12 b _02330A00 ; case 13 b _02331CFC ; case 14 b _023313C4 ; case 15 b _02331C8C ; case 16 b _02331B74 ; case 17 b _02330134 ; case 18 b _02330BC0 ; case 19 b _02331568 ; case 20 b _02330B18 ; case 21 b _0233154C ; case 22 b _02331CA8 ; case 23 b _02330E28 ; case 24 b _02331FDC ; case 25 b _023313C4 ; case 26 b _02330D64 ; case 27 b _02330134 ; case 28 b _02331CC4 ; case 29 b _023307EC ; case 30 b _02331B90 ; case 31 b _02330484 ; case 32 b _02330AE0 ; case 33 b _02330974 ; case 34 b _02331ACC ; case 35 b _0233037C ; case 36 b _02331A24 ; case 37 b _02331138 ; case 38 b _02330134 ; case 39 b _02331EC4 ; case 40 b _023314F8 ; case 41 b _02330CD8 ; case 42 b _02331004 ; case 43 b _02330CBC ; case 44 b _023314A4 ; case 45 b _023307EC ; case 46 b _02331338 ; case 47 b _02331F50 ; case 48 b _02331824 ; case 49 b _023320D8 ; case 50 b _02331138 ; case 51 b _023302F0 ; case 52 b _0233030C ; case 53 b _02331D34 ; case 54 b _02330BA4 ; case 55 b _02331798 ; case 56 b _023302B8 ; case 57 b _023316B8 ; case 58 b _023308CC ; case 59 b _0233123C ; case 60 b _02331154 ; case 61 b _02330808 ; case 62 b _023307B4 ; case 63 b _02330958 ; case 64 b _02330958 ; case 65 b _023315BC ; case 66 b _023319B4 ; case 67 b _0233037C ; case 68 b _02330468 ; case 69 b _023316B8 ; case 70 b _02330680 ; case 71 b _0233169C ; case 72 b _02330AA8 ; case 73 b _02330360 ; case 74 b _02331258 ; case 75 b _02330DB8 ; case 76 b _02331944 ; case 77 b _02331434 ; case 78 b _02330974 ; case 79 b _02330DB8 ; case 80 b _0233037C ; case 81 b _0233069C ; case 82 b _02331530 ; case 83 b _02330974 ; case 84 b _02331928 ; case 85 b _023304BC ; case 86 b _0233037C ; case 87 b _023313E0 ; case 88 b _023304BC ; case 89 b _0233037C ; case 90 b _02330ED0 ; case 91 b _023319D0 ; case 92 b _0233069C ; case 93 b _0233103C ; case 94 b _0233111C ; case 95 b _02331B3C ; case 96 b _02330AA8 ; case 97 b _023316D4 ; case 98 b _02330C84 ; case 99 b _02330E98 ; case 100 b _02330328 ; case 101 b _023318B0 ; case 102 b _02330878 ; case 103 b _02331C00 ; case 104 b _02330FE8 ; case 105 b _02330D10 ; case 106 b _023306B8 ; case 107 b _02331370 ; case 108 b _023304F4 ; case 109 b _02330CF4 ; case 110 b _02330974 ; case 111 b _02330F08 ; case 112 b _023319EC ; case 113 b _023306B8 ; case 114 b _02331FC0 ; case 115 b _02330DF0 ; case 116 b _02331090 ; case 117 b _0233029C ; case 118 b _02331E68 ; case 119 b _0233077C ; case 120 b _02331944 ; case 121 b _0233131C ; case 122 b _02331960 ; case 123 b _0233093C ; case 124 b _02330468 ; case 125 b _02330134 ; case 126 b _02330824 ; case 127 b _02331998 ; case 128 b _023309AC ; case 129 b _02330FB0 ; case 130 b _02330414 ; case 131 b _02330134 ; case 132 b _02330798 ; case 133 b _02330F94 ; case 134 b _02330E0C ; case 135 b _02330134 ; case 136 b _02331EFC ; case 137 b _02331EA0 ; case 138 b _023307D0 ; case 139 b _02330DD4 ; case 140 b _02330F78 ; case 141 b _023314DC ; case 142 b _02330468 ; case 143 b _0233077C ; case 144 b _02330134 ; case 145 b _023314DC ; case 146 b _02330728 ; case 147 b _02330C14 ; case 148 b _02330744 ; case 149 b _02330430 ; case 150 b _02330E7C ; case 151 b _02330904 ; case 152 b _0233170C ; case 153 b _02330134 ; case 154 b _0233197C ; case 155 b _02331744 ; case 156 b _0233030C ; case 157 b _02330280 ; case 158 b _02330CA0 ; case 159 b _02331A5C ; case 160 b _02330134 ; case 161 b _02330664 ; case 162 b _02330134 ; case 163 b _02330E60 ; case 164 b _02331020 ; case 165 b _02330134 ; case 166 b _02330134 ; case 167 b _02330134 ; case 168 b _02330B50 ; case 169 b _02330D80 ; case 170 b _02330A00 ; case 171 b _0233190C ; case 172 b _02331058 ; case 173 b _02330134 ; case 174 b _02330134 ; case 175 b _02330134 ; case 176 b _023309E4 ; case 177 b _02330134 ; case 178 b _02330134 ; case 179 b _02330134 ; case 180 b _02330BDC ; case 181 b _02330134 ; case 182 b _02331F18 ; case 183 b _02332068 ; case 184 b _02331C1C ; case 185 b _02330C68 ; case 186 b _02331648 ; case 187 b _02330760 ; case 188 b _02330134 ; case 189 b _02330134 ; case 190 b _02330A00 ; case 191 b _02330A38 ; case 192 b _02330A70 ; case 193 b _023309C8 ; case 194 b _02330BA4 ; case 195 b _02330A1C ; case 196 b _02331514 ; case 197 b _02330F24 ; case 198 b _02330A1C ; case 199 b _023304D8 ; case 200 b _02330134 ; case 201 b _02330C68 ; case 202 b _02330DF0 ; case 203 b _023318CC ; case 204 b _02331728 ; case 205 b _023311E0 ; case 206 b _0233085C ; case 207 b _02330134 ; case 208 b _023310C8 ; case 209 b _02330E44 ; case 210 b _02330134 ; case 211 b _023312E4 ; case 212 b _023314C0 ; case 213 b _02331100 ; case 214 b _02330C30 ; case 215 b _02330D9C ; case 216 b _02330D2C ; case 217 b _02331090 ; case 218 b _023304A0 ; case 219 b _02331EE0 ; case 220 b _023307B4 ; case 221 b _02330134 ; case 222 b _02331BAC ; case 223 b _0233131C ; case 224 b _02331488 ; case 225 b _023308E8 ; case 226 b _023311A8 ; case 227 b _02331BC8 ; case 228 b _0233185C ; case 229 b _0233030C ; case 230 b _02330974 ; case 231 b _02331074 ; case 232 b _02331354 ; case 233 b _023306B8 ; case 234 b _0233077C ; case 235 b _02331A94 ; case 236 b _023311C4 ; case 237 b _02330344 ; case 238 b _02330344 ; case 239 b _02330134 ; case 240 b _02330134 ; case 241 b _02330344 ; case 242 b _02330A8C ; case 243 b _02330624 ; case 244 b _02331A78 ; case 245 b _02330AC4 ; case 246 b _02330430 ; case 247 b _02330134 ; case 248 b _023317B4 ; case 249 b _02330134 ; case 250 b _0233037C ; case 251 b _023315D8 ; case 252 b _02330ED0 ; case 253 b _02331D50 ; case 254 b _02330680 ; case 255 b _02331878 ; case 256 b _02331C38 ; case 257 b _02330C68 ; case 258 b _02330FCC ; case 259 b _02330134 ; case 260 b _02330798 ; case 261 b _0233030C ; case 262 b _02331E4C ; case 263 b _02330840 ; case 264 b _02330B88 ; case 265 b _02331DDC ; case 266 b _02330D48 ; case 267 b _02330AFC ; case 268 b _02331DA4 ; case 269 b _02330328 ; case 270 b _023307B4 ; case 271 b _02331204 ; case 272 b _023314DC ; case 273 b _02330A00 ; case 274 b _0233070C ; case 275 b _02330894 ; case 276 b _02330F40 ; case 277 b _02331A08 ; case 278 b _023304D8 ; case 279 b _023304D8 ; case 280 b _02330A54 ; case 281 b _02331CE0 ; case 282 b _02330648 ; case 283 b _02330AFC ; case 284 b _02330134 ; case 285 b _02331F88 ; case 286 b _02331100 ; case 287 b _02330B34 ; case 288 b _02330798 ; case 289 b _02330134 ; case 290 b _02330468 ; case 291 b _0233030C ; case 292 b _02331B20 ; case 293 b _02330EEC ; case 294 b _023313A8 ; case 295 b _02331450 ; case 296 b _02330134 ; case 297 b _02331274 ; case 298 b _02330AA8 ; case 299 b _02330134 ; case 300 b _023318F0 ; case 301 b _02330C4C ; case 302 b _023307B4 ; case 303 b _023318B0 ; case 304 b _023318F0 ; case 305 b _02330134 ; case 306 b _023312E4 ; case 307 b _02330134 ; case 308 b _023306D4 ; case 309 b _02330840 ; case 310 b _02330134 ; case 311 b _02330134 ; case 312 b _02331B58 ; case 313 b _02331584 ; case 314 b _02331D34 ; case 315 b _02331B04 ; case 316 b _02331878 ; case 317 b _02331020 ; case 318 b _02330BF8 ; case 319 b _02330DB8 ; case 320 b _02330134 ; case 321 b _02330134 ; case 322 b _02330134 ; case 323 b _02331220 ; case 324 b _02330600 ; case 325 b _023308B0 ; case 326 b _023320BC ; case 327 b _02331FA4 ; case 328 b _0233138C ; case 329 b _02332030 ; case 330 b _023315F4 ; case 331 b _023305A4 ; case 332 b _02330BA4 ; case 333 b _02331F6C ; case 334 b _023306F0 ; case 335 b _0233037C ; case 336 b _02331FF8 ; case 337 b _02330F5C ; case 338 b _023313C4 ; case 339 b _02331154 ; case 340 b _02330920 ; case 341 b _0233077C ; case 342 b _02330B6C ; case 343 b _02330328 ; case 344 b _02330328 ; case 345 b _02330134 ; case 346 b _02330134 ; case 347 b _0233146C ; case 348 b _023316D4 ; case 349 b _02330134 ; case 350 b _02330D10 ; case 351 b _023302D4 ; case 352 b _02330134 ; case 353 b _02330DF0 ; case 354 b _02330150 ; case 355 b _023326C8 ; case 356 b _02331170 ; case 357 b _02331170 ; case 358 b _02331170 ; case 359 b _02330134 ; case 360 b _02331CC4 ; case 361 b _02330134 ; case 362 b _02331A40 ; case 363 b _023310E4 ; case 364 b _02331DC0 ; case 365 b _02330134 ; case 366 b _023315D8 ; case 367 b _02330AFC ; case 368 b _02331648 ; case 369 b _02331D6C ; case 370 b _02330EB4 ; case 371 b _0233111C ; case 372 b _02331610 ; case 373 b _02331840 ; case 374 b _02331D88 ; case 375 b _02332084 ; case 376 b _023320A0 ; case 377 b _02331F34 ; case 378 b _02331DDC ; case 379 b _023318B0 ; case 380 b _02331418 ; case 381 b _02330A00 ; case 382 b _023315A0 ; case 383 b _02332014 ; case 384 b _02331E30 ; case 385 b _023310AC ; case 386 b _023313FC ; case 387 b _02331664 ; case 388 b _023317D0 ; case 389 b _02331DF8 ; case 390 b _02331AE8 ; case 391 b _0233044C ; case 392 b _0233204C ; case 393 b _023312C8 ; case 394 b _02331E14 ; case 395 b _02331894 ; case 396 b _023320F4 ; case 397 b _02331C54 ; case 398 b _02331BE4 ; case 399 b _0233162C ; case 400 b _0233118C ; case 401 b _023326C8 ; case 402 b _02331E84 ; case 403 b _023326C8 ; case 404 b _023326C8 ; case 405 b _023320D8 ; case 406 b _02331D18 ; case 407 b _023326C8 ; case 408 b _02331680 ; case 409 b _023317EC ; case 410 b _023326C8 ; case 411 b _02331808 ; case 412 b _023326C8 ; case 413 b _023326C8 ; case 414 b _023326C8 ; case 415 b _023326C8 ; case 416 b _023326C8 ; case 417 b _023326C8 ; case 418 b _023326C8 ; case 419 b _023326C8 ; case 420 b _02332674 ; case 421 b _02332690 ; case 422 b _023326AC ; case 423 b _02331648 ; case 424 b _02331840 ; case 425 b _0233111C ; case 426 b _02332658 ; case 427 b _02330360 ; case 428 b _02331DDC ; case 429 b _02332110 ; case 430 b _023307EC ; case 431 b _02330134 ; case 432 b _02330134 ; case 433 b _0233212C ; case 434 b _02330134 ; case 435 b _023307EC ; case 436 b _0233069C ; case 437 b _02332148 ; case 438 b _02332164 ; case 439 b _02332180 ; case 440 b _02330DF0 ; case 441 b _023307EC ; case 442 b _023306F0 ; case 443 b _0233111C ; case 444 b _02330134 ; case 445 b _023306B8 ; case 446 b _0233219C ; case 447 b _023321B8 ; case 448 b _023321D4 ; case 449 b _023321F0 ; case 450 b _02330134 ; case 451 b _0233220C ; case 452 b _02330344 ; case 453 b _023306F0 ; case 454 b _02330344 ; case 455 b _02332228 ; case 456 b _02332244 ; case 457 b _023319D0 ; case 458 b _02330728 ; case 459 b _02330134 ; case 460 b _02332260 ; case 461 b _02330134 ; case 462 b _02330134 ; case 463 b _0233227C ; case 464 b _023326C8 ; case 465 b _02332298 ; case 466 b _02330134 ; case 467 b _023305D0 ; case 468 b _023322D0 ; case 469 b _02330134 ; case 470 b _023322EC ; case 471 b _02331138 ; case 472 b _023307EC ; case 473 b _02332458 ; case 474 b _02332308 ; case 475 b _02330134 ; case 476 b _02332324 ; case 477 b _02332340 ; case 478 b _02330134 ; case 479 b _0233235C ; case 480 b _02330134 ; case 481 b _023310C8 ; case 482 b _02330974 ; case 483 b _02330520 ; case 484 b _02330728 ; case 485 b _02330134 ; case 486 b _02330134 ; case 487 b _023322D0 ; case 488 b _02332378 ; case 489 b _02332394 ; case 490 b _02330134 ; case 491 b _023323B0 ; case 492 b _023323CC ; case 493 b _02330344 ; case 494 b _02330728 ; case 495 b _023323E8 ; case 496 b _02332420 ; case 497 b _023307EC ; case 498 b _02332404 ; case 499 b _02330DB8 ; case 500 b _02330CA0 ; case 501 b _02330134 ; case 502 b _023320D8 ; case 503 b _0233243C ; case 504 b _02332458 ; case 505 b _02332474 ; case 506 b _02330958 ; case 507 b _02330134 ; case 508 b _02332490 ; case 509 b _02330134 ; case 510 b _02330134 ; case 511 b _02330134 ; case 512 b _023324AC ; case 513 b _023324C8 ; case 514 b _02330134 ; case 515 b _023324E4 ; case 516 b _02332500 ; case 517 b _02330DF0 ; case 518 b _023302F0 ; case 519 b _0233251C ; case 520 b _02330958 ; case 521 b _023322B4 ; case 522 b _02330134 ; case 523 b _02330468 ; case 524 b _023320BC ; case 525 b _02332538 ; case 526 b _02330CA0 ; case 527 b _02332554 ; case 528 b _02332394 ; case 529 b _0233054C ; case 530 b _02332570 ; case 531 b _0233258C ; case 532 b _023325A8 ; case 533 b _023325C4 ; case 534 b _02331154 ; case 535 b _02330578 ; case 536 b _023325E0 ; case 537 b _023325FC ; case 538 b _02330134 ; case 539 b _02332620 ; case 540 b _023306B8 ; case 541 b _0233263C ; case 542 _02330134: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamage__02325DC0 mov sl, r0 b _023326CC _02330150: ; 0x02330150 mov r0, sb mov r1, r8 bl GetMoveTypeForMonster mov sl, r0 mov r0, sb mov r1, r8 bl GetMovePower str r0, [sp, #0x88] mov r0, r8 bl GetMoveCritChance str r0, [sp] add r1, sp, #0xdc str r1, [sp, #4] mov r0, #0x80 str r0, [sp, #8] mov r2, sl ldrh sl, [r8, #4] ldr r3, [sp, #0x88] mov r1, #1 str sl, [sp, #0xc] str r1, [sp, #0x10] mov r0, sb mov r1, r4 bl CalcDamage mov r0, r8 mov r1, r7 bl GetDamageSourceWrapper str r0, [sp] mov r0, sb mov r1, r4 mov r2, r8 add r3, sp, #0xdc bl PerformDamageSequence cmp r0, #0 movne r0, #1 moveq r0, #0 and sl, r0, #0xff b _023326CC _023301E8: mov r0, sb mov r1, r8 bl GetMoveTypeForMonster mov sl, r0 mov r0, sb mov r1, r8 bl GetMovePower str r0, [sp, #0x8c] mov r0, r8 bl GetMoveCritChance str r0, [sp] add r1, sp, #0xc8 str r1, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r2, sl ldrh sl, [r8, #4] ldr r3, [sp, #0x8c] mov r1, #1 str sl, [sp, #0xc] str r1, [sp, #0x10] mov r0, sb mov r1, r4 bl CalcDamage mov r0, r8 mov r1, r7 bl GetDamageSourceWrapper str r0, [sp] mov r0, sb mov r1, r4 mov r2, r8 add r3, sp, #0xc8 bl PerformDamageSequence cmp r0, #0 movne r0, #1 moveq r0, #0 and sl, r0, #0xff b _023326CC _02330280: ; 0x02330280 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWaterfall mov sl, r0 b _023326CC _0233029C: ; 0x0233029C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveEarthquake mov sl, r0 b _023326CC _023302B8: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveGust mov sl, r0 b _023326CC _023302D4: ; 0x023302D4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveStruggle mov sl, r0 b _023326CC _023302F0: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageBurn10FlameWheel mov sl, r0 b _023326CC _0233030C: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageBurn10 mov sl, r0 b _023326CC _02330328: ; 0x02330328 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageFreeze15 mov sl, r0 b _023326CC _02330344: ; 0x02330344 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamage__0232A500 mov sl, r0 b _023326CC _02330360: ; 0x02330360 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFocusEnergy mov sl, r0 b _023326CC _0233037C: mov r0, sb mov r1, r8 bl GetMoveTypeForMonster mov sl, r0 mov r0, sb mov r1, r8 bl GetMovePower str r0, [sp, #0x90] mov r0, r8 bl GetMoveCritChance str r0, [sp] add r1, sp, #0xb4 str r1, [sp, #4] mov r0, #0x100 str r0, [sp, #8] mov r2, sl ldrh sl, [r8, #4] ldr r3, [sp, #0x90] mov r1, #1 str sl, [sp, #0xc] str r1, [sp, #0x10] mov r0, sb mov r1, r4 bl CalcDamage mov r0, r8 mov r1, r7 bl GetDamageSourceWrapper str r0, [sp] mov r0, sb mov r1, r4 mov r2, r8 add r3, sp, #0xb4 bl PerformDamageSequence cmp r0, #0 movne r0, #1 moveq r0, #0 and sl, r0, #0xff b _023326CC _02330414: ; 0x02330414 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFissure mov sl, r0 b _023326CC _02330430: ; 0x02330430 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveOhko mov sl, r0 b _023326CC _0233044C: ; 0x0233044C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveOneShot mov sl, r0 b _023326CC _02330468: ; 0x02330468 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageConstrict10 mov sl, r0 b _023326CC _02330484: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWhirlpool mov sl, r0 b _023326CC _023304A0: ; 0x023304A0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSurf mov sl, r0 b _023326CC _023304BC: ; 0x023304BC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveShadowHold mov sl, r0 b _023326CC _023304D8: ; 0x023304D8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamagePoison18 mov sl, r0 b _023326CC _023304F4: ; 0x023304F4 str r1, [sp] ldr r0, [sp, #0x28] add r3, sp, #0x9c stmib sp, {r0, r7} ldr r3, [r3] mov r0, sb mov r1, r4 mov r2, r8 bl DoMoveDamageLowerDefensiveStatVariable mov sl, r0 b _023326CC _02330520: ; 0x02330520 str r1, [sp] ldr r0, [sp, #0x24] add r3, sp, #0x9c stmib sp, {r0, r7} ldr r3, [r3] mov r0, sb mov r1, r4 mov r2, r8 bl DoMoveDamageLowerDefensiveStatVariable mov sl, r0 b _023326CC _0233054C: ; 0x0233054C str r1, [sp] ldr r0, [sp, #0x20] add r3, sp, #0x9c stmib sp, {r0, r7} ldr r3, [r3] mov r0, sb mov r1, r4 mov r2, r8 bl DoMoveDamageLowerDefensiveStatVariable mov sl, r0 b _023326CC _02330578: ; 0x02330578 str r1, [sp] ldr r0, [sp, #0x1c] add r3, sp, #0x9c stmib sp, {r0, r7} ldr r3, [r3] mov r0, sb mov r1, r4 mov r2, r8 bl DoMoveDamageLowerDefensiveStatVariable mov sl, r0 b _023326CC _023305A4: ; 0x023305A4 str r1, [sp] ldr r0, [sp, #0x28] add r3, sp, #0x9c stmib sp, {r0, r7} ldr r3, [r3] mov r0, sb mov r1, r4 mov r2, r8 bl DoMoveDamageLowerDefensiveStatVariable mov sl, r0 b _023326CC _023305D0: ; 0x023305D0 mov r0, #2 str r0, [sp] ldr r0, [sp, #0x18] add r3, sp, #0x9c stmib sp, {r0, r7} ldr r3, [r3] mov r0, sb mov r1, r4 mov r2, r8 bl DoMoveDamageLowerDefensiveStatVariable mov sl, r0 b _023326CC _02330600: ; 0x02330600 add r3, sp, #0xa0 ldr r3, [r3] mov r0, sb mov r1, r4 mov r2, r8 str r7, [sp] bl DoMoveMetalClaw mov sl, r0 b _023326CC _02330624: ; 0x02330624 add r3, sp, #0xa0 ldr r3, [r3] mov r0, sb mov r1, r4 mov r2, r8 str r7, [sp] bl DoMoveSteelWing mov sl, r0 b _023326CC _02330648: ; 0x02330648 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePoisonTail mov sl, r0 b _023326CC _02330664: ; 0x02330664 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTwister mov sl, r0 b _023326CC _02330680: ; 0x02330680 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageLowerSpeed20 mov sl, r0 b _023326CC _0233069C: ; 0x0233069C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageBoostAllStats mov sl, r0 b _023326CC _023306B8: ; 0x023306B8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageConfuse10 mov sl, r0 b _023326CC _023306D4: ; 0x023306D4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMistBall mov sl, r0 b _023326CC _023306F0: ; 0x023306F0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageLowerSpecialDefense50 mov sl, r0 b _023326CC _0233070C: ; 0x0233070C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCrushClaw mov sl, r0 b _023326CC _02330728: ; 0x02330728 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamagePoison40 mov sl, r0 b _023326CC _02330744: ; 0x02330744 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSacredFire mov sl, r0 b _023326CC _02330760: ; 0x02330760 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveThundershock mov sl, r0 b _023326CC _0233077C: ; 0x0233077C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageParalyze10 mov sl, r0 b _023326CC _02330798: ; 0x02330798 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageCringe10 mov sl, r0 b _023326CC _023307B4: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageCringe20 mov sl, r0 b _023326CC _023307D0: ; 0x023307D0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHeadbutt mov sl, r0 b _023326CC _023307EC: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageCringe30 mov sl, r0 b _023326CC _02330808: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCrunch mov sl, r0 b _023326CC _02330824: ; 0x02330824 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveShadowBall mov sl, r0 b _023326CC _02330840: ; 0x02330840 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageConfuse30 mov sl, r0 b _023326CC _0233085C: ; 0x0233085C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTriAttack mov sl, r0 b _023326CC _02330878: ; 0x02330878 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMeteorMash mov sl, r0 b _023326CC _02330894: ; 0x02330894 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBlazeKick mov sl, r0 b _023326CC _023308B0: ; 0x023308B0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveAttract mov sl, r0 b _023326CC _023308CC: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveParalyze__02326E80 mov sl, r0 b _023326CC _023308E8: ; 0x023308E8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFakeOut mov sl, r0 b _023326CC _02330904: ; 0x02330904 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSonicBoom mov sl, r0 b _023326CC _02330920: ; 0x02330920 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDragonRage mov sl, r0 b _023326CC _0233093C: ; 0x0233093C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveParalyze__02328230 mov sl, r0 b _023326CC _02330958: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageParalyze20 mov sl, r0 b _023326CC _02330974: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSleep mov sl, r0 b _023326CC _02330990: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveYawn mov sl, r0 b _023326CC _023309AC: ; 0x023309AC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveThunderbolt mov sl, r0 b _023326CC _023309C8: ; 0x023309C8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBlock mov sl, r0 b _023326CC _023309E4: ; 0x023309E4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHornDrill mov sl, r0 b _023326CC _02330A00: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveConfuse mov sl, r0 b _023326CC _02330A1C: ; 0x02330A1C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePoison mov sl, r0 b _023326CC _02330A38: ; 0x02330A38 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveThunderWave mov sl, r0 b _023326CC _02330A54: ; 0x02330A54 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveParalyze__0232B434 mov sl, r0 b _023326CC _02330A70: ; 0x02330A70 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveZapCannon mov sl, r0 b _023326CC _02330A8C: ; 0x02330A8C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSuperpower mov sl, r0 b _023326CC _02330AA8: ; 0x02330AA8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageLowerSpeed100 mov sl, r0 b _023326CC _02330AC4: ; 0x02330AC4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDynamicPunch mov sl, r0 b _023326CC _02330AE0: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFakeTears mov sl, r0 b _023326CC _02330AFC: ; 0x02330AFC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBlowback mov sl, r0 b _023326CC _02330B18: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePainSplit mov sl, r0 b _023326CC _02330B34: ; 0x02330B34 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTailGlow mov sl, r0 b _023326CC _02330B50: ; 0x02330B50 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMinimize mov sl, r0 b _023326CC _02330B6C: ; 0x02330B6C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDragonDance mov sl, r0 b _023326CC _02330B88: ; 0x02330B88 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBulkUp mov sl, r0 b _023326CC _02330BA4: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBoostAttack1 mov sl, r0 b _023326CC _02330BC0: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRage mov sl, r0 b _023326CC _02330BDC: ; 0x02330BDC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSwordsDance mov sl, r0 b _023326CC _02330BF8: ; 0x02330BF8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCalmMind mov sl, r0 b _023326CC _02330C14: ; 0x02330C14 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveGrowth mov sl, r0 b _023326CC _02330C30: ; 0x02330C30 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveAmnesia mov sl, r0 b _023326CC _02330C4C: ; 0x02330C4C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDefenseCurl mov sl, r0 b _023326CC _02330C68: ; 0x02330C68 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBoostDefense2 mov sl, r0 b _023326CC _02330C84: ; 0x02330C84 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCosmicPower mov sl, r0 b _023326CC _02330CA0: ; 0x02330CA0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageLowerAccuracy40 mov sl, r0 b _023326CC _02330CBC: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveOctazooka mov sl, r0 b _023326CC _02330CD8: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveAuroraBeam mov sl, r0 b _023326CC _02330CF4: ; 0x02330CF4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePsychoBoost mov sl, r0 b _023326CC _02330D10: ; 0x02330D10 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveLowerSpeed1 mov sl, r0 b _023326CC _02330D2C: ; 0x02330D2C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveGrowl mov sl, r0 b _023326CC _02330D48: ; 0x02330D48 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFeatherDance mov sl, r0 b _023326CC _02330D64: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveScreech mov sl, r0 b _023326CC _02330D80: ; 0x02330D80 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSeismicToss mov sl, r0 b _023326CC _02330D9C: ; 0x02330D9C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveNightShade mov sl, r0 b _023326CC _02330DB8: ; 0x02330DB8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageDrain mov sl, r0 b _023326CC _02330DD4: ; 0x02330DD4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDoubleEdge mov sl, r0 b _023326CC _02330DF0: ; 0x02330DF0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageWithRecoil mov sl, r0 b _023326CC _02330E0C: ; 0x02330E0C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveAbsorb mov sl, r0 b _023326CC _02330E28: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSwagger mov sl, r0 b _023326CC _02330E44: ; 0x02330E44 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTripleKick mov sl, r0 b _023326CC _02330E60: ; 0x02330E60 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTwineedle mov sl, r0 b _023326CC _02330E7C: ; 0x02330E7C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSolarBeam mov sl, r0 b _023326CC _02330E98: ; 0x02330E98 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSkyAttack mov sl, r0 b _023326CC _02330EB4: ; 0x02330EB4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSlowDown mov sl, r0 b _023326CC _02330ED0: ; 0x02330ED0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageMultihitFatigue mov sl, r0 b _023326CC _02330EEC: ; 0x02330EEC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWrap mov sl, r0 b _023326CC _02330F08: ; 0x02330F08 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveUproar mov sl, r0 b _023326CC _02330F24: ; 0x02330F24 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePoisonFang mov sl, r0 b _023326CC _02330F40: ; 0x02330F40 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePresent mov sl, r0 b _023326CC _02330F5C: ; 0x02330F5C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveReflect mov sl, r0 b _023326CC _02330F78: ; 0x02330F78 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSandstorm mov sl, r0 b _023326CC _02330F94: ; 0x02330F94 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSafeguard mov sl, r0 b _023326CC _02330FB0: ; 0x02330FB0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMist mov sl, r0 b _023326CC _02330FCC: ; 0x02330FCC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveLightScreen mov sl, r0 b _023326CC _02330FE8: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageMultihitUntilMiss mov sl, r0 b _023326CC _02331004: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMemento mov sl, r0 b _023326CC _02331020: ; 0x02331020 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRecoverHpTeam mov sl, r0 b _023326CC _0233103C: ; 0x0233103C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSynthesis mov sl, r0 b _023326CC _02331058: ; 0x02331058 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMoonlight mov sl, r0 b _023326CC _02331074: ; 0x02331074 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRest mov sl, r0 b _023326CC _02331090: ; 0x02331090 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRecoverHp mov sl, r0 b _023326CC _023310AC: ; 0x023310AC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveScan mov sl, r0 b _023326CC _023310C8: ; 0x023310C8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSwapItems mov sl, r0 b _023326CC _023310E4: ; 0x023310E4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTakeaway mov sl, r0 b _023326CC _02331100: ; 0x02331100 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageStealItem mov sl, r0 b _023326CC _0233111C: ; 0x0233111C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBoostSpeed1 mov sl, r0 b _023326CC _02331138: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCounter mov sl, r0 b _023326CC _02331154: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBide mov sl, r0 b _023326CC _02331170: ; 0x02331170 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBideUnleash mov sl, r0 b _023326CC _0233118C: ; 0x0233118C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTrapper mov sl, r0 b _023326CC _023311A8: ; 0x023311A8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSleepTalk mov sl, r0 b _023326CC _023311C4: ; 0x023311C4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCurse mov sl, r0 b _023326CC _023311E0: ; 0x023311E0 mov r0, #0 str r0, [sp] mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHiJumpKick mov sl, r0 b _023326CC _02331204: ; 0x02331204 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBlastBurn mov sl, r0 b _023326CC _02331220: ; 0x02331220 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHiddenPower mov sl, r0 b _023326CC _0233123C: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRazorWind mov sl, r0 b _023326CC _02331258: ; 0x02331258 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFocusPunch mov sl, r0 b _023326CC _02331274: ; 0x02331274 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMagicCoat mov sl, r0 b _023326CC _02331290: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveNightmare mov sl, r0 b _023326CC _023312AC: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMorningSun mov sl, r0 b _023326CC _023312C8: ; 0x023312C8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveVacuumCut mov sl, r0 b _023326CC _023312E4: ; 0x023312E4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSport mov sl, r0 b _023326CC _02331300: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveIronTail mov sl, r0 b _023326CC _0233131C: ; 0x0233131C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveLowerDefense1 mov sl, r0 b _023326CC _02331338: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWillOWisp mov sl, r0 b _023326CC _02331354: ; 0x02331354 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveIngrain mov sl, r0 b _023326CC _02331370: ; 0x02331370 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePsywave mov sl, r0 b _023326CC _0233138C: ; 0x0233138C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveLeechSeed mov sl, r0 b _023326CC _023313A8: ; 0x023313A8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSpikes mov sl, r0 b _023326CC _023313C4: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHealStatus mov sl, r0 b _023326CC _023313E0: ; 0x023313E0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHaze mov sl, r0 b _023326CC _023313FC: ; 0x023313FC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePowerEars mov sl, r0 b _023326CC _02331418: ; 0x02331418 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSiesta mov sl, r0 b _023326CC _02331434: ; 0x02331434 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSmellingSalt mov sl, r0 b _023326CC _02331450: ; 0x02331450 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMagnitude mov sl, r0 b _023326CC _0233146C: ; 0x0233146C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSkullBash mov sl, r0 b _023326CC _02331488: ; 0x02331488 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWish mov sl, r0 b _023326CC _023314A4: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFlatter mov sl, r0 b _023326CC _023314C0: ; 0x023314C0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMudSlap mov sl, r0 b _023326CC _023314DC: ; 0x023314DC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveLowerAccuracy1 mov sl, r0 b _023326CC _023314F8: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveOverheat mov sl, r0 b _023326CC _02331514: ; 0x02331514 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveToxic mov sl, r0 b _023326CC _02331530: ; 0x02331530 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMetalSound mov sl, r0 b _023326CC _0233154C: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTorment mov sl, r0 b _023326CC _02331568: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSuperFang mov sl, r0 b _023326CC _02331584: ; 0x02331584 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamage__0232B8B0 mov sl, r0 b _023326CC _023315A0: ; 0x023315A0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTwoEdge mov sl, r0 b _023326CC _023315BC: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveEndeavor mov sl, r0 b _023326CC _023315D8: ; 0x023315D8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSwitchPositions mov sl, r0 b _023326CC _023315F4: ; 0x023315F4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDreamEater mov sl, r0 b _023326CC _02331610: ; 0x02331610 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSearchlight mov sl, r0 b _023326CC _0233162C: ; 0x0233162C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFillIn mov sl, r0 b _023326CC _02331648: ; 0x02331648 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWarp mov sl, r0 b _023326CC _02331664: ; 0x02331664 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDrought mov sl, r0 b _023326CC _02331680: ; 0x02331680 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSeeStairs mov sl, r0 b _023326CC _0233169C: ; 0x0233169C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBrickBreak mov sl, r0 b _023326CC _023316B8: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBoostDefense1 mov sl, r0 b _023326CC _023316D4: ; 0x023316D4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSureShot mov sl, r0 b _023326CC _023316F0: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveVitalThrow mov sl, r0 b _023326CC _0233170C: ; 0x0233170C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFly mov sl, r0 b _023326CC _02331728: ; 0x02331728 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBounce mov sl, r0 b _023326CC _02331744: ; 0x02331744 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDive mov sl, r0 b _023326CC _02331760: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDig mov sl, r0 b _023326CC _0233177C: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSweetScent mov sl, r0 b _023326CC _02331798: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDoubleTeam mov sl, r0 b _023326CC _023317B4: ; 0x023317B4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveKnockOff mov sl, r0 b _023326CC _023317D0: ; 0x023317D0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTrapBuster mov sl, r0 b _023326CC _023317EC: ; 0x023317EC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveLongToss mov sl, r0 b _023326CC _02331808: ; 0x02331808 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePierce mov sl, r0 b _023326CC _02331824: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveGrudge mov sl, r0 b _023326CC _02331840: ; 0x02331840 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePetrify mov sl, r0 b _023326CC _0233185C: ; 0x0233185C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveAssist mov sl, r0 b _023326CC _02331878: ; 0x02331878 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSetDamage mov sl, r0 b _023326CC _02331894: ; 0x02331894 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveShocker mov sl, r0 b _023326CC _023318B0: ; 0x023318B0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDecoy mov sl, r0 b _023326CC _023318CC: ; 0x023318CC mov r0, #0 str r0, [sp] mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveJumpKick mov sl, r0 b _023326CC _023318F0: ; 0x023318F0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveProtect mov sl, r0 b _023326CC _0233190C: ; 0x0233190C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTaunt mov sl, r0 b _023326CC _02331928: ; 0x02331928 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTickle mov sl, r0 b _023326CC _02331944: ; 0x02331944 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveReversal mov sl, r0 b _023326CC _02331960: ; 0x02331960 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSelfdestruct mov sl, r0 b _023326CC _0233197C: ; 0x0233197C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveExplosion mov sl, r0 b _023326CC _02331998: ; 0x02331998 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCharge mov sl, r0 b _023326CC _023319B4: ; 0x023319B4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFacade mov sl, r0 b _023326CC _023319D0: ; 0x023319D0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageWeightDependent mov sl, r0 b _023326CC _023319EC: ; 0x023319EC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWaterSpout mov sl, r0 b _023326CC _02331A08: ; 0x02331A08 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveEruption mov sl, r0 b _023326CC _02331A24: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSmokescreen mov sl, r0 b _023326CC _02331A40: ; 0x02331A40 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSeeTrap mov sl, r0 b _023326CC _02331A5C: ; 0x02331A5C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveStockpile mov sl, r0 b _023326CC _02331A78: ; 0x02331A78 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSpitUp mov sl, r0 b _023326CC _02331A94: ; 0x02331A94 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSwallow mov sl, r0 b _023326CC _02331AB0: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRainDance mov sl, r0 b _023326CC _02331ACC: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSpite mov sl, r0 b _023326CC _02331AE8: ; 0x02331AE8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveInvisify mov sl, r0 b _023326CC _02331B04: ; 0x02331B04 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMirrorCoat mov sl, r0 b _023326CC _02331B20: ; 0x02331B20 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePerishSong mov sl, r0 b _023326CC _02331B3C: ; 0x02331B3C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRapidSpin mov sl, r0 b _023326CC _02331B58: ; 0x02331B58 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDestinyBond mov sl, r0 b _023326CC _02331B74: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveEncore mov sl, r0 b _023326CC _02331B90: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWeatherBall mov sl, r0 b _023326CC _02331BAC: ; 0x02331BAC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSunnyDay mov sl, r0 b _023326CC _02331BC8: ; 0x02331BC8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePayDay mov sl, r0 b _023326CC _02331BE4: ; 0x02331BE4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveOneRoom mov sl, r0 b _023326CC _02331C00: ; 0x02331C00 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveEndure mov sl, r0 b _023326CC _02331C1C: ; 0x02331C1C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHelpingHand mov sl, r0 b _023326CC _02331C38: ; 0x02331C38 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBellyDrum mov sl, r0 b _023326CC _02331C54: ; 0x02331C54 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFamish mov sl, r0 b _023326CC _02331C70: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCharm mov sl, r0 b _023326CC _02331C8C: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBubble mov sl, r0 b _023326CC _02331CA8: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveStringShot mov sl, r0 b _023326CC _02331CC4: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRockSmash mov sl, r0 b _023326CC _02331CE0: ; 0x02331CE0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTransform mov sl, r0 b _023326CC _02331CFC: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHail mov sl, r0 b _023326CC _02331D18: ; 0x02331D18 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMobile mov sl, r0 b _023326CC _02331D34: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveExpose mov sl, r0 b _023326CC _02331D50: ; 0x02331D50 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSplash mov sl, r0 b _023326CC _02331D6C: ; 0x02331D6C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTransfer mov sl, r0 b _023326CC _02331D88: ; 0x02331D88 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveStayAway mov sl, r0 b _023326CC _02331DA4: ; 0x02331DA4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBeatUp mov sl, r0 b _023326CC _02331DC0: ; 0x02331DC0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRebound mov sl, r0 b _023326CC _02331DDC: ; 0x02331DDC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePause mov sl, r0 b _023326CC _02331DF8: ; 0x02331DF8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWildCall mov sl, r0 b _023326CC _02331E14: ; 0x02331E14 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveReviver mov sl, r0 b _023326CC _02331E30: ; 0x02331E30 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveEscape mov sl, r0 b _023326CC _02331E4C: ; 0x02331E4C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSecretPower mov sl, r0 b _023326CC _02331E68: ; 0x02331E68 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveNaturePower mov sl, r0 b _023326CC _02331E84: ; 0x02331E84 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveItemize mov sl, r0 b _023326CC _02331EA0: ; 0x02331EA0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSketch movs sl, r0 movne r0, #1 strne r0, [sp, #0x58] b _023326CC _02331EC4: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMirrorMove mov sl, r0 b _023326CC _02331EE0: ; 0x02331EE0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRolePlay mov sl, r0 b _023326CC _02331EFC: ; 0x02331EFC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSkillSwap mov sl, r0 b _023326CC _02331F18: ; 0x02331F18 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveConversion mov sl, r0 b _023326CC _02331F34: ; 0x02331F34 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCleanse mov sl, r0 b _023326CC _02331F50: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveReturn mov sl, r0 b _023326CC _02331F6C: ; 0x02331F6C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSnatch mov sl, r0 b _023326CC _02331F88: ; 0x02331F88 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCamouflage mov sl, r0 b _023326CC _02331FA4: ; 0x02331FA4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFrustration mov sl, r0 b _023326CC _02331FC0: ; 0x02331FC0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePsychUp mov sl, r0 b _023326CC _02331FDC: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveSnore mov sl, r0 b _023326CC _02331FF8: ; 0x02331FF8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRecycle mov sl, r0 b _023326CC _02332014: ; 0x02332014 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveNoMove mov sl, r0 b _023326CC _02332030: ; 0x02332030 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMetronome mov sl, r0 b _023326CC _0233204C: ; 0x0233204C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHpGauge mov sl, r0 b _023326CC _02332068: ; 0x02332068 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveConversion2 mov sl, r0 b _023326CC _02332084: ; 0x02332084 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePounce mov sl, r0 b _023326CC _023320A0: ; 0x023320A0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTrawl mov sl, r0 b _023326CC _023320BC: ; 0x023320BC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCopycat mov sl, r0 b _023326CC _023320D8: mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHurl mov sl, r0 b _023326CC _023320F4: ; 0x023320F4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveEcho mov sl, r0 b _023326CC _02332110: ; 0x02332110 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHammerArm mov sl, r0 b _023326CC _0233212C: ; 0x0233212C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveAquaRing mov sl, r0 b _023326CC _02332148: ; 0x02332148 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveGastroAcid mov sl, r0 b _023326CC _02332164: ; 0x02332164 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHealingWish mov sl, r0 b _023326CC _02332180: ; 0x02332180 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCloseCombat mov sl, r0 b _023326CC _0233219C: ; 0x0233219C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveLuckyChant mov sl, r0 b _023326CC _023321B8: ; 0x023321B8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveGuardSwap mov sl, r0 b _023326CC _023321D4: ; 0x023321D4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHealOrder mov sl, r0 b _023326CC _023321F0: ; 0x023321F0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHealBlock mov sl, r0 b _023326CC _0233220C: ; 0x0233220C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveThunderFang mov sl, r0 b _023326CC _02332228: ; 0x02332228 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDefog mov sl, r0 b _023326CC _02332244: ; 0x02332244 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTrumpCard mov sl, r0 b _023326CC _02332260: ; 0x02332260 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveIceFang mov sl, r0 b _023326CC _0233227C: ; 0x0233227C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePsychoShift mov sl, r0 b _023326CC _02332298: ; 0x02332298 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveEmbargo mov sl, r0 b _023326CC _023322B4: ; 0x023322B4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFireFang mov sl, r0 b _023326CC _023322D0: ; 0x023322D0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveBrine mov sl, r0 b _023326CC _023322EC: ; 0x023322EC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveNaturalGift mov sl, r0 b _023326CC _02332308: ; 0x02332308 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveGyroBall mov sl, r0 b _023326CC _02332324: ; 0x02332324 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveShadowForce mov sl, r0 b _023326CC _02332340: ; 0x02332340 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveGravity mov sl, r0 b _023326CC _0233235C: ; 0x0233235C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveStealthRock mov sl, r0 b _023326CC _02332378: ; 0x02332378 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveChargeBeam mov sl, r0 b _023326CC _02332394: ; 0x02332394 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageEatItem mov sl, r0 b _023326CC _023323B0: ; 0x023323B0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveAcupressure mov sl, r0 b _023326CC _023323CC: ; 0x023323CC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMagnetRise mov sl, r0 b _023326CC _023323E8: ; 0x023323E8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveToxicSpikes mov sl, r0 b _023326CC _02332404: ; 0x02332404 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTrickRoom mov sl, r0 b _023326CC _02332420: ; 0x02332420 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveLastResort mov sl, r0 b _023326CC _0233243C: ; 0x0233243C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWorrySeed mov sl, r0 b _023326CC _02332458: ; 0x02332458 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDamageHpDependent mov sl, r0 b _023326CC _02332474: ; 0x02332474 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHeartSwap mov sl, r0 b _023326CC _02332490: ; 0x02332490 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRoost mov sl, r0 b _023326CC _023324AC: ; 0x023324AC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePowerSwap mov sl, r0 b _023326CC _023324C8: ; 0x023324C8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMovePowerTrick mov sl, r0 b _023326CC _023324E4: ; 0x023324E4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFeint mov sl, r0 b _023326CC _02332500: ; 0x02332500 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveFlareBlitz mov sl, r0 b _023326CC _0233251C: ; 0x0233251C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveDefendOrder mov sl, r0 b _023326CC _02332538: ; 0x02332538 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveLunarDance mov sl, r0 b _023326CC _02332554: ; 0x02332554 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMiracleEye mov sl, r0 b _023326CC _02332570: ; 0x02332570 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveWakeUpSlap mov sl, r0 b _023326CC _0233258C: ; 0x0233258C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveMetalBurst mov sl, r0 b _023326CC _023325A8: ; 0x023325A8 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveHeadSmash mov sl, r0 b _023326CC _023325C4: ; 0x023325C4 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveCaptivate mov sl, r0 b _023326CC _023325E0: ; 0x023325E0 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveLeafStorm mov sl, r0 b _023326CC _023325FC: ; 0x023325FC ldr r0, [sp, #0x78] mov r1, r4 str r0, [sp] mov r0, sb mov r2, r8 mov r3, r7 bl DoMoveDracoMeteor mov sl, r0 b _023326CC _02332620: ; 0x02332620 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveRockPolish mov sl, r0 b _023326CC _0233263C: ; 0x0233263C mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveNastyPlot mov sl, r0 b _023326CC _02332658: ; 0x02332658 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTag0x1AB mov sl, r0 b _023326CC _02332674: ; 0x02332674 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl ov29_0232E744 mov sl, r0 b _023326CC _02332690: ; 0x02332690 mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTag0x1A6 mov sl, r0 b _023326CC _023326AC: ; 0x023326AC mov r0, sb mov r1, r4 mov r2, r8 mov r3, r7 bl DoMoveTag0x1A7 mov sl, r0 b _023326CC _023326C8: mov sl, #0 _023326CC: cmp sl, #0 ldreq r0, [sp, #0x74] addeq r0, r0, #1 moveq r0, r0, lsl #0x10 moveq r0, r0, asr #0x10 streq r0, [sp, #0x74] beq _02332704 ldr r0, [sp, #0x78] ldr r1, _023329D4 ; =ov29_02353718 add r0, r0, #1 mov r0, r0, lsl #0x10 str r4, [r1] mov r0, r0, asr #0x10 str r0, [sp, #0x78] _02332704: bl IsFloorOver cmp r0, #0 bne _02332830 mov r0, sb bl EntityIsValid__0232E840 cmp r0, #0 beq _02332738 ldr r0, _023329D8 ; =0x000001F6 cmp r6, r0 bne _02332738 bl IsFloorOver cmp r0, #0 bne _02332830 _02332738: ldr r0, [sp, #0x6c] bl EntityIsValid__0232E840 cmp r0, #0 beq _0233275C ldr r0, [sp, #0x6c] mov r1, r0 ldr r1, [r1, #0xb4] ldrb r1, [r1, #0x4c] bl ov29_02304A48 _0233275C: cmp sl, #0 bne _02332790 mov r0, sb bl EntityIsValid__0232E840 cmp r0, #0 beq _023327C8 mov r0, r4 bl EntityIsValid__0232E840 cmp r0, #0 ldrneb r0, [r5, #6] cmpne r0, #0 strneb fp, [r5, #0x108 + EXECUTE_MOVE_EFFECT_OFFSET_2] b _023327C8 _02332790: mov r0, r8 bl IsHyperBeamVariant cmp r0, #0 beq _023327C8 ldr r0, [sp, #0x58] cmp r0, #0 bne _023327C8 mov r0, sb mov r1, #0 bl DungeonRandOutcomeUserAction cmp r0, #0 ldrne r0, _023329DC ; =ov29_0237CA68 movne r1, #1 strneb r1, [r0] _023327C8: mov r0, r4 bl EntityIsValid__0232E840 cmp r0, #0 movne r0, #1 strneb r0, [r5, #0x162 + EXECUTE_MOVE_EFFECT_OFFSET] cmp r6, #0x89 beq _02332818 mov r0, sb bl TryActivateNondamagingDefenderAbility mov r0, sb mov r1, r4 bl TryActivateNondamagingDefenderExclusiveItem mov r0, sb mov r1, r4 mov r2, r8 bl TryActivateTraceAndColorChange mov r1, r4 mov r0, sb mov r2, r8 bl TryActivateConversion2 _02332818: ldr r0, [sp, #0x7c] add r0, r0, #1 str r0, [sp, #0x7c] _02332824: ldr r0, [sp, #0x7c] cmp r0, #0x40 blt _0232E92C _02332830: ldr r0, [sp, #0x80] cmp r0, #0 beq _02332858 mov r0, sb bl EntityIsValid__0232E840 cmp r0, #0 ldrne r1, [sb, #0xb4] movne r0, #0 strneb r0, [r1, #0x166 + EXECUTE_MOVE_EFFECT_OFFSET] strneb r0, [r1, #0x167 + EXECUTE_MOVE_EFFECT_OFFSET] _02332858: mov r0, r6 bl IsHealingWishOrLunarDance cmp r0, #0 beq _0233289C mov r0, sb bl EntityIsValid__0232E840 cmp r0, #0 beq _0233289C ldr r0, [sb, #0xb4] ldr r3, _023329E0 ; =0x0000023A ldrsh r1, [r0, #0x10] mov r0, sb mov r2, #0x17 sub r1, r1, #1 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl ApplyDamageAndEffectsWrapper _0233289C: ldr r0, [sp, #0x70] cmp r0, #0 ldrle r0, [sp, #0x74] cmple r0, #0 ble _02332930 mov r0, sb bl EntityIsValid__0232E840 cmp r0, #0 beq _02332930 cmp r7, #0 bne _02332930 ldr r0, [sb, #0xb4] ldrb r0, [r0, #0xbd] cmp r0, #1 cmpne r6, #0xe3 beq _02332930 mov r0, sb mov r1, #0x2d bl IqSkillIsEnabled cmp r0, #0 beq _02332930 mov r0, sb mov r1, r8 mov r2, #0 bl GetEntityMoveTargetAndRange and r0, r0, #0xf0 cmp r0, #0x50 beq _02332930 ldrb r1, [sb, #0xb0] ldr r3, _023329E4 ; =0x00000EC2 mov r0, sb add r1, r1, #4 mov r2, r1, lsr #0x1f rsb r1, r2, r1, lsl #29 add r1, r2, r1, ror #29 mov r2, #1 bl ov29_023201D0 _02332930: bl IsFloorOver cmp r0, #0 bne _023329CC mov r0, sb bl EntityIsValid__0232E840 cmp r0, #0 ldrne r4, [sb, #0xb4] ldrneb r0, [r4, #0x15e + EXECUTE_MOVE_EFFECT_OFFSET] cmpne r0, #0 beq _02332970 mov r2, #0 mov r0, sb mov r1, sb mov r3, r2 strb r2, [r4, #0x15e + EXECUTE_MOVE_EFFECT_OFFSET] bl TryWarp _02332970: mov r0, sb bl EntityIsValid__0232E840 cmp r0, #0 beq _023329CC ldr r4, [sb, #0xb4] ldrb r0, [r4, #0x15f + EXECUTE_MOVE_EFFECT_OFFSET] cmp r0, #0 beq _023329B8 add r0, sp, #0x9c mov r5, #0 strb r5, [r4, #0x15f + EXECUTE_MOVE_EFFECT_OFFSET] ldr r2, [r0] str r5, [sp] mov r0, sb mov r1, sb mov r3, #2 str r5, [sp, #4] bl LowerOffensiveStat _023329B8: ldrh r1, [r8, #4] ldr r0, _023329D8 ; =0x000001F6 cmp r1, r0 moveq r0, #0 streqb r0, [r4, #0x170 + EXECUTE_MOVE_EFFECT_OFFSET] _023329CC: add sp, sp, #0xf0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _023329D4: .word ov29_02353718 _023329D8: .word 0x000001F6 _023329DC: .word ov29_0237CA68 _023329E0: .word 0x0000023A _023329E4: .word 0x00000EC2 + EXECUTE_MOVE_EFFECT_DATA_OFFSET arm_func_end ExecuteMoveEffect