Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
Swooper.inc.c
Go to the documentation of this file.
1#include "Swooper.h"
2
4
5MobileAISettings N(AISettings_Swooper) = {
6 .moveSpeed = 1.6f,
7 .moveTime = 60,
8 .waitTime = 30,
9 .alertRadius = 80.0f,
10 .playerSearchInterval = 5,
11 .chaseSpeed = 2.2f,
12 .chaseTurnRate = 60,
13 .chaseUpdateInterval = 15,
14 .chaseRadius = 100.0f,
15 .unk_AI_2C = 1,
16};
17
18EvtScript N(EVS_NpcAI_Swooper) = {
19 Call(N(SwooperAI_Main), Ref(N(AISettings_Swooper)))
20 Return
21 End
22};
23
24MobileAISettings N(AISettings_Swoopula) = {
25 .moveSpeed = 1.6f,
26 .moveTime = 60,
27 .waitTime = 30,
28 .alertRadius = 80.0f,
29 .playerSearchInterval = 5,
30 .chaseSpeed = 2.2f,
31 .chaseTurnRate = 60,
32 .chaseUpdateInterval = 15,
33 .chaseRadius = 100.0f,
34 .unk_AI_2C = 1,
35};
36
37EvtScript N(EVS_NpcAI_Swoopula) = {
38 Call(N(SwooperAI_Main), Ref(N(AISettings_Swoopula)))
39 Return
40 End
41};
42
43NpcSettings N(NpcSettings_Swooper) = {
44 .height = 20,
45 .radius = 20,
46 .level = ACTOR_LEVEL_SWOOPER,
47 .ai = &N(EVS_NpcAI_Swooper),
48 .onHit = &EnemyNpcHit,
49 .onDefeat = &EnemyNpcDefeat,
50 .flags = ENEMY_FLAG_FLYING,
51};
52
53NpcSettings N(NpcSettings_Swoopula) = {
54 .height = 20,
55 .radius = 20,
56 .level = ACTOR_LEVEL_SWOOPULA,
57 .ai = &N(EVS_NpcAI_Swoopula),
58 .onHit = &EnemyNpcHit,
59 .onDefeat = &EnemyNpcDefeat,
60 .flags = ENEMY_FLAG_FLYING,
61};
Bytecode EvtScript[]
@ ENEMY_FLAG_FLYING
Definition enums.h:4532
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