5AnimID N(ExtraAnims_SpearGuy)[] = {
18AnimID N(ExtraAnims_SpearGuy_Hitbox)[] = {
23EvtScript N(EVS_NpcDefeat_SpearGuy_Hitbox) = {
43 .alertRadius = 100.0f,
44 .alertOffsetDist = 30.0f,
45 .playerSearchInterval = 1,
48 .chaseUpdateInterval = 1,
49 .chaseRadius = 120.0f,
58 Call(N(SpearGuyAI_Main),
Ref(N(AISettings_SpearGuy_Wander)))
66 .level = ACTOR_LEVEL_SPEAR_GUY,
67 .ai = &N(EVS_NpcAI_SpearGuy_Wander),
80 Call(N(MeleeHitbox_Main))
88 .level = ACTOR_LEVEL_SPEAR_GUY,
89 .ai = &N(EVS_NpcAI_SpearGuy_Hitbox),
90 .onDefeat = &N(EVS_NpcDefeat_SpearGuy_Hitbox),
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.