class CCitadel_Ability_AirheartRocketeer3VData : public CitadelAbilityVData
{
public:
    // MPropertyStartGroup = Visuals
    CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>> m_JetpackFireFX;
    CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>> m_VTOLExplosionFX;
    // MPropertyStartGroup = Jetpack Movement
    float32 m_flAirDashDistancePct;
    float32 m_flAirDrag;
    float32 m_flAirSpeed;
    float32 m_flBeginJetpackingVelocityMultiplier;
    float32 m_flTimeToHoldBeforeBeginJetpack;
    float32 m_flVerticalDampening_FallingBelowNeutral;
    float32 m_flVerticalDampening_FallingAboveNeutral;
    float32 m_flVerticalDampening_RisingBelowNeutral;
    float32 m_flVerticalDampening_RisingAboveNeutral;
    float32 m_flVerticalDeadzoneSoft;
    float32 m_flVerticalDeadzoneHard;
    float32 m_flPreservedVelocityDecaySpeed;
    float32 m_flIntentMultiplierApproachSpeed;
    // MPropertyStartGroup = Jetpack Movement - MPC
    float32 m_flMPCOriginCoeff;
    float32 m_flMPCVelocityCoeff;
    float32 m_flMPCScale;
    float32 m_flMPCMaxAccel;
    // MPropertyStartGroup = Jetpack Movement - Movement Space Speeds
    float32 m_flMoveSpaceSpeed_ZUp;
    float32 m_flMoveSpaceSpeed_ZDown;
    float32 m_flMoveSpaceSpeed_Lateral;
    float32 m_flMoveSpaceSpeed_LateralZUp;
    float32 m_flMoveSpaceSpeed_Forward;
    float32 m_flMoveSpaceSpeed_Backward;
    // MPropertyStartGroup = Jetpack Movement - Intent Space Soft & Hard Zones
    float32 m_flIntentSpaceSoftZone;
    float32 m_flIntentSpaceHardZone;
    float32 m_flHardZoneCoeffFrac;
    float32 m_flSoftZoneCoeffFrac;
    // MPropertyStartGroup = Jetpack Movement - Impulse Overdrive
    CPiecewiseCurve m_OverdriveLateral;
    float32 m_flOverdriveCooldown;
    // MPropertyStartGroup = Jetpack Movement - Fuel
    float32 m_flConsumedBySideThrusting;
    float32 m_flConsumedWhileActive;
    // MPropertyStartGroup = Jetpack Movement - Hover
    float32 m_flHoverVelocityDecaySpeed;
    // MPropertyStartGroup = Jetpack Movement - VTOL
    CPiecewiseCurve m_VTOLSpeedByTime;
    float32 m_flVTOLCamTurnRate;
    CEmbeddedSubclass<CCitadelModifier> m_VTOLModifier;
    float32 m_flMaxVTOLBounceSpeed;
    float32 m_flVTOLFloorBounceZSpeed;
    // MPropertyStartGroup = Jetpack Movement - Wall Attach
    float32 m_flWallAttachCooldown;
    float32 m_flWallJumpSpeed;
    float32 m_flWallAttachMinDuration;
    // MPropertyStartGroup = Sounds
    CSoundEventName m_strOutOfFuelSound;
    CSoundEventName m_strOverdriveActivatedSound;
    CSoundEventName m_strJetpackingLoop;
    CSoundEventName m_strJetpackingThrustingLoop;
    // MPropertyStartGroup = Camera
    CitadelCameraOperationsSequence_t m_cameraSequenceVTOL;
    CitadelCameraOperationsSequence_t m_cameraSequenceHover;
    CitadelCameraOperationsSequence_t m_cameraSequenceWallAttach;
    float32 flScreenShake_VTOL_Amplitude;
    float32 flScreenShake_VTOL_Frequency;
};

KV3 Class Defaults

