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
|
@ -50,6 +50,12 @@ static void flee(void);
|
|||
void doAI(void)
|
||||
{
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -55,12 +55,6 @@ void doEntities(void)
|
|||
|
||||
e->x += e->dx;
|
||||
e->y += e->dy;
|
||||
|
||||
if (e->target != NULL && e->target->health <= 0)
|
||||
{
|
||||
e->action = e->defaultAction;
|
||||
e->target = NULL;
|
||||
}
|
||||
|
||||
if (e->action != NULL)
|
||||
{
|
||||
|
|
|
@ -155,13 +155,13 @@ static void randomizeDartGuns(Entity *dart)
|
|||
|
||||
void doFighter(void)
|
||||
{
|
||||
if (self != player && self->health > 0)
|
||||
{
|
||||
separate();
|
||||
}
|
||||
|
||||
if (self->health > 0)
|
||||
if (self->alive == ALIVE_ALIVE)
|
||||
{
|
||||
if (self != player)
|
||||
{
|
||||
separate();
|
||||
}
|
||||
|
||||
self->reload = MAX(self->reload - 1, 0);
|
||||
self->shieldRecharge = MAX(self->shieldRecharge - 1, 0);
|
||||
self->armourHit = MAX(self->armourHit - 25, 0);
|
||||
|
@ -183,10 +183,7 @@ void doFighter(void)
|
|||
{
|
||||
self->action = self->defaultAction;
|
||||
}
|
||||
}
|
||||
|
||||
if (self->alive == ALIVE_ALIVE)
|
||||
{
|
||||
|
||||
if (self->health <= 0)
|
||||
{
|
||||
self->health = 0;
|
||||
|
@ -239,7 +236,10 @@ void doFighter(void)
|
|||
{
|
||||
battle.stats[STAT_ALLIES_KILLED]++;
|
||||
|
||||
addHudMessage(colors.red, "Ally has been killed");
|
||||
if (!battle.epic)
|
||||
{
|
||||
addHudMessage(colors.red, "Ally has been killed");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue