5 Enemy* enemy = script->owner1.enemy;
25 if (
fabsf(t1 - 90.0) > 70.0) {
41API_CALLABLE(N(MagikoopaAI_SpellMain)) {
42 Enemy* enemy = script->owner1.enemy;
52 script->functionTemp[0] = 0;
60 enemy->
aiFlags &= ~AI_FLAG_SUSPEND;
64 switch (script->functionTemp[0]) {
66 enemy->varTable[3] = NULL;
72 enemy->varTable[0] = 0;
73 script->functionTemp[0] = 1;
76 if (enemy->varTable[0] == 1) {
79 enemy->varTable[0] = 2;
85 npc1->
pos.
y = npc2->
pos.
y + enemy->varTable[1];
103 enemy->varTable[3] = (s32)fx_shape_spell(0, npc1->
pos.
x, npc1->
pos.
y + 14.0f, npc1->
pos.
z,
108 script->functionTemp[0] = 2;
126 enemy->varTable[0] = 3;
128 script->functionTemp[0] = 4;
143 enemy->varTable[0] = 0;
144 script->functionTemp[0] = 0;
s32 N MagikoopaAI_CanShootSpell(Evt *script, f32 arg1, f32 arg2, EnemyDetectVolume *territory)
@ ENEMY_FLAG_IGNORE_HAMMER
@ ENEMY_FLAG_IGNORE_PARTNER
@ ENEMY_FLAG_ACTIVE_WHILE_OFFSCREEN
@ NPC_FLAG_IGNORE_PLAYER_COLLISION
@ NPC_FLAG_FLIP_INSTANTLY
@ NPC_FLAG_IGNORE_CAMERA_FOR_YAW
f32 dist3D(f32 ax, f32 ay, f32 az, f32 bx, f32 by, f32 bz)
f32 get_clamped_angle_diff(f32, f32)
s32 basic_ai_check_player_dist(EnemyDetectVolume *arg0, Enemy *arg1, f32 arg2, f32 arg3, b8 arg4)
Enemy * get_enemy(s32 npcID)
Looks for an enemy matching the specified npcID.
Npc * get_npc_unsafe(s32 npcID)
void npc_move_heading(Npc *npc, f32 speed, f32 yaw)
#define NPC_DISPOSE_POS_Z
#define NPC_DISPOSE_POS_X
#define NPC_DISPOSE_POS_Y
PlayerStatus * gPlayerStatusPtr
PartnerStatus gPartnerStatus