Skip to content

Commit 8eabc0e

Browse files
committed
gameplay(weapons): rd_weapon_autoaim runtime toggle auto-aim for autogun/prifle (c_asw_weapon.cpp, asw_weapon_autogun_shared.h, asw_weapon_prifle_shared.h)
- Add rd_weapon_autoaim ConVar\n- Gate auto-aim values via CLIENT_DLL\n- Disable auto-aim when ConVar is off
1 parent f176bc0 commit 8eabc0e

3 files changed

Lines changed: 44 additions & 4 deletions

File tree

src/game/client/swarm/c_asw_weapon.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ ConVar rd_drop_magazine_force_up( "rd_drop_magazine_force_up", "50", FCVAR_NONE,
125125
ConVar rd_drop_magazine_spin( "rd_drop_magazine_spin", "1000", FCVAR_NONE, "Amount of random angular velocity to apply to dropped magazine" );
126126
ConVar rd_drop_magazine_lifetime( "rd_drop_magazine_lifetime", "4", FCVAR_NONE, "Time before a dropped magazine fades" );
127127
ConVar rd_strange_device_model( "rd_strange_device_model", "0", FCVAR_NONE, "Should items with strange devices attached display them in the world?" );
128+
ConVar rd_weapon_autoaim( "rd_weapon_autoaim", "1", FCVAR_NONE, "Enable or disable weapon auto-aim if available." );
128129

129130
extern ConVar asw_use_particle_tracers;
130131
extern ConVar muzzleflash_light;

src/game/shared/swarm/asw_weapon_autogun_shared.h

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,28 @@ class CASW_Weapon_Autogun : public CASW_Weapon_Rifle
2727

2828
//float GetFireRate( void ) { return 0.1f; }
2929

30-
virtual const float GetAutoAimAmount() { return 0.36f; }
31-
virtual const float GetAutoAimRadiusScale() { return 1.5f; }
30+
#ifdef CLIENT_DLL
31+
virtual const float GetAutoAimAmount()
32+
{
33+
extern ConVar rd_weapon_autoaim;
34+
return rd_weapon_autoaim.GetBool() ? 0.36f : 0.0f;
35+
}
36+
virtual const float GetAutoAimRadiusScale()
37+
{
38+
extern ConVar rd_weapon_autoaim;
39+
return rd_weapon_autoaim.GetBool() ? 1.5f : 0.0f;
40+
}
41+
#else
42+
virtual const float GetAutoAimAmount()
43+
{
44+
return 0.26f;
45+
}
46+
virtual const float GetAutoAimRadiusScale()
47+
{
48+
return 1.5f;
49+
}
50+
#endif
51+
3252
virtual bool ShouldFlareAutoaim() { return true; }
3353
virtual const Vector& GetBulletSpread( void );
3454

src/game/shared/swarm/asw_weapon_prifle_shared.h

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,27 @@ class CASW_Weapon_PRifle : public CASW_Weapon_Rifle
2222
virtual ~CASW_Weapon_PRifle();
2323
void Precache();
2424

25-
virtual const float GetAutoAimAmount() { return 0.26f; }
26-
virtual const float GetAutoAimRadiusScale() { return 1.5f; }
25+
#ifdef CLIENT_DLL
26+
virtual const float GetAutoAimAmount()
27+
{
28+
extern ConVar rd_weapon_autoaim;
29+
return rd_weapon_autoaim.GetBool() ? 0.26f : 0.0f;
30+
}
31+
virtual const float GetAutoAimRadiusScale()
32+
{
33+
extern ConVar rd_weapon_autoaim;
34+
return rd_weapon_autoaim.GetBool() ? 1.5f : 0.0f;
35+
}
36+
#else
37+
virtual const float GetAutoAimAmount()
38+
{
39+
return 0.26f;
40+
}
41+
virtual const float GetAutoAimRadiusScale()
42+
{
43+
return 1.5f;
44+
}
45+
#endif
2746
virtual float GetFireRate();
2847
virtual float GetWeaponBaseDamageOverride();
2948
virtual int GetWeaponSkillId();

0 commit comments

Comments
 (0)