52 script->functionTemp[0] = 0;
64 switch (
script->functionTemp[0]) {
66 enemy->varTable[3] =
NULL;
67 npc1->collisionDiameter = 20;
68 npc1->collisionHeight = 20;
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];
91 npc1->moveSpeed = 3.6f;
107 npc1->duration = duration;
108 script->functionTemp[0] = 2;
113 if (
npc1->duration <= 0) {
123 npc1->jumpVel = 0.0f;
124 npc1->moveSpeed = 0.0f;
125 npc1->pos.y -=
npc1->collisionHeight * 0.5;
126 enemy->varTable[0] = 3;
128 script->functionTemp[0] = 4;
132 if (
npc1->duration < 7) {
134 npc1->collisionDiameter = ((
f32)
npc1->duration * 7.0) + 20.0;
135 npc1->collisionHeight = ((
f32)
npc1->duration * 7.0) + 20.0;
136 }
else if (
npc1->duration == 7) {
140 npc1->collisionDiameter = 20;
141 npc1->collisionHeight = 20;
142 }
else if (
npc1->duration >= 16) {
143 enemy->varTable[0] = 0;
144 script->functionTemp[0] = 0;
BSS s32 PopupMenu_SelectedIndex
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)
b32 basic_ai_check_player_dist(EnemyDetectVolume *arg0, Enemy *arg1, f32 arg2, f32 arg3, s8 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