diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-07-29 21:10:54 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-07-29 21:10:54 -0400 |
commit | e130a00cdf69c58dbff8e98a69559aeb33f87b60 (patch) | |
tree | e128e502a2229f5d934f0436a0eb31dc86350bbb /src/fldeff_dig.c | |
parent | ef4c86fbfdd18b78700f61b629907a85579197c0 (diff) | |
parent | d4cc0e161bf103d3d3e01fefa02e867d4a2053c2 (diff) |
Merge branch 'master' into slot_machine
Diffstat (limited to 'src/fldeff_dig.c')
-rw-r--r-- | src/fldeff_dig.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c new file mode 100644 index 000000000..3a28c1adc --- /dev/null +++ b/src/fldeff_dig.c @@ -0,0 +1,48 @@ +#include "global.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "fldeff.h" +#include "item_use.h" +#include "overworld.h" +#include "party_menu.h" +#include "sprite.h" +#include "constants/map_objects.h" + +static void FieldCallback_Dig(void); +static void sub_80C9AFC(void); + +bool8 SetUpFieldMove_Dig(void) +{ + if (CanUseEscapeRopeOnCurrMap() == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_Dig; + return TRUE; + } + return FALSE; +} + +static void FieldCallback_Dig(void) +{ + Overworld_ResetStateAfterDigEscRope(); + FieldEffectStart(FLDEFF_USE_DIG); + gFieldEffectArguments[0] = GetCursorSelectionMonId(); +} + +bool8 FldEff_UseDig(void) +{ + u8 taskId = oei_task_add(); + + FLDEFF_SET_FUNC_TO_DATA(sub_80C9AFC); + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); + return FALSE; +} + +static void sub_80C9AFC(void) +{ + u8 taskId; + + FieldEffectActiveListRemove(FLDEFF_USE_DIG); + taskId = CreateTask(sub_80A1C44, 8); + gTasks[taskId].data[0] = 0; +} |