diff options
author | Mikko Tiusanen <ams@daug.net> | 2015-05-31 16:35:03 +0300 |
---|---|---|
committer | Mikko Tiusanen <ams@daug.net> | 2015-05-31 16:35:03 +0300 |
commit | 528aaa3c017e812638cb7388b378a1a172426265 (patch) | |
tree | 6c31213c510af62227a3f30924c503257e3aebb8 /src/game | |
parent | 05e4e1479b4a57d781572afa4346a6ef960043de (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.c | 2 | ||||
-rw-r--r-- | src/game/g_cmds.c | 8 |
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 ); |