diff --git a/src/structs.h b/src/structs.h index cb68f2c..914b37d 100644 --- a/src/structs.h +++ b/src/structs.h @@ -458,6 +458,7 @@ typedef struct { int missionType; int isBossActive; int isReturnVisit; + int isEliminateAllEnemies; int missionCompleteTimer; int observationTimer; int gameOverTimer; diff --git a/src/world/objectives.c b/src/world/objectives.c index 5d3852e..55f042e 100644 --- a/src/world/objectives.c +++ b/src/world/objectives.c @@ -24,7 +24,6 @@ static int isMissingHeartCell(char *targetName); static int countTargetsInWorld(char *targetName); static int missingHeartCell; -static int isEliminateAllEnemies; void initObjectives(void) { @@ -44,7 +43,7 @@ void initObjectives(void) if (strcmp(o->targetName, "ENEMY") == 0) { - isEliminateAllEnemies = 1; + world.isEliminateAllEnemies = 1; } if (o->totalValue == 0) diff --git a/src/world/radar.c b/src/world/radar.c index d5b2957..c79bbd5 100644 --- a/src/world/radar.c +++ b/src/world/radar.c @@ -334,15 +334,15 @@ static int isValidBlip(Entity *e) case ET_BOB: case ET_MIA: case ET_TEEKA: - return 1; - - case ET_ENEMY: case ET_BOSS: case ET_HEART_CELL: case ET_KEY: case ET_ITEM: case ET_DESTRUCTABLE: - return e->isMissionTarget; + return 1; + + case ET_ENEMY: + return e->isMissionTarget || world.isEliminateAllEnemies; default: return 0;