pokeemerald/asm/fldeff_strength.s
2017-09-15 14:26:01 -04:00

94 lines
1.6 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start hm_prepare_rocksmash
hm_prepare_rocksmash: @ 8145DC4
push {r4,lr}
movs r0, 0x57
bl npc_before_player_of_type
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08145DD8
movs r0, 0
b _08145DF2
_08145DD8:
ldr r4, =gScriptResult
bl brm_get_pokemon_selection
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
ldr r1, =gUnknown_03005DB0
ldr r0, =hm_add_c3_launch_phase_2
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_8145E0C
str r0, [r1]
movs r0, 0x1
_08145DF2:
pop {r4}
pop {r1}
bx r1
.pool
thumb_func_end hm_prepare_rocksmash
thumb_func_start sub_8145E0C
sub_8145E0C: @ 8145E0C
push {lr}
bl brm_get_pokemon_selection
ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
ldr r0, =gUnknown_082908FD
bl ScriptContext1_SetupScript
pop {r0}
bx r0
.pool
thumb_func_end sub_8145E0C
thumb_func_start sub_8145E2C
sub_8145E2C: @ 8145E2C
push {lr}
bl oei_task_add
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
ldr r2, =sub_8145E74
lsrs r0, r2, 16
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
ldr r0, =gFieldEffectSpawnParams
ldr r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
ldr r1, =gStringVar1
bl GetMonNickname
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sub_8145E2C
thumb_func_start sub_8145E74
sub_8145E74: @ 8145E74
push {lr}
movs r0, 0x28
bl FieldEffectActiveListRemove
bl EnableBothScriptContexts
pop {r0}
bx r0
thumb_func_end sub_8145E74
.align 2, 0 @ Don't pad with nop.