Prevent fighters from magically coming back to life if their target is kill while they are also dying.
This commit is contained in:
parent
5466bb2ea5
commit
2a38221bcf
|
@ -51,6 +51,12 @@ void doAI(void)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
|
if (self->target != NULL && self->target->health <= 0)
|
||||||
|
{
|
||||||
|
self->action = self->defaultAction;
|
||||||
|
self->target = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (!self->target || targetOutOfRange() || self->target->systemPower <= 0)
|
if (!self->target || targetOutOfRange() || self->target->systemPower <= 0)
|
||||||
{
|
{
|
||||||
findTarget();
|
findTarget();
|
||||||
|
|
|
@ -56,12 +56,6 @@ void doEntities(void)
|
||||||
e->x += e->dx;
|
e->x += e->dx;
|
||||||
e->y += e->dy;
|
e->y += e->dy;
|
||||||
|
|
||||||
if (e->target != NULL && e->target->health <= 0)
|
|
||||||
{
|
|
||||||
e->action = e->defaultAction;
|
|
||||||
e->target = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e->action != NULL)
|
if (e->action != NULL)
|
||||||
{
|
{
|
||||||
if (--e->thinkTime <= 0)
|
if (--e->thinkTime <= 0)
|
||||||
|
|
|
@ -155,13 +155,13 @@ static void randomizeDartGuns(Entity *dart)
|
||||||
|
|
||||||
void doFighter(void)
|
void doFighter(void)
|
||||||
{
|
{
|
||||||
if (self != player && self->health > 0)
|
if (self->alive == ALIVE_ALIVE)
|
||||||
|
{
|
||||||
|
if (self != player)
|
||||||
{
|
{
|
||||||
separate();
|
separate();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (self->health > 0)
|
|
||||||
{
|
|
||||||
self->reload = MAX(self->reload - 1, 0);
|
self->reload = MAX(self->reload - 1, 0);
|
||||||
self->shieldRecharge = MAX(self->shieldRecharge - 1, 0);
|
self->shieldRecharge = MAX(self->shieldRecharge - 1, 0);
|
||||||
self->armourHit = MAX(self->armourHit - 25, 0);
|
self->armourHit = MAX(self->armourHit - 25, 0);
|
||||||
|
@ -183,10 +183,7 @@ void doFighter(void)
|
||||||
{
|
{
|
||||||
self->action = self->defaultAction;
|
self->action = self->defaultAction;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (self->alive == ALIVE_ALIVE)
|
|
||||||
{
|
|
||||||
if (self->health <= 0)
|
if (self->health <= 0)
|
||||||
{
|
{
|
||||||
self->health = 0;
|
self->health = 0;
|
||||||
|
@ -239,9 +236,12 @@ void doFighter(void)
|
||||||
{
|
{
|
||||||
battle.stats[STAT_ALLIES_KILLED]++;
|
battle.stats[STAT_ALLIES_KILLED]++;
|
||||||
|
|
||||||
|
if (!battle.epic)
|
||||||
|
{
|
||||||
addHudMessage(colors.red, "Ally has been killed");
|
addHudMessage(colors.red, "Ally has been killed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
updateObjective(self->name, TT_DESTROY);
|
updateObjective(self->name, TT_DESTROY);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue