summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikko Tiusanen <ams@daug.net>2015-05-31 16:35:03 +0300
committerMikko Tiusanen <ams@daug.net>2015-05-31 16:35:03 +0300
commit528aaa3c017e812638cb7388b378a1a172426265 (patch)
tree6c31213c510af62227a3f30924c503257e3aebb8
parent05e4e1479b4a57d781572afa4346a6ef960043de (diff)
Minor gameplay fixes.
Hummel can no longer fly if there's no overmind around. Human radar update rate back to 1Hz. Evolving from basi to adv basi retains the reload timer.
-rw-r--r--src/cgame/cg_scanner.c2
-rw-r--r--src/game/g_active.c2
-rw-r--r--src/game/g_cmds.c8
3 files changed, 9 insertions, 3 deletions
diff --git a/src/cgame/cg_scanner.c b/src/cgame/cg_scanner.c
index 43348b3..6659b98 100644
--- a/src/cgame/cg_scanner.c
+++ b/src/cgame/cg_scanner.c
@@ -25,7 +25,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
static entityPos_t entityPositions;
-#define HUMAN_SCANNER_UPDATE_PERIOD 25
+#define HUMAN_SCANNER_UPDATE_PERIOD 1000
/*
=============
diff --git a/src/game/g_active.c b/src/game/g_active.c
index 1f0d121..42a2773 100644
--- a/src/game/g_active.c
+++ b/src/game/g_active.c
@@ -1751,7 +1751,7 @@ void ClientThink_real( gentity_t *ent )
client->ps.pm_type = PM_GRABBED;
else if( BG_InventoryContainsUpgrade( UP_JETPACK, client->ps.stats ) && BG_UpgradeIsActive( UP_JETPACK, client->ps.stats ) )
client->ps.pm_type = PM_JETPACK;
- else if( client->ps.weapon == WP_ALEVEL5 )
+ else if( client->ps.weapon == WP_ALEVEL5 && G_Overmind() )
//hummel fly
client->ps.pm_type = PM_HUMMEL;
else
diff --git a/src/game/g_cmds.c b/src/game/g_cmds.c
index 55a08ee..f75241c 100644
--- a/src/game/g_cmds.c
+++ b/src/game/g_cmds.c
@@ -1665,7 +1665,7 @@ void Cmd_Class_f( gentity_t *ent )
vec3_t mins, maxs;
int num;
gentity_t *other;
- int oldBoostTime = -1;
+ int oldBoostTime = -1,oldTimeStamp;
vec3_t oldVel;
clientNum = ent->client - level.clients;
@@ -1835,6 +1835,7 @@ void Cmd_Class_f( gentity_t *ent )
if( ent->client->ps.stats[ STAT_STATE ] & SS_BOOSTED )
oldBoostTime = ent->client->boostedTime;
+ oldTimeStamp = ( ent->client->ps.weapon == WP_ALEVEL1 ) ? ent->timestamp : 0;
ClientSpawn( ent, ent, ent->s.pos.trBase, ent->s.apos.trBase );
@@ -1844,6 +1845,11 @@ void Cmd_Class_f( gentity_t *ent )
ent->client->boostedTime = oldBoostTime;
ent->client->ps.stats[ STAT_STATE ] |= SS_BOOSTED;
}
+ if( newClass == PCL_ALIEN_LEVEL1_UPG )
+ {
+ ent->timestamp = oldTimeStamp;
+ ent->client->ps.ammo = 0;
+ }
}
else
G_TriggerMenuArgs( clientNum, MN_A_CANTEVOLVE, newClass );