From 65d0511475f9a739d2a8e24e9d0fa044c3e1a1f8 Mon Sep 17 00:00:00 2001 From: IronClawTrem Date: Fri, 9 Aug 2019 04:07:42 +0100 Subject: preserve velocity when evolving --- src/game/g_cmds.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/game/g_cmds.c b/src/game/g_cmds.c index 6722fad..39ac73f 100644 --- a/src/game/g_cmds.c +++ b/src/game/g_cmds.c @@ -2704,6 +2704,7 @@ void Cmd_Class_f( gentity_t *ent ) int num; gentity_t *other; qboolean humanNear = qfalse; + vec3_t oldVel; int oldBoostTime = -1; clientNum = ent->client - level.clients; @@ -2892,9 +2893,11 @@ void Cmd_Class_f( gentity_t *ent ) ent->client->pers.classSelection = newClass; ClientUserinfoChanged( clientNum, qfalse ); VectorCopy( infestOrigin, ent->s.pos.trBase ); + VectorCopy( ent->client->ps.velocity, oldVel ); if( ent->client->ps.stats[ STAT_STATE ] & SS_BOOSTED ) oldBoostTime = ent->client->lastBoostedTime; ClientSpawn( ent, ent, ent->s.pos.trBase, ent->s.apos.trBase ); + VectorCopy( oldVel, ent->client->ps.velocity ); if( oldBoostTime > 0 ) { ent->client->lastBoostedTime = oldBoostTime; -- cgit