class CCitadel_ Ability_ PrimaryWeaponVData : public CitadelAbilityVData
{
uint8 pad_ 1818 [ 8 ] ;
public:
// MPropertyDescription = The DOF settings to apply while zoomed in.
DOFDesc_ t m_ DOFWhileZoomed;
// MPropertyDescription = When true, the 'Far Crisp' and 'Far Blurry' are added on top of the gun's range. When false, use the values directly.
bool m_ bDOFFarSettingsAreOffsetByGunRange;
// MPropertyStartGroup = Sounds
// MPropertyFriendlyName = Fire while disarmed sound
CSoundEventName m_ sDisarmedSound;
float32 m_ flMinDisarmedSoundInterval;
CSoundEventName m_ sObstructedShotSound;
CUtlOrderedMap < ENextAttackDelayReason_ t , CUtlOrderedMap < ECitadelAudioLoopSounds , CSoundEventName> > m_ mapDelayLoopsSounds;
// MPropertyStartGroup = Action Reload
// MPropertyAttributeRange = 0 1
// MPropertyDescription = If we have action reloads, at what fraction of our reload progress does the timing window start. The window is centered on this time.
float32 m_ flActionReloadTimingStart;
// MPropertyDescription = If we have action reloads, how long is the window
float32 m_ flActionReloadTimingDuration;
// MPropertyStartGroup = UI
CUtlString m_ strCrosshairCSSClass;
bool m_ bUseCustomCrosshairSettings;
// MPropertySuppressExpr = m_ bUseCustomCrosshairSettings == false
CustomCrosshairSettings_ t m_ CustomCrosshairSettings;
// MPropertyStartGroup = Visuals
// MPropertyDescription = Effect to parent to the gun.CP.0 = muzzle attachment source below, CP.1 = muzzle_ fx. CP2.X = ammo frac, CP2.Y = is reloading (1/0), CP2.Z = shot recently (1/0).
CResourceNameTyped < CWeakHandle < InfoForResourceTypeIParticleSystemDefinition > > m_ PassiveWeaponParticle;
CUtlString m_ strPassiveWeaponAttachmentSource;
} ;
KV3 Class Defaults
{
_ class = "CCitadel_ Ability_ PrimaryWeaponVData"
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_ DOFWhileZoomed =
{
m_ flDofNearBlurry = 0.0
m_ flDofNearCrisp = 0.0
m_ flDofFarCrisp = 0.0
m_ flDofFarBlurry = 0.0
}
m_ bDOFFarSettingsAreOffsetByGunRange = true
m_ sDisarmedSound = soundevent : ""
m_ flMinDisarmedSoundInterval = 0.1
m_ sObstructedShotSound = soundevent : ""
m_ mapDelayLoopsSounds =
{
}
m_ flActionReloadTimingStart = 0.5
m_ flActionReloadTimingDuration = 0.3
m_ strCrosshairCSSClass = ""
m_ bUseCustomCrosshairSettings = false
m_ CustomCrosshairSettings =
{
m_ nPipWidth = 0
m_ nPipHeight = 0
m_ nPipOutlineWidth = 0
m_ nPipOutlineGap = 0
m_ flPipOpacity = 0.0
m_ flPipOutlineOpacity = 0.0
m_ PipColor = [ 255 , 255 , 255 ]
m_ PipOutlineColor = [ 0 , 0 , 0 ]
m_ nDotRadius = 0
m_ nDotOutlineWidth = 0
m_ nDotOutlineGap = 0
m_ flDotOpacity = 0.0
m_ flDotOutlineOpacity = 0.0
m_ DotColor = [ 255 , 255 , 255 ]
m_ DotOutlineColor = [ 0 , 0 , 0 ]
m_ SpreadIndicatingElement = "LINE_ GAP"
}
m_ PassiveWeaponParticle = resource_ name : ""
m_ strPassiveWeaponAttachmentSource = "muzzle_ fx"
}