Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
snowman_doll.c
Go to the documentation of this file.
1#include "common.h"
2#include "script_api/battle.h"
3#include "effects.h"
4#include "model.h"
5#include "sprite/player.h"
6
7#define NAMESPACE battle_item_snowman_doll
8
10
11API_CALLABLE(N(func_802A123C_71C06C)) {
12 Bytecode* args = script->ptrReadPos;
13 s32 x = evt_get_variable(script, *args++);
14 s32 y = evt_get_variable(script, *args++);
15 s32 z = evt_get_variable(script, *args++);
16
17 fx_sparkles(FX_SPARKLES_2, x, y, z, 30.0f);
18 fx_sparkles(FX_SPARKLES_2, x, y, z, 30.0f);
19
20 return ApiStatus_DONE2;
21}
22
25
27
33 Thread
34 Loop(45)
35 Call(RandInt, 300, LVar0)
36 Sub(LVar0, 150)
37 Set(LVar1, 170)
38 Call(RandInt, 50, LVar2)
39 Sub(LVar2, 25)
41 Wait(2)
44 Wait(10)
47 Wait(50)
48 PlayEffect(EFFECT_SNOWMAN_DOLL, 0, 0, 0, 20, Float(1.0), 160, 0)
49 Thread
50 Wait(17)
53 Call(ShakeCam, CAM_BATTLE, 0, 5, Float(1.0))
54 Wait(46)
57 Call(ShakeCam, CAM_BATTLE, 0, 5, Float(1.0))
58 Wait(25)
61 Call(ShakeCam, CAM_BATTLE, 0, 5, Float(1.0))
62 Wait(25)
65 Call(ShakeCam, CAM_BATTLE, 0, 5, Float(1.0))
67 Wait(15)
69 Call(ShakeCam, CAM_BATTLE, 0, 5, Float(1.0))
70 Call(ShakeCam, CAM_BATTLE, 0, 10, Float(2.0))
71 Call(ShakeCam, CAM_BATTLE, 0, 5, Float(1.0))
72 Wait(110)
74 Label(0)
78 Goto(1)
79 EndIf
84 Wait(5)
85 Label(1)
88 Goto(0)
89 EndIf
91 Wait(30)
94 Return
95 End
96};
BSS s32 PopupMenu_SelectedIndex
Bytecode EvtScript[]
@ FX_SPARKLES_2
Definition effects.h:236
@ BS_FLAGS1_TRIGGER_EVENTS
Definition enums.h:3608
@ ITER_NO_MORE
Definition enums.h:2063
@ ITER_NEXT
Definition enums.h:2058
@ HIT_RESULT_MISS
Definition enums.h:1982
@ BTL_CAM_VIEW_ENEMIES
Definition enums.h:4410
@ SOUND_WINTERY_JINGLE
Definition enums.h:1174
@ SOUND_SNOWMAN_DOLL_JUMP
Definition enums.h:1354
@ BTL_RUMBLE_PLAYER_HEAVY
Definition enums.h:3860
@ BTL_RUMBLE_PLAYER_EXTREME
Definition enums.h:3861
@ ACTOR_PLAYER
Definition enums.h:2118
@ ACTOR_SELF
Definition enums.h:2117
@ CAM_BATTLE
Definition enums.h:1827
@ DAMAGE_TYPE_ICE
Definition enums.h:2888
@ DAMAGE_TYPE_IGNORE_DEFENSE
Definition enums.h:2911
@ DAMAGE_TYPE_NO_CONTACT
Definition enums.h:2912
@ DAMAGE_TYPE_MULTIPLE_POPUPS
Definition enums.h:2913
#define ApiStatus_DONE2
Definition evt.h:119
s32 Bytecode
Definition evt.h:7
s32 evt_get_variable(Evt *script, Bytecode var)
Definition evt.c:1725
ApiStatus FadeBackgroundLighten(Evt *script, b32 isInitialCall)
ApiStatus FadeBackgroundDarken(Evt *script, b32 isInitialCall)
ApiStatus RandInt(Evt *script, b32 isInitialCall)
ApiStatus ShakeCam(Evt *script, b32 isInitialCall)
ApiStatus GetItemPower(Evt *script, b32 isInitialCall)
#define Set(VAR, INT_VALUE)
Sets the given variable to a given value casted to an integer.
Definition macros.h:366
#define Sub(VAR, INT_VALUE)
Definition macros.h:378
#define IfNe(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR != RVAR.
Definition macros.h:273
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
Definition macros.h:214
#define EndLoop
Marks the end of a loop.
Definition macros.h:249
#define Goto(LABEL_ID)
Moves execution to the given label.
Definition macros.h:233
#define Float(DOUBLE)
Definition macros.h:52
#define Label(LABEL_ID)
Marks this point in the script as a Goto target.
Definition macros.h:228
#define EndIf
Marks the end of an if statement or an else block.
Definition macros.h:299
#define ExecWait(EVT_SOURCE)
Launches a new child thread.
Definition macros.h:476
#define Thread
Marks the start of a thread block.
Definition macros.h:545
#define EndThread
Marks the end of a thread block.
Definition macros.h:548
#define LVar2
Definition macros.h:151
#define LVar1
Definition macros.h:150
#define LVarA
Definition macros.h:159
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
Definition macros.h:255
#define PlayEffect(args...)
Definition macros.h:811
#define IfEq(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR == RVAR.
Definition macros.h:270
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
Definition macros.h:577
#define Loop(TIMES)
Marks the beginning of a loop.
Definition macros.h:246
#define LVar0
Definition macros.h:149
#define SetConst(VAR, CONST)
Sets the given variable to a given value, skipping the evt_get_variable call.
Definition macros.h:371
#define Return
Kills the current EVT thread.
Definition macros.h:218