Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
ShyGuy_Patrol.inc.c
Go to the documentation of this file.
1#include "ShyGuy.h"
2
4
5MobileAISettings N(AISettings_ShyGuy_Patrol) = {
6 .moveSpeed = 2.0f,
7 .moveTime = 60,
8 .alertRadius = 100.0f,
9 .alertOffsetDist = 30.0f,
10 .playerSearchInterval = 4,
11 .chaseSpeed = 4.0f,
12 .chaseTurnRate = 6,
13 .chaseUpdateInterval = 1,
14 .chaseRadius = 160.0f,
15 .chaseOffsetDist = 50.0f,
16 .unk_AI_2C = 1,
17};
18
19EvtScript N(EVS_NpcAI_ShyGuy_Patrol) = {
20 Call(N(ShyGuyPatrolAI_Main), Ref(N(AISettings_ShyGuy_Patrol)))
21 Return
22 End
23};
24
25EvtScript N(EVS_NpcAI_ShyGuy_Patrol_Passive) = {
26 Call(N(PatrolNoAttackAI_Main), Ref(N(AISettings_ShyGuy_Patrol)))
27 Return
28 End
29};
30
31NpcSettings N(NpcSettings_ShyGuy_Patrol) = {
32 .height = 23,
33 .radius = 22,
34 .level = ACTOR_LEVEL_SHY_GUY,
35 .ai = &N(EVS_NpcAI_ShyGuy_Patrol),
36 .onHit = &EnemyNpcHit,
37 .onDefeat = &EnemyNpcDefeat,
38 .actionFlags = AI_ACTION_JUMP_WHEN_SEE_PLAYER,
39};
40
41NpcSettings N(NpcSettings_ShyGuy_Patrol_Passive) = {
42 .height = 23,
43 .radius = 22,
44 .level = ACTOR_LEVEL_SHY_GUY,
45 .ai = &N(EVS_NpcAI_ShyGuy_Patrol_Passive),
46 .onHit = &EnemyNpcHit,
47 .onDefeat = &EnemyNpcDefeat,
48 .actionFlags = AI_ACTION_JUMP_WHEN_SEE_PLAYER,
49};
Bytecode EvtScript[]
@ AI_ACTION_JUMP_WHEN_SEE_PLAYER
Definition enums.h:4612
EvtScript EnemyNpcDefeat
Definition encounter.c:158
EvtScript EnemyNpcHit
Definition encounter.c:131
#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