summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fldeff_softboiled.c19
-rw-r--r--src/fldeff_strength.c46
-rw-r--r--src/unk_8159F40.c2
3 files changed, 57 insertions, 10 deletions
diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c
index a31678669..2a3d68e70 100644
--- a/src/fldeff_softboiled.c
+++ b/src/fldeff_softboiled.c
@@ -4,11 +4,12 @@
#include "string_util.h"
#include "menu.h"
#include "constants/songs.h"
+#include "fldeff.h"
-void sub_80E57E8(u8 taskId);
-void sub_80E583C(u8 taskId);
-void sub_80E58A0(u8 taskId);
-void sub_80E5934(u8 taskId);
+static void sub_80E57E8(u8 taskId);
+static void sub_80E583C(u8 taskId);
+static void sub_80E58A0(u8 taskId);
+static void sub_80E5934(u8 taskId);
extern const u8 gUnknown_84169F8[];
extern const u8 gUnknown_8416F27[];
@@ -61,13 +62,13 @@ void sub_80E5724(u8 taskId)
}
}
-void sub_80E57E8(u8 taskId)
+static void sub_80E57E8(u8 taskId)
{
PlaySE(SE_KAIFUKU);
sub_8120760(taskId, gUnknown_203B0A0.unkA, 1, GetMonData(&gPlayerParty[gUnknown_203B0A0.unk9], MON_DATA_MAX_HP) / 5, sub_80E583C);
}
-void sub_80E583C(u8 taskId)
+static void sub_80E583C(u8 taskId)
{
GetMonNickname(&gPlayerParty[gUnknown_203B0A0.unkA], gStringVar1);
StringExpandPlaceholders(gStringVar4, gUnknown_8416F27);
@@ -76,7 +77,7 @@ void sub_80E583C(u8 taskId)
gTasks[taskId].func = sub_80E58A0;
}
-void sub_80E58A0(u8 taskId)
+static void sub_80E58A0(u8 taskId)
{
if (sub_8120370() != TRUE)
{
@@ -91,7 +92,7 @@ void sub_80E58A0(u8 taskId)
}
}
-void sub_80E5900(u8 taskId)
+static void sub_80E5900(u8 taskId)
{
if (sub_8120370() != TRUE)
{
@@ -100,7 +101,7 @@ void sub_80E5900(u8 taskId)
}
}
-void sub_80E5934(u8 taskId)
+static void sub_80E5934(u8 taskId)
{
PlaySE(SE_SELECT);
sub_81202F8(gUnknown_84169F8, 0);
diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c
new file mode 100644
index 000000000..95ba95061
--- /dev/null
+++ b/src/fldeff_strength.c
@@ -0,0 +1,46 @@
+#include "global.h"
+#include "field_player_avatar.h"
+#include "field_effect.h"
+#include "party_menu.h"
+#include "event_data.h"
+#include "script.h"
+#include "fldeff.h"
+#include "event_scripts.h"
+
+static void FldEff_UseStrength(void);
+static void sub_80D08A8(void);
+
+bool8 SetUpFieldMove_Strength(void)
+{
+ if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) || CheckObjectGraphicsInFrontOfPlayer(0x61) != TRUE)
+ {
+ return FALSE;
+ }
+ else
+ {
+ gSpecialVar_Result = GetCursorSelectionMonId();
+ gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
+ gPostMenuFieldCallback = FldEff_UseStrength;
+ return TRUE;
+ }
+}
+static void FldEff_UseStrength(void)
+{
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+ ScriptContext1_SetupScript(EventScript_FldEffStrength);
+}
+
+bool8 sub_80D0860(void)
+{
+ u8 taskId = oei_task_add();
+ gTasks[taskId].data[8] = (u32)sub_80D08A8 >> 16;
+ gTasks[taskId].data[9] = (u32)sub_80D08A8;
+ GetMonNickname(&gPlayerParty[gFieldEffectArguments[0]], gStringVar1);
+ return FALSE;
+}
+
+static void sub_80D08A8(void)
+{
+ FieldEffectActiveListRemove(FLDEFF_USE_STRENGTH);
+ EnableBothScriptContexts();
+}
diff --git a/src/unk_8159F40.c b/src/unk_8159F40.c
index a6f6e67fc..b0147d06a 100644
--- a/src/unk_8159F40.c
+++ b/src/unk_8159F40.c
@@ -612,7 +612,7 @@ void sub_815A540(void)
s16 x, y;
PlayerGetDestCoords(&x, &y);
- if (!MetatileBehavior_IsSurfable(MapGridGetMetatileBehaviorAt(x, y)) && TestPlayerAvatarFlags(0x08))
+ if (!MetatileBehavior_IsSurfable(MapGridGetMetatileBehaviorAt(x, y)) && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
{
struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId];
SetPlayerAvatarTransitionFlags(0x01);