Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
HeartPlant.inc.c
Go to the documentation of this file.
1#include "HeartPlant.h"
2
4
6
9 Call(SetSelfVar, 0, 0)
10 Call(SetSelfVar, 1, 0)
11 Return
12 End
13};
14
16 Wait(45)
18 Return
19 End
20};
21
24 IfEq(LVar0, 0)
25 Call(SetSelfVar, 1, 1)
28 Wait(1)
31 Thread
34 Wait(45)
35 Call(SetSelfVar, 1, 0)
38 EndIf
39 Return
40 End
41};
42
44 .height = 20,
45 .radius = 28,
46 .level = ACTOR_LEVEL_NONE,
47 .otherAI = &N(EVS_NpcAuxAI_HeartPlant),
48 .onInteract = &N(EVS_NpcInteract_HeartPlant),
49};
50
51#define HEART_PLANT_FLAGS \
52 ENEMY_FLAG_PASSIVE | ENEMY_FLAG_DO_NOT_KILL | ENEMY_FLAG_IGNORE_WORLD_COLLISION | ENEMY_FLAG_IGNORE_ENTITY_COLLISION | \
53 ENEMY_FLAG_FLYING | ENEMY_FLAG_USE_INSPECT_ICON | ENEMY_FLAG_DO_NOT_AUTO_FACE_PLAYER
BSS s32 PopupMenu_SelectedIndex
Bytecode EvtScript[]
@ NPC_SELF
Definition enums.h:2526
@ SOUND_HEART_PLANT
Definition enums.h:1445
@ SOUND_SPACE_DEFAULT
Definition enums.h:1737
s16 height
Definition npc.h:145
ApiStatus PlaySoundAtNpc(Evt *script, b32 isInitialCall)
ApiStatus BindNpcInteract(Evt *script, b32 isInitialCall)
ApiStatus EnableNpcShadow(Evt *script, b32 isInitialCall)
ApiStatus SetNpcAnimation(Evt *script, b32 isInitialCall)
ApiStatus SetSelfVar(Evt *script, b32 isInitialCall)
ApiStatus GetSelfVar(Evt *script, b32 isInitialCall)
#define Ref(sym)
Address/pointer constant.
Definition macros.h:60
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
Definition macros.h:213
#define EndIf
Marks the end of an if statement or an else block.
Definition macros.h:298
#define Thread
Marks the start of a thread block.
Definition macros.h:544
#define EndThread
Marks the end of a thread block.
Definition macros.h:547
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
Definition macros.h:254
#define IfEq(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR == RVAR.
Definition macros.h:269
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
Definition macros.h:576
#define LVar0
Definition macros.h:148
#define Exec(EVT_SOURCE)
Launches a new thread.
Definition macros.h:455
#define Return
Kills the current EVT thread.
Definition macros.h:217