class ProjectileInfo_t
{
public:
    ProjectileBehaviorFlag_t m_nBehaviors;
    // MPropertyStartGroup = Physics
    float32 m_flGravityScale;
    float32 m_flFriction;
    float32 m_flElasticity;
    float32 m_flSpeed;
    float32 m_flUpSpeed;
    float32 m_flMaxLinearRange;
    float32 m_flVerticalAimBias;
    ProjectileShape_t m_eProjectileShape;
    // MPropertySuppressExpr = m_eProjectileShape != Sphere
    float32 m_flTriggerRadius;
    // MPropertySuppressExpr = m_eProjectileShape != Sphere
    float32 m_flPhysicsRadius;
    // MPropertySuppressExpr = m_eProjectileShape != Sphere
    // MPropertyFriendlyName = Additional Bullet Only Trigger Radius
    // MPropertyDescription = When > 0, creates an additional trigger volume of this radius that bullets will touch and call OnBulletHit().  Useful when we want bullets to be more generous at hitting this projectile.
    float32 m_flBulletOnlyTriggerRadius;
    // MPropertySuppressExpr = m_eProjectileShape != Capsule
    Vector m_vecCapsulePhysicsCenter1;
    // MPropertySuppressExpr = m_eProjectileShape != Capsule
    Vector m_vecCapsulePhysicsCenter2;
    // MPropertySuppressExpr = m_eProjectileShape != Capsule
    float32 m_flCapsulePhysicsRadius;
    // MPropertySuppressExpr = m_eProjectileShape != Capsule
    Vector m_vecCapsuleTriggerCenter1;
    // MPropertySuppressExpr = m_eProjectileShape != Capsule
    Vector m_vecCapsuleTriggerCenter2;
    // MPropertySuppressExpr = m_eProjectileShape != Capsule
    float32 m_flCapsuleTriggerRadius;
    // MPropertyStartGroup = Visuals
    // MPropertyFriendlyName = Trail Particle
    CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>> m_particle;
    bool m_bHideWarningParticle;
    // MPropertyFriendlyName = Warning Particle
    // MPropertySuppressExpr = m_bHideWarningParticle == true
    CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>> m_warningParticle;
    // MPropertyFriendlyName = Projectile Model
    CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>> m_customModel;
    float32 m_flProjectileModelScale;
    // MPropertyStartGroup = Sounds
    // MPropertyDescription = Plays when a projectile hits a valid target - or the world. Not the same as detonating, just colliding.
    CSoundEventName m_HitSound;
    // MPropertyDescription = Plays when a projectile hits a valid target ONLY.
    CSoundEventName m_HitTargetSound;
    // MPropertyDescription = Plays when a projectile hits the world ONLY.
    CSoundEventName m_HitWorldSound;
    // MPropertyDescription = Plays when a projectile detonates. Not all projectiles detonate.
    CSoundEventName m_DetonateSound;
    // MPropertyDescription = Plays while a projectile is alive.
    CSoundEventName m_LoopingSound;
    // MPropertyDescription = Plays a warning sound when a projectile hits a surface, but before it detonates. Plays ONLY if a warning particle is also created.
    CSoundEventName m_WarningSound;
    // MPropertyStartGroup = Tracking
    float32 m_flTrackingDampingCoefficient;
    float32 m_flTrackingDuration;
    float32 m_flTrackingStartTime;
    float32 m_flTrackingEndTime;
    // MPropertyStartGroup = Modifiers
    CEmbeddedSubclass<CBaseModifier> m_AutoProjectileModifier;
};

KV3 Class Defaults

{
    m_nBehaviors = ""
    m_flGravityScale = 1.0
    m_flFriction = 0.0
    m_flElasticity = 0.0
    m_flSpeed = 3500.0
    m_flUpSpeed = 100.0
    m_flMaxLinearRange = 0.0
    m_flVerticalAimBias = 0.0
    m_eProjectileShape = "Sphere"
    m_flTriggerRadius = 1.5
    m_flPhysicsRadius = 1.5
    m_flBulletOnlyTriggerRadius = 0.0
    m_vecCapsulePhysicsCenter1 = [ 0.0, 0.0, 0.0 ]
    m_vecCapsulePhysicsCenter2 = [ 0.0, 0.0, 0.0 ]
    m_flCapsulePhysicsRadius = 1.5
    m_vecCapsuleTriggerCenter1 = [ 0.0, 0.0, 0.0 ]
    m_vecCapsuleTriggerCenter2 = [ 0.0, 0.0, 0.0 ]
    m_flCapsuleTriggerRadius = 1.5
    m_particle = resource_name:""
    m_bHideWarningParticle = false
    m_warningParticle = resource_name:""
    m_customModel = resource_name:""
    m_flProjectileModelScale = 1.0
    m_HitSound = soundevent:""
    m_HitTargetSound = soundevent:""
    m_HitWorldSound = soundevent:""
    m_DetonateSound = soundevent:""
    m_LoopingSound = soundevent:""
    m_WarningSound = soundevent:""
    m_flTrackingDampingCoefficient = 0.0
    m_flTrackingDuration = 0.0
    m_flTrackingStartTime = 0.0
    m_flTrackingEndTime = 0.0
    m_AutoProjectileModifier = subclass:
    {
    }
}