FireBulletsInfo_t
Jump to navigation
Jump to search
Tip:For full implementation details, examine
FireBulletsInfo_t is a struct that describes a batch of hitscan bullets. An object of this type is normally created by a weapon before being passed, as a required parameter, to CBaseEntity::FireBullets().
CBaseCombatWeapon::PrimaryAttack().Members
int m_iShots- Number of bullets in this batch. Rapid-fire weapons should be able to queue up several bullets at once if the framerate is low, like this:
while (NextPrimaryAttack <= curtime) { mybullets.m_iShots++; NextPrimaryAttack += fireRate; }
Vector m_vecSrcVector m_vecDirShooting- Location to shoot from and direction to shoot in. Normally assigned
CBasePlayer::Weapon_ShootPosition()andCBasePlayer::GetAutoaimVector(AUTOAIM_SCALE_DEFAULT)respectively. Vector m_vecSpread- A "cone of fire" within which bullets will be spread at random (but see
m_nFlags). You can use the variousVECTOR_CONE_#defines to avoid maths. float m_flDistance- Maximum trace length. Bullets travel this far then disappear.
int m_iAmmoType- AmmoDef index for the type of bullet being fired.
int m_iTracerFreq- How often visible tracers should be created.
Confirm:1 = 100%, 2 = 50%, etc. int m_iDamageint m_iPlayerDamage- Amount of damage to do. PlayerDamage is a special override that determines how much damage should be done if a player is hit.
int m_nFlags- Generic flag bitstring - see
FireBulletsFlags_t. Stock choices are:FIRE_BULLETS_FIRST_SHOT_ACCURATE- Fire the first shot with perfect accuracy.
FIRE_BULLETS_DONT_HIT_UNDERWATER- If the shot hits its target underwater, don't damage it.
FIRE_BULLETS_ALLOW_WATER_SURFACE_IMPACTS- If the shot hits water surface, still call
DoImpactEffect(). FIRE_BULLETS_TEMPORARY_DANGER_SOUND- Danger sounds added from this impact can be stomped immediately if another is queued.
float m_flDamageForceScale- Multiplier for VPhysics forces created by the bullets.
CBaseEntity* m_pAttacker- The entity which is attacking. Defaults to the one which
FireBullets(). CBaseEntity* m_pAdditionalIgnoreEnt- The gun and its owner are ignored when tracing the path of the bullets. This allows another entity to be ignored also.
bool m_bPrimaryAttack- Whether the attack is primary fire or not. Only checked by the game stats system.