16 Enemy* enemy = script->owner1.enemy;
40 Enemy* enemy = script->owner1.enemy;
60 Enemy* enemy = script->owner1.enemy;
62 f32 overshootAmtRaw = enemy->varTable[3];
63 f32 posX, posY, posZ, hitDepth;
64 f32 endOvershootHeight;
69 overshootAmt = overshootAmtRaw / 100.0;
77 endOvershootHeight = posY + overshootAmt;
79 endOvershootHeight = overshootAmt;
82 if (!(npc->
pos.
y < endOvershootHeight)) {
99API_CALLABLE(N(ParatroopaAI_Main)) {
100 Bytecode* args = script->ptrReadPos;
101 Enemy* enemy = script->owner1.enemy;
119 script->AI_TEMP_STATE = 0;
128 enemy->
aiFlags &= ~AI_FLAG_SUSPEND;
131 switch (script->AI_TEMP_STATE) {
137 if (script->AI_TEMP_STATE != 2) {
void N FlyingAI_LoiterInit(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingAI_Loiter(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingAI_Jump(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingAI_Wander(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingAI_JumpInit(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingAI_Init(Npc *npc, Enemy *enemy, Evt *script, MobileAISettings *aiSettings)
void N FlyingAI_WanderInit(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N ParatroopaAI_Overshoot(Evt *script, MobileAISettings *arg1, EnemyDetectVolume *arg2)
void N ParatroopaAI_Dive(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N ParatroopaAI_Windup(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N ParatroopaAI_Reset(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
@ AI_STATE_PARATROOPA_DIVE
@ AI_STATE_PARATROOPA_WINDUP
@ AI_STATE_PARATROOPA_RESET
@ AI_STATE_PARATROOPA_OVERSHOOT
#define npc_raycast_down_sides
s32 evt_get_variable(Evt *script, Bytecode var)
void ai_enemy_play_sound(Npc *npc, s32 arg1, s32 arg2)
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by)
enum TerritoryShape shape
enum TerritoryShape detectShape
Npc * get_npc_unsafe(s32 npcID)
void npc_move_heading(Npc *npc, f32 speed, f32 yaw)
s32 skipPlayerDetectChance
EnemyTerritoryWander wander
EnemyTerritory * territory
PlayerStatus * gPlayerStatusPtr