Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
FrostPiranha.inc.c
Go to the documentation of this file.
1#include "FrostPiranha.h"
2
4
6
7MobileAISettings N(AISettings_FrostPiranha) = {
8 .moveTime = 30,
9 .waitTime = 30,
10 .alertRadius = 150.0f,
11 .playerSearchInterval = 1,
12};
13
14EvtScript N(EVS_NpcAI_FrostPiranha) = {
15 Call(SetSelfVar, 7, 1)
16 Call(SetSelfVar, 8, 10)
17 Call(SetSelfVar, 9, 9)
18 Call(SetSelfVar, 10, 12)
19 Call(SetSelfVar, 11, 7)
20 Call(SetSelfVar, 12, 30)
21 Call(SetSelfVar, 13, 15)
22 Call(SetSelfVar, 14, 18)
23 Call(SetSelfVar, 15, 15)
24 Call(N(PiranhaPlantAI_Main), Ref(N(AISettings_FrostPiranha)))
25 Return
26 End
27};
28
29NpcSettings N(NpcSettings_FrostPiranha) = {
30 .height = 50,
31 .radius = 36,
32 .level = ACTOR_LEVEL_FROST_PIRANHA,
33 .ai = &N(EVS_NpcAI_FrostPiranha),
34 .onHit = &EnemyNpcHit,
35 .onDefeat = &EnemyNpcDefeat,
36};
37
38EvtScript N(EVS_NpcAI_FrostPiranha_Hitbox) = {
40 Call(SetSelfVar, 0, 14)
41 Call(SetSelfVar, 1, 28)
42 Call(SetSelfVar, 4, 3)
44 Call(N(MeleeHitbox_Main))
45 Return
46 End
47};
48
49EvtScript N(EVS_802425A8) = {
60 Return
61 End
62};
63
64NpcSettings N(NpcSettings_FrostPiranha_Hitbox) = {
65 .height = 20,
66 .radius = 28,
67 .level = ACTOR_LEVEL_FROST_PIRANHA,
68 .ai = &N(EVS_NpcAI_FrostPiranha_Hitbox),
69 .onDefeat = &N(EVS_GenericHitboxDefeat),
70};
71
72AnimID N(ExtraAnims_FrostPiranha_Hitbox)[] = {
73 ANIM_LargePiranha_Frost_Anim00,
75};
76
77AnimID N(ExtraAnims_FrostPiranha)[] = {
78 ANIM_LargePiranha_Frost_Anim00,
79 ANIM_LargePiranha_Frost_Anim01,
80 ANIM_LargePiranha_Frost_Anim0E,
81 ANIM_LargePiranha_Frost_Anim05,
82 ANIM_LargePiranha_Frost_Anim06,
83 ANIM_LargePiranha_Frost_Anim18,
84 ANIM_LargePiranha_Frost_Anim17,
86};
Bytecode EvtScript[]
u32 AnimID
@ ENEMY_ANIM_INDEX_HIT
Definition enums.h:3433
@ ENCOUNTER_TRIGGER_JUMP
Definition enums.h:269
@ ENCOUNTER_TRIGGER_HAMMER
Definition enums.h:271
@ ENCOUNTER_TRIGGER_NONE
Definition enums.h:268
@ ENCOUNTER_TRIGGER_PARTNER
Definition enums.h:273
@ NPC_SELF
Definition enums.h:2526
@ SOUND_PIRANHA_BITE
Definition enums.h:1508
s16 height
Definition npc.h:145
ApiStatus EnableNpcShadow(Evt *script, b32 isInitialCall)
EvtScript EnemyNpcDefeat
Definition encounter.c:158
EvtScript EnemyNpcHit
Definition encounter.c:131
ApiStatus GetSelfAnimationFromTable(Evt *script, b32 isInitialCall)
ApiStatus GetOwnerEncounterTrigger(Evt *script, b32 isInitialCall)
ApiStatus SetSelfVar(Evt *script, b32 isInitialCall)
#define Switch(LVAR)
Marks the start of a switch statement.
Definition macros.h:311
#define Ref(sym)
Address/pointer constant.
Definition macros.h:60
#define CaseEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR. It also marks the end of any pre...
Definition macros.h:319
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
Definition macros.h:213
#define EndCaseGroup
Marks the end of a switch case group (CaseOrEq and/or CaseAndEq), stopping fallthrough.
Definition macros.h:352
#define CaseOrEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR.
Definition macros.h:341
#define ExecWait(EVT_SOURCE)
Launches a new child thread.
Definition macros.h:475
#define EndSwitch
Marks the end of a switch statement and any case.
Definition macros.h:362
#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 Return
Kills the current EVT thread.
Definition macros.h:217
EvtScript EVS_NpcHitRecoil
Definition 38F00.c:13
#define ANIM_LIST_END
Terminates an extraAnimationList.
Definition types.h:22