summaryrefslogtreecommitdiff
path: root/src/game
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 /src/game
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.
Diffstat (limited to 'src/game')
-rw-r--r--src/game/g_active.c2
-rw-r--r--src/game/g_cmds.c8
2 files changed, 8 insertions, 2 deletions
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 );