void CNoSpread::HUD_PostRunCmd(...){ WeaponID = to->client.m_iId; ... // update stuff (flags, velocity, spreadvar, etc.) if (to->weapondata[WeaponID].m_flNextPrimaryAttack <= 0) Burst = 0; }
void CNoSpread::GlockEvent(event_args_s *args){ if (args->entindex == gLocalPlayer.Index() && WeaponBit) Burst++; }
float CNoSpread::GetVecSpread(void){ float Spread; switch (WeaponID) { case WEAPON_GLOCK18: { if (!WeaponBit) { if (!(Flags & FL_ONGROUND)) Spread = 1 - SpreadVar; else if (Speed) Spread = 0.165 * (1 - SpreadVar); else if (Flags & FL_DUCKING) Spread = 0.075 * (1 - SpreadVar); else Spread = 0.1 * (1 - SpreadVar); } else { if (!Burst) { if (!(Flags & FL_ONGROUND)) Spread = 1.2 * (1 - SpreadVar); else if (Speed) Spread = 0.185 * (1 - SpreadVar); else if (Flags & FL_DUCKING) Spread = 0.095 * (1 - SpreadVar); else Spread = 0.3 * (1 - SpreadVar); } else { Spread = 0.05; } } break; } ... default: { Spread = 0; break; } } }