From 7d3cfcf8535ab4ea61e941aaa387ca7b09c6eead Mon Sep 17 00:00:00 2001 From: "Tony J. White" Date: Sat, 10 Feb 2007 15:59:27 +0000 Subject: * (bug 2989) only let the overmind nag one time about needing spawns if there are no builders. --- src/game/g_buildable.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/game/g_buildable.c b/src/game/g_buildable.c index 7d02ec15..6a0fde75 100644 --- a/src/game/g_buildable.c +++ b/src/game/g_buildable.c @@ -753,11 +753,34 @@ void AOvermind_Think( gentity_t *self ) } } + // just in case an egg finishes building after we tell overmind to stfu + if( level.numAlienSpawns > 0 ) + self->overmindSpawnsTimer = level.time; + //low on spawns if( level.numAlienSpawns <= 0 && level.time > self->overmindSpawnsTimer ) { + qboolean haveBuilder = qfalse; + gentity_t *builder; + self->overmindSpawnsTimer = level.time + OVERMIND_SPAWNS_PERIOD; G_BroadcastEvent( EV_OVERMIND_SPAWNS, 0 ); + + for( i = 0; i < level.numConnectedClients; i++ ) + { + builder = &g_entities[ level.sortedClients[ i ] ]; + if( builder->spawned && + ( builder->client->pers.classSelection == PCL_ALIEN_BUILDER0 || + builder->client->pers.classSelection == PCL_ALIEN_BUILDER0_UPG ) ) + { + haveBuilder = qtrue; + break; + } + } + // aliens now know they have no eggs, but they're screwed, so stfu + if( !haveBuilder ) + self->overmindSpawnsTimer = level.startTime + + ( g_timelimit.integer * 60000 ); } //overmind dying -- cgit