Browse Source

Sooner WeaponIdle for M249 (match delay from opfor) (#318)

opfor
Roman Chistokhodov 2 years ago committed by GitHub
parent
commit
cd158fd18c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      cl_dll/hl/hl_weapons.cpp
  2. 20
      dlls/gearbox/m249.cpp
  3. 2
      dlls/weapons.h

8
cl_dll/hl/hl_weapons.cpp

@ -1012,13 +1012,7 @@ void HUD_WeaponsPostThink( local_state_s *from, local_state_s *to, usercmd_t *cm
body = 1; body = 1;
if (pWeapon == &g_M249) { if (pWeapon == &g_M249) {
if (g_M249.m_iVisibleClip == 0) { body = g_M249.BodyFromClip();
body = 8;
} else if (g_M249.m_iVisibleClip > 0 && g_M249.m_iVisibleClip < 8) {
body = 9 - g_M249.m_iVisibleClip;
} else {
body = 0;
}
} }
// Force a fixed anim down to viewmodel // Force a fixed anim down to viewmodel

20
dlls/gearbox/m249.cpp

@ -203,7 +203,7 @@ void CM249::PrimaryAttack()
if (m_flNextPrimaryAttack < UTIL_WeaponTimeBase()) if (m_flNextPrimaryAttack < UTIL_WeaponTimeBase())
m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.1; m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.1;
m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + UTIL_SharedRandomFloat(m_pPlayer->random_seed, 10, 15); m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 0.2f;
} }
@ -282,13 +282,23 @@ void CM249::UpdateTape()
} }
void CM249::UpdateTape(int clip) void CM249::UpdateTape(int clip)
{
pev->body = BodyFromClip(clip);
}
int CM249::BodyFromClip()
{
return BodyFromClip(m_iVisibleClip);
}
int CM249::BodyFromClip(int clip)
{ {
if (clip == 0) { if (clip == 0) {
pev->body = 8; return 8;
} else if (m_iClip > 0 && clip < 8) { } else if (clip > 0 && clip < 8) {
pev->body = 9 - clip; return 9 - clip;
} else { } else {
pev->body = 0; return 0;
} }
} }

2
dlls/weapons.h

@ -1266,6 +1266,8 @@ public:
void UpdateTape(); void UpdateTape();
void UpdateTape(int clip); void UpdateTape(int clip);
int BodyFromClip();
int BodyFromClip(int clip);
int m_iVisibleClip; int m_iVisibleClip;

Loading…
Cancel
Save