summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsceptillion <33798691+sceptillion@users.noreply.github.com>2017-11-19 00:20:19 -0800
committersceptillion <33798691+sceptillion@users.noreply.github.com>2017-11-19 00:20:19 -0800
commit557fd1958dca6dfed792e584bd16e47282697963 (patch)
tree9126d1eebc51c569892188132132ce8f342b73b7 /src
parent9baa39f7082acfb1eb8b75603e440773504ad206 (diff)
decompile fldeff_poison
Diffstat (limited to 'src')
-rw-r--r--src/field/fldeff_poison.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/field/fldeff_poison.c b/src/field/fldeff_poison.c
new file mode 100644
index 000000000..b751ee564
--- /dev/null
+++ b/src/field/fldeff_poison.c
@@ -0,0 +1,43 @@
+#include "global.h"
+#include "task.h"
+#include "songs.h"
+#include "sound.h"
+
+static void Task_FieldPoisonEffect(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ data[1] += 2;
+ if (data[1] > 8)
+ {
+ data[0]++;
+ }
+ break;
+ case 1:
+ data[1] -= 2;
+ if (data[1] == 0)
+ {
+ data[0]++;
+ }
+ break;
+ case 2:
+ DestroyTask(taskId);
+ return;
+ }
+
+ REG_MOSAIC = (data[1] << 4) | data[1];
+}
+
+void DoFieldPoisonEffect()
+{
+ PlaySE(SE_DOKU);
+ CreateTask(Task_FieldPoisonEffect, 80);
+}
+
+bool8 FieldPoisonEffectIsRunning(void)
+{
+ return FuncIsActiveTask(Task_FieldPoisonEffect);
+}