void widow_ready_spawn(edict_t *self) { vec3_t f, r, u, offset, startpoint, spawnpoint; int i; if (!self) { return; } WidowBlaster(self); AngleVectors(self->s.angles, f, r, u); for (i = 0; i < 2; i++) { VectorCopy(spawnpoints[i], offset); G_ProjectSource2(self->s.origin, offset, f, r, u, startpoint); if (FindSpawnPoint(startpoint, stalker_mins, stalker_maxs, spawnpoint, 64)) { SpawnGrow_Spawn(spawnpoint, 1); } } }
void widow_reattack_blaster(edict_t *self) { if (!self) { return; } WidowBlaster(self); if ((self->monsterinfo.currentmove == &widow_move_attack_post_blaster_l) || (self->monsterinfo.currentmove == &widow_move_attack_post_blaster_r)) { return; } /* if we're not done with the attack, don't leave the sequence */ if (self->monsterinfo.pausetime >= level.time) { return; } self->monsterinfo.aiflags &= ~AI_MANUAL_STEERING; self->monsterinfo.currentmove = &widow_move_attack_post_blaster; }
void widow_reattack_blaster (edict_t *self) { WidowBlaster(self); // if ((g_showlogic) && (g_showlogic->value)) // { // if (self->monsterinfo.currentmove == &widow_move_attack_post_blaster_l) // gi.dprintf ("pulling left!\n"); // if (self->monsterinfo.currentmove == &widow_move_attack_post_blaster_r) // gi.dprintf ("pulling right!\n"); // } // self->monsterinfo.currentmove = &widow_move_attack_blaster; // self->monsterinfo.aiflags |= AI_MANUAL_STEERING; // return; // if WidowBlaster bailed us out of the frames, just bail if ((self->monsterinfo.currentmove == &widow_move_attack_post_blaster_l) || (self->monsterinfo.currentmove == &widow_move_attack_post_blaster_r)) return; // if we're not done with the attack, don't leave the sequence if (self->monsterinfo.pausetime >= level.time) return; self->monsterinfo.aiflags &= ~AI_MANUAL_STEERING; self->monsterinfo.currentmove = &widow_move_attack_post_blaster; }
void widow_stepshoot(edict_t *self) { if (!self) { return; } gi.sound(self, CHAN_BODY, gi.soundindex("widow/bwstep2.wav"), 1, ATTN_NORM, 0); WidowBlaster(self); }
void widow_spawn_check(edict_t *self) { if (!self) { return; } WidowBlaster(self); WidowSpawn(self); }
void widow_spawn_check (edict_t *self) { WidowBlaster(self); WidowSpawn (self); }