Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
Gulpit.inc.c
Go to the documentation of this file.
1#include "Gulpit.h"
2
4
6
7MobileAISettings N(AISettings_Gulpit) = {
8 .moveSpeed = 0.5f,
9 .moveTime = 60,
10 .waitTime = 15,
11 .alertRadius = 100.0f,
12 .playerSearchInterval = 10,
13 .chaseSpeed = 3.5f,
14 .chaseTurnRate = 180,
15 .chaseUpdateInterval = 20,
16 .chaseRadius = 150.0f,
17 .unk_AI_2C = 1,
18};
19
20EvtScript N(EVS_NpcAI_Gulpit) = {
21 Call(SetSelfVar, 0, 0)
22 Call(SetSelfVar, 1, 5)
23 Call(SetSelfVar, 2, 13)
24 Call(SetSelfVar, 3, 30)
25 Call(N(WanderMeleeAI_Main), Ref(N(AISettings_Gulpit)))
26 Return
27 End
28};
29
30NpcSettings N(NpcSettings_Gulpit) = {
31 .height = 48,
32 .radius = 36,
33 .level = ACTOR_LEVEL_GULPIT,
34 .ai = &N(EVS_NpcAI_Gulpit),
35 .onHit = &EnemyNpcHit,
36 .onDefeat = &EnemyNpcDefeat,
37};
38
39EvtScript N(EVS_NpcAI_Gulpit_Hitbox) = {
41 Call(SetSelfVar, 0, 6)
42 Call(SetSelfVar, 1, 28)
43 Call(SetSelfVar, 2, 55)
44 Call(SetSelfVar, 3, 32)
45 Call(SetSelfVar, 4, 10)
46 Call(SetSelfVar, 15, 0)
47 Call(N(MeleeHitbox_Main))
48 Return
49 End
50};
51
52NpcSettings N(NpcSettings_Gulpit_Hitbox) = {
53 .height = 32,
54 .radius = 22,
55 .level = ACTOR_LEVEL_GULPIT,
56 .ai = &N(EVS_NpcAI_Gulpit_Hitbox),
57 .onDefeat = &N(EVS_GenericHitboxDefeat),
58 .actionFlags = AI_ACTION_08,
59};
60
61AnimID N(ExtraAnims_Gulpit_Hitbox)[] = {
62 ANIM_Gulpit_Anim00,
64};
65
66AnimID N(ExtraAnims_Gulpit)[] = {
67 ANIM_Gulpit_Anim00,
68 ANIM_Gulpit_Anim01,
69 ANIM_Gulpit_Anim0B,
70 ANIM_Gulpit_Anim04,
71 ANIM_Gulpit_Anim02,
72 ANIM_Gulpit_Anim03,
74};
Bytecode EvtScript[]
u32 AnimID
@ NPC_SELF
Definition enums.h:2526
@ AI_ACTION_08
Definition enums.h:4615
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 SetSelfVar(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 Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
Definition macros.h:576
#define Return
Kills the current EVT thread.
Definition macros.h:217
#define ANIM_LIST_END
Terminates an extraAnimationList.
Definition types.h:22