diff --git a/src/g_main.c b/src/g_main.c index 1bbc526..ca150d9 100644 --- a/src/g_main.c +++ b/src/g_main.c @@ -67,6 +67,7 @@ cvar_t *sv_maplist; cvar_t *gib_on; cvar_t *aimfix; +cvar_t *machinegun_norecoil; void SpawnEntities(char *mapname, char *entities, char *spawnpoint); void ClientThink(edict_t *ent, usercmd_t *cmd); diff --git a/src/header/local.h b/src/header/local.h index 350aff9..5ca54b1 100644 --- a/src/header/local.h +++ b/src/header/local.h @@ -541,6 +541,7 @@ extern cvar_t *flood_waitdelay; extern cvar_t *sv_maplist; extern cvar_t *aimfix; +extern cvar_t *machinegun_norecoil; #define world (&g_edicts[0]) diff --git a/src/player/weapon.c b/src/player/weapon.c index 731ebad..9d8cae8 100644 --- a/src/player/weapon.c +++ b/src/player/weapon.c @@ -1345,7 +1345,7 @@ Machinegun_Fire(edict_t *ent) ent->client->kick_angles[0] = ent->client->machinegun_shots * -1.5; /* raise the gun as it is firing */ - if (!deathmatch->value) + if (!(deathmatch->value || machinegun_norecoil->value)) { ent->client->machinegun_shots++; diff --git a/src/savegame/savegame.c b/src/savegame/savegame.c index c80cd39..3eeb456 100644 --- a/src/savegame/savegame.c +++ b/src/savegame/savegame.c @@ -250,6 +250,7 @@ InitGame(void) /* others */ aimfix = gi.cvar("aimfix", "0", CVAR_ARCHIVE); + machinegun_norecoil = gi.cvar("machinegun_norecoil", "0", CVAR_ARCHIVE); /* items */ InitItems ();