{
    _class = "CCitadel_Ability_AirheartRocketeer3VData"
    m_eAbilityType = "EAbilityType_Invalid"
    m_eItemSlotType = "EItemSlotType_Invalid"
    m_bDisabled = false
    m_bDisabledOnExperimental = false
    m_bInDevelopment = false
    m_bStartTrained = false
    m_iMaxLevel = 1
    m_nAbilityPointsCost = 0
    m_nAbillityUnlocksCost = 0
    m_iUpdateTime = 0
    m_AbilityBehaviorsBits = ""
    m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_NONE"
    m_eAbilityTargetingShape = "CITADEL_ABILITY_TARGETING_SHAPE_NONE"
    m_flTargetingConeAngle = 0.0
    m_flTargetingConeHalfWidth = 10.0
    m_bIncludeExtra2DCone = true
    m_bUseCameraOffsetsForCone = true
    m_bCollectNearbyTargetsWithCone = false
    m_flNearbySweepOffset = -59.0
    m_flNearbySweepRadius = 78.0
    m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_NONE"
    m_TriggerButtonPreReqButton = ""
    m_TriggerButtonOverride = ""
    m_eAbilitySpectatePriority = "CITADELTV_ABILITY_SPECTATE_PRIORITY_NONE"
    m_bitsInterruptingStates = ""
    m_IncompatibleFilter = 
    {
        m_AbilityBehaviorsBits = ""
        m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_NONE"
        m_eIncompatibleAbilityType = "EAbilityType_Invalid"
    }
    m_nAbilityTargetTypes = ""
    m_nAbilityTargetFlags = ""
    m_eTargettingLOSCheck = "ELOSCheck_Bounds"
    m_bitsPreCastEnabledStateMask = ""
    m_bitsChannelEnabledStateMask = ""
    m_bitsPostCastEnabledStateMask = ""
    m_TargetAbilityEffectsToApply = ""
    m_flBossDamageScale = 1.0
    m_bShowTargetingPreviewWhileChanneling = false
    m_bShowTargetingPreviewWhileCasting = false
    m_WeaponInfo = 
    {
        m_flBulletDamage = 0.0
        m_eDamageType = "CITADEL_DAMAGETYPE_BULLET"
        m_iBullets = 1
        m_iSplitShotsMax = -1
        m_bHitOnceAcrossAllBullets = false
        m_iBulletsToFullyClaimOrb = 1
        m_flExplosionRadius = 0.0
        m_flExplosionDamageScaleAtMaxRadius = 0.3
        m_bAllowExplosionToCollectGold = false
        m_iClipSize = 0
        m_flCycleTime = 0.15
        m_flBulletCreationDelay = 0.0
        m_iBurstShotCount = 1
        m_flIntraBurstCycleTime = 0.0
        m_iAmmoConsumedPerShot = 1
        m_flRange = 8192.0
        m_flRangeWhileZoomed = 0.0
        m_flDamageFalloffStartRange = 0.0
        m_flDamageFalloffEndRange = 900.0
        m_flDamageFalloffBias = 0.5
        m_flDamageFalloffStartScale = 1.0
        m_flDamageFalloffEndScale = 0.0
        m_bDontPassThroughPortals = false
        m_bPlayImpactEffectsOnTeammates = false
        m_flPenetrationPercent = 0.0
        m_flIronSightsTime = 0.1
        m_reloadDuration = 0.0
        m_bReloadUseActiveWeaponInfoDuration = false
        m_bReloadSingleBullets = false
        m_bReloadSingleBulletsAllowCancel = false
        m_flReloadSingleBulletsInitialDelay = 0.0
        m_bCanCrit = true
        m_flCritBonusStartRange = 0.0
        m_flCritBonusEndRange = 0.0
        m_flCritBonusStart = 1.0
        m_flCritBonusEnd = 1.0
        m_flCritBonusAgainstNPCs = 0.2
        m_eCritFilter = "CITADEL_UNIT_TARGET_ALL"
        m_eCritAlwaysFilter = ""
        m_bSpinsUp = false
        m_flMaxSpinCycleTime = -1.0
        m_flSpinIncreaseRate = 0.0
        m_flSpinDecayRate = 0.0
        m_flBuildUpRate = -1.0
        m_bIsSemiAuto = false
        m_flBulletSpeed = 1000.0
        m_flBulletSpeedRandomFactor = 0.0
        m_flBulletGravityScale = 1.0
        m_flBulletRadius = 0.0
        m_flBulletRadiusVsWorld = 0.0
        m_flBulletLifetime = 0.0
        m_flVerticalAimBias = 0.0
        m_flBulletInheritShooterVelocityScale = 0.0
        m_bCanZoom = true
        m_flZoomFOV = 70.0
        m_flZoomFOV_Relative = -5.0
        m_flZoomMoveSpeedPercent = 0.75
        m_flShootMoveSpeedPercent = 0.75
        m_flReloadMoveSpeedPercent = 1.0
        m_bUsesSpreadPattern = true
        m_Spread = 0.2
        m_bFirstShotPerfectAccuracy = false
        m_AimingShootSpreadPenalty = 0.0
        m_flScatterYawScale = 1.0
        m_flShootSpreadPenaltyPerShot = 0.0
        m_ShootSpreadPenaltyPerShotNormalization = 
        {
            m_bNormalizeSpreadPerShot = false
            m_FireRatePctRange = [ 0.0, 100.0 ]
            m_SpreadPerShotFactor = 1.0
        }
        m_flShootSpreadPenaltyDecayDelay = -1.0
        m_flShootSpreadPenaltyDecay = 1.0
        m_flSpreadPenaltyDecay = 3.0
        m_flShootingUpSpreadPenalty = 0.0
        m_flAutoReplenishClip = 0.0
        m_NpcAimingSpread = 0.0
        m_vecScatterOffsets = [  ]
        m_flPelletScatterFactor = 1.0
        m_flPelletScatterSpreadFactor = 0.5
        m_bApplySpreadToFirstPellet = false
        m_vecOriginOffsets = [  ]
        m_flVerticalPunch = 1.0
        m_flHorizontalPunch = 0.5
        m_HorizontalRecoil = 
        {
            m_Range = 0.0
            m_flBurstSlope = 0.0
            m_flBurstExponent = 1.0
            m_flBurstConstant = 0.0
        }
        m_VerticallRecoil = 
        {
            m_Range = 0.0
            m_flBurstSlope = 0.0
            m_flBurstExponent = 1.0
            m_flBurstConstant = 0.0
        }
        m_flRecoilSpeed = 1.0
        m_flRecoilRecoveryDelayFactor = 1.0
        m_flRecoilRecoverySpeed = 1.0
        m_flRecoilShotIndexRecoveryTimeFactor = 0.25
        m_nRecoilSeed = 0
        m_szBulletTravelTracerParticle = resource_name:"particles/weapon_fx/default_tracer.vpcf"
        m_szSelfBulletTravelTracerParticle = resource_name:""
        m_szBulletLinkParticle = resource_name:""
        m_bUseDesatForFriendlyNonHeroTracer = true
        m_eAttachmentSourceType = "EAttachmentSource_WeaponMuzzles"
        m_strCustomAttachmentSource = "ability_cast"
        m_szMuzzleFlashEffectName = resource_name:""
        m_strWeaponImpactEffect = resource_name:""
        m_mapImpactEffects = 
        {
        }
        m_bUseWeaponAbilityName = false
        m_flDamageForce = 50.0
        m_strShootSound = soundevent:""
        m_strFirstShotSound = soundevent:""
        m_strShotReleaseSound = soundevent:""
        m_strBulletLoopingSound = soundevent:""
        m_strBulletWhizSound = soundevent:""
        m_strBulletImpactSound = soundevent:""
        m_flBulletWhizDistance = 150.0
        m_strReloadSound = soundevent:""
        m_strReloadEndSound = soundevent:""
        m_strLocalPlayerBulletImpactSound = soundevent:""
        m_strLocalPlayerBulletImpactHeavySound = soundevent:""
        m_strZoomInSound = soundevent:""
        m_strZoomOutSound = soundevent:""
        m_strSpinUpSound = soundevent:""
        m_strSpinDownSound = soundevent:""
        m_strSpinUpLoopSound = soundevent:""
        m_flMaxLagCompensation = 340282346638528859811704183484516925440.0
    }
    m_projectileInfo = 
    {
        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:
        {
        }
    }
    m_deploymentInfo = 
    {
        m_bRequiresUpNormal = false
        m_bGroundCheck = false
        m_bPlaceFlat = false
        m_flFlatYawOffset = 0.0
        m_bPlaceNormalToSurface = false
        m_bPointTrace = false
        m_bCheckPlayerFit = false
        m_flModelVerticalPlacementScaleOffset = 0.0
        m_bDownCheckIgnoreLos = false
        m_previewModel = resource_name:""
        m_previewParticle = resource_name:""
        m_strPreviewParticleEffectConfig = ""
        m_strExraBodygroup = ""
        m_strPreviewClass = "citadel_deployable_preview"
        m_flPreviewModelScale = 1.0
        m_flGroundCheckHeightOffset = -1.0
        m_flGroundCheckHeightOffsetDown = -1.0
    }
    m_mapAbilityProperties = 
    {
    }
    m_mapDependentAbilities = 
    {
    }
    m_vecAbilityUpgrades = [  ]
    m_strCastAnimGraphParam = ""
    m_strSelectionNameOverride = ""
    m_strCastAnimSequenceName = ""
    m_bSuppressOutOfCombatOnCast = true
    m_bSuppressOutOfCombatWhileChanneling = true
    m_strAG2SourceName = ""
    m_strAG2CastingAction = "casting"
    m_strAG2ChannelingAction = "channeling"
    m_strAG2CastCompletedAction = "cast_completed"
    m_AbilityTooltipDetails = 
    {
        m_vecAbilityInfoSections = [  ]
        m_vecAdditionalHeaderProperties = [  ]
    }
    m_strCSSClass = ""
    m_strAbilityImage = panorama:""
    m_strMoviePreviewPath = ""
    m_HUDPanel = 
    {
        m_vecHUDElements = [  ]
        m_vecButtonHints = [  ]
        m_bForceDrawDefaultCastBars = false
    }
    m_bShowInPassiveItemsArea = false
    m_bForceHideHUDPanel = false
    m_bForceShowHUDPanel = false
    m_bUsesFlightControls = false
    m_strFlyUpLocString = ""
    m_strFlyDownLocString = ""
    m_strSubCastUICSSClass = ""
    m_additionalAbilities = 
    {
        m_strTitle = ""
        m_vecAbilityNames = [  ]
    }
    m_strSecondaryStatName = ""
    m_strCastButtonLocToken = ""
    m_strAltCastButtonLocToken = ""
    m_cameraSequenceCastStart = 
    {
        m_strToken = ""
        m_bIsEmpty = false
        m_nPriority = 1
        m_vecDistanceOperations = [  ]
        m_vecFOVOperations = [  ]
        m_vecTargetPosOperations = [  ]
        m_vecVertOffsetOperations = [  ]
        m_vecHorizOffsetOperations = [  ]
    }
    m_bEndCastStartSequenceOnCastComplete = true
    m_cameraSequenceCastComplete = 
    {
        m_strToken = ""
        m_bIsEmpty = false
        m_nPriority = 1
        m_vecDistanceOperations = [  ]
        m_vecFOVOperations = [  ]
        m_vecTargetPosOperations = [  ]
        m_vecVertOffsetOperations = [  ]
        m_vecHorizOffsetOperations = [  ]
    }
    m_cameraSequenceChannelStart = 
    {
        m_strToken = ""
        m_bIsEmpty = false
        m_nPriority = 1
        m_vecDistanceOperations = [  ]
        m_vecFOVOperations = [  ]
        m_vecTargetPosOperations = [  ]
        m_vecVertOffsetOperations = [  ]
        m_vecHorizOffsetOperations = [  ]
    }
    m_bEndChannelStartSequenceOnChannelComplete = true
    m_flCameraPreviewOffset = -1.0
    m_flCameraPreviewDistance = -1.0
    m_flCameraPreviewSpeed = -1.0
    m_previewParticle = resource_name:""
    m_strPreviewParticleEffectConfig = ""
    m_PreviewPathParticle = resource_name:""
    m_mapCastEventParticles = 
    {
    }
    m_skillshotHitParticle = resource_name:""
    m_skillshotMissParticle = resource_name:""
    m_TargetingPreviewParticle = resource_name:""
    m_HudSharedStyle = resource_name:""
    m_strSelectedSound = soundevent:""
    m_strUnselectedSound = soundevent:""
    m_strSelectedLoopSound = soundevent:""
    m_strCastSound = soundevent:""
    m_strChannelSound = soundevent:""
    m_strChannelLoopSound = soundevent:""
    m_strCastDelaySound = soundevent:""
    m_strCastDelayLoopSound = soundevent:""
    m_strHitConfirmationSound = soundevent:""
    m_strDamageTakenSound = soundevent:""
    m_strAbilityOffCooldownSound = soundevent:""
    m_strAbilityChargeReadySound = soundevent:""
    m_bPlayMeepMop = true
    m_AutoChannelModifier = subclass:
    {
    }
    m_AutoCastDelayModifier = subclass:
    {
    }
    m_AutoIntrinsicModifiers = [  ]
    m_cosmeticInfo = 
    {
        m_bIsSeasonal = false
    }
    m_JetpackFireFX = resource_name:""
    m_VTOLExplosionFX = resource_name:""
    m_flAirDashDistancePct = 0.0
    m_flAirDrag = 0.0
    m_flAirSpeed = 0.0
    m_flBeginJetpackingVelocityMultiplier = 0.0
    m_flTimeToHoldBeforeBeginJetpack = 0.0
    m_flVerticalDampening_FallingBelowNeutral = 0.0
    m_flVerticalDampening_FallingAboveNeutral = 0.0
    m_flVerticalDampening_RisingBelowNeutral = 0.0
    m_flVerticalDampening_RisingAboveNeutral = 0.0
    m_flVerticalDeadzoneSoft = 0.0
    m_flVerticalDeadzoneHard = 0.0
    m_flPreservedVelocityDecaySpeed = 0.0
    m_flIntentMultiplierApproachSpeed = 0.0
    m_flMPCOriginCoeff = 0.0
    m_flMPCVelocityCoeff = 0.0
    m_flMPCScale = 0.0
    m_flMPCMaxAccel = 0.0
    m_flMoveSpaceSpeed_ZUp = 0.0
    m_flMoveSpaceSpeed_ZDown = 0.0
    m_flMoveSpaceSpeed_Lateral = 0.0
    m_flMoveSpaceSpeed_LateralZUp = 0.0
    m_flMoveSpaceSpeed_Forward = 0.0
    m_flMoveSpaceSpeed_Backward = 0.0
    m_flIntentSpaceSoftZone = 0.0
    m_flIntentSpaceHardZone = 0.0
    m_flHardZoneCoeffFrac = 0.0
    m_flSoftZoneCoeffFrac = 0.0
    m_OverdriveLateral = 
    {
        m_spline = [  ]
        m_tangents = [  ]
        m_vDomainMins = [ 0.0, 0.0 ]
        m_vDomainMaxs = [ 0.0, 0.0 ]
    }
    m_flOverdriveCooldown = 0.0
    m_flConsumedBySideThrusting = 0.0
    m_flConsumedWhileActive = 0.0
    m_flHoverVelocityDecaySpeed = 0.0
    m_VTOLSpeedByTime = 
    {
        m_spline = [  ]
        m_tangents = [  ]
        m_vDomainMins = [ 0.0, 0.0 ]
        m_vDomainMaxs = [ 0.0, 0.0 ]
    }
    m_flVTOLCamTurnRate = 0.0
    m_VTOLModifier = subclass:
    {
    }
    m_flMaxVTOLBounceSpeed = 0.0
    m_flVTOLFloorBounceZSpeed = 0.0
    m_flWallAttachCooldown = 0.0
    m_flWallJumpSpeed = 0.0
    m_flWallAttachMinDuration = 0.0
    m_strOutOfFuelSound = soundevent:""
    m_strOverdriveActivatedSound = soundevent:""
    m_strJetpackingLoop = soundevent:""
    m_strJetpackingThrustingLoop = soundevent:""
    m_cameraSequenceVTOL = 
    {
        m_strToken = ""
        m_bIsEmpty = false
        m_nPriority = 1
        m_vecDistanceOperations = [  ]
        m_vecFOVOperations = [  ]
        m_vecTargetPosOperations = [  ]
        m_vecVertOffsetOperations = [  ]
        m_vecHorizOffsetOperations = [  ]
    }
    m_cameraSequenceHover = 
    {
        m_strToken = ""
        m_bIsEmpty = false
        m_nPriority = 1
        m_vecDistanceOperations = [  ]
        m_vecFOVOperations = [  ]
        m_vecTargetPosOperations = [  ]
        m_vecVertOffsetOperations = [  ]
        m_vecHorizOffsetOperations = [  ]
    }
    m_cameraSequenceWallAttach = 
    {
        m_strToken = ""
        m_bIsEmpty = false
        m_nPriority = 1
        m_vecDistanceOperations = [  ]
        m_vecFOVOperations = [  ]
        m_vecTargetPosOperations = [  ]
        m_vecVertOffsetOperations = [  ]
        m_vecHorizOffsetOperations = [  ]
    }
    flScreenShake_VTOL_Amplitude = 0.0
    flScreenShake_VTOL_Frequency = 0.0
}