19AnimID N(ExtraAnims_Clubba)[] = {
20 ANIM_WorldClubba_Anim00,
21 ANIM_WorldClubba_Anim02,
22 ANIM_WorldClubba_Anim03,
23 ANIM_WorldClubba_Anim04,
24 ANIM_WorldClubba_Anim0C,
25 ANIM_WorldClubba_Anim07,
26 ANIM_WorldClubba_Anim08,
27 ANIM_WorldClubba_Anim11,
28 ANIM_WorldClubba_Anim12,
32AnimID N(ExtraAnims_Clubba_Hitbox)[] = {
33 ANIM_WorldClubba_Anim00,
37#ifdef INCLUDE_CLUBBA_WANDER
45 .alertOffsetDist = 65.0f,
46 .playerSearchInterval = 5,
49 .chaseUpdateInterval = 12,
50 .chaseRadius = 110.0f,
51 .chaseOffsetDist = 90.0f,
60 Call(N(WanderMeleeAI_Main),
Ref(N(AISettings_Clubba_Wander)))
68 .level = ACTOR_LEVEL_CLUBBA,
69 .ai = &N(EVS_NpcAI_Clubba_Wander),
76#ifdef INCLUDE_CLUBBA_PATROL
85 .alertOffsetDist = 65.0f,
86 .playerSearchInterval = 5,
89 .chaseUpdateInterval = 12,
90 .chaseRadius = 110.0f,
91 .chaseOffsetDist = 90.0f,
100 Call(N(ClubbaPatrolAI_Main),
Ref(N(AISettings_Clubba_Patrol)))
108 .level = ACTOR_LEVEL_CLUBBA,
109 .ai = &N(EVS_NpcAI_Clubba_Patrol),
116#ifdef INCLUDE_CLUBBA_NAPPING
124 .alertRadius = 100.0f,
125 .alertOffsetDist = 40.0f,
126 .playerSearchInterval = 10,
129 .chaseUpdateInterval = 15,
130 .chaseRadius = 200.0f,
131 .chaseOffsetDist = 160.0f,
140 Call(N(ClubbaNappingAI_Main),
Ref(N(AISettings_Clubba_Napping)))
148 .level = ACTOR_LEVEL_CLUBBA,
149 .ai = &N(EVS_NpcAI_Clubba_Napping),
166 Call(N(MeleeHitbox_Main))
174 .level = ACTOR_LEVEL_CLUBBA,
175 .ai = &N(EVS_NpcAI_Clubba_Hitbox),
176 .onDefeat = &N(EVS_NpcDefeat_Clubba),
ApiStatus EnableNpcShadow(Evt *script, b32 isInitialCall)
ApiStatus SetEnemyFlagBits(Evt *script, b32 isInitialCall)
ApiStatus RemoveNpc(Evt *script, b32 isInitialCall)
ApiStatus SetNpcPos(Evt *script, b32 isInitialCall)
ApiStatus OnPlayerFled(Evt *script, b32 isInitialCall)
ApiStatus SetSelfVar(Evt *script, b32 isInitialCall)
ApiStatus GetBattleOutcome(Evt *script, b32 isInitialCall)
#define Switch(LVAR)
Marks the start of a switch statement.
#define Ref(sym)
Address/pointer constant.
#define CaseEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR. It also marks the end of any pre...
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
#define NPC_DISPOSE_LOCATION
#define EndSwitch
Marks the end of a switch statement and any case.
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
#define Return
Kills the current EVT thread.
#define ANIM_LIST_END
Terminates an extraAnimationList.