mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
4677 lines
77 KiB
ArmAsm
4677 lines
77 KiB
ArmAsm
.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
|