Fix wrong monster count in city3.bsp

In city3.bsd ("Upper Palace") a hidden and unaccessible room next to the
security pass exists. In this room a grenate launcher and a pack of
grenates can be found. When the room is entered, two floaters are
triggered nearby. This can never happen, so the player is unable to
reach the goal of killing 75 monsters. Quirk around this by lowering
the total number of monsters by 2.

This bug has been known for a long time:
- http://quake2.weiel.net/2004/Aug/26/01150ca0bb36a5f46c9cb0b154aeb8d8.html
- https://groups.google.com/forum/#!topic/alt.games.quake2/W7jdIIHthrw
- http://www.quake3world.com/forum/viewtopic.php?f=3&t=4733
This commit is contained in:
Yamagi Burmeister 2016-11-04 19:12:39 +01:00
parent 882297c33e
commit 548c217da8

View file

@ -572,6 +572,7 @@ SpawnEntities(const char *mapname, char *entities, const char *spawnpoint)
const char *com_token;
int i;
float skill_level;
static qboolean monster_count_city3 = false;
if (!mapname || !entities || !spawnpoint)
{
@ -649,6 +650,21 @@ SpawnEntities(const char *mapname, char *entities, const char *spawnpoint)
ent->spawnflags &= ~SPAWNFLAG_NOT_HARD;
}
/*
* The 'monsters' count in city3.bsp is wrong.
* There're two monsters triggered in a hidden
* and unreachable room next to the security
* pass.
*
* We need to make sure that this hack is only
* applied once!
*/
if(!Q_stricmp(level.mapname, "city3") && !monster_count_city3)
{
level.total_monsters = level.total_monsters - 2;
monster_count_city3 = true;
}
/* remove things (except the world) from
different skill levels or deathmatch */
if (ent != g_edicts)