38 {
57
59 if (enemy->varTable[9] >= npc->
duration) {
62 }
63
67 } else {
69 }
70
72 if (enemy->varTable[7] == 0) {
73 moveSpeed = 32.0f;
74
76 moveSpeed = 100.0f;
78 moveSpeed = 90.0f;
79 }
80 }
81 } else {
82 moveSpeed = 38.0f;
83
85 moveSpeed = 90.0f;
87 moveSpeed = 75.0f;
88 }
89 }
90 }
91
96
97 if (enemy->varTable[7] == 0) {
98 if (npc->
pos.
x > 380.0) {
100 }
101 if (npc->
pos.
x < -380.0) {
102 npc->
pos.
x = -380.0f;
103 }
104 if (npc->
pos.
z > 380.0) {
106 }
107 if (npc->
pos.
z < -380.0) {
108 npc->
pos.
z = -380.0f;
109 }
110
113
118 }
else if (
sp38 > 375.0) {
122 }
123 } else {
140 } else {
151 }
152 }
153 } else {
163 }
164 }
165 }
166
168 switch (territory->
shape) {
171
177 }
178 break;
183 }
184
188 }
189
193 }
194
198 }
199 break;
200 }
201 }
202
208
211 }
212 }
213
217 npc->
duration = enemy->varTable[10];
218 script->functionTemp[0] = 11;
219 }
220}
#define npc_raycast_down_sides
@ ENEMY_ANIM_INDEX_MELEE_HIT
@ ENEMY_FLAG_IGNORE_HAMMER
@ ENEMY_FLAG_IGNORE_PARTNER
@ ENEMY_FLAG_IGNORE_TOUCH
@ ENEMY_FLAG_CANT_INTERACT
@ NPC_FLAG_IGNORE_WORLD_COLLISION
b32 is_point_outside_territory(s32 shape, f32 pointX, f32 pointY, f32 centerX, f32 centerY, f32 sizeX, f32 sizeZ)
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by)
b32 npc_test_move_simple_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
void npc_move_heading(Npc *npc, f32 speed, f32 yaw)
PlayerStatus * gPlayerStatusPtr