11 script->AI_TEMP_STATE = 11;
17 f32 basePosY = (
f32)enemy->varTable[1] / 100.0;
20 npc->
pos.
y = basePosY +
sin_deg(enemy->varTable[0]) * 6.0;
21 enemy->varTable[0] =
clamp_angle(enemy->varTable[0] + 10);
27 script->AI_TEMP_STATE = 20;
32 script->AI_TEMP_STATE = 15;
71 if (npc->
yaw < 180.0) {
123 enemy->varTable[4] = npc->
pos.
x * 100.0;
124 enemy->varTable[6] = npc->
pos.
z * 100.0;
125 enemy->varTable[3] =
rand_int(10) + 35;
130 arg0->functionTemp[0] = 0x10;
137 f32 basePosY = (
f32)enemy->varTable[1] / 100.0;
139 enemy->varTable[0] =
clamp_angle(enemy->varTable[0] + 10);
140 npc->
pos.
y = basePosY +
sin_deg(enemy->varTable[0]) * 6.0;
143 enemy->varTable[5] = npc->
pos.
y * 100.0;
144 script->functionTemp[0] = 17;
152 f32 basePosY = (
f32)enemy->varTable[5] / 100.0;
153 f32 startX = (
f32)enemy->varTable[4] / 100.0;
163 if (npc->
duration == (enemy->varTable[3] - 8)) {
168 enemy->varTable[0] = 0;
169 script->functionTemp[0] = 10;
170 }
else if (npc->
duration >= enemy->varTable[3]) {
171 if (enemy->varTable[0] >= 180.0) {
172 if (enemy->varTable[0] < 270.0) {
173 enemy->varTable[0] =
clamp_angle(540 - enemy->varTable[0]);
176 script->functionTemp[0] = 10;
185 script->functionTemp[0] = 21;
191 f32 posX, posY, posZ;
200 script->functionTemp[0] = 50;
205 posY = npc->
pos.
y + 29.0f;
206 posZ = npc->
pos.
z + 1.0f;
210 script->functionTemp[0] = 22;
222 script->functionTemp[0] = 0x17;
239 script->functionTemp[0] = 50;
244 script->functionTemp[0] = 24;
252 f32 basePosY = (
f32)enemy->varTable[1] / 100.0;
254 npc->
pos.
y = basePosY +
sin_deg(enemy->varTable[0]) * 6.0;
255 enemy->varTable[0] =
clamp_angle(enemy->varTable[0] + 10);
261 script->AI_TEMP_STATE = 50;
268 f32 basePosY = (
f32)enemy->varTable[1] / 100.0;
270 npc->
pos.
y = basePosY +
sin_deg(enemy->varTable[0]) * 6.0;
271 enemy->varTable[0] =
clamp_angle(enemy->varTable[0] + 10);
275 script->AI_TEMP_STATE = 10;
301 enemy->varTable[1] = npc->
pos.
y * 100.0;
302 enemy->varTable[0] = 0;
303 enemy->varTable[2] = 0;
305 script->AI_TEMP_STATE = 10;
317 switch (
script->AI_TEMP_STATE) {
326 if (
script->AI_TEMP_STATE != 16) {
331 if (
script->AI_TEMP_STATE != 17) {
348 if (
script->AI_TEMP_STATE != 24) {
372 if (enemy->varTable[0] == 2) {
BSS s32 PopupMenu_SelectedIndex
void N FlyingMagikoopaAI_22(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingMagikoopaAI_10(Evt *script, MobileAISettings *arg1, EnemyDetectVolume *arg2)
void N FlyingMagikoopaAI_24(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingMagikoopaAI_23(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingMagikoopaAI_16(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingMagikoopaAI_50(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingMagikoopaAI_11(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *volume)
void N FlyingMagikoopaAI_20(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingMagikoopaAI_17(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
void N FlyingMagikoopaAI_15(Evt *arg0, MobileAISettings *arg1, EnemyDetectVolume *arg2)
void N FlyingMagikoopaAI_21(Evt *script, MobileAISettings *aiSettings, EnemyDetectVolume *territory)
s32 N MagikoopaAI_CanShootSpell(Evt *script, f32 arg1, f32 arg2, EnemyDetectVolume *territory)
@ ENEMY_FLAG_ACTIVE_WHILE_OFFSCREEN
@ NPC_FLAG_FLIP_INSTANTLY
s32 evt_get_variable(Evt *script, Bytecode var)
f32 update_lerp(s32 easing, f32 start, f32 end, s32 elapsed, s32 duration)
b32 is_point_outside_territory(s32 shape, f32 pointX, f32 pointY, f32 centerX, f32 centerY, f32 sizeX, f32 sizeZ)
void ai_enemy_play_sound(Npc *npc, s32 arg1, s32 arg2)
s32 evt_set_variable(Evt *script, Bytecode var, s32 value)
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by)
b32 npc_test_move_taller_with_slipping(s32, f32 *, f32 *, f32 *, f32, f32, f32, f32)
void add_vec2D_polar(f32 *x, f32 *y, f32 r, f32 theta)
enum TerritoryShape shape
enum TerritoryShape detectShape
Enemy * get_enemy(s32 npcID)
Looks for an enemy matching the specified npcID.
Npc * get_npc_unsafe(s32 npcID)
EncounterStatus gCurrentEncounter
enum TerritoryShape wanderShape
s32 skipPlayerDetectChance
EnemyTerritoryWander wander
EnemyTerritory * territory
s16 turnAroundYawAdjustment
PlayerStatus * gPlayerStatusPtr