Fixed medics unable to heal makrons

This commit is contained in:
BjossiAlfreds 2019-09-26 12:06:43 +00:00
parent edb8bf2534
commit 06660b9332
2 changed files with 13 additions and 6 deletions

View file

@ -120,6 +120,7 @@ void SP_monster_mutant(edict_t *self);
void SP_monster_supertank(edict_t *self); void SP_monster_supertank(edict_t *self);
void SP_monster_boss2(edict_t *self); void SP_monster_boss2(edict_t *self);
void SP_monster_jorg(edict_t *self); void SP_monster_jorg(edict_t *self);
void SP_monster_makron(edict_t *self);
void SP_monster_boss3_stand(edict_t *self); void SP_monster_boss3_stand(edict_t *self);
void SP_monster_commander_body(edict_t *self); void SP_monster_commander_body(edict_t *self);
@ -265,6 +266,7 @@ spawn_t spawns[] = {
{"monster_supertank", SP_monster_supertank}, {"monster_supertank", SP_monster_supertank},
{"monster_boss2", SP_monster_boss2}, {"monster_boss2", SP_monster_boss2},
{"monster_boss3_stand", SP_monster_boss3_stand}, {"monster_boss3_stand", SP_monster_boss3_stand},
{"monster_makron", SP_monster_makron},
{"monster_jorg", SP_monster_jorg}, {"monster_jorg", SP_monster_jorg},
{"monster_commander_body", SP_monster_commander_body}, {"monster_commander_body", SP_monster_commander_body},
{"monster_soldier_hypergun", SP_monster_soldier_hypergun}, {"monster_soldier_hypergun", SP_monster_soldier_hypergun},

View file

@ -803,15 +803,18 @@ makron_torso_think(edict_t *self)
return; return;
} }
if (++self->s.frame < 365) if (self->owner && self->owner->inuse && self->owner->deadflag != DEAD_DEAD)
{ {
self->nextthink = level.time + FRAMETIME; G_FreeEdict(self);
return;
} }
else
if (++self->s.frame >= FRAME_death320)
{ {
self->s.frame = 346; self->s.frame = FRAME_death301;
self->nextthink = level.time + FRAMETIME;
} }
self->nextthink = level.time + FRAMETIME;
} }
void void
@ -826,7 +829,7 @@ makron_torso(edict_t *ent)
ent->solid = SOLID_NOT; ent->solid = SOLID_NOT;
VectorSet(ent->mins, -8, -8, 0); VectorSet(ent->mins, -8, -8, 0);
VectorSet(ent->maxs, 8, 8, 8); VectorSet(ent->maxs, 8, 8, 8);
ent->s.frame = 346; ent->s.frame = FRAME_death301;
ent->s.modelindex = gi.modelindex("models/monsters/boss3/rider/tris.md2"); ent->s.modelindex = gi.modelindex("models/monsters/boss3/rider/tris.md2");
ent->think = makron_torso_think; ent->think = makron_torso_think;
ent->nextthink = level.time + 2 * FRAMETIME; ent->nextthink = level.time + 2 * FRAMETIME;
@ -902,6 +905,7 @@ makron_die(edict_t *self, edict_t *inflictor /* unused */, edict_t *attacker /*
VectorCopy(self->s.origin, tempent->s.origin); VectorCopy(self->s.origin, tempent->s.origin);
VectorCopy(self->s.angles, tempent->s.angles); VectorCopy(self->s.angles, tempent->s.angles);
tempent->s.origin[1] -= 84; tempent->s.origin[1] -= 84;
tempent->owner = self;
makron_torso(tempent); makron_torso(tempent);
self->monsterinfo.currentmove = &makron_move_death2; self->monsterinfo.currentmove = &makron_move_death2;
@ -1125,6 +1129,7 @@ MakronToss(edict_t *self)
edict_t *ent; edict_t *ent;
ent = G_Spawn(); ent = G_Spawn();
ent->classname = "monster_makron";
ent->nextthink = level.time + 0.8; ent->nextthink = level.time + 0.8;
ent->think = MakronSpawn; ent->think = MakronSpawn;
ent->target = self->target; ent->target = self->target;