138 gi.sound(
self, CHAN_VOICE,
sound_idle, 1, ATTN_NORM, 0);
381 if (
visible(
self, self->enemy))
402 if (self->health < (self->max_health / 2))
407 if (
level.
time < self->pain_debounce_time)
434 self->pain_debounce_time =
level.
time + 3;
435 if (
skill->value == 3)
441 }
else if (damage <= 100) {
462 VectorCopy(self->enemy->s.origin, vec);
463 vec[2] +=
self->enemy->viewheight;
464 VectorSubtract(vec, start, dir);
486 VectorMA(self->enemy->s.origin, -0.2, self->enemy->velocity, target);
487 target[2] +=
self->enemy->viewheight;
488 VectorSubtract(target, start,
forward);
502 VectorMA(self->enemy->s.origin, -0.2, self->enemy->velocity, target);
503 target[2] +=
self->enemy->viewheight;
504 VectorSubtract(target, start,
forward);
520 self->s.sound =
gi.soundindex(
"boss3/w_loop.wav");
538 VectorSet(self->mins, -60, -60, 0);
539 VectorSet(self->maxs, 60, 60, 72);
545 VectorCopy(self->s.origin, tempent->s.origin);
546 VectorCopy(self->s.angles, tempent->s.angles);
547 tempent->killtarget =
self->killtarget;
548 tempent->target =
self->target;
549 tempent->activator =
self->enemy;
550 self->killtarget = 0;
557 void jorg_die(edict_t *
self, edict_t *inflictor, edict_t *attacker,
int damage, vec3_t point)
576 if (self->enemy->health > 0) {
578 VectorCopy(self->s.origin, spot1);
579 spot1[2] +=
self->viewheight;
580 VectorCopy(self->enemy->s.origin, spot2);
581 spot2[2] +=
self->enemy->viewheight;
583 tr =
gi.trace(spot1, NULL, NULL, spot2,
self, CONTENTS_SOLID | CONTENTS_MONSTER | CONTENTS_SLIME | CONTENTS_LAVA);
586 if (tr.ent != self->enemy)
591 VectorSubtract(self->enemy->s.origin, self->s.origin, temp);
599 if (self->monsterinfo.melee)
600 self->monsterinfo.attack_state =
AS_MELEE;
607 if (!self->monsterinfo.attack)
610 if (
level.
time < self->monsterinfo.attack_finished)
634 if (self->flags &
FL_FLY) {
674 self->solid = SOLID_BBOX;
675 self->s.modelindex =
gi.modelindex(
"models/monsters/boss3/rider/tris.md2");
676 self->s.modelindex2 =
gi.modelindex(
"models/monsters/boss3/jorg/tris.md2");
677 VectorSet(self->mins, -80, -80, 0);
678 VectorSet(self->maxs, 80, 80, 140);
681 self->gib_health = -2000;
689 self->monsterinfo.dodge = NULL;
692 self->monsterinfo.melee = NULL;
693 self->monsterinfo.sight = NULL;