From ffb2f9c68a9444fc3081de65758d6ff43c01bcb6 Mon Sep 17 00:00:00 2001 From: Deadbot0 Date: Mon, 22 Jun 2026 11:23:14 +0000 Subject: [PATCH 1/2] chore: empty commit to enable PR creation From 49116af0a3aa32584f5dcc9aedad9da555ee8baf Mon Sep 17 00:00:00 2001 From: Deadbot0 Date: Mon, 22 Jun 2026 11:26:36 +0000 Subject: [PATCH 2/2] Deadbot v1.14.0 | Client 6592 - Jun 19 2026 (deadbot@7b46863) --- data/json/ability-data.json | 1929 ++++++++ data/json/convars.json | 8752 +++++++++++++++++++++++++++++++++++ 2 files changed, 10681 insertions(+) create mode 100644 data/json/convars.json diff --git a/data/json/ability-data.json b/data/json/ability-data.json index 191e2ce..af2fc98 100644 --- a/data/json/ability-data.json +++ b/data/json/ability-data.json @@ -24,6 +24,10 @@ } } ], + "BehaviourBits": [ + "BehaviorCleaveDisabled", + "BehaviorDisplaysDamageImpact" + ], "BuildUpBulletPercentPerHit": 8.1, "BuildUpDuration": 17, "BurnDuration": 3, @@ -60,6 +64,11 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": 2.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorAllowSelfCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 48, @@ -110,6 +119,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "BackwardsShotDelayTime": 0.15, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "BuffModifier": { "Class": "AstroShotgunBuff", "Subclass": "AstroShotgunBuff" @@ -139,6 +151,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorCastableWhileDodging", + "BehaviorDontInterruptSlideOnCast" + ], "BombFriction": 3, "BombRestitution": 1.3, "BonusDamage": { @@ -198,6 +216,11 @@ "BeepSoundBuildupCount": 4, "BeepSoundIntervalBias": 0.55, "BeepSoundMaxFrequency": 0.1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 90, @@ -237,6 +260,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.3, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "DebuffDuration": 9, "DebuffModifier": { @@ -278,6 +307,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_boho_ability01", @@ -298,6 +331,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_boho_ability02", @@ -321,6 +358,13 @@ "AbilityCooldown": 15, "AbilityCooldownBetweenCharge": 7, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorProjectileFiredAsBullet" + ], "BounceCount": 3, "BounceRadius": 18, "ChannelMoveSpeed": -1, @@ -354,6 +398,11 @@ "AbilityCooldown": 100, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 16, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel" + ], "BonusDamage": { "Value": 100, "Scale": { @@ -414,6 +463,10 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "DamageShareModifier": { "Class": "BohoDamageshare", @@ -453,6 +506,10 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.7, "AbilityUnitTargetLimit": 16, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BonusMoveSpeed": 2, "BuffDuration": 4, "BuffModifier": { @@ -503,6 +560,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_bomber_ability02", @@ -523,6 +584,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_bomber_ability03", @@ -543,6 +608,10 @@ "AbilityCooldown": 127.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_bomber_ult", @@ -581,6 +650,13 @@ "Subclass": "Debuff" } }, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 90, @@ -620,6 +696,14 @@ "AbilityDuration": 5, "AbilityUnitTargetLimit": 1, "AuraLingerDuration": 0.1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorProjectilePassThroughWorld", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 30, @@ -703,6 +787,17 @@ "Type": "spirit" } }, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorAllowSelfCast", + "BehaviorCannotCancelDuringChannel", + "BehaviorAllowAltCast", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "BonusFireRate": { "Value": 0, "Scale": { @@ -762,6 +857,14 @@ "AirDrag": 0.8, "AllyHeight": 20, "AllyRadius": 4, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorCannotCancelDuringChannel", + "BehaviorRefundHalfCooldownOnChannelInterrupt" + ], "BonusMoveSpeed": 5, "BuffDuration": 9, "BuffModifier": { @@ -844,6 +947,11 @@ }, "BarrelBounceVelocity": 800, "BarrelUpFactor": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorMovement", + "BehaviorDontInterruptSlideOnCast" + ], "BounceModifier": { "Class": "CitadelBouncePadStomp", "Subclass": "CitadelBouncePadStomp" @@ -900,6 +1008,13 @@ "Class": "CitadelBulletFlurryWindup", "Subclass": "Cast" }, + "BehaviourBits": [ + "BehaviorExclusiveUse", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCleaveDisabled", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BonusFireRate": 25, "BulletFlurryModifier": { "Class": "CitadelBulletFlurry", @@ -940,6 +1055,11 @@ "AbilityCooldown": 40.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorCooldownOnChannelEnd", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BonusMoveSpeed": 5, "BulletResist": 60, "BurrowModifier": { @@ -1007,6 +1127,10 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BlastJumpVelocity": 25, "BlastJumpVelocityCrouch": 30, "BlastJumpVelocityGround": 20, @@ -1042,6 +1166,9 @@ "ability_charged_bomb_throw": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorCanCastOnZipline" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_charged_bomb_throw", @@ -1060,6 +1187,13 @@ "Class": "IntrinsicBase", "Subclass": "IntrinsicBase" }, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "CameraHeightOffset": 20, "CameraHorizontalOffset": 15, "ChannelMoveSpeed": 1.5, @@ -1099,6 +1233,11 @@ "AbilityCooldown": 20, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "CrackshotNPCCDReduction": 50, "Damage": { "Value": 55, @@ -1134,6 +1273,7 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 4, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "DeathTaxHeal": { "Value": 30, @@ -1175,6 +1315,11 @@ "Subclass": "SlowAuraModifier" } }, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "DebuffAccuracy": -40, "EnableAura": 1, @@ -1237,6 +1382,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 20, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorAllowAltCast", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "CombatBarrier": { "Value": 0, @@ -1294,6 +1445,14 @@ "AbilityCooldown": 1, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorNoTarget", + "BehaviorCastableWhileHidden", + "BehaviorIgnoreSelectionMashProtection", + "BehaviorTrigger", + "BehaviorCastableWhileBusy" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_doorman_doorway_close", @@ -1308,6 +1467,12 @@ "AbilityDuration": 6.5, "AbilityPostCastDuration": 0.7, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorCannotCancelDuringChannel", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 75, @@ -1419,6 +1584,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorAllowSelfCast", + "BehaviorProjectilePassThroughWorld", + "BehaviorDontInterruptSlideOnCast" + ], "CartDamage": { "Value": 80, "Scale": { @@ -1469,6 +1641,7 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "AmpDamagePercent": 15, + "BehaviourBits": null, "BuffModifier": { "Class": "Base", "Subclass": "DrifterHungerBuff" @@ -1531,6 +1704,11 @@ "AbilityCooldown": 6, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BonusClip": 1, "BuffDuration": 3, "Damage": { @@ -1600,6 +1778,15 @@ "BarrelRollSpeedMoveAir": 10, "BarrelRollSpeedMoveMin": 20, "BarrelScale": 1.3, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorIgnoreSelectionMashProtection", + "BehaviorDontInterruptSlideOnCast", + "BehaviorAllowAltCast", + "BehaviorCastImmediateOnOtherAbility" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_explosive_barrel", @@ -1651,6 +1838,13 @@ "Type": "spirit" } }, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorCannotCancelDuringChannel", + "BehaviorDisplaysDamageImpact", + "BehaviorCooldownOnChannelEnd", + "BehaviorRefundHalfCooldownOnChannelInterrupt" + ], "ChannelMoveSpeed": -1, "DamageResistPctWhileChanneling": 30, "EffectModifier": { @@ -1726,6 +1920,11 @@ "Class": "Base", "Subclass": "Channeling" }, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorProjectile", + "BehaviorDontInterruptSlideOnCast" + ], "CDReduceOnPillowHit": 5, "ChannelMoveSpeed": -1, "Damage": { @@ -1798,6 +1997,16 @@ "Class": "Base", "Subclass": "Castdelay" }, + "BehaviourBits": [ + "BehaviorDontBreakInvisibility", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorCooldownOnChannelEnd", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorMovement", + "BehaviorCanSetQuickCast", + "BehaviorDoNotAllowSpamProc" + ], "BonusMoveSpeed": 4, "CameraDummyModifier": { "Class": "FamiliarCamdummy", @@ -1885,6 +2094,13 @@ "AbilityCastRange": 30, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorCastableWhileHidden", + "BehaviorIgnoreSelectionMashProtection", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorMovement" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_familiar_attach_trigger", @@ -1914,6 +2130,15 @@ "AuraAttackHeight": 10, "AuraRadius": 10, "AuraSoftRadius": 10, + "BehaviourBits": [ + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSprint", + "BehaviorAllowSelfCast", + "BehaviorDamageDoesntWakeFromSleep", + "BehaviorDisplaysDamageImpact", + "BehaviorDoNotAllowSpamProc", + "BehaviorDontInterruptSlideOnCast" + ], "BonusMoveSpeed": 3.0, "ChannelMoveSpeed": -1, "DPSPerSprite": 1, @@ -1985,6 +2210,13 @@ "Type": "spirit" } }, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorMovement", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "ChannelMoveSpeed": -1, "DashAngleThreshold": 89, "DashBuffModifier": { @@ -2086,6 +2318,11 @@ "Class": "Base", "Subclass": "RiposteCastModifier" }, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "CounterattackAntiMashDelay": 0.2, "DamageThreshold": { @@ -2136,6 +2373,18 @@ "AbilityCastRange": 25, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorCastableWhileBusy", + "BehaviorNotSilencable", + "BehaviorCastableWhileCmdRestricted", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden", + "BehaviorIgnoreSelectionMashProtection", + "BehaviorCastableWhileDodging", + "BehaviorTrigger", + "BehaviorUseInstantCastUnitTargetUi" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_fencer_riposte_target_select", @@ -2149,6 +2398,12 @@ "AbilityUnitTargetLimit": 1, "AirDrag": 2.0, "AirSpeedMax": 70, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorMovement" + ], "BuffModifier": { "Class": "Base", "Subclass": "FencerSigilBuff" @@ -2208,6 +2463,18 @@ "Class": "Base", "Subclass": "FencerUltCastDelay" }, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorMovement", + "BehaviorNoTarget", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorDeactivateCrouchToggleOnCast", + "BehaviorCannotCancelDuringChannel", + "BehaviorCooldownOnChannelEnd", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorDisplaysDamageImpact" + ], "BonusDamagePercent": 60, "CameraDistance": 250, "CasterArrivalModifier": { @@ -2315,6 +2582,11 @@ "AbilityCooldown": 165.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorCastableWhileBusy", + "BehaviorDisplaysDamageImpact" + ], "BuffModifier": { "Class": "FirebombBuff", "Subclass": "Buff" @@ -2366,6 +2638,13 @@ "AbilityDuration": 3.0, "AbilityUnitTargetLimit": 1, "AuraLingerDuration": 1.0, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorPreventBotUsage", + "BehaviorMovement", + "BehaviorDeactivateCrouchToggleOnCast" + ], "ChannelMoveSpeed": 18, "DPS": { "Value": 30, @@ -2433,6 +2712,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_fortuna_ability01", @@ -2453,6 +2736,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_fortuna_ability02", @@ -2473,6 +2760,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_fortuna_ability03", @@ -2493,6 +2784,10 @@ "AbilityCooldown": 127.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_fortuna_ult", @@ -2526,6 +2821,13 @@ "Class": "Base", "Subclass": "Auraoff" }, + "BehaviourBits": [ + "BehaviorStartCooldownOnToggleOff", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDoNotAllowSpamProc", + "BehaviorCanCastOnZipline" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 0, @@ -2579,6 +2881,16 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.66, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorCastEvenIfBusyAndExclusive", + "BehaviorChannelled", + "BehaviorCastableWhileBusy", + "BehaviorNotSilencable", + "BehaviorNoTarget", + "BehaviorCastableWhileCmdRestricted", + "BehaviorDisplaysDamageImpact", + "BehaviorCanCastWhileDead" + ], "BonusDamagePerBullet": { "Value": 0, "Scale": { @@ -2661,6 +2973,13 @@ "AbilityCooldownBetweenCharge": 8, "AbilityDuration": 4.5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorDontInterruptSlideOnCast" + ], "BonusMoveSpeed": 3, "BuffModifier": { "Class": "FrankSelfzap", @@ -2714,6 +3033,12 @@ "Type": "cooldown" } }, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorDontInterruptSlideOnCast" + ], "BoltCount": 7, "BonusShocksDelay": 0.2, "ChannelMoveSpeed": -1, @@ -2787,6 +3112,11 @@ "Subclass": "IntrinsicBase" } ], + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNotSilencable", + "BehaviorNoTarget" + ], "BonusMoveSpeed": 3.5, "BonusSprintAcceleration": 14, "BonusSprintSpeed": 2, @@ -2831,6 +3161,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_graf_ability01", @@ -2851,6 +3185,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_graf_ability02", @@ -2871,6 +3209,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_graf_ability03", @@ -2891,6 +3233,10 @@ "AbilityCooldown": 127.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_graf_ult", @@ -2914,6 +3260,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 2.25, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorCleaveDisabled", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorDontInterruptSlideOnCast", + "BehaviorInterruptMeleeOnCast" + ], "BouncePadExtendDuration": 1.0, "CameraPreviewDistance": 200, "CameraPreviewOffset": 25, @@ -2958,6 +3311,13 @@ "AbilityCooldown": 110.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BonusTechPowerPerKill": 10, "Damage": { "Value": 230.0, @@ -3011,6 +3371,14 @@ "Type": "damage" } }, + "BehaviourBits": [ + "BehaviorDontBreakInvisibility", + "BehaviorDontInterruptSprint", + "BehaviorCastableWhileBusy", + "BehaviorDontInterruptMeleeOnCast", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BonusBulletSpeed": 100, "BulletRadiusOverride": 13.7, "BulletTimeScale": 0.01, @@ -3053,6 +3421,17 @@ "AbilityCooldown": 90, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorAlwaysPreviewRadius", + "BehaviorDisarmable", + "BehaviorDisplaysDamageImpact", + "BehaviorCastableWhileDodging", + "BehaviorCooldownOnChannelEnd", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": 3.8, "Damage": null, "IsDisabled": false, @@ -3089,6 +3468,13 @@ "AbilityCooldown": 10, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontSwitchAwayOnCast", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorDontInterruptSlideOnCast" + ], "BurnDuration": 4, "ChannelMoveSpeed": -1, "DPS": { @@ -3134,6 +3520,11 @@ "AbilityCooldown": 21.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "Damage": { "Value": 100, "Scale": { @@ -3185,6 +3576,10 @@ } } ], + "BehaviourBits": [ + "BehaviorCleaveDisabled", + "BehaviorDisplaysDamageImpact" + ], "BuildUpBulletPercentPerHit": 8.33, "BuildUpDuration": 0.1, "BurnDuration": 0.3, @@ -3220,6 +3615,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 0.25, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorCleaveDisabled", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast" + ], "BuffModifier": { "Class": "Base", "Subclass": "Base" @@ -3269,6 +3670,16 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorCastableWhileBusy", + "BehaviorInterruptMeleeOnCast", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorDisplaysDamageImpact", + "BehaviorRequireAbilityButtonToCancel", + "BehaviorCanSetQuickCast", + "BehaviorAllowSelfCast", + "BehaviorDontInterruptSlideOnCast" + ], "BlockerScaleFactor": 115, "BonusHealthRegen": { "Value": 90, @@ -3333,6 +3744,7 @@ ] }, "ability_ice_dome_trigger": { + "BehaviourBits": null, "IsDisabled": false, "Key": "ability_ice_dome_trigger", "Name": "Frozen Shelter", @@ -3344,6 +3756,14 @@ "AbilityCooldown": 30.0, "AbilityCooldownBetweenCharge": 7, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorCanHealPlayers", + "BehaviorProjectileFiredAsBullet", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 60, @@ -3409,6 +3829,11 @@ "Type": "range" } }, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDontAimFacingEnemy", + "BehaviorRequireAbilityButtonToCancel" + ], "BuildupModifier": { "Class": "IcebeamStackingSlow", "Subclass": "IcebeamStackingSlow", @@ -3478,6 +3903,16 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 8, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorCastableWhileBusy", + "BehaviorInterruptMeleeOnCast", + "BehaviorNoTarget", + "BehaviorPreventBotUsage", + "BehaviorMovement", + "BehaviorDeactivateCrouchToggleOnCast", + "BehaviorRequireAbilityButtonToCancel" + ], "CameraDistance": 250, "ChannelMoveSpeed": -1, "IcePathAuraDuration": 18, @@ -3535,6 +3970,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "ArmTime": 2.0, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorPreventTrainingBotUsage", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "ChargedShotHitRadiusScale": 30, "Damage": 25, @@ -3586,6 +4027,12 @@ "AbilityCooldown": 25.0, "AbilityCooldownBetweenCharge": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": 18, "Damage": { "Value": 40.0, @@ -3634,6 +4081,11 @@ "AbilityCooldown": 13, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorCastableWhileBusy", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": 1.3, "Damage": { "Value": 50, @@ -3677,6 +4129,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDontTriggerSpellBlock", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "ClimbHeight": 1, "CloseRangeSpeed": 80, @@ -3725,6 +4184,9 @@ "AbilityCooldown": 127.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "BoloBounceCount": 6, "BoloBounceSpeed": 800, "BoloContractRadius": 5, @@ -3786,6 +4248,11 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 30, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorNoTarget", + "BehaviorShowCastRangeAsSatSphereWhileCasting" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 65, @@ -3827,6 +4294,16 @@ "AbilityCooldown": 34.0, "AbilityDuration": 2.5, "AbilityUnitTargetLimit": 10, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorAllowAltCast", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_life_drain", @@ -3890,6 +4367,14 @@ "Class": "Airdamp", "Subclass": "AirdampAnimalcurse" }, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorAllowSelfCast", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "CurseModifier": { "Class": "CitadelAnimalcurse", @@ -3928,6 +4413,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "AirDampingDuration": 1, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "DamageAmpPercentage": { "Value": 15, @@ -3976,6 +4468,14 @@ "AbilityPostCastDuration": 0.3, "AbilityUnitTargetLimit": 1, "AirSpeedMax": 70, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorCooldownOnChannelEnd" + ], "BoltHitModifier": { "Class": "DiminishingSlow", "Subclass": "MagicianBigboltModifier" @@ -4033,6 +4533,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorPreventBotUsage", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "BuffModifier": { "Class": "Base", "Subclass": "CloneturretBuffModifier", @@ -4071,6 +4577,16 @@ }, "ability_magician_cloneturret_trigger": { "AbilityCooldown": 2, + "BehaviourBits": [ + "BehaviorDontBreakInvisibility", + "BehaviorDontInterruptSprint", + "BehaviorCastableWhileBusy", + "BehaviorNoTarget", + "BehaviorCastableWhileHidden", + "BehaviorIgnoreSelectionMashProtection", + "BehaviorTrigger", + "BehaviorMovement" + ], "IsDisabled": false, "Key": "ability_magician_cloneturret_trigger", "Name": "Spectral Assistant", @@ -4082,6 +4598,14 @@ "AbilityCooldown": 85, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "CopiedUltSpawnedEntityModifier": { "Class": "CitadelCopiedultSpawnedentity", @@ -4121,6 +4645,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorPreventBotUsage", + "BehaviorAllowAltCast", + "BehaviorMovement", + "BehaviorCanSetQuickCast" + ], "BuffDuration": 2, "ChannelMoveSpeed": -1, "EscapedModifier": { @@ -4160,6 +4690,16 @@ "AbilityCooldownBetweenCharge": 3, "AbilityPostCastDuration": 0.3, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorTargetThroughWalls", + "BehaviorCleaveDisabled", + "BehaviorCooldownOnChannelEnd", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "CloneBoltDelay": 0.1, "CloneDamagePercentage": 50.0, @@ -4205,6 +4745,12 @@ ] }, "ability_magician_magicbolt_trigger": { + "BehaviourBits": [ + "BehaviorDontBreakInvisibility", + "BehaviorCastEvenIfBusyAndExclusive", + "BehaviorNoTarget", + "BehaviorTrigger" + ], "IsDisabled": false, "Key": "ability_magician_magicbolt_trigger", "Name": null, @@ -4216,6 +4762,12 @@ "AbilityCooldown": 127.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorDisplaysDamageImpact", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": 1.3, "CloneDamagePercentage": 30, "CloneGoldToGive": 10000, @@ -4255,6 +4807,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 5.5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorAllowSelfCast", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast" + ], "BlockerScaleFactor": 115, "BonusHealthRegen": { "Value": 120, @@ -4320,6 +4878,7 @@ "AbilityCooldown": 6, "AbilityCooldownBetweenCharge": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "Heal_Players": 40, "Heal_Players_Post_Lane": 80, @@ -4335,6 +4894,15 @@ "AbilityCooldown": 30, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorCannotCancelDuringChannel", + "BehaviorInhibitSoftCameraCollision", + "BehaviorMovement", + "BehaviorPreventBotUsage", + "BehaviorRequireAbilityButtonToCancel" + ], "BuffDuration": 15, "BuffModifier": { "Class": "NanoCatform", @@ -4377,6 +4945,7 @@ "AbilityCooldown": 0.85, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_nano_catform_pounce", @@ -4386,6 +4955,12 @@ "ability_nano_catform_trigger": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorNonCombat", + "BehaviorTrigger", + "BehaviorInhibitSoftCameraCollision" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_nano_catform_trigger", @@ -4397,6 +4972,12 @@ "AbilityCooldown": 14, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 45, @@ -4442,6 +5023,14 @@ "AbilityCooldown": 13, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorMovement", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BountyModifier": { "Class": "NanoBounty", "Subclass": "Bounty" @@ -4506,6 +5095,12 @@ "AbilityCooldownBetweenCharge": 8, "AbilityPostCastDuration": 0.4, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorMovement" + ], "CameraDistance": 250, "ChannelMoveSpeed": -1, "Damage": { @@ -4565,6 +5160,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.4, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorMovement" + ], "CameraDistance": 250, "ChannelMoveSpeed": -1, "Damage": { @@ -4625,6 +5225,14 @@ } }, "AttackRadius": 30, + "BehaviourBits": [ + "BehaviorProjectileFiredAsBullet", + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorAllowSelfCast", + "BehaviorCanSetQuickCast", + "BehaviorCanCancelDuringCastDelay" + ], "CatActivateDuration": 2.0, "ChannelMoveSpeed": -1, "DPS": { @@ -4713,6 +5321,16 @@ "DoNotDrawModel" ] }, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorCastableWhileDodging", + "BehaviorMovement", + "BehaviorDeactivateCrouchToggleOnCast", + "BehaviorInhibitSoftCameraCollision" + ], "BonusMoveSpeedPercent": 20, "ChannelMoveSpeed": -1, "Damage": { @@ -4758,6 +5376,9 @@ } }, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "BulletArmorReductionDuration": 6, "BulletArmorReductionHeavy": 15, "BulletArmorReductionLight": 5, @@ -4817,6 +5438,12 @@ "AbilityCooldown": 28, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BonusMoveSpeedPercent": 15, "BuffDuration": { "Value": 4, @@ -4874,6 +5501,7 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 4, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "DebuffModifier": { "Class": "NecroRampup", @@ -4925,6 +5553,16 @@ }, "AbilityUnitTargetLimit": 1, "AuraRadius": 8, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorCooldownOnChannelEnd", + "BehaviorCanSetQuickCast", + "BehaviorRefundFullCooldownOnChannelInterrupt", + "BehaviorDontInterruptSlideOnCast" + ], "BlockerScaleFactor": 1, "BonusHealthRegen": { "Value": 0, @@ -5064,6 +5702,16 @@ "AbilityDuration": 5, "AbilityPostCastDuration": 0.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorAllowSelfCast", + "BehaviorCannotCancelDuringChannel", + "BehaviorAllowAltCast", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorCanSetQuickCast" + ], "BonusMoveSpeed": 3, "BuffModifier": { "Class": "NecroHauntingspirits", @@ -5125,6 +5773,13 @@ "InitialRandomVariance": 30.0, "SpawnPositionNavMeshSearchRange": 60.0 }, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 16, @@ -5238,6 +5893,9 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_necro_killsummon", @@ -5269,6 +5927,14 @@ "Subclass": "UrnDebuff" } }, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorCanHealPlayers", + "BehaviorProjectileFiredAsBullet", + "BehaviorAllowAltCast", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 55, @@ -5305,6 +5971,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "AirDrag": 0.8, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "Damage": { "Value": 120, "Scale": { @@ -5343,6 +6014,7 @@ "InitialRandomVariance": 30.0, "SpawnPositionNavMeshSearchRange": 60.0 }, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "Damage": { "Value": 20, @@ -5408,6 +6080,13 @@ "AbilityDuration": 5, "AbilityUnitTargetLimit": 1, "AuraRadius": 0.75, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorAllowAltCast", + "BehaviorCanSetQuickCast", + "BehaviorSuppressAltCastOnceSelected" + ], "BuffModifier": { "Class": "Base", "Subclass": "Buff" @@ -5485,6 +6164,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": -1, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_npc_shield", @@ -5498,6 +6180,12 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorInhibitSoftCameraCollision" + ], "CatAboveGround": 0.1, "CatAccel": 15, "CatClimbHeight": 3, @@ -5539,6 +6227,9 @@ "ability_perched_predator_trigger": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorCanCastOnZipline" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_perched_predator_trigger", @@ -5554,6 +6245,13 @@ "AirMoveIncreasePercent": 25, "AirSpeedMax": 6.64, "AltJumpSpeed": 12, + "BehaviourBits": [ + "BehaviorInputDirectional2d", + "BehaviorNoTarget", + "BehaviorAllowAltCast", + "BehaviorMovement", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BulletSplitShot": 5, "FallSpeedMax": 0.635, "FxRadius": 4, @@ -5609,6 +6307,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 10, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSlideOnCast" + ], "BonusPerChain": { "Value": 10, "Scale": { @@ -5674,6 +6375,7 @@ "AbilityCooldown": 12, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "BlockBufferDuration": 0.5, "BuffModifier": { "Class": "Base", @@ -5719,6 +6421,12 @@ "AbilityCooldown": 60, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": 1.3, "Damage": { "Value": 80, @@ -5763,6 +6471,12 @@ "AbilityCooldownBetweenCharge": 8, "AbilityUnitTargetLimit": 1, "ArmTime": 0.5, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorPreventTrainingBotUsage", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 80, @@ -5817,6 +6531,11 @@ "AbilityCooldown": 25, "AbilityPostCastDuration": 0.15, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "BounceGrenadeSpeed": 1100, "BounceLifetime": 0.5, "BurnDuration": 3.5, @@ -5879,6 +6598,11 @@ "AbilityCooldown": 23, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 99, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "BonusDamage": { "Value": 30, "Scale": { @@ -5947,6 +6671,14 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.125, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorCastableWhileCmdRestricted", + "BehaviorDisplaysDamageImpact", + "BehaviorNonCombat", + "BehaviorCannotCancelDuringChannel" + ], "ChannelMoveSpeed": -1, "FlatHealthHealing": { "Value": 120, @@ -5993,6 +6725,12 @@ "Subclass": "Debuff" } }, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "DPS": 5, "DebuffDuration": 3, @@ -6041,6 +6779,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 8, "AbilityUnitTargetLimit": 99, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "BlockerScaleFactor": 115, "BombFriction": 12, "BombRestitution": 2.0, @@ -6084,6 +6827,7 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "CooldownPerStack": 0.5, "IsDisabled": false, @@ -6114,6 +6858,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 15, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorDontInterruptSlideOnCast", + "BehaviorRefundHalfCooldownOnChannelInterrupt" + ], "BonusAmpToVampire": 5, "BonusDamage": { "Value": 100, @@ -6175,6 +6926,12 @@ "Subclass": "Blastedhealthwatcher" } ], + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorCooldownOnChannelEnd", + "BehaviorAllowGunFireAfterCast", + "BehaviorDontInterruptSlideOnCast" + ], "BlastedModifier": { "Class": "PunkgoatBlastedactive", "Subclass": "Blastedactive" @@ -6247,6 +7004,13 @@ "AirControlDebuffDuration": 1.5, "AirControlPercent": 50.0, "AllowRamMultiple": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorMovement", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "CameraTurnRateMax": 188, "ChargeMultiHitRadius": 1.5, "ChargeRadius": 2.54, @@ -6311,6 +7075,16 @@ "Subclass": "SlideDebuff" } ], + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorHidden", + "BehaviorDontBreakInvisibility", + "BehaviorInputDirectional2d", + "BehaviorSilentCastFailureFeedback", + "BehaviorDontInterruptSprint", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_punkgoat_slide", @@ -6324,6 +7098,15 @@ "AbilityDuration": 2.8, "AbilityPostCastDuration": 0.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorSilentCastFailureFeedback", + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorCanSetQuickCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 45, @@ -6419,6 +7202,16 @@ "AbilityCooldownBetweenCharge": 8, "AbilityPostCastDuration": 0.3, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorSilentCastFailureFeedback", + "BehaviorChannelled", + "BehaviorExclusiveUse", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorCooldownOnChannelEnd", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorHoldsAtMaxChannel" + ], "CameraTurnRateMax": 2000, "ChannelMoveSpeed": 4.826, "CountsAsLightMelee": 1, @@ -6514,6 +7307,11 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 30, @@ -6551,6 +7349,10 @@ "AbilityCooldown": 64.0, "AbilityCooldownBetweenCharge": 3, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BlastRadius": 10, "ChannelMoveSpeed": -1, "DebuffModifier": { @@ -6585,6 +7387,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_shieldguy_ability01", @@ -6605,6 +7411,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_shieldguy_ability02", @@ -6625,6 +7435,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_shieldguy_ability03", @@ -6645,6 +7459,10 @@ "AbilityCooldown": 127.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_shieldguy_ult", @@ -6671,6 +7489,9 @@ "Subclass": "Flakshotbase" } ], + "BehaviourBits": [ + "BehaviorProjectileFiredAsBullet" + ], "BonusDamage": { "Value": 3, "Scale": { @@ -6709,6 +7530,11 @@ "AbilityCooldownBetweenCharge": 2, "AbilityDuration": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorCanSetQuickCast" + ], "BlockerScaleFactor": 4, "ChannelMoveSpeed": -1, "Damage": 120, @@ -6738,6 +7564,10 @@ "AbilityCooldown": 12, "AbilityCooldownBetweenCharge": 0.1, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_skyrunner_swingline", @@ -6764,6 +7594,10 @@ "AbilityCooldown": 127.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_skyrunner_ult", @@ -6785,6 +7619,13 @@ "AbilityCooldown": 30.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDamageDoesntWakeFromSleep", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": 1.3, "Damage": { "Value": 65, @@ -6849,6 +7690,13 @@ } }, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDamageDoesntWakeFromSleep", + "BehaviorNoTarget", + "BehaviorDontInterruptSprint", + "BehaviorCleaveDisabled", + "BehaviorCanCastOnZipline" + ], "BuffModifier": { "Class": "Base", "Subclass": "BuffModifier" @@ -6893,6 +7741,7 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "DamageBonusFixedPerStack": 0.2, "IsDisabled": false, @@ -6941,6 +7790,7 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 7, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "BurstBonusPerStack": 1, "ChannelMoveSpeed": -1, "IsDisabled": false, @@ -6968,6 +7818,10 @@ "AbilityCooldown": 8, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BonusDamage": 170, "ChannelMoveSpeed": -1, "Damage": 30, @@ -6996,6 +7850,12 @@ "AbilityCooldown": 14, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel" + ], "BuffDuration": 7, "BuffModifier": { "Class": "Base", @@ -7023,6 +7883,10 @@ "AbilityCooldown": 127.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_swan_ult", @@ -7044,6 +7908,11 @@ "AbilityCooldown": 48.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSprint" + ], "BonusPerHeadshot": 25, "ChannelMoveSpeed": -1, "DamageOnBuildup": { @@ -7100,6 +7969,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 2.5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": 1.3, "Damage": 40, "DebuffModifier": { @@ -7155,6 +8030,11 @@ } } ], + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet" + ], "BuildUpDuration": 15, "BuildupProcDamage": { "Value": 120, @@ -7210,6 +8090,10 @@ } } ], + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BuildUpDuration": 15, "BuildupProcDamage": { "Value": 120, @@ -7251,6 +8135,12 @@ "Subclass": "PoisonjarDebuff" } }, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "Height": 2, "InitialRadius": 6, @@ -7284,6 +8174,14 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorEqualUnitTargetPriority", + "BehaviorAllowSelfCast", + "BehaviorCanHealPlayers", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast" + ], "BuffModifier": { "Class": "TrapperSpidershield", "Subclass": "TrapperSpidershield", @@ -7332,6 +8230,11 @@ "AbilityCooldown": 160, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "ability_trapper_spiderwave", @@ -7386,6 +8289,11 @@ "AbilityCooldown": 40, "AbilityCooldownBetweenCharge": 1, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 40, @@ -7430,6 +8338,11 @@ "ability_trigger_base": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorNonCombat", + "BehaviorTrigger" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_trigger_base", @@ -7442,6 +8355,13 @@ "AbilityCooldown": 130.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorDisplaysDamageImpact", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BonusHealthOnKill": { "Value": 30, "Scale": { @@ -7503,6 +8423,14 @@ "AbilityCooldown": 140, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorCooldownOnChannelEnd" + ], "BounceGrace": 3, "BounceRadius": 15.5, "ChannelMoveSpeed": -1, @@ -7567,6 +8495,12 @@ "AbilityCooldown": 33, "AbilityCooldownBetweenCharge": 2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorCanSetQuickCast" + ], "BuffDelay": 0.75, "BuffDuration": 25, "BuffMaxStacks": 6, @@ -7611,6 +8545,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "BarrierDamagePercentage": 50, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld" + ], "BuffDuration": 4, "BuffModifier": { "Class": "UnicornPrismaticGuard", @@ -7671,6 +8610,14 @@ }, "AbilityLifestealPercentHero": 20, "AbilityUnitTargetLimit": 100, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorUseLagCompensationForUnitTargeting", + "BehaviorDontInterruptSlideOnCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 15, @@ -7727,6 +8674,16 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 0.65, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorDisplaysDamageImpact", + "BehaviorPreventBotUsage", + "BehaviorCannotCancelDuringChannel", + "BehaviorAllowAltCast", + "BehaviorMovement", + "BehaviorCanSetQuickCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BuffModifier": { "Class": "Base", "Subclass": "Buff" @@ -7763,6 +8720,17 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 0.8, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorDisplaysDamageImpact", + "BehaviorPreventBotUsage", + "BehaviorCannotCancelDuringChannel", + "BehaviorAllowAltCast", + "BehaviorMovement", + "BehaviorCanSetQuickCast", + "BehaviorDeactivateCrouchToggleOnCast", + "BehaviorTrigger" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_vampirebat_batblink_trigger", @@ -7776,6 +8744,13 @@ "AbilityDuration": 10, "AbilityUnitTargetLimit": 1, "AirDrag": 3, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel" + ], "ChannelMoveSpeed": 1.3, "CurrentHealthPercent": 4, "Damage": { @@ -7814,6 +8789,11 @@ "BatSpawnRadius": 1.5, "BatSpawnRandomAngle": 0.15, "BatSpawnRandomVelocity": 300, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BonusBatsMax": 50, "BonusBatsPerProc": 2, "ChannelMoveSpeed": -1, @@ -7863,6 +8843,7 @@ "ability_vampirebat_lovebites": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "BonusDamage": { "Value": 45, "Scale": { @@ -7930,6 +8911,12 @@ "AbilityPostCastDuration": 0.4, "AbilityUnitTargetLimit": 6, "AirDrag": 0.2, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast", + "BehaviorUseLagCompensationForUnitTargeting" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 60, @@ -7991,6 +8978,10 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.15, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 200, @@ -8029,6 +9020,13 @@ "AbilityCooldown": 10, "AbilityCooldownBetweenCharge": 4.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontSwitchAwayOnCast", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 50, @@ -8079,6 +9077,13 @@ "AbilityCooldown": 9, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCleaveDisabled" + ], "CatchRadius": 3, "ChannelMoveSpeed": -1, "IsDisabled": false, @@ -8130,6 +9135,13 @@ "AbilityCooldown": 90, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 50.0, @@ -8179,6 +9191,16 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 0.6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorHidden", + "BehaviorDontBreakInvisibility", + "BehaviorInputDirectional2d", + "BehaviorSilentCastFailureFeedback", + "BehaviorDontInterruptSprint", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_viper_slide", @@ -8202,6 +9224,12 @@ } } ], + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorPreventBotUsage", + "BehaviorMovement" + ], "ChannelMoveSpeed": -1, "CombatBarrier": { "Value": 0, @@ -8241,6 +9269,10 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.15, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 200, @@ -8296,6 +9328,11 @@ "Subclass": "VenomProcWatcher" } ], + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast" + ], "BuildUpDuration": 5, "BuildUpModifier": { "Class": "CitadelBaseBuildup", @@ -8347,6 +9384,10 @@ "AbilityCooldown": 12.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 60, @@ -8396,6 +9437,7 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "BuffModifier": { "Class": "WardenHighAlert", "Subclass": "WardenHighAlert", @@ -8439,6 +9481,12 @@ "AbilityCooldown": 34, "AbilityUnitTargetLimit": 1, "AdditionalTargetRadius": 20, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 110, @@ -8514,6 +9562,11 @@ ] } }, + "BehaviourBits": [ + "BehaviorExclusiveUse", + "BehaviorDisplaysDamageImpact", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BulletResist": 50, "ConeAngle": 115, "HealthStealPct": 10, @@ -8565,6 +9618,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 45, @@ -8618,6 +9677,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.5, "AbilityUnitTargetLimit": 16, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorUseLagCompensationForUnitTargeting" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 0.0, @@ -8672,6 +9737,12 @@ "Subclass": "Fear" } }, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel" + ], "BonusMoveSpeed": 2, "BuffDuration": 8, "ChannelMoveSpeed": -1, @@ -8710,6 +9781,15 @@ "AbilityPostCastDuration": 0.25, "AbilityUnitTargetLimit": 1, "AirDrag": 0.8, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorMovement", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BonusDamage": { "Value": 25, "Scale": { @@ -8799,6 +9879,16 @@ "AbilityDuration": 0.25, "AbilityUnitTargetLimit": 1, "AirDrag": 0.1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorProjectileFiredAsBullet", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorMovement", + "BehaviorDeactivateCrouchToggleOnCast" + ], "ChannelMoveSpeed": 5.08, "Damage": { "Value": 0, @@ -8857,6 +9947,16 @@ "AbilityPostCastDuration": 0.1, "AbilityUnitTargetLimit": 1, "AllowRamMultiple": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorDisplaysDamageImpact", + "BehaviorCanCancelDuringCastDelay", + "BehaviorCannotCancelDuringChannel", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorMovement", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BulletArmorReduction": -8, "CameraTurnRateMax": 188, "DPS": { @@ -8907,6 +10007,12 @@ "AbilityCooldown": 23, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorDontInterruptSlideOnCast" + ], "BonusDebuffModifier": { "Class": "Base", "Subclass": "Bonusdebuff" @@ -8965,6 +10071,7 @@ }, "AbilityUnitTargetLimit": 1, "AlliedFireRatePercentage": 50, + "BehaviourBits": null, "BonusFireRate": 30, "BonusMoveSpeed": 2, "ChannelMoveSpeed": -1, @@ -8991,6 +10098,7 @@ "ability_werewolf_passive": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_werewolf_passive", @@ -9002,6 +10110,9 @@ "AbilityCooldown": 12, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "BountyThreshold": 500, "ChannelMoveSpeed": -1, "Damage": 55, @@ -9060,6 +10171,10 @@ "AbilityPostCastDuration": 0.5, "AbilityUnitTargetLimit": 1, "AutoActivateHealthThreshold": 20, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BonusDurationOnBullet": 0.15, "BonusDurationOnHeavyMelee": 1.5, "BonusDurationOnLightMelee": 0.5, @@ -9154,6 +10269,7 @@ "ability_werewolf_transformation_trigger": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_werewolf_transformation_trigger", @@ -9178,6 +10294,12 @@ "Class": "Base", "Subclass": "Channeling" }, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorDontInterruptSlideOnCast" + ], "BonusFireRate": 300, "BuffModifier": { "Class": "WerewolfUnloadgun2", @@ -9225,6 +10347,9 @@ "AbilityCooldown": 12.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled" + ], "BuffModifier": { "Class": "WreckerSalvageBuff", "Subclass": "WreckerSalvageBuff" @@ -9270,6 +10395,12 @@ "AbilityCooldown": 138.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "DamagePerSecondFlown": { "Value": 16, "Scale": { @@ -9339,6 +10470,11 @@ }, "BeamLength": 20, "BeamWidth": 40, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorChannelled", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 5, "GrabDamage": { "Value": 0, @@ -9388,6 +10524,12 @@ "Class": "WreckingBallAutoThrow", "Subclass": "WreckingBallAutoThrow" }, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDontTriggerSpellBlock", + "BehaviorProjectileFiredAsBullet" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "ability_wrecking_ball", @@ -9419,6 +10561,11 @@ "ability_wrecking_ball_throw": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorNonCombat", + "BehaviorTrigger" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ability_wrecking_ball_throw", @@ -9439,6 +10586,9 @@ "Subclass": "CadenceAnthemBuff" } }, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 1.3, "ExtraLargeClip": 25, "IsDisabled": false, @@ -9465,6 +10615,12 @@ "AbilityCooldown": 95.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorExclusiveUse", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BulletResist": -20, "CrescendoAOEModifier": { "Class": "CadenceCrescendoAoe", @@ -9514,6 +10670,9 @@ "AbilityCooldown": 95.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "BuildUpDuration": 10, "BuildUpMaxDamage": 150, "BuildUpMaxDamageNonHero": 300, @@ -9556,6 +10715,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "ExternalBonusHealthRegen": 15, "IsDisabled": false, @@ -9591,6 +10753,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "DashDistance": 8, "DebuffDuration": 2, @@ -9630,6 +10795,12 @@ "BeamEndRadius": 4.0, "BeamLength": 70, "BeamWidth": 2.9, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDeactivateCrouchToggleOnCast" + ], "ChannelMoveSpeed": 1.8, "DPS": { "Value": 160, @@ -9671,6 +10842,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 1.4, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorMovement", + "BehaviorDeactivateCrouchToggleOnCast" + ], "CameraTurnRateMax": 200, "ChannelMoveSpeed": -1, "ChargeDragVerticalOffset": 30, @@ -9759,6 +10936,10 @@ }, "AuraRadius": 0.0 }, + "BehaviourBits": [ + "BehaviorCastableWhileBusy", + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 22, @@ -9801,6 +10982,12 @@ "Class": "Base", "Subclass": "LeapActive" }, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorMovement", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BoostModifier": { "Class": "CitadelBullLeapBoosting", "Subclass": "CitadelBullLeapBoosting" @@ -9888,6 +11075,15 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.1, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorAllowAltCast", + "BehaviorAllowAltCast", + "BehaviorDontInterruptSlideOnCast" + ], "BonusAbilityResource": 100, "CardResourceGenPctScale": { "Value": 85, @@ -9976,6 +11172,7 @@ "Subclass": "CitadelLightningBullet" } ], + "BehaviourBits": null, "ChannelMoveSpeed": -1, "ConeAngle": 45, "ConeRadius": 6, @@ -10005,6 +11202,11 @@ "AbilityCooldown": 21.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorMovement" + ], "CameraDistance": 120, "ChannelMoveSpeed": -1, "ChargeActiveModifier": { @@ -10057,6 +11259,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "AirMoveIncreasePercent": 20, + "BehaviourBits": [ + "BehaviorDontBreakInvisibility", + "BehaviorDontInterruptSprint", + "BehaviorCastableWhileBusy", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BonusBulletSpeed": 100, "BulletRadiusOverride": 16.0, "BulletTimeScale": 0.01, @@ -10129,6 +11338,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 3.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "DamageAmplificationPerStack": 4, "DebuffDuration": 8.0, @@ -10184,6 +11400,12 @@ "AbilityCooldown": 95.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorCleaveDisabled", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorAllowAltCast" + ], "BubbleMoveModifier": { "Class": "ChronoSwapBubbleMove", "Subclass": "ChronoSwapBubbleMove", @@ -10264,6 +11486,11 @@ }, "AuraRadius": 0.001 }, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorCanCancelDuringCastDelay", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": 1.3, "FriendlyBulletDamageBonus": 30, "IsDisabled": false, @@ -10298,6 +11525,16 @@ "AbilityCooldown": 0.1, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorHidden", + "BehaviorDontBreakInvisibility", + "BehaviorSilentCastFailureFeedback", + "BehaviorDontInterruptSprint", + "BehaviorNotSilencable", + "BehaviorNoTarget", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden" + ], "ChannelMoveSpeed": -1, "ClimbRopeSlowFromRecentDamageModifier": { "Class": "ClimbRopeSlow", @@ -10328,6 +11565,17 @@ "Subclass": "StaminaRegenJumpReduction" } ], + "BehaviourBits": [ + "BehaviorHidden", + "BehaviorDontBreakInvisibility", + "BehaviorDontInterruptSprint", + "BehaviorInputDirectional2d", + "BehaviorNotSilencable", + "BehaviorNoTarget", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden", + "BehaviorDeactivateCrouchToggleOnCast" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "citadel_ability_dash", @@ -10340,6 +11588,10 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 6.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorPreventBotUsage" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 60, @@ -10404,6 +11656,15 @@ "AbilityCooldown": 1, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorNoTarget", + "BehaviorCastableWhileHidden", + "BehaviorIgnoreSelectionMashProtection", + "BehaviorTrigger", + "BehaviorCastableWhileBusy", + "BehaviorNotSilencable" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "citadel_ability_fissure_wall_cancel", @@ -10413,6 +11674,13 @@ "citadel_ability_fissure_wall_trigger": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorNoTarget", + "BehaviorCastableWhileHidden", + "BehaviorIgnoreSelectionMashProtection", + "BehaviorTrigger" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "citadel_ability_fissure_wall_trigger", @@ -10424,6 +11692,14 @@ "AbilityCooldown": 36.0, "AbilityPostCastDuration": 0.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorMovement", + "BehaviorCanSetQuickCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BuffModifier": { "Class": "Base", "Subclass": "SpiritBuff" @@ -10471,6 +11747,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.4, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "BuffDuration": { "Value": 0, "Scale": { @@ -10533,6 +11814,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorPreventBotUsage", + "BehaviorDontInterruptSlideOnCast" + ], "BulletAmpModifier": { "Class": "BebopHookBulletAmp", "Subclass": "BebopHookBulletAmp" @@ -10601,6 +11887,13 @@ "AbilityCooldown": 40.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "CaptureRadius": 9, "ChainDuration": 1.75, "ChainLength": 9, @@ -10645,6 +11938,13 @@ "AbilityDuration": 13, "AbilityUnitTargetLimit": 1, "AirSideMoveSpeedPercentage": -35, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorMovement", + "BehaviorRequireAbilityButtonToCancel", + "BehaviorDeactivateCrouchToggleOnCast" + ], "FlyingItemCastRange": 50, "IsDisabled": false, "JumpVelocity": 1000, @@ -10700,6 +12000,10 @@ "AbilityCooldown": 50.0, "AbilityCooldownBetweenCharge": 2.5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "BonusGoldOnKill": 250, "ChannelMoveSpeed": -1, "Damage": { @@ -10761,6 +12065,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorCleaveDisabled", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "BulletResistReduction": -6, "ChannelMoveSpeed": -1, "DebuffDuration": 5, @@ -10820,6 +12131,15 @@ "Unstoppable" ] }, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCleaveDisabled", + "BehaviorCanCancelDuringCastDelay", + "BehaviorCannotCancelDuringChannel", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BuffModifier": { "Class": "Base", "Subclass": "Buff", @@ -10873,6 +12193,17 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "AirJumpVerticalSpeedPercent": 75, + "BehaviourBits": [ + "BehaviorHidden", + "BehaviorDontBreakInvisibility", + "BehaviorSilentCastFailureFeedback", + "BehaviorDontInterruptSprint", + "BehaviorInputDirectional2d", + "BehaviorNotSilencable", + "BehaviorNoTarget", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden" + ], "ChannelMoveSpeed": -1, "DebuffModifier": { "Class": "Base", @@ -10894,6 +12225,10 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 4, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorNoTarget" + ], "BuffModifier": { "Class": "CitadelDisruptiveCharge", "Subclass": "CitadelDisruptiveCharge" @@ -10923,6 +12258,13 @@ "AbilityCooldown": 30.0, "AbilityCooldownBetweenCharge": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDontTriggerSpellBlock", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSprint" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 120, @@ -10977,6 +12319,10 @@ "Class": "GrappleAirControl", "Subclass": "AirControl" }, + "BehaviourBits": [ + "BehaviorMovement", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BuffModifier": { "Class": "Base", "Subclass": "GrappleBuff" @@ -11010,6 +12356,10 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.4, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorCanCastOnZipline" + ], "ChannelMoveSpeed": -1, "DownStrikeModifier": { "Class": "Base", @@ -11092,6 +12442,13 @@ "AbilityCooldown": 150.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 6, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDeactivateCrouchToggleOnCast", + "BehaviorCastRangeIs2d" + ], "BoostTime": 1.0, "ChannelMoveSpeed": -1, "GrappleEnemyModifier": { @@ -11163,6 +12520,11 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": 7, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": 1.3, "DPS": { "Value": 75, @@ -11205,6 +12567,13 @@ "AbilityCooldown": 15, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorPreventBotUsage", + "BehaviorAllowAltCast", + "BehaviorMovement", + "BehaviorCanSetQuickCast" + ], "BubbleModifier": { "Class": "Magewalk", "Subclass": "Magewalk", @@ -11254,6 +12623,18 @@ "citadel_ability_mantle": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorHidden", + "BehaviorDontBreakInvisibility", + "BehaviorSilentCastFailureFeedback", + "BehaviorDontInterruptSprint", + "BehaviorInputDirectional2d", + "BehaviorCastableWhileBusy", + "BehaviorNotSilencable", + "BehaviorNoTarget", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "citadel_ability_mantle", @@ -11277,6 +12658,10 @@ }, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNotSilencable", + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "citadel_ability_melee_parry", @@ -11334,6 +12719,12 @@ "Subclass": "MobileResupply" } }, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorCanHealPlayers", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "ExternalBonusHealthRegen": { "Value": 25, @@ -11369,6 +12760,14 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "AuraLingerDuration": 1.0, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorCanHealPlayers", + "BehaviorDisplaysDamageImpact", + "BehaviorRequireAbilityButtonToCancel", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "HealingPerSecond": { "Value": 25, @@ -11417,6 +12816,7 @@ "Subclass": "IntrinsicBase" } ], + "BehaviourBits": null, "BonusHealthRegen": 1, "ChannelMoveSpeed": -1, "IsDisabled": false, @@ -11445,6 +12845,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorShowCastRangeAsSatSphereWhileCasting" + ], "BulletResist": 60, "ChannelMoveSpeed": 1.3, "FallSpeedMax": 5, @@ -11515,6 +12920,11 @@ "AbilityCooldown": 46.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorPreventBotUsage", + "BehaviorMovement", + "BehaviorCanSetQuickCast" + ], "CameraDistance": 250, "ChannelMoveSpeed": 5.1, "CombatBarrier": { @@ -11563,6 +12973,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 2.25, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectilePassThroughWorld", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 100, @@ -11651,6 +13068,17 @@ "Disarmed" ] }, + "BehaviourBits": [ + "BehaviorExclusiveUse", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCleaveDisabled", + "BehaviorDeactivateCrouchToggleOnCast", + "BehaviorCanSetQuickCast", + "BehaviorRequireAbilityButtonToCancel", + "BehaviorDontSwitchAwayOnCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "DamagePerRocket": { "Value": 21, @@ -11707,6 +13135,15 @@ "AbilityCooldown": 230.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorExclusiveUse", + "BehaviorCastableWhileBusy", + "BehaviorInterruptMeleeOnCast", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDeactivateCrouchToggleOnCast" + ], "CameraDistance": 400, "DPS": { "Value": 75, @@ -11758,6 +13195,12 @@ "AbilityUnitTargetLimit": 1, "AttackConeAngle": 10, "AttackSpeedMult": 100, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorPreventTrainingBotUsage", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "BossDamagePercentIncoming": 50, "BossDamagePercentOutgoing": 30, "DebuffModifier": { @@ -11821,6 +13264,14 @@ "AbilityCooldownBetweenCharge": 2, "AbilityPostCastDuration": 0.3, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCleaveDisabled", + "BehaviorDontInterruptSlideOnCast" + ], "BleedDPSPerStack": { "Value": 10.0, "Scale": { @@ -11875,6 +13326,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorMovement", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "CameraDistance": 250, "ChannelMoveSpeed": -1, "DashAngleThreshold": 89, @@ -11929,6 +13387,11 @@ "Class": "Base", "Subclass": "Cast" }, + "BehaviourBits": [ + "BehaviorDamageDoesntWakeFromSleep", + "BehaviorDontConsumeAbilityResourceOnCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "DamagePctDeferred": 25, "DamagePctDeferredMaxRage": 15, @@ -11956,6 +13419,14 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.15, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorDontTriggerPostCastOnCastComplete", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorMovement", + "BehaviorCanSetQuickCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BonusAbilityResource": 10, "BuffDamage": 12, "CameraDistance": 400, @@ -12009,6 +13480,16 @@ "Subclass": "SlideDebuff" } ], + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorHidden", + "BehaviorDontBreakInvisibility", + "BehaviorInputDirectional2d", + "BehaviorSilentCastFailureFeedback", + "BehaviorDontInterruptSprint", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "citadel_ability_slide", @@ -12018,6 +13499,14 @@ "citadel_ability_sprint": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorHidden", + "BehaviorDontInterruptSprint", + "BehaviorNotSilencable", + "BehaviorNoTarget", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "citadel_ability_sprint", @@ -12030,6 +13519,13 @@ "AbilityCooldown": 42.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": 1.3, "Damage": { "Value": 35, @@ -12074,6 +13570,11 @@ "AbilityCooldown": 42.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorAlwaysPreviewRadius", + "BehaviorDisplaysDamageImpact", + "BehaviorUseInstantCastUnitTargetUi" + ], "ChannelMoveSpeed": 1.3, "Damage": { "Value": 35, @@ -12114,6 +13615,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 3.5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorAllowSelfCast", + "BehaviorDisplaysDamageImpact", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast" + ], "BombAttachedModifier": { "Class": "CitadelStickyBombAttached", "Subclass": "CitadelStickyBombAttached", @@ -12185,6 +13692,12 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": 5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BulletResistModifier": { "Class": "StompDebuff", "Subclass": "StompDebuff" @@ -12233,6 +13746,13 @@ "AbilityCooldown": 180.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorExclusiveUse", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDeactivateCrouchToggleOnCast" + ], "CameraDistance": 600, "CloudHeight": 120, "DPS": { @@ -12290,6 +13810,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 12, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "BonusFireRate": { "Value": 10, "Scale": { @@ -12369,6 +13892,14 @@ "AbilityCastRange": 10, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorNoTarget", + "BehaviorCastableWhileHidden", + "BehaviorIgnoreSelectionMashProtection", + "BehaviorTrigger", + "BehaviorUseInstantCastUnitTargetUi" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "citadel_ability_tangotether_trigger", @@ -12392,6 +13923,15 @@ "AirDropOutgoingDamagePercent": 20, "AllyCastDelay": 0.1, "AllyOutgoingDamagePercent": -20, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorAllowSelfCast", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorMovement", + "BehaviorRequireAbilityButtonToCancel", + "BehaviorCanSetQuickCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BuffDuration": 8, "BulletResistModifier": { "Class": "Base", @@ -12501,6 +14041,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 3, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorCastableWhileBusy", + "BehaviorInterruptMeleeOnCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 75, @@ -12564,6 +14109,13 @@ } } }, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorProjectileFiredAsBullet", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 40, @@ -12629,6 +14181,9 @@ } } }, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "Damage": 300, "DamageHealthPercent": 20, @@ -12647,6 +14202,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 6.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "CreepDPS": 190, "DPS": 125, @@ -12674,6 +14232,10 @@ "Subclass": "Tier2bossRocketDamageAuraDebuff" } }, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorTargetThroughWalls" + ], "BulletArmorReduction": -10, "ChannelMoveSpeed": -1, "Damage": 200, @@ -12703,6 +14265,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 100, "ActivationDistance": 472.441, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "citadel_ability_tier2boss_stomp", @@ -12736,6 +14301,9 @@ } } }, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "BulletArmorReduction": -10, "ChannelMoveSpeed": -1, "IsDisabled": false, @@ -12750,6 +14318,14 @@ "AbilityCooldown": 1, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontBreakInvisibility", + "BehaviorDontInterruptSprint", + "BehaviorNotSilencable", + "BehaviorNoTarget", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden" + ], "ChannelMoveSpeed": -1, "DamageCooldown": 3, "DismountHorizontalMaxSpeedPercent": 85, @@ -12807,6 +14383,10 @@ "AbilityCooldown": 22.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BonusFireRate": { "Value": -14, "Scale": { @@ -12888,6 +14468,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 1.25, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectilePassThroughWorld", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": 1.3, "Damage": { "Value": 100, @@ -12927,6 +14512,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 1.25, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectilePassThroughWorld", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": 1.3, "Damage": { "Value": 100, @@ -12966,6 +14556,14 @@ "AbilityDuration": 1.4, "AbilityUnitTargetLimit": 1, "AllyDistance": 13, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorPreventBotUsage", + "BehaviorAllowAltCast", + "BehaviorMovement", + "BehaviorCanSetQuickCast", + "BehaviorDeactivateCrouchToggleOnCast" + ], "BubbleModifier": { "Class": "VoidSphere", "Subclass": "VoidSphere", @@ -12999,6 +14597,7 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 5, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "BonusFireRate": 20, "ChannelMoveSpeed": -1, "IsDisabled": false, @@ -13042,6 +14641,14 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorProjectileFiredAsBullet", + "BehaviorCanSetQuickCast" + ], "ChannelMoveSpeed": 2.5, "Damage": { "Value": 150, @@ -13088,6 +14695,13 @@ "Type": "spirit" } }, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorExclusiveUse", + "BehaviorCastableWhileBusy", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "CameraDistance": 800, "DPS": { "Value": 0, @@ -13139,6 +14753,14 @@ "citadel_ability_zip_line": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontBreakInvisibility", + "BehaviorDontInterruptSprint", + "BehaviorNotSilencable", + "BehaviorNoTarget", + "BehaviorNonCombat", + "BehaviorCastableWhileHidden" + ], "ChannelMoveSpeed": -1, "DamageCooldown": 3, "DismountHorizontalMaxSpeedPercent": 85, @@ -13197,6 +14819,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 32, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorSilentCastFailureFeedback", + "BehaviorNoTarget", + "BehaviorCanCastOnZipline", + "BehaviorMovement", + "BehaviorStartsOnCooldown" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "citadel_ability_zipline_boost", @@ -13213,6 +14842,9 @@ } }, "citadel_base_lockon_ability": { + "BehaviourBits": [ + "BehaviorTargetThroughWalls" + ], "IsDisabled": false, "Key": "citadel_base_lockon_ability", "LockonConeAngle": 40, @@ -13231,6 +14863,12 @@ "AbilityPostCastDuration": 0.5, "AbilityUnitTargetLimit": 30, "AirSpeedMax": 70, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorNoTarget", + "BehaviorShowCastRangeAsSatSphereWhileCasting", + "BehaviorDontInterruptSlideOnCast" + ], "BonusDamage": { "Value": 40.0, "Scale": { @@ -13306,6 +14944,10 @@ "AbilityDuration": 6.5, "AbilityUnitTargetLimit": 1, "AuraLingerDuration": 0.001, + "BehaviourBits": [ + "BehaviorProjectilePassThroughWorld", + "BehaviorDisplaysDamageImpact" + ], "BonusFireRate": { "Value": 0, "Scale": { @@ -13372,6 +15014,13 @@ "AbilityDuration": 5, "AbilityUnitTargetLimit": 1, "AirDrag": 3, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCleaveDisabled", + "BehaviorDontInterruptSlideOnCast" + ], "BuffModifier": { "Class": "Base", "Subclass": "DrifterStalkersMarkBuff" @@ -13429,6 +15078,14 @@ "AbilityCastDelay": 0.3, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorNoTarget", + "BehaviorCastableWhileHidden", + "BehaviorIgnoreSelectionMashProtection", + "BehaviorTrigger", + "BehaviorMovement" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "drifter_shadow_mark_teleport", @@ -13440,6 +15097,11 @@ "AbilityCooldown": 22.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorMovement" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 80, @@ -13483,6 +15145,10 @@ "Class": "Base", "Subclass": "Cast" }, + "BehaviourBits": [ + "BehaviorDamageDoesntWakeFromSleep", + "BehaviorDontConsumeAbilityResourceOnCast" + ], "ChannelMoveSpeed": -1, "DamagePctDeferred": 22, "DamagePctDeferredMaxRage": 15, @@ -13509,6 +15175,10 @@ "AbilityCooldown": 50.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorCannotCancelDuringChannel" + ], "ChannelMoveSpeed": 5, "ChannelTimeForMaxDebuff": 1.5, "DPS": { @@ -13568,6 +15238,10 @@ "AbilityCooldown": 30, "AbilityCooldownBetweenCharge": 2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontBreakInvisibility", + "BehaviorMovement" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "fathom_reefdweller_harpoon", @@ -13609,6 +15283,10 @@ "Subclass": "FathomScaldingSprayWeaponDamage" } }, + "BehaviourBits": [ + "BehaviorCastableWhileBusy", + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 40, @@ -13647,6 +15325,9 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "genericperson_ability_1", @@ -13668,6 +15349,9 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "genericperson_ability_2", @@ -13689,6 +15373,9 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "genericperson_ability_3", @@ -13710,6 +15397,9 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "genericperson_ability_4", @@ -13732,6 +15422,7 @@ "AbilityCooldown": 14, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "BonusFireRate": 25, "BonusMoveSpeed": 2, "BuffDuration": 3, @@ -13778,6 +15469,7 @@ "AbilityCastRange": 8, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "ConeAngle": 45, "Damage": 120, @@ -13807,6 +15499,9 @@ "Subclass": "CitadelRapidFire", "AirDrag": 2.0 }, + "BehaviourBits": [ + "BehaviorChannelled" + ], "BulletAccuracy": 200, "BulletSpeedPercent": 100, "CastRangeWhenVertical": 30, @@ -13826,6 +15521,9 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": 0.8, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 100, @@ -13857,6 +15555,7 @@ "Subclass": "SleepBombAsleep" } }, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "Damage": { "Value": 50, @@ -13877,6 +15576,7 @@ "gunslinger_tenacity": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "BulletLifestealPercent": 15, "ChannelMoveSpeed": -1, "IsDisabled": false, @@ -13888,6 +15588,9 @@ "held_base": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNotSilencable" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "held_base", @@ -13897,6 +15600,7 @@ "inherent_base": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "inherent_base", @@ -13909,6 +15613,12 @@ "AbilityCooldown": 35, "AbilityCooldownBetweenCharge": 1, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 8, @@ -13972,6 +15682,13 @@ } } ], + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCanCastOnZipline", + "BehaviorDoNotAllowSpamProc" + ], "ChannelMoveSpeed": -1, "DMarkMultiplierPerStack": 2, "IsDisabled": false, @@ -14011,6 +15728,12 @@ "AbilityCooldown": 120.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorCanCastOnZipline", + "BehaviorCastableWhileBusy", + "BehaviorRequireAbilityButtonToCancel", + "BehaviorCanCancelDuringCastDelay" + ], "BuffModifier": { "Class": "MirageTravelerMovementSpeed", "Subclass": "MirageTeleportMovementSpeed" @@ -14081,6 +15804,14 @@ "AbilityCooldown": 36.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorMovement", + "BehaviorDeactivateCrouchToggleOnCast" + ], "ChannelMoveSpeed": -1, "ClimbHeight": 1, "Damage": { @@ -14137,6 +15868,7 @@ "npc_base": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "npc_base", @@ -14146,6 +15878,7 @@ "npc_ultimate_base": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "npc_ultimate_base", @@ -14158,6 +15891,13 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "BackstabBonusDamagePct": 40, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorCanHealPlayers", + "BehaviorProjectileFiredAsBullet", + "BehaviorCanSetQuickCast" + ], "CameraTurnRateMax": 100, "ChannelMoveSpeed": -1, "Damage": { @@ -14195,6 +15935,10 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "CasterModifier": { "Class": "OperativeRevelationCaster", "Subclass": "OperativeRevelationCaster", @@ -14263,6 +16007,11 @@ }, "AirSpeedMax": 3.81, "BackwardsVelocity": 13.0, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 100, @@ -14295,6 +16044,7 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 4, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "BonusHealthRegen": 2, "ChannelMoveSpeed": -1, "IsDisabled": false, @@ -14331,6 +16081,10 @@ "Subclass": "RutgerForceField" } }, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "ChargeUpTime": 0.5, "Damage": { @@ -14390,6 +16144,9 @@ "Subclass": "RutgerPulseTargetSubclass" } }, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "DamageMax": { "Value": 350, @@ -14435,6 +16192,11 @@ "Class": "IntrinsicBase", "Subclass": "IntrinsicBase" }, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDontTriggerSpellBlock", + "BehaviorDisplaysDamageImpact" + ], "CameraHeightOffset": 20, "CameraHorizontalOffset": 15, "ChannelMoveSpeed": -1, @@ -14472,6 +16234,7 @@ "signature_base": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "signature_base", @@ -14482,6 +16245,10 @@ "AbilityCooldown": 10, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "CameraDistance": 120, "ChannelMoveSpeed": -1, "Damage": { @@ -14507,6 +16274,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": -1, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "super_neutral_shield", @@ -14520,6 +16290,10 @@ "AbilityCooldown": 150.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact" + ], "CanBePurged": 1, "ChannelMoveSpeed": 1.3, "CurrentHealthDamage": { @@ -14588,6 +16362,12 @@ "Class": "SynthBarrageCaster", "Subclass": "SynthBarrageCaster" }, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorChannelled", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": 1.3, "DamagePerProjectile": { "Value": 32, @@ -14626,6 +16406,13 @@ "AbilityCooldown": 25.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 60, @@ -14661,6 +16448,14 @@ "synth_plasma_flux_trigger": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDontInterruptSprint", + "BehaviorNoTarget", + "BehaviorCastableWhileHidden", + "BehaviorIgnoreSelectionMashProtection", + "BehaviorTrigger", + "BehaviorMovement" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "synth_plasma_flux_trigger", @@ -14673,6 +16468,12 @@ "AbilityCooldown": 17.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorDeactivateCrouchToggleOnCast" + ], "ChannelMoveSpeed": 1.3, "Damage": { "Value": 65, @@ -14721,6 +16522,9 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "targetdummy_ability_1", @@ -14742,6 +16546,9 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "targetdummy_ability_2", @@ -14763,6 +16570,9 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "targetdummy_ability_3", @@ -14784,6 +16594,9 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "targetdummy_ability_4", @@ -14803,6 +16616,9 @@ "targetdummy_inherent": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "targetdummy_inherent", @@ -14816,6 +16632,12 @@ "AbilityCooldown": 17.0, "AbilityCooldownBetweenCharge": 4, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorDontTriggerSpellBlock", + "BehaviorDisplaysDamageImpact", + "BehaviorAlwaysPreviewRadius" + ], "BounceRadians": 0.5, "BounceRange": 20, "ChannelMoveSpeed": -1, @@ -14884,6 +16706,10 @@ "BarbedWireRadius": 4, "BarbedWireSlow": 50, "BarbedWireTickRate": 0.5, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorShowCastRangeAsSatSphereWhileCasting" + ], "ChannelMoveSpeed": 1.3, "Damage": { "Value": 125, @@ -14918,6 +16744,10 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 8, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorAlwaysPreviewRadius" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 8, @@ -14951,6 +16781,9 @@ "AbilityCooldown": 10.5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "ClimbHeight": 1, "DistanceAboveGround": 2, @@ -14997,6 +16830,7 @@ "Subclass": "TokamakAllyInSmoke" } }, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "EnemySmokeAOEModifier": { "Class": "TokamakEnemySmokeAoe", @@ -15044,6 +16878,12 @@ "Class": "Base", "Subclass": "CastDelay" }, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorShowCastRangeAsSatSphereWhileCasting" + ], "ChannelMoveSpeed": 1.3, "Damage": { "Value": 190, @@ -15081,6 +16921,10 @@ "AbilityCooldown": 25.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 80, @@ -15124,6 +16968,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "BaseHeatPower": 20.0, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "HeatDotModifier": { "Class": "TokamakHeatSinksDot", @@ -15160,6 +17007,9 @@ "tokamak_heat_sinks_inherent": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorNoTarget" + ], "ChannelMoveSpeed": -1, "HeatDissipationInterval": 0.12, "HeatGrowthInterval": 0.06, @@ -15180,6 +17030,13 @@ "AbilityUnitTargetLimit": 1, "BeamLength": 30, "BeamWidth": 4.0, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorNoTarget", + "BehaviorDisplaysDamageImpact", + "BehaviorCanCancelDuringCastDelay", + "BehaviorShowCastRangeAsSatSphereWhileCasting" + ], "ChannelMoveSpeed": 1.8, "HotDPS": { "Value": 90, @@ -15231,6 +17088,9 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 6, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact" + ], "BlindScale": 0.5, "ChannelMoveSpeed": -1, "EvasionChance": 20, @@ -15276,6 +17136,9 @@ "AbilityCooldown": "40 30 20", "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile" + ], "BlastRadius": 300, "ChannelMoveSpeed": -1, "Damage": 100, @@ -15296,6 +17159,10 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, "ArmingDuration": 5, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorNoTarget" + ], "BlastRadius": 4, "ChannelMoveSpeed": -1, "Damage": 200, @@ -15313,6 +17180,9 @@ "AbilityCooldown": 40, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile" + ], "BlastRadius": 300, "ChannelMoveSpeed": -1, "Damage": 50, @@ -15329,6 +17199,7 @@ "ultimate_base": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "ultimate_base", @@ -15341,6 +17212,12 @@ "AbilityDuration": 10, "AbilityUnitTargetLimit": 1, "AuraRadius": 50, + "BehaviourBits": [ + "BehaviorNoTarget", + "BehaviorCanCastOnZipline", + "BehaviorCanHealPlayers", + "BehaviorDisplaysDamageImpact" + ], "BonusFireRate": 15, "BonusSpirit": 20, "BuffModifier": { @@ -15372,6 +17249,14 @@ "BallHitRadius": 1.8, "BallOffset": 50, "BallRadius": 1.4, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorCannotCancelDuringChannel", + "BehaviorTriggerCancelMashProtectionOnCast", + "BehaviorDeactivateCrouchToggleOnCast", + "BehaviorRequireAbilityButtonToCancel", + "BehaviorInhibitSoftCameraCollision" + ], "BreakablePropDamageRadius": 75, "BulletResist": 35, "CastWhileRolling": 1, @@ -15424,6 +17309,11 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityPostCastDuration": 0.2, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 70, @@ -15499,6 +17389,15 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 3, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorEqualUnitTargetPriority", + "BehaviorAllowSelfCast", + "BehaviorCanHealPlayers", + "BehaviorUseInstantCastUnitTargetUi", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "BonusHealthRegen": { "Value": 40, "Scale": { @@ -15564,6 +17463,11 @@ "AbilityCooldown": 24.0, "AbilityCooldownBetweenCharge": 1.7, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorCanSetQuickCast", + "BehaviorDontInterruptSlideOnCast" + ], "ChannelMoveSpeed": -1, "Damage": { "Value": 20.0, @@ -15642,6 +17546,9 @@ "AbilityChannelTime": 3, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled" + ], "ChannelMoveSpeed": 1.3, "DPS": 50, "IsDisabled": false, @@ -15660,6 +17567,7 @@ "yakuza_gang_activity": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "yakuza_gang_activity", @@ -15669,6 +17577,7 @@ "yakuza_gang_activity_cancel": { "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": -1, "IsDisabled": false, "Key": "yakuza_gang_activity_cancel", @@ -15679,6 +17588,9 @@ "AbilityCastRange": 30, "AbilityCooldown": 32.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorAllowSelfCast" + ], "ChannelMoveSpeed": 1.3, "CloneModifier": { "Class": "HeroClone", @@ -15711,6 +17623,12 @@ "AbilityCooldownBetweenCharge": -1.0, "AbilityDuration": 12, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorDisplaysDamageImpact", + "BehaviorProjectilePassThroughWorld", + "BehaviorEqualUnitTargetPriority", + "BehaviorAllowSelfCast" + ], "BonusCritDamagePercent": 20, "BulletShieldHealth": 180, "ChannelMoveSpeed": -1, @@ -15734,6 +17652,7 @@ "AbilityCooldown": 74.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "CenterDamage": { "Value": 250, "Scale": { @@ -15777,6 +17696,10 @@ "AbilityChannelTime": 5, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorChannelled", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "yakuza_shakedown", @@ -15788,6 +17711,10 @@ "AbilityCooldown": 26.0, "AbilityCooldownBetweenCharge": -1.0, "AbilityUnitTargetLimit": 1, + "BehaviourBits": [ + "BehaviorProjectile", + "BehaviorDisplaysDamageImpact" + ], "ChannelMoveSpeed": -1, "DPS": { "Value": 45, @@ -15828,6 +17755,7 @@ }, "yakuza_summon_gangster": { "AbilityUnitTargetLimit": 1, + "BehaviourBits": null, "ChannelMoveSpeed": 1.3, "GangsterHealth": 200, "IsDisabled": false, @@ -15843,6 +17771,7 @@ "Class": "Base", "Subclass": "TeleportToGangster" }, + "BehaviourBits": null, "ChannelMoveSpeed": 1.3, "IsDisabled": false, "Key": "yakuza_teleport_to_gangster", diff --git a/data/json/convars.json b/data/json/convars.json new file mode 100644 index 0000000..d9b6c0f --- /dev/null +++ b/data/json/convars.json @@ -0,0 +1,8752 @@ +{ + "_fov": { + "value": 0, + "description": "Automates fov command to server." + }, + "adsp_alley_min": 122, + "adsp_courtyard_min": 126, + "adsp_door_height": 112, + "adsp_duct_min": 106, + "adsp_hall_min": 110, + "adsp_low_ceiling": 108, + "adsp_opencourtyard_min": 126, + "adsp_openspace_min": 130, + "adsp_openstreet_min": 118, + "adsp_openwall_min": 130, + "adsp_room_min": 102, + "adsp_street_min": 118, + "adsp_tunnel_min": 114, + "adsp_wall_height": 128, + "ag2_preserve_params_on_reload": { + "value": false, + "description": "When an animgraph is reloaded, should the underlying system restore all params?" + }, + "ag2_use_networked_serialization_context_demo": { + "value": true, + "description": "Use networked compatibility serialization context in demo playback." + }, + "ag2_use_networked_serialization_context_game": { + "value": false, + "description": "Use networked compatibility serialization context in games." + }, + "ai_animgraph_lerp_movement_yaw": { + "value": false, + "description": "If set, forces animgraph-using NPCs to lerp their movement yaw." + }, + "ai_async_queue_max_jobs": { + "value": -1, + "description": "Limit on number of jobs that will be run(serially) in a frame. - 1 = no limit" + }, + "ai_async_queue_stop_on_request": { + "value": true, + "description": "Should queue stop processing new jobs when the frame stop request happens?" + }, + "ai_auto_contact_solver": true, + "ai_auto_select_enemy_finder": { + "value": true, + "description": "1 = also npc select enemy finders in my squad" + }, + "ai_autoselect_class_settings": { + "value": "combat", + "description": "Flag value to set on NPCs targeted by ai_autoselect_class. Valid values: 'combat', 'selected', 'tasks', 'all'." + }, + "ai_block_damage": false, + "ai_disabled": false, + "ai_doors_force_animation": -1, + "ai_elude_time": 8, + "ai_facingservices_draw_entity_facing": false, + "ai_facingservices_generated_target_min_duration": 1.2, + "ai_foot_sweep_enable": true, + "ai_foot_sweep_hit_impulse": 75, + "ai_foot_sweep_hit_impulse_min_mass": 10, + "ai_foot_sweep_move_scale": 1.4, + "ai_foot_sweep_perp_apply": 0.5, + "ai_foot_sweep_perp_base": 30, + "ai_foot_sweep_perp_scale": 0.5, + "ai_footstep_delay": 0.5, + "ai_force_serverside_ragdoll": false, + "ai_gather_conditions_async": { + "value": false, + "description": "Allow gathering of conditions to be done asynchronously." + }, + "ai_hull_trace_epsilon": 0.01, + "ai_ignore_collision_player_noclip": false, + "ai_inhibit_spawners": false, + "ai_keep_interrupt_path_across_schedules": true, + "ai_local_navigator_direct_test_versus_static_collision": true, + "ai_local_navigator_navmesh_enable": true, + "ai_lod_auto_enabled": false, + "ai_motor_enable_move_heading_bad_zones": true, + "ai_motor_max_state_time_active": 6, + "ai_motor_move_direction_lookahead": 6, + "ai_motor_nav_links_force_facing_time": 12, + "ai_motor_path_alignment_max_angular_velocity": 300, + "ai_motor_planted_turn_lookahead_distance": 100, + "ai_motor_planted_turn_lookahead_distance_speed": 150, + "ai_motor_procedural_idle_turn_speed": 20, + "ai_motor_procedural_idle_turn_threshold": 2, + "ai_motor_procedural_turn_while_stopping_threshold": 5, + "ai_motor_use_fast_move_heading_bad_zone_pass": true, + "ai_navigator_clipped_path_save": true, + "ai_navigator_clipped_path_use_interrupt": true, + "ai_navigator_disable_collision_on_stuck": true, + "ai_navigator_draw_type_change": 0, + "ai_navigator_draw_wait_for_facing": { + "value": false, + "description": "Show when a NPC is waiting for facing tolerance to be reached while at the end of its path" + }, + "ai_navigator_place_waypoints_on_ground": false, + "ai_navigator_repath_enable": { + "value": true, + "description": "Enable dynamic repathing based on goal movement." + }, + "ai_navigator_repath_on_change": { + "value": true, + "description": "When nav mesh changes along an NPC's existing path, force a repath." + }, + "ai_navigator_repath_tolerance_alpha": { + "value": 20, + "description": "The distance a target entity can move before triggering a repath is ( arrival time * ai_navigator_repath_tolerance_alpha ), clamped to the min / max allowed values." + }, + "ai_navigator_repath_tolerance_max": { + "value": 300, + "description": "The maximum distance that a target entity can move before triggering a repath to that target." + }, + "ai_navigator_repath_tolerance_min": { + "value": 8, + "description": "The minimum distance that a target entity can move before triggering a repath to that target." + }, + "ai_navigator_repath_tolerance_min_speed": { + "value": 100, + "description": "When calculating repathing tolerance, clamp entity speed to be at least this value (i.e. consider slow entities to be this fast)." + }, + "ai_navigator_snap_to_ground_goal": false, + "ai_navigator_use_arrival_direction": true, + "ai_no_steer": false, + "ai_off_nav_show_nearest": false, + "ai_path_draw_active": { + "value": false, + "description": "0 = no debug, 1 = draw waypoint path" + }, + "ai_path_draw_cached_values": { + "value": false, + "description": "Display draw cached values like Actual Goal Position." + }, + "ai_path_draw_fail": { + "value": 0, + "description": "Draw failed pathfinding attempts" + }, + "ai_path_draw_on_calc": { + "value": 0, + "description": "Number of seconds to draw an AI path after it is calculated." + }, + "ai_path_draw_selected": { + "value": 0, + "description": "If true, draw AI path for selected NPC." + }, + "ai_path_draw_src": { + "value": false, + "description": "Display calling code that created the path goal." + }, + "ai_path_draw_waypoint_mark": { + "value": 0, + "description": "0: Draw nothing at waypoints; 1: Draw a tick mark at waypoints; 2: Draw a shape around waypoints." + }, + "ai_path_draw_waypoint_type_label": { + "value": false, + "description": "1 = draw labels of waypoint types during ai_path_draw_active" + }, + "ai_path_draw_yaw": { + "value": false, + "description": "Display yaw value for path goal." + }, + "ai_path_return_a": 0.5, + "ai_path_return_d": 50, + "ai_path_return_parallel_speed": 100, + "ai_path_return_t": 2, + "ai_path_show_discard_immediately": false, + "ai_plane_solver_use_navmesh": false, + "ai_ragdoll_phys_death_multiplier": 1, + "ai_report_task_timings_on_limit": false, + "ai_select_box_alpha": { + "value": 20, + "description": "The select box alpha." + }, + "ai_select_box_style": { + "value": 1, + "description": "How selected NPC's are highlighted. ( 0 = no highlight, 1 = npc hull, 2 = cross at origin )" + }, + "ai_show_gravity": { + "value": 0, + "description": "1 = show gravity when applied, 2 = always show gravity" + }, + "ai_show_hitlocation": false, + "ai_show_task_fail": 0, + "ai_show_think_tolerance": 0, + "ai_strong_optimizations_no_checkstand": false, + "ai_temp_difference_for_instant_ignite": { + "value": 100, + "description": "how much hotter than the npc's flashpoint a heat source should be to instantly ignite them." + }, + "ai_test_moveprobe_ignoresmall": false, + "ai_think_interval": { + "value": 0.1, + "description": "Time interval between NPC thinks" + }, + "ai_think_interval_lod_low": { + "value": 0.5, + "description": "Time interval between NPC thinks when set to AI LOD low." + }, + "ai_think_interval_lod_med": { + "value": 0.25, + "description": "Time interval between NPC thinks when set to AI LOD medium." + }, + "ai_think_interval_lod_very_low": { + "value": 1, + "description": "Time interval between NPC thinks when set to AI LOD very low." + }, + "ai_think_limit_label": false, + "ai_threaded_pathfind": true, + "ai_time_to_ignite": { + "value": 0.3, + "description": "How long an npc has to be exposed to heat above their flashpoint to catch on fire." + }, + "ai_use_async_ragdoll_fixup": false, + "ai_use_visibility_cache": { + "value": 1, + "description": "Sets whether or not NPCs can cache their Visibility checks against other entities. If set to 2, also tests to make sure that NPC->Target results match that of Target->NPC." + }, + "ai_use_visibility_cache_reciprocation": { + "value": true, + "description": "Sets whether or not the visibility check cache should be reciprocal." + }, + "ai_vehicle_avoidance": true, + "ai_waypoint_arrival_tolerance": 2, + "always_perform_full_spatial_partition_update": false, + "anim_decode_forcewritealltransforms": { + "value": false, + "description": "Force BatchAnimationDecode to write transformations for all bones" + }, + "anim_disable": false, + "anim_resource_validate_on_load": { + "value": true, + "description": "Validates the animation group channel list against the animations on load for every animation" + }, + "animated_material_attributes": true, + "animgraph2_enable_parallel_update": true, + "animgraph_draw_traces": false, + "animgraph_enable": { + "value": true, + "description": "Enable animation graph" + }, + "animgraph_enable_dirty_netvar_optimization": true, + "animgraph_enable_parallel_op_evaluation": false, + "animgraph_enable_parallel_preupdate": false, + "animgraph_enable_parallel_update": true, + "animgraph_footlock_auto_ledge_detection": { + "value": true, + "description": "Attempt to detect when the foot is partially hanging off a ledge and stop it tilting to reach the bottom" + }, + "animgraph_footlock_auto_stair_detection": { + "value": true, + "description": "Attempt to detect when the foot is on a stair and will stop it from tilting to reach the next step" + }, + "animgraph_footlock_calculate_tilt": true, + "animgraph_footlock_draw_footbase": false, + "animgraph_footlock_enabled": { + "value": true, + "description": "A master convar that effectively disables the entire footlock node." + }, + "animgraph_footlock_ground_roll": true, + "animgraph_footlock_hip_offset_enable": true, + "animgraph_footlock_ik_enable": { + "value": true, + "description": "Enable IK." + }, + "animgraph_footlock_tilt_mode": 1, + "animgraph_footlock_trace_ground_enabled": { + "value": true, + "description": "Convar for toggling foot lock ground tracking." + }, + "animgraph_footlock_use_hip_shift": true, + "animgraph_footstep_node_supresses_events": false, + "animgraph_force_full_network_updates": false, + "animgraph_motionmatching_print_compressionstats": false, + "animgraph_network_enable": { + "value": true, + "description": "Enable animation graph networking. The setting is only read at graph creation time; to use please set on the command line." + }, + "animgraph_parallel_postdataupdate": true, + "animgraph_record_all": { + "value": false, + "description": "Automatically start recording AnimGraphs when they get created, and save them to disk when they are destroyed" + }, + "animgraph_slope_draw_raycasts": false, + "animgraph_slope_enable": false, + "animgraph_slowdownonslopes_enabled": true, + "animgraph_trace_ignore_prop_physics": true, + "animgraph_trace_static_only": false, + "animgraph_verify_dirty_netvar_optimization": false, + "announce_show_ids": { + "value": false, + "description": "When set, will show the IDs of the various announcements, making updating/deleting easier" + }, + "announcer_vo_disable_hero_test": { + "value": true, + "description": "Toggles announcer in the hideout." + }, + "announcer_vo_disable_hideout": { + "value": true, + "description": "Toggles announcer in the hideout." + }, + "astro_bouncepad_early_inactive_time": { + "value": 0.15, + "description": "How long to deactivate the bounce pad prior to its deletion to compensate for the server." + }, + "attached_output_stall_ms": 250, + "audio_enable_spawn_mask_mix_layer": { + "value": true, + "description": "Enables the mix layer which mutes certain sounds at map load boundaries." + }, + "audio_enable_vmix_mastering": { + "value": true, + "description": "Enables mastering DSP in vmix." + }, + "audio_enclosure_calc_enabled": { + "value": true, + "description": "Enables/disabled calculations that determine entity interior vs exterior." + }, + "audio_enclosure_speed": { + "value": 0.45, + "description": "Adjusts rate of change for enclosure value over time." + }, + "audio_enemy_relevance_targeting_range": { + "value": 3500, + "description": "Range to consider targeting local player." + }, + "audio_health_change_damage_priority_threshold": { + "value": -0.02, + "description": "Above this health fraction change damage audio is deprioritized in the sound system." + }, + "audio_health_delta_effect_release_rate": { + "value": 0.25, + "description": "Rate of interpolation once hold time has elapsed." + }, + "audio_health_loss_effect_enabled": { + "value": false, + "description": "Enable/disable health loss audio effect." + }, + "audio_health_loss_effect_hold_time": { + "value": 0.5, + "description": "Rate of interpolation once hold time has elapsed." + }, + "audio_input_test_signal": { + "value": false, + "description": "For testing the audio input pathway with a sine tone instead of SDL3." + }, + "audio_input_use_sdl_roles": false, + "audio_log_damage_recency_bias": { + "value": false, + "description": "Prints player damage recency information." + }, + "audio_viewing_damage_decay_time": { + "value": 3, + "description": "Duration for viewing damage to decays to 0.0." + }, + "audio_viewing_damage_hold_time": { + "value": 3, + "description": "Duration before viewing damage begins to decay." + }, + "audio_voice_volume_protection": { + "value": 2, + "description": "Sets linear scale volume limit for SOS." + }, + "automatically_open_saved_animgraph_recording": false, + "autosave_fully_async": { + "value": true, + "description": "Set to 1 to have autosaves execute completely on the save thread, forces 'render only' mode while the save completes" + }, + "ban_ignore_after_player_abandons": { + "value": 1, + "description": "After this many players have abandoned a match, no longer penalize additional abandons for the match. Set to 0 to not penalize abandoners" + }, + "battery_saver": { + "value": false, + "description": "OBSOLETE replaced by mobile_fps_* - Battery saver mode. 0=off, 1=on" + }, + "boss_use_los_ultimate": true, + "bot_mimic": { + "value": 0, + "description": "Allows bots to mimic player" + }, + "bot_mimic_spec_buttons": { + "value": true, + "description": "+attack, +jump etc are used for spectator control instead of being passed on to spectated bot" + }, + "bot_mimic_yaw_offset": { + "value": 180, + "description": "Offsets the bot yaw." + }, + "bot_puppet": { + "value": 0, + "description": "Allows bots to be puppeteered by the player. The player will do nothing while the bots perform the inputs" + }, + "break_damage_inherit_scale": 1, + "break_invulnerable_spawn_duration": 0.5, + "breakable_multiplayer": true, + "buddha": { + "value": false, + "description": "Player takes damage but won't die" + }, + "buddha_ignore_bots": { + "value": false, + "description": "Bots always buddha 0" + }, + "buddha_reset_hp": { + "value": 1, + "description": "HP to set when damaged below zero in Buddha Mode" + }, + "buildcubemaps_renderdoc_capture": { + "value": -1, + "description": "Capture a specific cubemap with RenderDoc during buildcubemaps." + }, + "c_maxdistance": 200, + "c_maxpitch": 90, + "c_maxyaw": 135, + "c_mindistance": 30, + "c_minpitch": 0, + "c_minyaw": -135, + "c_orthoheight": 100, + "c_orthowidth": 100, + "c_thirdpersonshoulder": false, + "c_thirdpersonshoulderaimdist": 120, + "c_thirdpersonshoulderdist": 40, + "c_thirdpersonshoulderheight": 5, + "c_thirdpersonshoulderoffset": 20, + "cam_collision": { + "value": 1, + "description": "When in thirdperson and cam_collision is set to 1, an attempt is made to keep the camera from passing though walls." + }, + "cam_idealdelta": { + "value": 4, + "description": "Controls the speed when matching offset to ideal angles in thirdperson view" + }, + "cam_idealdist": 150, + "cam_ideallag": { + "value": 4, + "description": "Amount of lag used when matching offset to ideal angles in thirdperson view" + }, + "cam_idealpitch": 0, + "cam_idealyaw": 0, + "cam_showangles": { + "value": false, + "description": "When in thirdperson, print viewangles/idealangles/cameraoffsets to the console." + }, + "cam_snapto": false, + "camera_datadriven_disable_cache": false, + "cc_captiontrace": { + "value": 1, + "description": "Show missing closecaptions (0 = no, 1 = devconsole, 2 = show in hud)" + }, + "cc_delay_time": { + "value": 0.25, + "description": "Close caption delay before showing caption." + }, + "cc_linger_time": { + "value": 1, + "description": "Close caption linger time." + }, + "cc_log": { + "value": 0, + "description": "Log caption names and contents (0 = off, 1 = found captions, 2 = unfound captions, 3 = all captions)" + }, + "cc_norepeat": { + "value": 5, + "description": "In multiplayer games, don't repeat captions more often than this many seconds." + }, + "cc_showmissing": { + "value": false, + "description": "Show missing closecaption entries." + }, + "cc_spectator_only": false, + "cc_subtitles": { + "value": false, + "description": "If set, don't show sound effect captions, just voice overs (i.e., won't help hearing impaired players)." + }, + "cc_vr_caption_catchup_interval": { + "value": 0.3, + "description": "Duration it takes for attached caption to ideal point" + }, + "cc_vr_caption_speed": { + "value": 1, + "description": "0 = slow, 1 = medium (default), 2 = fast" + }, + "cc_vr_depth_test": { + "value": false, + "description": "Have closed caption Panorama panel perform depth testing against the scene" + }, + "cc_vr_epsilon": { + "value": 2.5, + "description": "Epsilon to trigger movement of VR subtitle panel in world space" + }, + "cc_vr_font_size": { + "value": 1, + "description": "0 = small, 1 = med (default), 2 = large" + }, + "cc_vr_forward_offset": { + "value": 30, + "description": "Subtitle offset distance (forward, in front of player)" + }, + "cc_vr_vertical_offset": { + "value": -6.5, + "description": "Subtitle vertical offset distance (positive is up)" + }, + "cc_vr_width": { + "value": 1, + "description": "0 = narrow, 1 = med (default), 2 = wide" + }, + "chat_max_messages": 50, + "chat_ping_repeat_seconds": 5, + "chat_sequence_max_messages": 10, + "chat_sequence_within_seconds": 10, + "chat_top_bar_max_messages": { + "value": 6, + "description": "The maximum amount of chat panels we allow total" + }, + "chat_top_bar_max_messages_per_player": { + "value": 3, + "description": "The maximum amount of chat panels we allow per player" + }, + "check_transmit_dump_ents": false, + "citadel_1v1_bonus_health": 0, + "citadel_1v1_bonus_health_regen": 0, + "citadel_1v1_bonus_tech_power": 0, + "citadel_1v1_bonus_weapon_power": 0, + "citadel_1v1_bullet_damage_multiplier": 1, + "citadel_1v1_tech_damage_multiplier": 1, + "citadel_abandon_pregame_if_not_connected_in_s": { + "value": 180, + "description": "After N seconds, if we don't have all the players connect to the match, the match will be abandoned. This only applies to the initial match start when going from players connecting to pregame" + }, + "citadel_abandon_pregame_if_not_connected_in_s_dev": { + "value": 360, + "description": "After N seconds, if we don't have all the players connect to the match, the match will be abandoned. This only applies to the initial match start when going from players connecting to pregame, for dev" + }, + "citadel_abandon_pregame_if_not_connected_in_s_streaming": { + "value": 120, + "description": "After N seconds, if we don't have all the players connect to the match with the streaming map, the match will be abandoned. This only applies to the initial match start when going from players connecting to pregame" + }, + "citadel_abandon_pregame_if_not_connected_in_s_streaming_dev": { + "value": 120, + "description": "After N seconds, if we don't have all the players connect to the match with the streaming map, the match will be abandoned. This only applies to the initial match start when going from players connecting to pregame, for dev" + }, + "citadel_abandon_time_for_match_not_scored": { + "value": 300, + "description": "If someone abandons before this match time (in seconds), we will call the match forfeit and not update mmr for anyone in the match." + }, + "citadel_ability_busy_queue_time": { + "value": 0.25, + "description": "How long we will queue an ability activation to happen if the player tried to use it while busy." + }, + "citadel_ability_cancel_time": { + "value": 0.2, + "description": "Min Time for a Channel before we can cancel it" + }, + "citadel_ability_cast_cancel_mash_protection_time": { + "value": 0.2, + "description": "Pressing a recently cast or channeled ability key will extend its mash protection by this much" + }, + "citadel_ability_cooldown_max": 0, + "citadel_ability_force_gold_collection": { + "value": false, + "description": "Adds the flag for ability targeting to find gold orbs. Sorta hacky." + }, + "citadel_ability_select_mash_protection_time": { + "value": 0.25, + "description": "Pressing a recently selected or cast ability within this time is ignored" + }, + "citadel_ability_target_use_head_bone": false, + "citadel_ability_upgrade_sell_time": 10, + "citadel_abrams_fastcharge_lagcomp": 0.15, + "citadel_abrams_max_charge_unlag_players": 0.12, + "citadel_accolades_enabled": { + "value": 0, + "description": "-1 = force disabled, 0 = default, 1 = force enabled" + }, + "citadel_accolades_in_metadata_per_player": { + "value": -1, + "description": "The number of accolades stored in the metadata. -1 means all" + }, + "citadel_action_refresh_interval": 0.1, + "citadel_activate_window_for_pregame": { + "value": false, + "description": "If set, brings Citadel to the foreground when unpaused" + }, + "citadel_activate_window_on_unpause": { + "value": false, + "description": "If set, brings Citadel to the foreground when unpaused" + }, + "citadel_active_lane": { + "value": 0, + "description": "Which lane should be active? 0 means all" + }, + "citadel_afk_detection_enabled": { + "value": true, + "description": "Is AFK detection turned on?" + }, + "citadel_ag2_controller_parallel_update_enabled": true, + "citadel_ag2_crouch_spring_strength": 20, + "citadel_ag2_direction_commit_blend_time": 0.15, + "citadel_ag2_direction_commit_min_time": 0.3, + "citadel_ag2_fidget_max_interval": 10, + "citadel_ag2_fidget_min_interval": 5, + "citadel_ag2_loco_lean_trigger_speed": 50, + "citadel_ag2_min_running_with_no_input_speed": 90, + "citadel_ag2_run_to_stop_prime_speed": 85, + "citadel_ag2_run_to_stop_trigger_speed": 70, + "citadel_ag2_turn_spring_strength": 75, + "citadel_ai_path_pathing_time_ms_per_tick": 0.5, + "citadel_air_drag_min": 0.2, + "citadel_air_jumps_enabled": { + "value": true, + "description": "Enable to disable air jumps" + }, + "citadel_aircontrol_speed_fast": 50, + "citadel_aircontrol_speed_slow": 80, + "citadel_airheart_freefly": false, + "citadel_allow_ally_pings": true, + "citadel_allow_ally_text": true, + "citadel_allow_ally_voice": true, + "citadel_allow_biased_urn_pickups": true, + "citadel_allow_client_higher_version_for_reconnect": { + "value": true, + "description": "When set to true, the client is allowed to connect so long as the client compat version is higher than the server's" + }, + "citadel_allow_duplicate_heroes": { + "value": false, + "description": "If enabled, heroes can be selected by multiple players" + }, + "citadel_allow_new_player_flow_finished_override": { + "value": false, + "description": "citadel_new_player_flow_finished can't be turned off (because of the callback) unless you reset the other new player convars. This allows you to turn it off." + }, + "citadel_allow_opponent_text": true, + "citadel_allow_party_pings": true, + "citadel_allow_party_text": true, + "citadel_allow_party_voice": true, + "citadel_allow_pause_in_match": { + "value": true, + "description": "Allow players to pause in matchmade games" + }, + "citadel_allow_pausing": { + "value": true, + "description": "Determines if pausing is enabled. Temporary until we get pausing stable" + }, + "citadel_allow_playofthegame": { + "value": false, + "description": "If enabled, play of the game will happen" + }, + "citadel_allow_purchasing_anywhere": { + "value": false, + "description": "If enabled, you can purchase upgrades anywhere" + }, + "citadel_allow_spectated_pings": true, + "citadel_allow_spectated_text": true, + "citadel_allow_team_change_when_assigned": false, + "citadel_always_show_active_hud_stats": false, + "citadel_always_transmit_abilities": { + "value": false, + "description": "Enable to always force transmit ability entities" + }, + "citadel_announcement_banned_heroes_display_time": 10, + "citadel_announcement_display_time": 8, + "citadel_announcement_game_over_msg_display_time": 11, + "citadel_arrow_brightness": { + "value": 0.6, + "description": "Changes the zipline arrow brightness" + }, + "citadel_auto_highlight_seconds_after": { + "value": 8, + "description": "How many seconds after the highlight event to show when viewing highlights." + }, + "citadel_auto_highlight_seconds_before": { + "value": 20, + "description": "How many seconds before the highlight event to show when viewing highlights." + }, + "citadel_auto_ping_window": { + "value": 0.35, + "description": "If the chat wheel is opened and closed within this time, trigger a ping when it's closed." + }, + "citadel_auto_queue_build": { + "value": false, + "description": "Automatically queue the selected build at game start" + }, + "citadel_autobuy_refund_time": { + "value": 12, + "description": "Time Allowed for a full refund when buy anywhere (Auto/Quick Buy) is enabled" + }, + "citadel_barrack_boss_aggro_radius": 600, + "citadel_barrack_boss_aggro_time": 3, + "citadel_barrack_boss_attackable_height_diff": 20, + "citadel_barrack_boss_hero_initial_weapon_reduction_pct": 65, + "citadel_barrack_boss_ignore_damage": false, + "citadel_barrack_boss_max_attack_range": 1300, + "citadel_barrack_boss_melee_damage_pct": 10, + "citadel_barrack_boss_melee_knockback": 600, + "citadel_barrack_boss_ping_interval": 10, + "citadel_basic_energy_regen_time": 30, + "citadel_bebop_beam_approach_speed": 20, + "citadel_bebop_beam_approach_speed_step_scale": 2, + "citadel_bebop_beam_kill_time": 0.1, + "citadel_bebop_beam_point_bias": 0.8, + "citadel_bebop_beam_wiggle_speed": 1, + "citadel_bebop_beam_wiggle_speed_x": 1, + "citadel_bebop_beam_wiggle_speed_x2": 1.5, + "citadel_book_page_auto_play_delay_s": { + "value": 2, + "description": "When a page has no audio queue, this delay will be used before auto play advancing unless it specifies an override value" + }, + "citadel_book_page_sound_auto_play_delay_s": { + "value": 0.2, + "description": "When a page has an audio queue, this delay will be used before auto play advancing unless it specifies an override value" + }, + "citadel_boss_glow_disabled": false, + "citadel_boss_tier2_ping_interval": 10, + "citadel_boss_tier2_use_wip_model": false, + "citadel_boss_tier3_use_wip_model": false, + "citadel_boss_tier_2_schedule_force": 0, + "citadel_boss_tier_3_check_pit_modifier": true, + "citadel_boss_tier_3_damage_reduction_no_troopers": 0.2, + "citadel_boss_tier_3_sight_range": 3000, + "citadel_boss_tier_3_test_arm_smash": false, + "citadel_boss_tier_3_test_bomb": false, + "citadel_boss_tier_3_test_intro": false, + "citadel_boss_tier_3_test_laser": false, + "citadel_boss_tier_3_test_rocketbarrage": false, + "citadel_boss_tier_3_test_shrine_attack": false, + "citadel_boss_tier_3_testing_enter_phase2": false, + "citadel_bot_brain_aim_angle_attack": { + "value": 0.9, + "description": "Min Dot Product result from target that we will try to shoot from" + }, + "citadel_bot_brain_aim_inaccuracy": { + "value": 0, + "description": "Max Angle for Inaccuracy" + }, + "citadel_bot_brain_aim_inaccuracy_speed": { + "value": 0.01, + "description": "How fast the inaccuracy moves - mimic mouse movement correction" + }, + "citadel_bot_brain_aim_vertical_offset": { + "value": 0, + "description": "How many vertical units to aim from world space center on players / troopers" + }, + "citadel_bot_brain_disable_attacks": false, + "citadel_bot_brain_disable_gun_attacks": 0, + "citadel_bot_brain_disable_movement": false, + "citadel_bot_brain_enemy_reaction_time": { + "value": 0.75, + "description": "Amount of time for a bot to react to a player" + }, + "citadel_bot_brain_force_schedule": { + "value": -1, + "description": "(Test) Set to Force a Schedule" + }, + "citadel_bot_brain_heavy_melee_distance": 300, + "citadel_bot_brain_infrequent_tick_rate": 60, + "citadel_bot_brain_melee_heavy_hold_time": 0.31, + "citadel_bot_brain_melee_tick_frequency": 30, + "citadel_bot_brain_move_goal_tolerance": { + "value": 40, + "description": "How close to goal to count as made it" + }, + "citadel_bot_brain_move_max_fallback_path_length": { + "value": 1750, + "description": "If a bot fails its (fast) flowmap check, how far should we allow the nav system to look when generating a fallback path? Keep this value lower for performance reasons" + }, + "citadel_bot_brain_override_calc_movement_task_target": { + "value": false, + "description": "Override CalcMovementTaskTarget to pathfind directly to the desired location as opposed to an intermediate goal" + }, + "citadel_bot_brain_parry_tick_frequency": 20, + "citadel_bot_brain_stop_shooting_los_time": { + "value": 0.5, + "description": "Amount of time for no Los to stop shooting at enemy" + }, + "citadel_bot_broadcast_updates": { + "value": false, + "description": "Bots will say updates in all talk" + }, + "citadel_bot_crouch": { + "value": false, + "description": "Forces citadel bots to crouch" + }, + "citadel_bot_director_base_threat_distance": { + "value": 3000, + "description": "Distance from core we consider to be a threat" + }, + "citadel_bot_director_destroy_all_tier2": { + "value": false, + "description": "Should bots prioritize destroying all tier 2 bosses before pushing further" + }, + "citadel_bot_director_draw_creep_line": { + "value": false, + "description": "Draw the Creep Lines" + }, + "citadel_bot_director_idol_care_distance": { + "value": 4500, + "description": "Max distance a player can be that may care about the idol" + }, + "citadel_bot_director_lane_min_duration": { + "value": 10, + "description": "Min amount of time a bot is forced to stay in lane for a required action" + }, + "citadel_bot_director_late_game_time_minutes": { + "value": 18, + "description": "Number of minutes past which bots should try to end the game" + }, + "citadel_bot_director_respawn_window": { + "value": 10, + "description": "Amount of Respawn time remaining for Hero to be considered in this lane" + }, + "citadel_bot_director_zipline_min": { + "value": 0.1, + "description": "Minimum % of Captured Zipline nodes we care about" + }, + "citadel_bot_director_zipline_stable": { + "value": 0.4, + "description": "How much to push out a lane before deprioritizing it" + }, + "citadel_bot_disconnect_takeover_enabled": false, + "citadel_bot_hero_testing_pitch": { + "value": 5, + "description": "Aim Pitch in Hero Testing" + }, + "citadel_bot_jump": { + "value": false, + "description": "Forces citadel bots to jump" + }, + "citadel_bot_match_on_dedicated_server": true, + "citadel_bot_max_path_length": { + "value": 2000, + "description": "Max path length for pathing calculations." + }, + "citadel_bot_melee": { + "value": 0, + "description": "Forces citadel bots to melee continuously, 1: light, 2:Heavy" + }, + "citadel_bot_mimic_player_pitch": { + "value": true, + "description": "User player's pitch in hero testing" + }, + "citadel_bot_move_random": { + "value": false, + "description": "Forces citadel bots to move all around" + }, + "citadel_bot_net_worth_max_spawn_time": 10000, + "citadel_bot_override_spawn_time": -1, + "citadel_bot_parry": { + "value": false, + "description": "Forces citadel bots to Parry continuously" + }, + "citadel_bot_passive_gold_enabled": true, + "citadel_bot_practice_opponent": "hero_gigawatt", + "citadel_bot_practice_teammate": "hero_kelvin", + "citadel_bot_record": { + "value": 0, + "description": "Causes bots to mimic your commands as well as record them to be replayed" + }, + "citadel_bot_report_verbose": { + "value": false, + "description": "Bot Chat is Verbose (debug)" + }, + "citadel_bot_safety_distance_behind_ally_creeps": { + "value": 5, + "description": "Distance citadel bots want to stay behind ally creep wave (meters)" + }, + "citadel_bot_safety_distance_behind_enemy_creeps": { + "value": 10, + "description": "Distance citadel bots want to stay behind enemy creep wave (meters)" + }, + "citadel_bot_shoot": { + "value": 0, + "description": "Forces citadel bots to fire continuously. 1:scope shooting 2:unscope shooting." + }, + "citadel_bot_shop": { + "value": 0, + "description": "Forces citadel bots to attempt shopping. 1 = random, 2 = recommended" + }, + "citadel_bot_takeover_ally_range": { + "value": 30, + "description": "How far from Allies that is acceptable" + }, + "citadel_bot_takeover_time": { + "value": 30, + "description": "Time for a disconnected player to be taken over by a bot" + }, + "citadel_bot_team_sensing_tick_interval": { + "value": 100, + "description": "How many ticks between the bot performing sensing" + }, + "citadel_bot_teamsense_homebase_range": { + "value": 75, + "description": "Distance(m) from Base center to be considered in base" + }, + "citadel_bot_teamsense_pushed_range": { + "value": 20, + "description": "Distance(m) from Objective to consider it pushed to" + }, + "citadel_bot_test_mode": { + "value": false, + "description": "Set citadel bots to be and in test mode (default idle)" + }, + "citadel_bot_use_ability": { + "value": 0, + "description": "Causes Bot to Constantly use Ability when its available" + }, + "citadel_bot_use_ability_once": { + "value": false, + "description": "Set if you only want enemy to use ability once and stop" + }, + "citadel_bot_use_ability_rate": { + "value": -1, + "description": "Interval in seconds that the bot attempts to use an ability" + }, + "citadel_bot_use_item_ability": { + "value": 0, + "description": "Causes Bot to Constantly use Ability when its available" + }, + "citadel_bot_zig_zag": { + "value": 0, + "description": "Forces citadel bots to zig-zag side to side if > 0 or back and forth if < 0" + }, + "citadel_botmatch_tick_rate_override": 32, + "citadel_bots_go_mid": { + "value": false, + "description": "Force bots to path to the origin" + }, + "citadel_bounty_allow_melee_autoclaim": { + "value": true, + "description": "Whether or not melees autoclaim orbs." + }, + "citadel_bounty_aoe_deny_radius": { + "value": 2165.35, + "description": "The radius in which teammates gain a portion denies" + }, + "citadel_bounty_aoe_radius": { + "value": 2165.35, + "description": "The radius in which teammates gain a portion of bounties" + }, + "citadel_bounty_aoe_radius_autoscore": { + "value": 1771.65, + "description": "The radius in which a trooper death is automatically assigned to a nearby player." + }, + "citadel_bounty_aoe_radius_neutrals": { + "value": 800, + "description": "The radius in which teammates gain a portion of Neutral" + }, + "citadel_bounty_aoe_radius_non_troopers_non_hero": { + "value": 1378, + "description": "The radius in which teammates gain a portion of things besides Nuetrals, Troopers and Players" + }, + "citadel_bounty_aoe_radius_troopers": { + "value": 2165.35, + "description": "The radius in which teammates gain a portion of things besides Neutrals and Players" + }, + "citadel_bounty_player_assist_window": { + "value": 10, + "description": "The recent damage time window to be counted as an assister for player kill" + }, + "citadel_brawl_hero_roster_random": { + "value": false, + "description": "Is the brawl hero roster set to random" + }, + "citadel_breakable_prop_break_airtime": 0.6, + "citadel_breakable_prop_break_velocity": 400, + "citadel_breakable_prop_breakable_enabled": true, + "citadel_breakable_prop_initial_spawn_time_override": { + "value": -1, + "description": "If positive, override initial spawn time (in seconds) for all breakable_prop camps" + }, + "citadel_breakable_prop_respawn_spread": { + "value": 0.5, + "description": "Spread the respawn of breakables out by this many seconds (perf)" + }, + "citadel_breakable_prop_spawn_interval_override": { + "value": -1, + "description": "If positive, override initial spawn interval (in seconds) for all breakable_prop camps" + }, + "citadel_bullet_log_entities_hit": false, + "citadel_bullet_obscured_shot_distance": 256, + "citadel_bullet_shot_offset_fade_time": 0.5, + "citadel_bullet_slow_duration": 0, + "citadel_bullet_time_warp_decay_percent": { + "value": 1, + "description": "What percent of the original speed should bullets return to after exiting a time warp" + }, + "citadel_bullet_time_warp_decay_speed": { + "value": 1, + "description": "How fast bullets return to their normal speed after exiting a time warp" + }, + "citadel_bullet_tracer_recycling_enabled": { + "value": 1, + "description": "Recycle bullet tracer effects when >= 1. Set to 2 to spew when a tracer couldn't be recycled." + }, + "citadel_bullet_whiz_closest_point_on_line": -1, + "citadel_bullet_whiz_draw_endpoints": false, + "citadel_bullet_whiz_draw_listener_trace": false, + "citadel_bullet_whiz_fake_end_point_distance": 200, + "citadel_bullet_whiz_side_dot_tolerance": 0.98, + "citadel_bypass_reconnect_version_check": { + "value": false, + "description": "Ignore the compat version check when reconnecting to a server. This generally shouldn't be done as there could be legitimate differences." + }, + "citadel_calc_guided_bot_match_report_card": true, + "citadel_camera_adjust_aim_fov": { + "value": 1, + "description": "0: Use Absolute GunZoom FOV. 1: Relative FOV - Add the difference between old default fov and absolute gun aim." + }, + "citadel_camera_aiming_fov": { + "value": 65, + "description": "What aiming FOV is" + }, + "citadel_camera_allow_controller_when_controlling_other": true, + "citadel_camera_dist": 150, + "citadel_camera_draw_clip_sphere": false, + "citadel_camera_fade_ally_tier2_far_dist": { + "value": 400, + "description": "At this distance ally tier2's opacity will be at 1" + }, + "citadel_camera_fade_entity_speed": { + "value": 50, + "description": "How rapidly we fade the character to transparent when using first person mode." + }, + "citadel_camera_fade_other_far_dist": { + "value": 100, + "description": "At this distance non-viewed character's opacity will be at 1" + }, + "citadel_camera_fade_other_near_dist": { + "value": 20, + "description": "At this distance non-viewed character's opacity will be at citadel_camera_fade_other_near_opacity" + }, + "citadel_camera_fade_other_near_opacity": { + "value": 0.4, + "description": "The opacity of non-viewed character when they are at citadel_camera_fade_near_dist" + }, + "citadel_camera_fade_viewed_far_dist": { + "value": 50, + "description": "At this distance viewed character's opacity will be at 1" + }, + "citadel_camera_fade_viewed_near_dist": { + "value": 20, + "description": "At this distance viewed character's opacity will be at citadel_camera_fade_near_opacity" + }, + "citadel_camera_fade_viewed_near_opacity": { + "value": 0.4, + "description": "The opacity of viewed character when they are at citadel_camera_fade_near_dist" + }, + "citadel_camera_force_tunnel_alpha": -1, + "citadel_camera_fov": { + "value": 75, + "description": "The field of view angle of the camera." + }, + "citadel_camera_free_roam": { + "value": 0, + "description": "Set to 1 to disconnect the camera from the player. Set to 2 to allow moving the camera around with WASD" + }, + "citadel_camera_hard_trace_radius": { + "value": 16, + "description": "The radius of the cylinder to trace for hard camera occlusion." + }, + "citadel_camera_height": { + "value": 63, + "description": "The look at point of the camera is vertically offset by this distance." + }, + "citadel_camera_height_approach_speed": 800, + "citadel_camera_height_ceiling_distance": 20, + "citadel_camera_height_npc": { + "value": 33, + "description": "The look at point of the camera is vertically offset by this distance when viewing NPC units." + }, + "citadel_camera_hero_fov": { + "value": 90, + "description": "The field of view angle of the camera when following a hero." + }, + "citadel_camera_inspect_mode": { + "value": 0, + "description": "Set to 1 to allow orbiting the camera around the player. Set to 2 to lock the camera, but then be able to directly control the player" + }, + "citadel_camera_listening_offset": 0, + "citadel_camera_max_transition_distance": { + "value": 1500, + "description": "Max distance that the camera will transition to the next target." + }, + "citadel_camera_offset": { + "value": -25, + "description": "The look at point of the camera is horizontally offset by this distance." + }, + "citadel_camera_parrot_pov": { + "value": false, + "description": "Force the camera to be in parrot POV. Useful for tuning the closest position." + }, + "citadel_camera_parrot_pov_radius": { + "value": 8.25, + "description": "Radius of the parrot sausage cast" + }, + "citadel_camera_parrot_pov_x_offset": { + "value": -10, + "description": "X Axis offset from our camera pivot. +Forward and -Back." + }, + "citadel_camera_parrot_pov_y_offset": { + "value": -10, + "description": "Y Axis offset from our camera pivot. +Left and -Right." + }, + "citadel_camera_parrot_pov_z_offset": { + "value": 10, + "description": "Z Axis offset from our camera pivot. +Up and -Down" + }, + "citadel_camera_parrot_smoothing_rate": { + "value": 60, + "description": "When the camera stops being clipped, smooth the motion back to the desired resting position." + }, + "citadel_camera_pitch_default": { + "value": 20, + "description": "The default camera pitch." + }, + "citadel_camera_pitch_inverted": { + "value": false, + "description": "Set to 1 to have inverted mouse pitch" + }, + "citadel_camera_pitch_max": { + "value": 89, + "description": "The maximum pitch angle allowed on the camera." + }, + "citadel_camera_pitch_min": { + "value": -89, + "description": "The minimum pitch angle allowed on the camera." + }, + "citadel_camera_see_distance_max": { + "value": 20000, + "description": "Max Distance the camera can 'see' an entity" + }, + "citadel_camera_sensitivity": { + "value": 1, + "description": "Mouse sensitivity for the camera" + }, + "citadel_camera_snapshot": { + "value": false, + "description": "Draw a debug display of the camera, then unset." + }, + "citadel_camera_soft_collision": { + "value": 2, + "description": "Experimental: Soften the camera to wall collision distance by using the gaussian weight of fibbonnaci cone of line traces. 2: Use soft collision system to inform hole punch." + }, + "citadel_camera_soft_collision_angle": { + "value": 75, + "description": "Experimental: Soft camera collision cone arc angle in degrees. Larger cone angle results in earlier softening." + }, + "citadel_camera_soft_collision_avoidance_bias": { + "value": 5.75, + "description": "Experimental: Soft camera collision avoidance bias. > 1 pull camera in more aggressively in response to gaussian weighted samples. < 1 Not recommended" + }, + "citadel_camera_soft_collision_gausian_bias": { + "value": 2, + "description": "Experimental: Soft camera collision sample bias. < 1 distance samples at the edge of the cone angle contribute more to the weight. > 1 rely more on the central camera direction's distance sample." + }, + "citadel_camera_soft_collision_max_sensor_range": { + "value": 110, + "description": "Experimental: the range of the traces can be constrained to this value if the distance between target camera position and parrot cam position is very large" + }, + "citadel_camera_soft_collision_multi_thread": { + "value": 8, + "description": "Experimental: Use Multithreaded implementation. 0: Use regular style. > 0 number of jobs to chunk the 128 traces into. Power of 2 only, please. 8 is great." + }, + "citadel_camera_soft_collision_xy_scale": { + "value": 0.75, + "description": "Experimental: Shrink the length of the traces in the XY axis so that going into doorways is less affected by the soft collision system." + }, + "citadel_camera_spectator_auto_target_view": { + "value": true, + "description": "Spectator camera automatically try to match target view after no input for sometime" + }, + "citadel_camera_spectator_dist": { + "value": 200, + "description": "How far back the spectator camera should be" + }, + "citadel_camera_spectator_fov": { + "value": 90, + "description": "The field of view angle of the camera when a spectator." + }, + "citadel_camera_spectator_pitch": { + "value": 15, + "description": "How much to adjust view pitch when spectating a target" + }, + "citadel_camera_use_vmdl_far_pose": { + "value": true, + "description": "Selectively skip \"Far\" poses" + }, + "citadel_camera_use_vmdl_flatten_horizontal": { + "value": true, + "description": "For each camera pose set, use the average of X positions. This is a motion sickness reducing action." + }, + "citadel_camera_use_vmdl_flatten_vertical": { + "value": true, + "description": "Zero the relative Z axis of the camera to reduce motion sickness." + }, + "citadel_camera_use_vmdl_gunaim_pose": { + "value": true, + "description": "Selectively skip \"Gun Aim\" poses" + }, + "citadel_camera_use_vmdl_near_pose": { + "value": true, + "description": "Selectively skip \"Near\" poses" + }, + "citadel_camera_wobble_always": false, + "citadel_camera_wobble_angle_scale": 1, + "citadel_camera_wobble_disable": false, + "citadel_camera_wobble_pitch_exponent": 2, + "citadel_camera_wobble_position_scale": 1, + "citadel_camera_wobble_yaw_exponent": 2, + "citadel_cant_pause_display_duration": { + "value": 2, + "description": "How long do we show the can't pause/unpause dialog." + }, + "citadel_capsule_movement_ground_box_percentage": 0.2, + "citadel_capture_point_enable_fast_capture": false, + "citadel_capturepoint_show_event_timer": false, + "citadel_catapult_on_damage_channel_time": 1.5, + "citadel_catapult_on_damage_disable_time": 3, + "citadel_chat_fade_time": 10, + "citadel_chat_fade_time_extension": 7, + "citadel_cinematic_intro_duration_npc": { + "value": 7.5, + "description": "How long is the cinematic intro applied to npcs (shrine/patron)" + }, + "citadel_cinematic_intro_duration_player": { + "value": 9.5, + "description": "How long is the cinematic intro applied to the player" + }, + "citadel_cinematic_intro_enabled": { + "value": 0, + "description": "-1 = force disabled, 0 = default, 1 = force enabled" + }, + "citadel_clamp_mouse_when_using_ping_wheel": true, + "citadel_client_mm_ignore_engine_version": { + "value": false, + "description": "Ignore the engine version number for matchmaking. Useful for testing locally in release." + }, + "citadel_client_solo_mm_keep_alive_check_s": { + "value": 45, + "description": "Number of seconds between checking to make sure that the client is still in MM" + }, + "citadel_client_status_cycle_delay": 4, + "citadel_commend_toast_enemy_seconds": { + "value": 4, + "description": "Number of seconds to show enemy commend toasts" + }, + "citadel_commend_toast_seconds": { + "value": 30, + "description": "Number of seconds to show commend toasts" + }, + "citadel_cone_view_alpha": 80, + "citadel_context_profile_page": true, + "citadel_control_point_capture_rate_scale": 1, + "citadel_control_point_decay_delay": 60, + "citadel_control_point_decay_rate": 0.1, + "citadel_control_point_max_capture_players": 6, + "citadel_control_point_max_capture_rate": 2, + "citadel_coop_sandbox": false, + "citadel_core_regen": 50, + "citadel_core_regen_pause_on_damage": 15, + "citadel_corner_boost_strength": { + "value": 0.6, + "description": "0.0: turn off corner boosts. 1.0: raw corner boost." + }, + "citadel_crate_client_notification_time": 30, + "citadel_crate_delivery_base_payoff": 0, + "citadel_crate_delivery_overtime_bonus": 50, + "citadel_crate_drop_duration_override": -1, + "citadel_crate_respawn_interval": 360, + "citadel_crate_reward_base": 935, + "citadel_crate_reward_time_multiplier": 165, + "citadel_crate_spawn_enabled": true, + "citadel_crate_spawn_initial_delay": 720, + "citadel_crosshair_clip_angle": 90, + "citadel_crosshair_clip_bullet_gap": 0.5, + "citadel_crosshair_clip_offset_angle": 180, + "citadel_crosshair_color_b": 255, + "citadel_crosshair_color_g": 255, + "citadel_crosshair_color_r": 255, + "citadel_crosshair_disable_hero_specific_crosshairs": false, + "citadel_crosshair_dot_opacity": 0.7, + "citadel_crosshair_dot_outline_border": 2, + "citadel_crosshair_dot_outline_gap": 0, + "citadel_crosshair_dot_outline_opacity": 0.7, + "citadel_crosshair_dot_size": 4, + "citadel_crosshair_hit_marker_duration": 0.1, + "citadel_crosshair_out_of_range_dist": 50, + "citadel_crosshair_outline_color_b": 0, + "citadel_crosshair_outline_color_g": 0, + "citadel_crosshair_outline_color_r": 0, + "citadel_crosshair_pip_gap": 4, + "citadel_crosshair_pip_gap_static": false, + "citadel_crosshair_pip_height": 16, + "citadel_crosshair_pip_opacity": 0.5, + "citadel_crosshair_pip_outline_border": 1, + "citadel_crosshair_pip_outline_gap": 0, + "citadel_crosshair_pip_outline_opacity": 0.7, + "citadel_crosshair_pip_width": 2, + "citadel_damage_indicator_enemy_display_time": 2, + "citadel_damage_indicator_height": 120, + "citadel_damage_indicator_radius": 300, + "citadel_damage_indicator_width": 120, + "citadel_damage_offscreen_indicator_disabled": true, + "citadel_damage_pipeline": 2, + "citadel_damage_radar_enemy_display_time": 2, + "citadel_damage_report_enable": { + "value": true, + "description": "If enabled, show damage report" + }, + "citadel_damage_report_show_adjusted_percent_min": { + "value": 3, + "description": "Hide buffed/resisted damage if it's below this percentage of change" + }, + "citadel_damage_report_show_always": { + "value": false, + "description": "If enabled, always show damage report, not just on alt." + }, + "citadel_damage_summary_max_entries": 8, + "citadel_damage_summary_show_time": 12, + "citadel_damage_text_batching_window_ability": { + "value": 1.05, + "description": "When ability damage events are within this amount of time of each other, they will be added together into a single entry." + }, + "citadel_damage_text_batching_window_bullet": { + "value": 1.5, + "description": "When bullet damage events are within this amount of time of each other, they will be added together into a single entry." + }, + "citadel_damage_text_batching_window_cumulative": { + "value": 1.5, + "description": "When cumulative damage events are within this amount of time of each other, they will be added together into a single entry." + }, + "citadel_damage_text_batching_window_pure": { + "value": 1.05, + "description": "When pure damage events are within this amount of time of each other, they will be added together into a single entry." + }, + "citadel_damage_text_distance_far": { + "value": 4000, + "description": "Far distances at which we use far offsets for damage numbers" + }, + "citadel_damage_text_distance_near": { + "value": 100, + "description": "Near distance at which we use the near offsets for damage numbers" + }, + "citadel_damage_text_height_offset_far": { + "value": 200, + "description": "How much to offset damage numbers above when far from the camera" + }, + "citadel_damage_text_height_offset_near": { + "value": 130, + "description": "How much to offset damage numbers above when near from the camera" + }, + "citadel_damage_text_lifetime": { + "value": 1.5, + "description": "How long do numbers live." + }, + "citadel_damage_text_lifetime_new": { + "value": 1.5, + "description": "How long do accumulated numbers live." + }, + "citadel_damage_text_new_ability_offset_x": -20, + "citadel_damage_text_new_ability_offset_y": -25, + "citadel_damage_text_new_bullet_offset_x": 35, + "citadel_damage_text_new_bullet_offset_y": -25, + "citadel_damage_text_new_melee_offset_x": 20, + "citadel_damage_text_new_melee_offset_y": -60, + "citadel_damage_text_new_pure_offset_x": -20, + "citadel_damage_text_new_pure_offset_y": -60, + "citadel_damage_text_new_x_offset": { + "value": 15, + "description": "How much to offset damage numbers left" + }, + "citadel_damage_text_show_effectiveness": { + "value": false, + "description": "Show the damage effectiveness on every damage number" + }, + "citadel_damage_text_spacing": { + "value": 20, + "description": "Spacing between floating damage numbers." + }, + "citadel_damage_text_x_offset_far": { + "value": 0, + "description": "How much to offset damage numbers left and right when far from the camera" + }, + "citadel_damage_text_x_offset_near": { + "value": 0, + "description": "How much to offset damage numbers left and right when near the camera" + }, + "citadel_dead_zone_radius": 0.05, + "citadel_dead_zone_radius_instant_wheel": 0.1, + "citadel_death_linger_time": { + "value": 3, + "description": "How logn does the player icon linger on the minimap after they die" + }, + "citadel_death_replay_enabled": false, + "citadel_death_replay_post_death_time": 2, + "citadel_death_replay_pre_death_time": 12, + "citadel_death_replay_pre_death_time_quick": 8, + "citadel_default_bot_difficulty": { + "value": 1, + "description": "Time for a disconnected player to be taken over by a bot" + }, + "citadel_default_minimap_icon_radius": 18, + "citadel_default_reveal_duration": 0.25, + "citadel_demo_highlight_seconds_after": { + "value": 2, + "description": "How many seconds after the highlight event to show when viewing highlights." + }, + "citadel_demo_highlight_seconds_before": { + "value": 6, + "description": "How many seconds before the highlight event to show when viewing highlights." + }, + "citadel_demo_movie_preload_ticks": { + "value": 2, + "description": "How many ticks of demo playback before we activate movie recording." + }, + "citadel_deny_denied_percentage": 0, + "citadel_deny_denier_percentage": 1, + "citadel_deny_orb_scale": 1, + "citadel_deny_text_height_offset": { + "value": 35, + "description": "How much higher should deny text show up." + }, + "citadel_deny_text_max_distance": { + "value": 4000, + "description": "How far away before we stop showing in world deny events." + }, + "citadel_deployment_max_height_offset_down": 1000, + "citadel_deployment_max_height_offset_up": 125, + "citadel_destroyable_building_damage_scale": 1, + "citadel_dev_always_lethal_damage": false, + "citadel_dev_book_force_unlocked": false, + "citadel_dev_boss_backdoor_protection_disabled": { + "value": false, + "description": "Set to Disable Backdoor Protection for Bosses" + }, + "citadel_dev_discord_link": false, + "citadel_dev_orb_freeze_time": { + "value": 0, + "description": "Time after launching for the orb to become stationary." + }, + "citadel_dev_simulate_mm_response": { + "value": -1, + "description": "Allows for forcing MM to act like it returned the specified error for UI testing" + }, + "citadel_dev_test_end_game_fake_time": 0, + "citadel_dev_test_end_game_gold": 20000, + "citadel_disable_check_on_ground": { + "value": false, + "description": "Don't run CheckOnGround ever. Do we even need it?" + }, + "citadel_disable_purchasing_in_combat": { + "value": false, + "description": "Disable purchasing if you deal or take damage from an enemy player." + }, + "citadel_disable_quick_response": { + "value": true, + "description": "Turns quick response to ping messages off." + }, + "citadel_display_new_player_recommendations": { + "value": true, + "description": "Do we want to show the decorations for new player friendly heroes?" + }, + "citadel_distance_mouse_move_for_minimap_drawing": 15, + "citadel_doorway_glow_close_distance": 200, + "citadel_doorway_glow_other_distance": 1000, + "citadel_doorway_infinite_duration": false, + "citadel_doorway_portal_forward_offset": -3, + "citadel_dps_multiplier": { + "value": 1, + "description": "Increase weapon damage for testing" + }, + "citadel_draw_bot_enemy": { + "value": false, + "description": "Draw line to target enemy" + }, + "citadel_draw_bot_follow_target": { + "value": false, + "description": "Draw bot follow target" + }, + "citadel_draw_bot_full_path": { + "value": false, + "description": "Draw bot pathing" + }, + "citadel_draw_bot_safety": { + "value": false, + "description": "Draw bot pathing goal / chosen enemy" + }, + "citadel_draw_distant_trooper_nodes": false, + "citadel_draw_lanes": false, + "citadel_draw_lanes_filter": { + "value": 0, + "description": "If sets filters to drawing to a specific lane" + }, + "citadel_draw_trooper_lanes": false, + "citadel_duck_spam_slow_penalty_duration": { + "value": 0.5, + "description": "How long the slow penalty is for spamming duck is" + }, + "citadel_dump_keybindings": false, + "citadel_enable_double_ping": { + "value": true, + "description": "Turns off the ability to have aggressive and passive pings." + }, + "citadel_enable_new_ping_particle": { + "value": false, + "description": "Convar to test new ping particle" + }, + "citadel_enable_parties": { + "value": true, + "description": "Enable client side party UI" + }, + "citadel_enable_ping_rate_limiting": false, + "citadel_enable_survey": { + "value": true, + "description": "Kill switch in case we want to make sure the survey isn't shown, or temporarily disable it" + }, + "citadel_enable_vdata_sound_preload": true, + "citadel_end_of_match_additional_delay_s": { + "value": 10, + "description": "How long in addition to the tv_delay do we wait at the end of the match before going to the score screen in seconds" + }, + "citadel_enemy_consume_stamina_notification_range_close": { + "value": 10, + "description": "If an enemy is this close, then we send a stamina consume usermessage to enemies." + }, + "citadel_enemy_consume_stamina_notification_range_far": { + "value": 100, + "description": "If an enemy is this far, then we never send a stamina consume usermessage to enemies." + }, + "citadel_english_hero_names": false, + "citadel_english_mod_names": false, + "citadel_entity_ping_duration": 6, + "citadel_event_collection_delay_s": { + "value": 1, + "description": "Number of seconds to buffer events before an initial send" + }, + "citadel_event_collection_retry_s": { + "value": 1, + "description": "Number of seconds to wait for a retry of events" + }, + "citadel_event_indicator_distance_extremely_far": 3000, + "citadel_event_indicator_distance_far": 1000, + "citadel_event_indicator_distance_normal": 300, + "citadel_event_indicator_distance_very_far": 2000, + "citadel_event_indicator_dps_percent_high": 0.5, + "citadel_event_indicator_dps_percent_low": 0.1, + "citadel_event_indicator_dps_percent_mid": 0.3, + "citadel_event_indicator_mitigation_high": 0.6, + "citadel_event_indicator_mitigation_low": 0.2, + "citadel_event_indicator_mitigation_mid": 0.5, + "citadel_event_timer_frequency_imminent": 6, + "citadel_event_timer_frequency_soon": 25, + "citadel_event_timer_max_distance_distance": 5000, + "citadel_event_timer_max_distance_scale": 10, + "citadel_event_timer_max_view_angle": 45, + "citadel_event_timer_min_distance_distance": 1000, + "citadel_event_timer_min_distance_scale": 1.5, + "citadel_event_timer_min_view_angle": 12, + "citadel_event_timer_scale_on_direct_look": 1.33, + "citadel_fake_bots_as_pinging_player": false, + "citadel_fake_comms_ban_timestamp": 0, + "citadel_fake_death_gold": false, + "citadel_fake_low_pri_games_remaining": -1, + "citadel_fake_no_match_metadata": false, + "citadel_fake_number_of_games_played": -1, + "citadel_fake_party_roster_usage": false, + "citadel_fake_rank_for_match": { + "value": -1, + "description": "Set what rank you want to fake for the match. -1 is disabled" + }, + "citadel_fake_report_ban_timestamp": 0, + "citadel_fake_subrank_for_match": { + "value": -1, + "description": "Set what subrank you want to fake for the match. -1 is disabled" + }, + "citadel_familiar_infiniteattach": false, + "citadel_familiar_sprites_stuck_detection_duration": 0.2, + "citadel_fencer_max_charge_unlag_players": 0.12, + "citadel_fibonnaci_sphere_trace_fraction": 0.8, + "citadel_fibonnaci_sphere_trace_los_max": { + "value": 160, + "description": "How big to cap the size of the sphere when checking for really large explosion/effects" + }, + "citadel_finale_duration": 6, + "citadel_first_person": { + "value": false, + "description": "Enables first-person viewpoint" + }, + "citadel_first_tower_kill_disables_match_not_scored": { + "value": true, + "description": "Abandons must be before first blood for a match to not be scored." + }, + "citadel_fissure_forward_trace_distance": 75, + "citadel_fissure_max_offset_down": -2000, + "citadel_fissure_max_offset_up": 150, + "citadel_fly_accelerate": 2, + "citadel_force_assigned_lane": { + "value": 0, + "description": "forces the local player to be assigned to the specified lane #" + }, + "citadel_force_strict_abandon_rules": { + "value": false, + "description": "Enforce strict matchmaking style abandon rules even in practice/bot matches (useful for testing)" + }, + "citadel_force_subnav_options": false, + "citadel_force_unpause_cooldown": { + "value": false, + "description": "Force unpause cooldown if you're the pauser as if you weren't the pauser." + }, + "citadel_forge_sentry_gold_reward": 40, + "citadel_forge_sentry_gold_reward_bonus_per_minute": 4, + "citadel_fow_player_range": { + "value": 2500, + "description": "Player Fow Vision Range" + }, + "citadel_gamemode_streetbrawl_enabled": false, + "citadel_generator_minimap_icon_radius": 24, + "citadel_gg_call_time": 10, + "citadel_gold_bonus_scale_for_familiar_infest": 1.2, + "citadel_gold_flash_max_duration": 0.8, + "citadel_gold_flash_max_threshold": 500, + "citadel_gold_flash_med_threshold": 100, + "citadel_gold_flash_min_duration": 0.125, + "citadel_gold_flash_min_threshold": 30, + "citadel_gold_text_height_offset": { + "value": 35, + "description": "How much higher should gold text show up." + }, + "citadel_golden_idol_balance_threshold": 0.9, + "citadel_golden_idol_balance_threshold_first_spawn": 0.85, + "citadel_gravity_scaling_experiment": { + "value": false, + "description": "Increase gravity for players while they are moving at pedestrian speeds (lateral speeds below 300, up to 500)" + }, + "citadel_guided_bot_ap_boost": 10, + "citadel_guided_bot_match_countdown_time": 10, + "citadel_guided_bot_match_hint_time_mult": { + "value": 0.25, + "description": "How much faster/slower to show hints in guided bot match mode" + }, + "citadel_guided_bot_match_net_worth_boost": 20000, + "citadel_guided_bot_match_net_worth_target": 1000, + "citadel_guided_bot_match_report_card_time": 0, + "citadel_guided_bot_t1_boss_ignore_damage_threshold": 0, + "citadel_gun_iron_sights_threshold": { + "value": 0.9, + "description": "When iron sights amount is greater than this value, we are considered in iron sights mode." + }, + "citadel_gun_max_spread_penalty": { + "value": 5, + "description": "Max spread penalty you can incur from taking damage" + }, + "citadel_healthbars_enabled": true, + "citadel_hero_card_fake_party_member_count": -1, + "citadel_hero_challenge_status_fake_data": { + "value": false, + "description": "Shows fake data for hero challenge status" + }, + "citadel_hero_demo_enable_fast_stamina": { + "value": false, + "description": "Do we enable fast stamina cooldowns" + }, + "citadel_hero_demo_enable_unlimited_ammo": { + "value": false, + "description": "Do we enable unlimited ammo" + }, + "citadel_hero_demo_hero_spawn": { + "value": "hero_inferno", + "description": "Which hero do we spawn when we spawn and enemy or ally hero" + }, + "citadel_hero_demo_infinite_resources": { + "value": true, + "description": "Do we start our hero demo with infinite resources" + }, + "citadel_hero_demo_no_cooldowns": { + "value": false, + "description": "Do we start withough cooldowns when launching the hero demo map" + }, + "citadel_hero_demo_no_death": { + "value": false, + "description": "Do we start withough death when launching the hero demo map" + }, + "citadel_hero_demo_no_troopers": { + "value": false, + "description": "Do we start withough troopers when launching the hero demo map" + }, + "citadel_hero_demo_persist_convars": { + "value": false, + "description": "Do we persist convars between sessions in hero demo" + }, + "citadel_hero_demo_unlock_flex_slots": { + "value": false, + "description": "Do we start flex slots unlocked" + }, + "citadel_hero_roster_random": { + "value": false, + "description": "Is the hero roster set to random" + }, + "citadel_hero_testing_dummy_target": { + "value": 55, + "description": "Dummy Target heroID if non-specified" + }, + "citadel_hero_testing_enabled": false, + "citadel_hero_testing_give_abilities": { + "value": true, + "description": "Grant Abilities on Character Spawn" + }, + "citadel_hero_testing_infinite_money": { + "value": false, + "description": "Enable infinite money in Hero Testing" + }, + "citadel_hero_testing_money": { + "value": 4000, + "description": "How much money to buffer item purchases in Hero Testing" + }, + "citadel_herolabs_schedule_override": { + "value": 0, + "description": "Override the hero labs schedule we think is assigned to your client" + }, + "citadel_hide_botbrawl_after_brawl_wins": 2, + "citadel_hide_botbrawl_after_normal_wins": 5, + "citadel_hide_modifier_bars_on_left_hud": false, + "citadel_hide_replay_hud": false, + "citadel_hide_tutorial_after_brawl_wins": 2, + "citadel_hide_tutorial_after_normal_games": 5, + "citadel_hideout_ball_combat": { + "value": 0, + "description": "WIP Allow ball to transfer melee attacks." + }, + "citadel_hideout_ball_show_juggle_count": { + "value": 0, + "description": "WIP Show juggle count on ball." + }, + "citadel_hideout_ball_show_juggle_fx": { + "value": 0, + "description": "WIP Show fx when hitting apex/landing on floor." + }, + "citadel_hideout_button_interact_distance": 120, + "citadel_hideout_enable_testing_tools": false, + "citadel_hideout_exclusive_mode": true, + "citadel_hideout_hero_id": 63, + "citadel_hideout_intro_dismiss_escape_only": false, + "citadel_hideout_intro_version_seen": 0, + "citadel_hideout_map_enabled": { + "value": false, + "description": "Cheat to make that map pretend its the hideout" + }, + "citadel_hideout_spoof_connection_state": -1, + "citadel_hideout_teleport_trigger_delay": 3, + "citadel_hideout_tick_rate_override": 32, + "citadel_hideout_use_lobby_server": true, + "citadel_hint_system_disable": { + "value": false, + "description": "Set to disable hints" + }, + "citadel_hitbox_body_to_headshot_threshold": { + "value": 15, + "description": "Distance threshold that we allow bullet to penetrate body to headshot." + }, + "citadel_hud_announcement_display_time_all_queued": 7, + "citadel_hud_announcement_display_time_max": 3, + "citadel_hud_announcement_force_single_levelup": false, + "citadel_hud_build_category_max_height": 600, + "citadel_hud_build_category_min_height": 185, + "citadel_hud_build_category_min_width": 125, + "citadel_hud_chat_wheel": true, + "citadel_hud_damage_counter_duration": 4, + "citadel_hud_heal_counter_duration": 4, + "citadel_hud_healthbars_use_new": false, + "citadel_hud_healthbars_use_v2": false, + "citadel_hud_objective_health_enabled": { + "value": 2, + "description": "Enable/Disable HUD-level objective health bars. 0=Off. 1=Shrines, Patron, Midboss. 2=T1s and T2s. 3=Barracks" + }, + "citadel_hud_objective_health_idle_timeout": { + "value": 7, + "description": "After how many seconds of an objective is damage to hide its health on the HUD" + }, + "citadel_hud_objective_health_lane_max_range": 1000, + "citadel_hud_objective_health_t1_max_range": 1900, + "citadel_hud_objective_health_t2_max_range": 2500, + "citadel_hud_top_bar_enable_dynamic_player_position": true, + "citadel_hud_visible": { + "value": true, + "description": "Turns on/off rendering the HUD" + }, + "citadel_idle_time": { + "value": 300, + "description": "How long a player needs to be idle before he counts as disconnected." + }, + "citadel_idle_time_grace_period": { + "value": 8, + "description": "How long a player needs to be idle we start putting that time towards their stored idle time." + }, + "citadel_idol_think_bias_interval": 10, + "citadel_in_world_item_panel_dpi": { + "value": 2, + "description": "In-world texture resolution scale" + }, + "citadel_inactive_time_grace_period": { + "value": 30, + "description": "How long a player needs to be inactive (i.e. not taking any meaningful actions) before we start putting that time towards their stored inactive time." + }, + "citadel_initial_wall_jump_stamina_cost": { + "value": 0, + "description": "How much stamina is required, and costs, to perform your first wall jump." + }, + "citadel_invert_ping_type": { + "value": false, + "description": "Inverts the ping types so single ping would be aggressive and double ping would be passive" + }, + "citadel_item_draft_enabled": { + "value": 1, + "description": "Use item drafting? 1=only street brawl 2=always" + }, + "citadel_item_draft_force_all_rares": false, + "citadel_item_early_gold_duration": 30, + "citadel_item_glow_local_dist": 800, + "citadel_item_idol_label_offset": 50, + "citadel_item_neutral_gold_label_offset": 6, + "citadel_item_pickup_fall_tolerance": 16, + "citadel_item_pickup_fallrate": 5, + "citadel_item_purchases_force_enhanced": { + "value": false, + "description": "While true, all items purchased/drafted will be enhanced" + }, + "citadel_item_rejuvenator_label_offset": 160, + "citadel_item_sell_price_ratio": 0.5, + "citadel_item_used_text_height_offset": { + "value": 25, + "description": "How much higher item used text show up." + }, + "citadel_jump_overhead_clearance": { + "value": 73, + "description": "Distance above player step height that needs to be clear to allow for jumping" + }, + "citadel_keybind_default_hold_duration": 1, + "citadel_keybindings_cloud_disable": false, + "citadel_lane_matchups_mmr_variance": { + "value": 0, + "description": "specifies how much of a gap between MMR's we allow to randomize lane assignment" + }, + "citadel_lane_swap_available_duration": { + "value": 40, + "description": "How long lane swap is available, including pre-match time. Set to 0 to disable." + }, + "citadel_leaderboard_cache_duration": { + "value": 43200, + "description": "Number of seconds before re-requesting data for the leaderboard" + }, + "citadel_leaderboard_empty_cache_duration": { + "value": 20, + "description": "Number of seconds before re-requesting data for the leaderboard" + }, + "citadel_lethal_damage_tracking_time": { + "value": 60, + "description": "Time window for damage to be considered lethal" + }, + "citadel_life_stats_ignore_rebirth": { + "value": true, + "description": "When set to true, we will ignore stats being reset for a lifetime when the player comes back from rebirth" + }, + "citadel_life_stats_ignore_rejuv": { + "value": true, + "description": "When set to true, we will ignore stats being reset for a lifetime when the player comes back from rejuvinator" + }, + "citadel_locally_lock_heroes": { + "value": false, + "description": "When set to true, the client will act as if the heroes are locked even if the GC says that they aren't. Useful for testing purposes" + }, + "citadel_log_idle_time": false, + "citadel_log_in_combat_state": { + "value": true, + "description": "Enable to log extended MODIFIER_STATE_IN_COMBAT" + }, + "citadel_loot_table_spew_flattened_table": false, + "citadel_loot_table_spew_modifications": false, + "citadel_mantle_cancelling_allowed": { + "value": false, + "description": "Pulling away from the mantle interrupts it, putting you into falling state early." + }, + "citadel_mantle_horizontal_movement_distance": { + "value": 16, + "description": "How far forward the mantle will move the player onto the ledge" + }, + "citadel_mantle_max_height": { + "value": 134, + "description": "How high the maximum mantle is" + }, + "citadel_mantle_probe_depth": { + "value": 32, + "description": "How far in front of player to trace when looking for mantle ledges." + }, + "citadel_match_abandoned_display_time": 5, + "citadel_match_data_incombat_duration": 5, + "citadel_match_data_interval": 3, + "citadel_match_data_max_path_samples": 7200, + "citadel_match_data_path_sample_interval_s": 1, + "citadel_match_details_failure_delay_s": 3, + "citadel_match_details_flip_teams": false, + "citadel_match_details_lane_stats_time": 540, + "citadel_match_history_failure_delay_s": 3, + "citadel_match_intro_duration_full": { + "value": 23, + "description": "How long pre-match is until we start the match in the full version" + }, + "citadel_match_intro_duration_simple": { + "value": 5, + "description": "How long pre-match is until we start the match in the simple version." + }, + "citadel_match_intro_force_enabled": false, + "citadel_match_intro_style": { + "value": 1, + "description": "0 = none, 1 = pregame simple, 2 = pregame full, 3 = in map" + }, + "citadel_max_disconnected_time": { + "value": 300, + "description": "How long a player needs to be disconnected before they count as a leaver and get punished." + }, + "citadel_max_disconnected_time_pregame": { + "value": 110, + "description": "How long a player needs to be disconnected during pregame before they count as a leaver and get punished." + }, + "citadel_max_path_detour": { + "value": 500, + "description": "Max detour for pathing calculations." + }, + "citadel_max_reconnect_time_secs": { + "value": 7200, + "description": "Max time to attempt a reconnect after a crash." + }, + "citadel_max_videomode_matches": { + "value": 20, + "description": "Max number of video resolutions to show in UI." + }, + "citadel_medic_minion_sight_range": 2400, + "citadel_melee_damage_scale": 1, + "citadel_melee_draw_traces": false, + "citadel_melee_heavymelee_push_force": 30, + "citadel_melee_heavymelee_push_force_vs_tiny": 35, + "citadel_melee_heavymelee_toss_force_vs_tiny_min": 250, + "citadel_melee_hit_delay_max_time": 0.1, + "citadel_melee_shake_amplitude": 0.55, + "citadel_melee_shake_duration": 0.1, + "citadel_melee_shake_frequency": 0.2, + "citadel_metal_expire_time": 30, + "citadel_midboss_initial_spawn_time_override": { + "value": -1, + "description": "If positive, override initial spawn time (in seconds) for midboss" + }, + "citadel_midboss_spawn_interval_override": { + "value": -1, + "description": "If positive, override initial spawn interval (in seconds) for midboss" + }, + "citadel_min_accel_speed": { + "value": 400, + "description": "How fast we accelerate depends on our move speed - this lower bound ensures it doesn't go below ground friction" + }, + "citadel_min_match_minutes_for_replay": { + "value": 5, + "description": "The minimum number of minutes a match needs to be in order to be considered valid for replay uploading" + }, + "citadel_minimap_arrow_show_distance_down": 100, + "citadel_minimap_arrow_show_distance_up": 200, + "citadel_minimap_draw_fow": false, + "citadel_minimap_local_player_width": 12, + "citadel_minimap_max_icon_shrink": 0.8, + "citadel_minimap_npc_reveal_duration": 0.25, + "citadel_minimap_objective_damaged_reveal_duration": 1, + "citadel_minimap_overlap_scan_distance": 12.5, + "citadel_minimap_player_width": 7, + "citadel_minimap_show_hitboxes": false, + "citadel_minimap_spectator_fow_team_view": { + "value": 1, + "description": "Which team to view the minimap as when freeflying" + }, + "citadel_minimap_teleporter_active_dist": 400, + "citadel_minimap_teleporter_height_dist": 160, + "citadel_minimap_teleporter_nearby_dist": 1600, + "citadel_minimap_unit_click_radius": 200, + "citadel_minimap_use_effects": false, + "citadel_minimap_zip_line_thickness": 2, + "citadel_minimum_fire_rate": { + "value": -50, + "description": "Minimum value possible for fire rate" + }, + "citadel_minimum_players_to_show_postgame": 6, + "citadel_minion_distance_to_owner": 200, + "citadel_minion_gold_reward": 25, + "citadel_minion_gold_reward_bonus_per_minute": 1, + "citadel_mobile_resupply_healthbar_pos": 10, + "citadel_modifier_history_show_time": 6, + "citadel_modifier_hud_message_display_clear": false, + "citadel_modifier_hud_message_display_min_panel_count": 4, + "citadel_modifier_hud_message_display_time": 2.5, + "citadel_move_goal_tolerance": { + "value": 8, + "description": "Some extra tolerance for considering an NPC moved to a goal; can be reduced as we fix other issues" + }, + "citadel_movement_plane_overlap_mult": 0, + "citadel_movement_resolve_origin": true, + "citadel_movement_skyclip_push_distance": 196.85, + "citadel_movement_skyclip_push_min_force": 400, + "citadel_movement_slip_accel": 200, + "citadel_movement_solver_iterations": 16, + "citadel_movespeed_bonus_max": { + "value": 472.441, + "description": "Maximum Value for Movespeed bonuses (Diminishing Returns) in Hu" + }, + "citadel_mvp_enabled": { + "value": 0, + "description": "-1 = force disabled, 0 = default, 1 = force enabled" + }, + "citadel_mvp_score_kda_ratio": { + "value": false, + "description": "Use a KDA ratio for the mvp score instead of the real algorithm." + }, + "citadel_nano_set_shouldercat_bodygroup": true, + "citadel_necro_skele_use_new_motor": true, + "citadel_neutral_camp_spawn_per_tick_limit": { + "value": 2, + "description": "Spawn this many neutral camps per tick (this is a limit, so if it's 1, we'll only spawn one per tick (perf)). Set this value to something large to effectively remove the limit. 0 or negative will prevent spawning." + }, + "citadel_neutral_gold_ratio": { + "value": 1, + "description": "What percent of gold is transfered instantly on neutral kills" + }, + "citadel_neutral_initial_spawn_time_override": { + "value": -1, + "description": "If positive, override initial spawn time (in seconds) for all neutral camps" + }, + "citadel_neutral_spawn_enabled": { + "value": true, + "description": "set to false to prevent any neutrals from spawning" + }, + "citadel_neutral_spawn_interval_override": { + "value": -1, + "description": "If positive, override initial spawn interval (in seconds) for all neutral camps" + }, + "citadel_neutral_spawn_range": { + "value": 100, + "description": "Prevent spawning of neutrals if a player is in this range" + }, + "citadel_neutral_weakpoints_enabled": false, + "citadel_new_player_flow_visible": { + "value": true, + "description": "Are we still showing the new player instructions" + }, + "citadel_new_player_progress": { + "value": 0, + "description": "Tracks the local settings for the new player progress so they can be synchronized with the GC for client authoratative progress" + }, + "citadel_new_years_fireworks_epoch_override": 1767243600, + "citadel_new_years_fireworks_force_start": 0, + "citadel_news_entries_list_request_count": 10, + "citadel_news_entry_override_latest": 0, + "citadel_no_orbs_on_hero_kill": true, + "citadel_no_orbs_on_objective_kill": true, + "citadel_npc_ag2_enable": { + "value": true, + "description": "Enable AG2 in NPCs" + }, + "citadel_npc_allow_climb": { + "value": false, + "description": "Allow NPCs to climb." + }, + "citadel_npc_allow_jump_down": { + "value": true, + "description": "Allow NPCs to follow any drop-down navigation links." + }, + "citadel_npc_disable_cockroaches": { + "value": false, + "description": "Disable Cockroaches" + }, + "citadel_npc_disable_floor_point_caching": true, + "citadel_npc_dps_multiplier": { + "value": 1, + "description": "Increase weapon damage for testing" + }, + "citadel_npc_force_animate_every_tick": true, + "citadel_npc_jump_gravity_mult": 2, + "citadel_npc_max_direct_follow_distance": { + "value": 1000, + "description": "For far before a following NPC uses an approximate path to get to their follow target, instead of a direct calculation." + }, + "citadel_npc_push_speed": { + "value": 50, + "description": "How quickly NPCs push their friends away" + }, + "citadel_npc_shoot_check_sphere_size": { + "value": 6, + "description": "How large a radius sphere we use for checking if an NPC can shoot a target" + }, + "citadel_npc_spawn_enabled": { + "value": true, + "description": "set to false to prevent any NPC from spawning" + }, + "citadel_npc_trooper_celebration_percent": { + "value": 0.7, + "description": "percent amount of troopers in the area to celebrate" + }, + "citadel_npc_trooper_celebration_radius": { + "value": 2000, + "description": "radius to collect enemy troopers near a destroyed objective to do celebration pose" + }, + "citadel_num_matches_in_profile_history": 16, + "citadel_num_team_pauses_allowed": { + "value": 3, + "description": "Number of times a team is allowed to pause the game. 0 Means unbounded" + }, + "citadel_observer_roaming_speed": 600, + "citadel_one_on_one_match": false, + "citadel_one_on_one_match_starting_gold": 0, + "citadel_only_think_thinkable_abilities": true, + "citadel_orb_allow_deny": { + "value": true, + "description": "Whether or not we allow denies." + }, + "citadel_orb_experiment_staticlifetime": true, + "citadel_orb_expire_percentage": { + "value": 1, + "description": "The percent of money you get when an orb expires." + }, + "citadel_orb_lagcomp_buffer_contested": { + "value": 0.17, + "description": "Extra time for an orb to linger to allow lag compensated players to contest" + }, + "citadel_orb_lagcomp_buffer_uncontested": { + "value": 0.25, + "description": "Extra time for an orb to linger to allow lag compensated players to contest" + }, + "citadel_orb_required_bullets_to_claim_override": { + "value": 0, + "description": "When > 0, defines the number of bullets that need to hit an orb to claim it, otherwise uses the hero defined values." + }, + "citadel_orb_velocity_decay_in_lagcomp": { + "value": 0.85, + "description": "Decay velocity to 0 by this amount during lag comp window" + }, + "citadel_outer_radius_scaler": 0.2545, + "citadel_party_invite_in_game": { + "value": true, + "description": "When set, only users in game can be invited" + }, + "citadel_passive_items_area_display_time": 1, + "citadel_passthrough_fakewall_combat_lockout_time": 4, + "citadel_pause_allow_immediate_if_single_player": { + "value": false, + "description": "When there is only a single player on the server, set whether or not we allow for instant pausing/unpausing" + }, + "citadel_pause_cooldown_time": { + "value": 900, + "description": "Number of seconds before a player is allowed to pause again" + }, + "citadel_pause_count": { + "value": 1, + "description": "Number of times a player is allowed to pause the game. 0 Means unbounded" + }, + "citadel_pause_countdown": { + "value": 0, + "description": "Countdown timer to pause after a user has pressed pause" + }, + "citadel_pause_force_unpause_time": { + "value": 10800, + "description": "Number of seconds after which the game will automatically unpause" + }, + "citadel_pause_game_pause_silently": { + "value": false, + "description": "When set, we don't show the pause dialog when paused" + }, + "citadel_pause_matchtime_before_allow": { + "value": 0, + "description": "How much match time before pausing is allowed by clients" + }, + "citadel_pause_minimum_time": { + "value": 2, + "description": "Disables unpausing for this many seconds after a pause occurs" + }, + "citadel_pause_resume_time": { + "value": 30, + "description": "Number of seconds resuming is restricted to the same team, after that either team can pause" + }, + "citadel_pause_resume_time_disconnected": { + "value": 30, + "description": "Number of seconds resuming is restricted to the same team if someone disconnected, after that either team can pause" + }, + "citadel_pending_incoming_heal_min_change_for_update": 3, + "citadel_pending_replay_force_failure": 0, + "citadel_pending_replay_num_retries": 30, + "citadel_pending_replay_retry_seconds": 300, + "citadel_per_unit_hotkeys_checked": false, + "citadel_per_weapon_per_surface_impact_effects": true, + "citadel_perf_interval_report_s": { + "value": 60, + "description": "The interval that we record performance stats to the log at measured in seconds" + }, + "citadel_perf_long_frame_time_threshold_ms": { + "value": 17.5, + "description": "The time in milliseconds where if a frame is beyond this, count it as a long frame" + }, + "citadel_perf_short_idle_time_threshold_ms": { + "value": 3, + "description": "The amount of time in milliseconds where if we have less than this in idle time, count it as a low idle frame" + }, + "citadel_ping_allow_responses_to_yourself": { + "value": false, + "description": "Allow you to respond to yourself." + }, + "citadel_ping_indicator_display_time": 5.5, + "citadel_ping_indicator_duration": { + "value": 6, + "description": "The amount of time the in-world ping indicator stays." + }, + "citadel_ping_indicator_duration_for_bosses": { + "value": 2, + "description": "The amount of time the in-world ping indicator stays when a boss pings itself." + }, + "citadel_ping_wheel_activation_radius": { + "value": 0.37, + "description": "LEGACY. See: citadel_show_chat_wheel_angle_threshold. Increase this to change how much you have to move your mouse to make the mousewheel visible." + }, + "citadel_play_page_fake_brawl_wins": 0, + "citadel_play_page_fake_data": false, + "citadel_play_page_fake_normal_losses": 0, + "citadel_play_page_fake_normal_wins": 0, + "citadel_play_page_finished_tutorial": false, + "citadel_play_stats_laning_end_time": "UNKNOWN VALUE TYPE", + "citadel_player_aim_at_hero_query_angle": 6, + "citadel_player_aim_at_hero_query_distance": 2000, + "citadel_player_aim_at_hero_query_half_width": 50, + "citadel_player_aim_at_hero_query_interval": 0.2, + "citadel_player_attack_enemy_npc_fow_reveal_duration": { + "value": 2, + "description": "How long a player is visible to enemy FOW after attacking an enemy trooper or boss" + }, + "citadel_player_attack_enemy_player_fow_reveal_duration": { + "value": 1, + "description": "How long a player is visible to enemy FOW after attacking an enemy player" + }, + "citadel_player_crit_multiplier": { + "value": 1.25, + "description": "How much to scale damage when landing crits against Players" + }, + "citadel_player_damage_from_trooper_scale": 0.5, + "citadel_player_dash_breakable_lookahead": 75.8, + "citadel_player_dash_breakable_radius": 35, + "citadel_player_dash_down_stamina_cost": 0.5, + "citadel_player_dash_stamina_cost": 1, + "citadel_player_data_velocity_bucket_fast": 800, + "citadel_player_data_velocity_bucket_normal": 500, + "citadel_player_data_velocity_bucket_slow": 200, + "citadel_player_death_no_heroes_respawn_penalty": 10, + "citadel_player_fov_default": { + "value": 75, + "description": "Default player FOV" + }, + "citadel_player_glow_disabled": false, + "citadel_player_glow_from_teammate_vision_max_range": 2000, + "citadel_player_glow_when_in_combat": false, + "citadel_player_glow_when_in_combat_linger": 1, + "citadel_player_gold_comeback_assister_ratio": 1.5, + "citadel_player_gold_comeback_killer_fraction": 0.3, + "citadel_player_gold_comeback_multiplier": 2.268, + "citadel_player_gold_comeback_npc_max_mutliplier_delta": 1.2, + "citadel_player_gold_comeback_npc_max_mutliplier_value": 1.237, + "citadel_player_gold_difficulty_multiplier": 2.484, + "citadel_player_gold_killer_to_assist_ratio": 2.2, + "citadel_player_gold_per_level_postmax": { + "value": 2000, + "description": "Gold per 'level' after maxing out rewards" + }, + "citadel_player_gold_reward_first_kill_bonus": 150, + "citadel_player_gold_reward_max": 2200, + "citadel_player_gold_reward_min": 250, + "citadel_player_gold_reward_time": 2400, + "citadel_player_ground_dash_max_percent": { + "value": 2, + "description": "Max ground dash scale" + }, + "citadel_player_ground_dash_min_percent": { + "value": 0.5, + "description": "Min ground dash scale" + }, + "citadel_player_level_hiding_extra_duration": 0.45, + "citadel_player_move_speed_min": { + "value": 80, + "description": "Min walk speed" + }, + "citadel_player_move_speed_scale": { + "value": 1, + "description": "Scales how fast players can move" + }, + "citadel_player_neutral_gold_drop_min": 150, + "citadel_player_neutral_gold_duration": 180, + "citadel_player_neutral_gold_fallrate": 300, + "citadel_player_outline_allies": false, + "citadel_player_outline_enemies": true, + "citadel_player_outline_fade_at_min": 0, + "citadel_player_outline_fade_range_max": 1400, + "citadel_player_outline_fade_range_min": 400, + "citadel_player_override_spawn_time": -1, + "citadel_player_pawn_ag2_enable": { + "value": true, + "description": "Enable AG2 for heroes who define an AG2 graph" + }, + "citadel_player_ping_duration": 6, + "citadel_player_regen_zone_bonus_base": { + "value": 60, + "description": "When standing in a regen zone, how much extra do we regen per second?" + }, + "citadel_player_regen_zone_bonus_pct": { + "value": 6, + "description": "When standing in a regen zone, how much extra do we regen per second based on max health percentage?" + }, + "citadel_player_regen_zone_stamina_regen": { + "value": 150, + "description": "When standing in a regen zone, how much extra do we stamina percentage" + }, + "citadel_player_slide_breakable_lookahead": 75.8, + "citadel_player_slide_breakable_radius": 35, + "citadel_player_slide_min_percent": 0.8, + "citadel_player_spawn_distance_from_other": 32, + "citadel_player_spawn_time_in_base_penalty": 10, + "citadel_player_spawn_time_max_ramp_1": 30, + "citadel_player_spawn_time_max_ramp_1_time": 1140, + "citadel_player_spawn_time_max_ramp_2": 70, + "citadel_player_spawn_time_max_ramp_2_time": 1800, + "citadel_player_spawn_time_max_ramp_3": 85, + "citadel_player_spawn_time_max_ramp_3_time": 2400, + "citadel_player_spawn_time_max_respawn_time": 90, + "citadel_player_spawn_time_min_ramp_1": 8, + "citadel_player_spawn_time_min_ramp_1_time": 300, + "citadel_player_spawn_time_min_ramp_2": 30, + "citadel_player_spawn_time_min_ramp_2_time": 1140, + "citadel_player_spawn_time_min_ramp_3": 70, + "citadel_player_spawn_time_min_ramp_3_time": 1800, + "citadel_player_spawn_time_rich_nw_penalty_max_ramp_behind_nw_pct": 20, + "citadel_player_spawn_time_rich_nw_penalty_max_ramp_extratime": 22, + "citadel_player_spawn_time_rich_nw_penalty_max_ramp_gametime": 1500, + "citadel_player_spawn_time_rich_nw_penalty_max_ramp_pct": 30, + "citadel_player_spawn_time_rich_nw_penalty_min_ramp_behind_nw_pct": 5, + "citadel_player_spawn_time_rich_nw_penalty_min_ramp_extratime": 6, + "citadel_player_spawn_time_rich_nw_penalty_min_ramp_gametime": 600, + "citadel_player_spawn_time_rich_nw_penalty_min_ramp_pct": 15, + "citadel_player_starting_death_penalty_gold": { + "value": 0, + "description": "Initial deaht penalty gold for players." + }, + "citadel_player_starting_gold": { + "value": 600, + "description": "Initial gold for players." + }, + "citadel_player_starting_team": { + "value": 2, + "description": "Which team to auto-select the first time in the game." + }, + "citadel_playofthegame_allow_showing_last_timeframe": false, + "citadel_playofthegame_disable_eval": { + "value": true, + "description": "Allow evaluation of new plays" + }, + "citadel_playofthegame_draw_eval": false, + "citadel_playofthegame_fake": false, + "citadel_playofthegame_interval_bias": 0.36, + "citadel_playofthegame_intro_duration": 2, + "citadel_playofthegame_length": 20, + "citadel_playofthegame_live_evalinterval": 2, + "citadel_playofthegame_log": false, + "citadel_playofthegame_min_leadup": 2.5, + "citadel_playofthegame_min_winddown": 2.5, + "citadel_playofthegame_outro_duration": 10, + "citadel_playofthegame_pre_first_callout_duration": 0.1, + "citadel_playofthegame_prewarm_duration": 0.25, + "citadel_playtest_fake_coopbot_player_count": -1, + "citadel_playtest_fake_schedule": false, + "citadel_playtest_fake_unranked_player_count": -1, + "citadel_portrait_unit_ag2_enable": { + "value": true, + "description": "Enable AG2 use in portrait units" + }, + "citadel_portrait_world_renderer_off": false, + "citadel_post_game_local_player_screen_enabled": false, + "citadel_post_game_progress": { + "value": 0, + "description": "-1 = force disabled, 0 = default, 1 = force enabled" + }, + "citadel_postgame_duration": { + "value": 10, + "description": "How long postgame lasts until play of the game" + }, + "citadel_powerup_initial_spawn_time_override": { + "value": -1, + "description": "If positive, override initial spawn time (in seconds) for all powerup camps" + }, + "citadel_powerup_spawn_enabled": true, + "citadel_powerup_spawn_interval_override": { + "value": -1, + "description": "If positive, override initial spawn interval (in seconds) for all powerup camps" + }, + "citadel_powerup_spawner_show_event_timer": false, + "citadel_pregame_fake_game_state": -1, + "citadel_pregame_fake_match_intro_duration": 23, + "citadel_pregame_fake_match_intro_state": -1, + "citadel_pregame_hero_reveal_duration": 7, + "citadel_pregame_hero_reveal_full_sequence": false, + "citadel_pregame_wait_duration": { + "value": 5, + "description": "How long pre-match is until we start the match" + }, + "citadel_previous_umuted_audio_level": 1, + "citadel_priority_token_fake_count": { + "value": -1, + "description": "Override the priority token count. -1 uses the real value." + }, + "citadel_priority_token_fake_progress": { + "value": -1, + "description": "Override the priority token progress. -1 uses the real value." + }, + "citadel_private_lobby_allow_no_players": { + "value": true, + "description": "Allow for a private lobby to not have players to help test with spectating" + }, + "citadel_private_lobby_bot_difficulty": 0, + "citadel_private_lobby_cheats_enabled": false, + "citadel_private_lobby_duplicate_heroes_enabled": false, + "citadel_private_lobby_is_publicly_visible": false, + "citadel_private_lobby_randomize_lanes": false, + "citadel_private_lobby_server_region": 0, + "citadel_profile_card_cache_duration": { + "value": 600, + "description": "Number of seconds before re-requesting data for a profile card" + }, + "citadel_profile_card_fake_data": { + "value": false, + "description": "Use fake dummy data for profile cards instead of the real data from the GC." + }, + "citadel_profile_card_full_details": { + "value": false, + "description": "Use fake dummy data for profile cards instead of the real data from the GC." + }, + "citadel_profile_tooltip_enabled": true, + "citadel_projectile_los_scale": { + "value": 0.3, + "description": "How much exposure of the Capsule is needed for LoS. 1 means a pixel, 0 means requires center" + }, + "citadel_punkgoat_max_charge_unlag_players": 0.12, + "citadel_punkgoat_show_tether_snap_range": false, + "citadel_punkgoat_slam_output_time": false, + "citadel_purchasing_damage_time_s": { + "value": 6, + "description": "How long after taking damage can you purchase mods." + }, + "citadel_quick_cast_select_effects_delay": 0.1, + "citadel_quick_response_display_time": 6, + "citadel_quickbuy_auto_buy_default": { + "value": false, + "description": "Default for whether auto-buy is enabled in normal games." + }, + "citadel_quickbuy_enable": { + "value": true, + "description": "If enabled, show quickbuy in the HUD" + }, + "citadel_quit_delay": 0.5, + "citadel_radial_ability_suggestion_weight": { + "value": 0, + "description": "How much extra weight to give a segment when it's the next recommended ability." + }, + "citadel_radial_distortion": { + "value": 0, + "description": "0: Off 1: Distorts the visible distribution of arcs based on the mouse pointer." + }, + "citadel_radial_distortion_growth_factor": { + "value": 1.25, + "description": "When the cursor enters a radial arc fully, how much should it grow by (in terms of weight)" + }, + "citadel_radial_testing": { + "value": 0, + "description": "0: Normal. 1: Inhibit showing the hud abilities' upgrade panel when the scoreboard is open." + }, + "citadel_rapid_stamina_regen": false, + "citadel_recent_boss_damage_for_assist_time": 20, + "citadel_recent_comms_recording_window": 10, + "citadel_recent_comms_session_attempt_throttled_count": 75, + "citadel_recent_comms_throttling_limit": 10, + "citadel_recent_comms_throttling_penalty": 10, + "citadel_reconnect_idle_buffer_time": { + "value": 45, + "description": "How much extra time the player has after reconnecting before he gets marked as AFK." + }, + "citadel_region_override": { + "value": -1, + "description": "Override the region of the client" + }, + "citadel_replay_manager_download_chunk_size": 1048576, + "citadel_replay_manager_download_simultaneous_requests": 3, + "citadel_replay_marker_time_offset": { + "value": 5, + "description": "How many seconds to start the replay before the event marker." + }, + "citadel_replay_prev_marker_threshold": 2, + "citadel_report_card_dismissal_timeout": { + "value": 40, + "description": "How long do we wait for them to dismiss the popup dialog in lane training?" + }, + "citadel_report_card_tasks_complete": false, + "citadel_require_server_bullet_impacts_on_important_hits": false, + "citadel_reset_camera_speed": { + "value": 0.5, + "description": "Aggressiveness of Camera Reset Curve. Smaller = quicker. Larger = more gradual." + }, + "citadel_respond_to_ping_time": { + "value": 5, + "description": "The amount of time you have to respond to a ping from another player" + }, + "citadel_restore_components_only_during_sellback": true, + "citadel_roster_select_force_enable_priority_token": false, + "citadel_roster_select_hover_delay": 0.2, + "citadel_rp_show_dev_messages": false, + "citadel_rr_killstreak_for_death_line": { + "value": 2, + "description": "If >0, kill streak RR will play for the victim's team from the player with killstreak instead of victim's death line." + }, + "citadel_sat_volume_desat_amount": 0.6, + "citadel_sat_volume_desat_color": "[100, 100, 114, 255]", + "citadel_sat_volume_outline_color": "[200, 200, 200, 255]", + "citadel_sat_volume_sat_color": "[255, 255, 255, 255]", + "citadel_secondary_language_builds": -1, + "citadel_secure_gold_fixed": 1.6, + "citadel_secure_gold_fixed_growth": 0.08, + "citadel_secure_gold_percent": 0.005, + "citadel_secure_gold_rate": 1, + "citadel_send_gc_match_info_s": { + "value": 30, + "description": "Determines the rate that we should submit match info up to the GC, 0 disables this functionality" + }, + "citadel_send_text_chat_to_player_pings": true, + "citadel_server_all_players_disconnected_grace_period_s": { + "value": 120, + "description": "How long a server should run after all players have disconnected before notifying that all players have left" + }, + "citadel_server_long_frame_threshold_ms": { + "value": 40, + "description": "How long a frame must stall before we make a log message." + }, + "citadel_server_max_spectator_slots": { + "value": 3, + "description": "The maximum number of spectator slots we allow. This is so that the GC can restrict this remotely if we need to. -1 disables this limit" + }, + "citadel_server_mm_ignore_engine_version": { + "value": false, + "description": "Ignore engine build version. Useful for testing release locally" + }, + "citadel_settings_new_setting_newness_duration": { + "value": 2592000, + "description": "Maximum age a new setting will be shown without dismissing" + }, + "citadel_shield_generator_shield_scale": 7, + "citadel_shoot_forward_offset": { + "value": 35, + "description": "How far forward from the plane of hero and camera forward to move the shoot position" + }, + "citadel_shoot_lean_extra_offset": { + "value": 5, + "description": "When leaning, how far over to offset the obstructed shot test start point" + }, + "citadel_shoot_lean_test_distance": { + "value": 300, + "description": "How far in front of the shoot position to check if the eyes can see for turning on the shoot lean" + }, + "citadel_shooting_test_target_attachment": "ability_attach", + "citadel_shooting_test_tracker_window": 5, + "citadel_shop_default_tab": -1, + "citadel_shop_items_appear_enhanced": { + "value": false, + "description": "Makes all of the items in the shop appear enhanced if they can be enhanced" + }, + "citadel_shop_reset_time": 10, + "citadel_show_account_ids": { + "value": false, + "description": "When set, account IDs will be shown on player tooltips" + }, + "citadel_show_active_slot_popup": false, + "citadel_show_all_purchase_toasts": { + "value": false, + "description": "If enabled, show purchase toasts for all item transactions, not just ones in your quickbuy queue" + }, + "citadel_show_average_rating_on_postgame": { + "value": false, + "description": "Show the rating average rating of a team in the post game." + }, + "citadel_show_bullet_lag_compensation": { + "value": 0, + "description": "if > 0.0, show lag compensated hitboxes (value is seconds) whenever a bullet is lag compensated and hits something." + }, + "citadel_show_chat_wheel_angle_threshold": { + "value": 16, + "description": "(degrees) Increase this to change how much you have to move your camera angle to make the Chat Wheel instantly visible while holding Ping." + }, + "citadel_show_chat_wheel_time": { + "value": 0.23, + "description": "How long it takes after pressing the +ping command for the chat wheel to appear." + }, + "citadel_show_disabled_heroes": { + "value": false, + "description": "Shows disabled heroes in hero selection" + }, + "citadel_show_falloff_in_world": false, + "citadel_show_global_leaderboard": { + "value": false, + "description": "Show Global Leaderboards" + }, + "citadel_show_hidden_public_builds": false, + "citadel_show_localization_errors": false, + "citadel_show_minimap_reveal_indicators": false, + "citadel_show_modifier_history": { + "value": false, + "description": "Turns on/off debug display of modifiers" + }, + "citadel_show_movement_speed_in_units": { + "value": false, + "description": "Show the movement speed in units instead of m/s" + }, + "citadel_show_movespeed_on_hud": { + "value": false, + "description": "Turns on/off Movespeed indicator on the HUD" + }, + "citadel_show_new_mod_tooltips": true, + "citadel_show_new_topbar": { + "value": false, + "description": "Show new topbar" + }, + "citadel_show_new_ziplines": { + "value": false, + "description": "Turns on/off the new ziplines on the new minimap" + }, + "citadel_show_npe_modal": { + "value": true, + "description": "Show the NPE modal when navigating to the roster select." + }, + "citadel_show_old_neutral_camp_icons": { + "value": true, + "description": "Show the old neutral camp icons on the minimap" + }, + "citadel_show_page_reload_button": { + "value": true, + "description": "Show beta db controls in the upper left corner" + }, + "citadel_show_personal_best_duration": 5, + "citadel_show_playerintents": false, + "citadel_show_playerintents_bothteams": true, + "citadel_show_rating_notification_on_change": { + "value": false, + "description": "Show the rating notification on the post game if your rating changed that game." + }, + "citadel_show_reportcard": true, + "citadel_show_reportcard_finished": false, + "citadel_show_reportcard_initial": false, + "citadel_show_stats_tooltips_on_scoreboard": true, + "citadel_show_survey": { + "value": false, + "description": "A way to force the survey UI on even outside of matchmaking" + }, + "citadel_show_telemetry_settings": { + "value": false, + "description": "Show HUD Telemetry Settings." + }, + "citadel_skip_client_ping_caluclation_in_dev_universe": { + "value": true, + "description": "Skips ping calculation (only enabled if you're in dev universe)" + }, + "citadel_slide_delay": 0.15, + "citadel_slide_one_button_falling_max_lookahead_distance": 150, + "citadel_snowball_level_override": { + "value": -1, + "description": "Change the snowball level" + }, + "citadel_solo_bot_match": false, + "citadel_spawn_combine_only": { + "value": false, + "description": "Only spawn creeps on one team" + }, + "citadel_spawn_practice_bots": false, + "citadel_spawn_practice_bots_count": 1, + "citadel_spawn_rebels_only": { + "value": false, + "description": "Only spawn creeps on one team" + }, + "citadel_spec_lock_to_accountid": { + "value": 0, + "description": "As an observer, lock the spectator target to the given accountid." + }, + "citadel_spectate_directed_mode_enabled": false, + "citadel_spectator_mode": { + "value": 0, + "description": "Toggles the spectator mode: 0=Directed - 1=Free Cam - 2=Hero Chase - 3=PlayerView" + }, + "citadel_spectator_voice_mode": { + "value": true, + "description": "Spectator voice transmit mode: 0 spectators and players, 1 spectators only" + }, + "citadel_spew_cast_results": false, + "citadel_spew_ping_recipients": false, + "citadel_spew_rate_limited_suppressed_sounds": false, + "citadel_spoof_connection_status": -1, + "citadel_spoof_invalid_client_version": { + "value": false, + "description": "When set to true, this will cause the client to act like it has an invalid client version, useful for UI testing" + }, + "citadel_spoof_match_in_progress": false, + "citadel_spoof_matchmaking_status": -1, + "citadel_spoof_num_matches_on_profile": -1, + "citadel_spoof_profile_account": 0, + "citadel_spray_max_range": { + "value": 512, + "description": "Maximum range (in inches) in which a spray is valid" + }, + "citadel_start_players_on_zipline": true, + "citadel_stat_override_official_match": { + "value": false, + "description": "When set to true, the account stat cache system will act like it is in an official match when updated. Used for testing without being in official matches" + }, + "citadel_steamlearn_disable": false, + "citadel_steamlearn_mechanical_behavior_allowed_game_modes_bitfield": { + "value": 2, + "description": "This is a bitfield of elements in ECitadelGameMode that we want to record behavior for. eg: (1 << k_ECitadelGameMode_Normal) | (1 << k_ECitadelGameMode_1v1Test)" + }, + "citadel_steamlearn_mechanical_behavior_allowed_match_modes_bitfield": { + "value": 282, + "description": "This is a bitfield of elements in ECitadelMatchMode that we want to record behavior for. eg: (1 << k_ECitadelMatchMode_Unranked) | (1 << k_ECitadelMatchMode_Ranked)" + }, + "citadel_steamlearn_new_player_threshold": 0.3, + "citadel_steamlearn_new_player_thresholds": { + "value": "0=50, 10=60, 20=80, 30=100", + "description": "Thresholds for mapping a player's played matches with a minimum allowed 'new player' score. If a new player with n games has a new player score less than to the value in this curve, log as a smurf.Map from games played (x) to min allowed new player score (y)" + }, + "citadel_steamtimeline_show_dev_messages": false, + "citadel_streaming_mode_enabled": { + "value": false, + "description": "Enable to alter various game UI elements" + }, + "citadel_street_brawl_ability_range_multiplier": 0.9, + "citadel_street_brawl_match_length_limits_enabled": false, + "citadel_street_brawl_match_length_override": 0, + "citadel_street_brawl_medic_heal_multi": 2, + "citadel_street_brawl_round_length_limits_enabled": true, + "citadel_street_brawl_round_time_override": 0, + "citadel_stuck_camera_trace_extra_length": 100, + "citadel_stuck_normal_find_trace_fallback_elevation": 24, + "citadel_sub_nav_outer_radius_scaler": 0.412, + "citadel_subnav_select_time": 0, + "citadel_super_neutral_gold_reward": 3000, + "citadel_super_neutral_gold_reward_bonus_per_minute": 50, + "citadel_super_neutral_inner_attack_range": 250, + "citadel_super_neutral_middle_attack_range": 400, + "citadel_super_neutral_old_behavior": true, + "citadel_super_neutral_outer_attack_range": 750, + "citadel_super_trooper_gold_mult": { + "value": 0.85, + "description": "Mult Gold Bounty from Super Troopers by this amount" + }, + "citadel_t1_boss_aggro_radius": 600, + "citadel_t1_boss_aggro_time": 3, + "citadel_t1_boss_attackable_height_diff": 20, + "citadel_t1_boss_hero_initial_weapon_reduction_pct": 65, + "citadel_t1_boss_ignore_damage": false, + "citadel_t1_boss_max_attack_range": 1300, + "citadel_t1_boss_melee_damage": 200, + "citadel_team_size": 6, + "citadel_teleporter_enabled_time": 1, + "citadel_test_ranked_summary": { + "value": false, + "description": "Test Ranked Summary" + }, + "citadel_tether_pull_speed": 200, + "citadel_tether_pull_speed_scale_per_meter": 120, + "citadel_text_chat_enabled": true, + "citadel_tick_gold_payout_for_lowest": 0.025, + "citadel_tick_gold_payout_for_second_lowest": 0.015, + "citadel_tick_gold_period_duration_s": { + "value": 3, + "description": "Duration of a period of accumulated tick gold. Larger values will result in longer between a team getting gold and a player getting the benefit." + }, + "citadel_tick_gold_periods": { + "value": 10, + "description": "Number of periods of accumulated tick gold. Combine with citadel_tick_gold_period_duration_s to configure resolution and total duration." + }, + "citadel_tick_gold_pulse_per_period": { + "value": 3, + "description": "Frequency of distributing available tick gold" + }, + "citadel_tick_gold_start_time": 480, + "citadel_tier1_minimap_icon_radius": 12, + "citadel_tier3_phase1_kill_respawn_reduction": 20, + "citadel_tier3_phase1_kill_respawn_reduction_limit": 10, + "citadel_tightcamera_alternative": { + "value": 1.3, + "description": "Tight-camera test mode alternative." + }, + "citadel_time_after_damage_to_show_hints": { + "value": 10, + "description": "Time after the local player has taken damage from another player before we show hints again." + }, + "citadel_time_for_recent_heal_event": 5, + "citadel_time_for_recent_kill_event": 10, + "citadel_time_scale": { + "value": -1, + "description": "Set to something >= 0 to test setting every unit's timescale to that value" + }, + "citadel_track_player_vs_player_accuracy": true, + "citadel_trigger_rope_size": 192, + "citadel_trooper_aggro_radius": 0, + "citadel_trooper_boss_melee_knockback": 400, + "citadel_trooper_boss_ping_interval": 10, + "citadel_trooper_boss_shield_disable_duration": 20, + "citadel_trooper_celebration_delay": 1.2, + "citadel_trooper_crit_multiplier": { + "value": 1.5, + "description": "How much to scale damage when landing crits against Troopers" + }, + "citadel_trooper_do_neardeath_behavior": false, + "citadel_trooper_force_idle": false, + "citadel_trooper_friendly_glow_disabled": { + "value": true, + "description": "Disable glow on friendly troopers except for through walls during laning" + }, + "citadel_trooper_glow_disabled": false, + "citadel_trooper_gold_reward": 116, + "citadel_trooper_gold_reward_bonus_per_minute": 1.16, + "citadel_trooper_health_model_scale": 1.2, + "citadel_trooper_health_mult": 1.5, + "citadel_trooper_health_mult_gametime": 35, + "citadel_trooper_instant_gold_as_dropped_orbs": { + "value": 2, + "description": "0=instant gold 1=orbs in experimental only 2=orbs always" + }, + "citadel_trooper_instant_gold_ratio_laning": 0.6, + "citadel_trooper_instant_gold_ratio_postlaning": 0.6, + "citadel_trooper_lane_node_max_spacing": { + "value": 150, + "description": "Set to -1 to disable" + }, + "citadel_trooper_laning_gold_rules_end_time": 8, + "citadel_trooper_max_per_lane": { + "value": 0, + "description": "How many troopers can be active in a single lane (including canisters). Set to 0 to disable." + }, + "citadel_trooper_medic_drops_health_pack": true, + "citadel_trooper_medics_use_heal_ability": false, + "citadel_trooper_minion_sight_range": 2000, + "citadel_trooper_neutral_aggro_time": 5, + "citadel_trooper_neutral_health_growth_pct_per_min": 2.1, + "citadel_trooper_neutral_scorer_time_window": { + "value": 5, + "description": "How long after damaging a neutral are players in the window to be considered scorers." + }, + "citadel_trooper_neutral_sight_range": 1500, + "citadel_trooper_new_movement": false, + "citadel_trooper_offscreen_indicator_range": 35, + "citadel_trooper_outline_enabled": false, + "citadel_trooper_reinforcement_gold_scale": 0.5, + "citadel_trooper_run_test_path": 0, + "citadel_trooper_shooting_enabled": true, + "citadel_trooper_siege_instant_gold_ratio": 0.5, + "citadel_trooper_spawn_enabled": { + "value": true, + "description": "set to false to prevent any troopers from spawning" + }, + "citadel_trooper_spawn_initial": { + "value": 16, + "description": "Initial trooper wave spawn time" + }, + "citadel_trooper_spawn_interval_early": { + "value": 30, + "description": "# of seconds between trooper spawn waves." + }, + "citadel_trooper_spawn_interval_late": { + "value": 25, + "description": "# of seconds between trooper spawn waves." + }, + "citadel_trooper_spawn_interval_late_time": { + "value": 20, + "description": "# of minutes before we start using the late trooper spawn interval." + }, + "citadel_trooper_spawn_interval_very_late": { + "value": 20, + "description": "# of seconds between trooper spawn waves." + }, + "citadel_trooper_spawn_interval_very_late_time": { + "value": 35, + "description": "# of minutes before we start using the late trooper spawn interval." + }, + "citadel_trooper_spawn_wave_spread": { + "value": 0.4, + "description": "# of seconds between troopers on a zipline in a single wave." + }, + "citadel_trooper_squad_size": { + "value": 4, + "description": "How many troopers spawn together in a squad" + }, + "citadel_trooper_stuck_detection_duration": 0.2, + "citadel_trooper_suicide_instant_gold_ratio": { + "value": 0, + "description": "What percent of gold is transfered instantly if a trooper suicides." + }, + "citadel_trooper_suicide_orb_gold_ratio": { + "value": 0, + "description": "What percent of gold is transfered into an orb if a trooper suicides." + }, + "citadel_trooper_use_ziplines": true, + "citadel_trooper_waypoint_threshold": 48, + "citadel_trooper_zipline_leap_speed": 200, + "citadel_tutorial_ability1_state": 0, + "citadel_tutorial_ability2_state": 0, + "citadel_tutorial_ability3_state": 0, + "citadel_tutorial_ability4_state": 0, + "citadel_tutorial_ability_learn_finished": false, + "citadel_tutorial_ability_purchased_finished": false, + "citadel_tutorial_ability_upgrade_finished": false, + "citadel_tutorial_ability_use_finished": false, + "citadel_tutorial_air_dash_finished": false, + "citadel_tutorial_auto_teleport_dist": 2000, + "citadel_tutorial_close_shop": false, + "citadel_tutorial_dash_finished": false, + "citadel_tutorial_enabled": false, + "citadel_tutorial_guardian_destroyed": false, + "citadel_tutorial_heavy_melee_finished": false, + "citadel_tutorial_hide_mods": false, + "citadel_tutorial_jump_finished": false, + "citadel_tutorial_kill_troopers_finished": false, + "citadel_tutorial_light_melee_finished": false, + "citadel_tutorial_mantle_finished": false, + "citadel_tutorial_match_on_dedicated_server": true, + "citadel_tutorial_mods_purchased_finished": false, + "citadel_tutorial_movement_finished": false, + "citadel_tutorial_near_guardian_finished": false, + "citadel_tutorial_parry_finished": false, + "citadel_tutorial_reload_finished": false, + "citadel_tutorial_shoot_finished": false, + "citadel_tutorial_show_intro_modal": false, + "citadel_tutorial_show_outro_modal": false, + "citadel_tutorial_slide_finished": false, + "citadel_tutorial_troopers_remaining": 0, + "citadel_tutorial_ultimate_used": false, + "citadel_tutorial_wasd_finished": false, + "citadel_tutorial_zipline_attach_finished": false, + "citadel_tutorial_zoom_finished": false, + "citadel_ui_allow_feature_bot_test": { + "value": true, + "description": "When true, we can feature bot test matches" + }, + "citadel_ui_damage_impact_duration": 2, + "citadel_ui_damage_impact_duration_fadeindelay": 0, + "citadel_ui_damage_impact_duration_fadeoutdelay": 0.6, + "citadel_ui_damage_impact_kill_duration": 5, + "citadel_ui_damage_impact_min_max_shield_width": 0.1, + "citadel_ui_damage_impact_show_for_everything": false, + "citadel_ui_damage_impact_status_minimum_duration": 0.2, + "citadel_ui_fake_active_matches": { + "value": 0, + "description": "Set to > 0 to add dummy matches to the active match list, useful for testing UI around these" + }, + "citadel_ui_fake_invite_parties": { + "value": 0, + "description": "Set to > 0 to add dummy parties that have invites" + }, + "citadel_ui_spoof_active_match_bot_account": { + "value": 0, + "description": "When set to non-zero, it will use this account as the account for bots to test UI on the active match" + }, + "citadel_ui_test_ranked_highlight_time": 0, + "citadel_ui_watch_active_game_refresh_s": { + "value": 5, + "description": "The number of seconds to wait between refreshes of the active matches while on the watch page" + }, + "citadel_unit_status_allies_see_thru_walls": true, + "citadel_unit_status_allies_see_thru_walls_max_distance": { + "value": 0, + "description": "How far to make allied players' unit status show through walls. Use values <= 0 for no limit." + }, + "citadel_unit_status_delta_decay_delay": 0.166667, + "citadel_unit_status_delta_decay_rate": 3, + "citadel_unit_status_dpi": 10, + "citadel_unit_status_draw_local": false, + "citadel_unit_status_enabled": true, + "citadel_unit_status_fadeout_dist": { + "value": 200, + "description": "How far out of the players effective gun range do we show the health bar" + }, + "citadel_unit_status_health_per_minor_pip": 100, + "citadel_unit_status_health_per_pip": 100, + "citadel_unit_status_health_pips_per_row": 10, + "citadel_unit_status_healthbar_highlight_speed": 2, + "citadel_unit_status_height": 100, + "citadel_unit_status_hide_names": false, + "citadel_unit_status_max_distance_distance": 800, + "citadel_unit_status_max_distance_scale": 1, + "citadel_unit_status_max_health_per_bar": 1000, + "citadel_unit_status_max_health_segment_increment": 1000, + "citadel_unit_status_max_health_segments": 6, + "citadel_unit_status_max_total_bars": 6, + "citadel_unit_status_min_distance_scale": 0.2, + "citadel_unit_status_minor_pip_per_major_pip": 5, + "citadel_unit_status_old_dpi": 4, + "citadel_unit_status_old_draw_local": false, + "citadel_unit_status_old_fadeout_dist": { + "value": 200, + "description": "How far out of the players effective gun range do we show the health bar" + }, + "citadel_unit_status_old_health_pips_per_row": 10, + "citadel_unit_status_old_height": 80, + "citadel_unit_status_old_hide_names": false, + "citadel_unit_status_old_opaque_dist_sq": 50000, + "citadel_unit_status_old_show_stats": false, + "citadel_unit_status_old_transparent_dist_sq": 0, + "citadel_unit_status_old_update_rate": { + "value": 30, + "description": "How many times per second the unit status can update (0 = every frame)." + }, + "citadel_unit_status_old_width": 100, + "citadel_unit_status_opaque_dist_sq": 50000, + "citadel_unit_status_recent_damage_time": 0.25, + "citadel_unit_status_show_stats": false, + "citadel_unit_status_single_bar_mode": { + "value": false, + "description": "Allow only a single health bar, no stacking." + }, + "citadel_unit_status_stamina_consume_linger": 3, + "citadel_unit_status_transparent_dist_sq": 0, + "citadel_unit_status_use_new": false, + "citadel_unit_status_use_v2": false, + "citadel_unit_status_use_v2_for_nonplayers": false, + "citadel_unit_status_v2_height": 210, + "citadel_unit_status_v2_width": 200, + "citadel_unit_status_width": 200, + "citadel_unit_target_button_hint_mode": 0, + "citadel_unpause_countdown": { + "value": 3, + "description": "Countdown duration to the unpause after a user unpauses" + }, + "citadel_unpredictable_movement_window": 0.1, + "citadel_update_gc_connection_check_count": { + "value": 50, + "description": "How many tries we check if the GC is still connected before terminating due to no response" + }, + "citadel_update_gc_connection_check_time": { + "value": 1200, + "description": "How often the server should check the GC is still connected (in seconds)" + }, + "citadel_update_gc_connection_check_time_variance": { + "value": 60, + "description": "How much variance to allow the GC check time to avoid swamping the GC (in seconds)" + }, + "citadel_upload_metadata_enabled": { + "value": true, + "description": "Controls if match metadata uploading is enabled. Mainly used as a kill switch if something goes wrong" + }, + "citadel_upload_replay_enabled": { + "value": true, + "description": "Controls if replay uploading is enabled. Mainly used as a kill switch if something goes wrong" + }, + "citadel_upload_servertest_replays": { + "value": false, + "description": "When set, this will upload replays for server test matches, otherwise they will be discarded" + }, + "citadel_use_character_proxy": false, + "citadel_use_contextual_ping_wheel_option": true, + "citadel_use_csgo_style_recoil_follow_crosshair": false, + "citadel_use_fake_lobby_signout_details": { + "value": false, + "description": "If enabled, fake the details to enable match signout to flow" + }, + "citadel_use_hold_sprint": { + "value": false, + "description": "Use hold sprint ability?" + }, + "citadel_use_new_minimap": { + "value": true, + "description": "Turns on/off the new minimap" + }, + "citadel_use_pvs_for_players": false, + "citadel_use_shop_component_groupings": { + "value": false, + "description": "Use new component Grouping" + }, + "citadel_use_spectator_team_colors": { + "value": false, + "description": "Forces HUD and game to draw team colors as if you are a spectator" + }, + "citadel_use_ui_keybindings": { + "value": true, + "description": "Use UI key bindings otherwise use engine keybindings." + }, + "citadel_use_vertical_healthbars": false, + "citadel_use_wip_models": { + "value": false, + "description": "When true, uses the WIP models defined in the hero vdata" + }, + "citadel_vanguard_enabled": false, + "citadel_vanguard_instant_capture": false, + "citadel_video_preset": { + "value": 3, + "description": "Rendering performance level." + }, + "citadel_viewed_book_prototype": { + "value": false, + "description": "Track if they have opened up the book prototype or not yet" + }, + "citadel_viewpunch_damping": { + "value": 9, + "description": "Bigger number makes the response more damped, smaller is less damped" + }, + "citadel_viewpunch_spring_constant": { + "value": 15, + "description": "Bigger number increases the speed at which the view corrects" + }, + "citadel_visibility_queue_rate": 2, + "citadel_visualize_tethers": false, + "citadel_voice_all_talk": { + "value": false, + "description": "If 1, all players can hear all other players." + }, + "citadel_waiting_for_map_load_min_duration": { + "value": 0, + "description": "Force a certain duration in the waiting for map to load state" + }, + "citadel_wall_detection_skin": { + "value": 8, + "description": "Maximum distance to a wall in order to wall jump." + }, + "citadel_wall_jump_fatigue_recovery": { + "value": 1, + "description": "Modifies how much we allow the wall jump fatigue to recover during other moves (i.e. heavy melee, air dash). 0.0 = Pause recovery totally. 1.0 = ignore and recover at the normal rate." + }, + "citadel_wall_jump_num_free_wall_jumps": { + "value": 1, + "description": "How many consecutive wall jumps before we start to require stamina." + }, + "citadel_wall_jump_stamina_cost": { + "value": 0.5, + "description": "How much stamina is required, and costs, to perform a wall jump." + }, + "citadel_wall_ride_enabled": { + "value": false, + "description": "Obsolete (temporarily)?" + }, + "citadel_wall_slide_terminal_velocity": { + "value": 600, + "description": "While wall gripping, gravity will be cancelled out at this speed down the wall" + }, + "citadel_weak_point_damage_scale": 1, + "citadel_weapon_damage_multiplier": { + "value": 1, + "description": "Multiply the damage on guns" + }, + "citadel_weapon_damage_multiplier_team_filter": { + "value": -1, + "description": "Filter which team gets a multiplier on their gun damage. -1 = no filter (all teams get multiplier), 2 = amber, 3 = sapphire, etc" + }, + "citadel_weapon_damage_reduction_for_melee": { + "value": 0.5, + "description": "What percent do we want weapon damage reduced for melee damage?" + }, + "citadel_weapon_normalize_recoil_with_firerate": { + "value": true, + "description": "Keep recoil constant even with fire rate changes." + }, + "citadel_weapon_zoom_style": { + "value": 1, + "description": "0: Original Linear Interpolation. 1: Smooth Approach" + }, + "citadel_world_bullet_impacts_for_npcs": { + "value": false, + "description": "Turns on bullet impacts and decals on world from troopers and neutrals shooting" + }, + "citadel_zipline_allow_direction_choice": { + "value": true, + "description": "0: Chose direction based solely on camera angle. 1: Chose direction at the moment of attachment, using the player's movement direction." + }, + "citadel_zipline_animgraph_cuvature_max": 50, + "citadel_zipline_arrow_boost_brightness": { + "value": 1, + "description": "Changes the zipline arrow boost brightness" + }, + "citadel_zipline_arrow_scale": { + "value": 1, + "description": "Changes the zipline arrow scale" + }, + "citadel_zipline_arrow_scoll_speed": { + "value": 1, + "description": "Changes the zipline arrow scroll speed" + }, + "citadel_zipline_baselane_speed_mult": 0.7, + "citadel_zipline_capture_trigger_max_thickness": 400, + "citadel_zipline_capture_trigger_min_thickness": 400, + "citadel_zipline_capture_trigger_width": 1200, + "citadel_zipline_curve_sampling_size": 24, + "citadel_zipline_nonbaselane_speed_mult": 1.1, + "citadel_zipline_pendulum_damping": 0.3, + "citadel_zipline_pendulum_force": 700, + "citadel_zipline_pendulum_gravity": 50, + "citadel_zipline_pendulum_length": 50, + "citadel_zipline_pendulum_timescale": 5, + "citadel_zipline_percent_override_blue": { + "value": -1, + "description": "Changes the percent distance of the blue lane" + }, + "citadel_zipline_percent_override_green": { + "value": -1, + "description": "Changes the percent distance of the green lane" + }, + "citadel_zipline_percent_override_purple": { + "value": -1, + "description": "Changes the percent distance of the purple lane" + }, + "citadel_zipline_percent_override_yellow": { + "value": -1, + "description": "Changes the percent distance of the yellow lane" + }, + "citadel_zipline_render_mode": { + "value": 0, + "description": "0=Model, 1=Particle, 2=Model+Particle" + }, + "citadel_zipline_show_enemy_boosting": { + "value": 1, + "description": "0 = no, 1 = yes, 2 = preview effect" + }, + "citadel_zipline_show_lane_colors_for_spectators": false, + "citadel_zipline_targeting_dot": 0.95, + "citadel_zipline_width": { + "value": 0.7, + "description": "Changes the zipline width" + }, + "citadel_zoomed_in_minimap": { + "value": false, + "description": "Test zoomed in minimap" + }, + "citdael_targeting_aoe_desat_color": { + "value": "[150, 207, 184, 255]", + "description": "The color of the desat area while targeting an AoE." + }, + "citdael_targeting_aoe_outline_color": { + "value": "[150, 207, 184, 255]", + "description": "The color of the outline area while targeting an AoE." + }, + "citdael_targeting_aoe_sat_color": { + "value": "[255, 255, 255, 255]", + "description": "The color of the sat area while targeting an AoE." + }, + "citdael_targeting_range_desat_color": { + "value": "[100, 100, 114, 255]", + "description": "The color of the desat area while targeting with range or cone attack." + }, + "citdael_targeting_range_outline_color": { + "value": "[120, 120, 145, 255]", + "description": "The color of the outline area while targeting with range or cone attack" + }, + "citdael_targeting_range_sat_color": { + "value": "[255, 255, 255, 255]", + "description": "The color of the sat area while targeting with range or cone attack" + }, + "cl_ShowBoneSetupEnts": { + "value": false, + "description": "Show which entities are having their bones setup each frame." + }, + "cl_aggregate_particles": false, + "cl_anglespeedkey": 0.67, + "cl_animgraph_history_force_temporal_consistency": true, + "cl_async_client_shatter": { + "value": true, + "description": "spawn client glass shards asynchronously during demos or when remotely connected." + }, + "cl_async_restore_server_authoritative_state": false, + "cl_async_usercmd_send": true, + "cl_async_usercmd_send_recvmargin_min": { + "value": 1, + "description": "Min size of the recv margin queue when async usercmd send is disabled" + }, + "cl_audio_log_citadel_audio_filter": { + "value": false, + "description": "Logs sound event information for CCitadelAudioFilter." + }, + "cl_audio_log_participant_start_messages": { + "value": false, + "description": "Prints when a participant sound message was sent." + }, + "cl_batch_entity_list_ops_during_latch": { + "value": false, + "description": "Batch entity list adds / removes while latching interpolated variables to avoid mutex contention." + }, + "cl_bone_cache_optimization": true, + "cl_boxmove": { + "value": 0, + "description": "run in a square, # represents how many usercommands to run before turning." + }, + "cl_boxmove_speed": { + "value": 1, + "description": "how fast to run (1 to use player max run speed)." + }, + "cl_buffer_incoming_net_messages": true, + "cl_cache_sendtable": { + "value": true, + "description": "Cache sendtables" + }, + "cl_cameraoverride_fade_in_amount": 0, + "cl_cameraoverride_shadow_depth_bias": 0.006, + "cl_cameraoverride_shadow_end": 0.8, + "cl_change_callback_limit": { + "value": 0.2, + "description": "change callback msec warning limit" + }, + "cl_chat_active": 0, + "cl_citadel_ability_alt_cast_hold_time": 0.15, + "cl_citadel_ability_alt_cast_instant_cast_double_tap_timeout": 0.2, + "cl_citadel_ability_alt_cast_mode": 2, + "cl_citadel_ability_test_fail_all": false, + "cl_citadel_bebop_beam_draw_points": false, + "cl_citadel_cancel_with_ability_key_enabled": false, + "cl_citadel_items_quickcast_mode": 0, + "cl_citadel_player_voting_poster_current_hero_id": { + "value": 0, + "description": "Hero ID to spray" + }, + "cl_citadel_quickcast_ability1": 0, + "cl_citadel_quickcast_ability2": 0, + "cl_citadel_quickcast_ability3": 0, + "cl_citadel_quickcast_ability4": 0, + "cl_citadel_zoom_is_toggle": false, + "cl_clock_buffer_ticks": { + "value": 0, + "description": "Clock sync will try to maintain an additional margin of N ticks. This is intended to smooth over packet loss, and is a replacement for cl_interp_ratio / cl_interp. This value is simply added to cl_clock_recvmargin_desired" + }, + "cl_clock_buffer_ticks_spectator": { + "value": 2, + "description": "Additional margin (in ticks) to apply when spectating." + }, + "cl_clock_correction": { + "value": true, + "description": "Enable/disable clock correction on the client." + }, + "cl_clock_recvmargin_adjust_limit_slowdown": { + "value": 93, + "description": "Clock sync will not slow down time slower than N%" + }, + "cl_clock_recvmargin_adjust_limit_speedup": { + "value": 106, + "description": "Clock sync will not speed up time faster than N%" + }, + "cl_clock_recvmargin_desired": { + "value": 5, + "description": "Clock sync will try to maintain N ms margin between tick arrival and polling network. The effective value is the sum of this and the time implied by cl_clock_buffer_ticks" + }, + "cl_clock_recvmargin_spew_interval": 0, + "cl_clock_recvmargin_timeconstant_slowdown": { + "value": 0.3, + "description": "Clock sync will remove 63.2% of the error in N seconds" + }, + "cl_clock_recvmargin_timeconstant_speedup": { + "value": 0.6, + "description": "Clock sync will remove 63.2% of the error in N seconds" + }, + "cl_clock_recvmargin_window": { + "value": 4, + "description": "Clock sync will use past N seconds" + }, + "cl_clockdbg": false, + "cl_clockdrift_max_ticks": { + "value": 3, + "description": "Maximum number of ticks the clock is allowed to drift before the client snaps its clock to the server's." + }, + "cl_connectionretrytime_p2p": { + "value": 20, + "description": "Number of seconds over which to spread retry attempts for P2P." + }, + "cl_cq_min_queue": { + "value": 0, + "description": "Used by the client to inform the server of their desired queue length. Derived from cl_tickpacket_recvmargin_desired and cl_tickpacket_desired_queuelength" + }, + "cl_demo_steadycam_blendframes": { + "value": 5, + "description": "blend over this many frames" + }, + "cl_demo_steadycam_deflection": { + "value": 5, + "description": "if camera orientation changes this much update orientation" + }, + "cl_demo_steadycam_enable": { + "value": 0, + "description": "Stabilize camera orientation/position during demo playback. 1 == remove roll, 2 == steadycam" + }, + "cl_demo_steadycam_radius": { + "value": 16, + "description": "if camera moves this much from last anchor update anchor" + }, + "cl_demo_view_offset_left": { + "value": 0, + "description": "View offset during demo playback (+/- 1.25 is a good default for human average left/right eye offset)" + }, + "cl_demoviewoverride": { + "value": 0, + "description": "Override view during demo playback" + }, + "cl_disable_ragdolls": false, + "cl_disconnect_soundevent": { + "value": "core.stop_all_soundevents", + "description": "This soundevent is called to stop the desired soundevents when the game is disconnected." + }, + "cl_disconnect_voice_fade": { + "value": 2, + "description": "This is a fade of current voices that is called when the game is disconnected. -1.f for no fade on disconnect" + }, + "cl_display_game_events": false, + "cl_dormant_spew": { + "value": false, + "description": "Spew state on when client entities become dormant or active." + }, + "cl_draw_simulating_entities": false, + "cl_draw_simulating_entities_distance": false, + "cl_drawhud": { + "value": true, + "description": "Enable the rendering of the hud" + }, + "cl_enable_eye_occlusion": true, + "cl_ent_joint_axis_size": 4, + "cl_ent_joint_lines": { + "value": true, + "description": "Draw a line between a rendered joint and its parent." + }, + "cl_ent_joint_names": { + "value": true, + "description": "Draw the name of a rendered joint." + }, + "cl_ent_joint_only_ik_joints": false, + "cl_ent_joint_use_bind_pose": false, + "cl_ent_pivot_size": 20, + "cl_ent_show_contexts": { + "value": false, + "description": "Show entity contexts in ent_text display" + }, + "cl_ent_showonlyhitbox": -1, + "cl_ent_skeleton_only_ik_joints": false, + "cl_ent_text_flags_active": -1, + "cl_ent_text_no_name_really_i_mean_it": false, + "cl_error_report_time": { + "value": 0, + "description": "Minimum time in seconds that must elapse before printing prediction error summary. 0 to disable." + }, + "cl_extrapolate": { + "value": true, + "description": "Enable/disable extrapolation if interpolation history runs out." + }, + "cl_extrapolate_amount": { + "value": 0.25, + "description": "Set how many seconds the client will extrapolate entities for." + }, + "cl_eye_sin_wave": false, + "cl_eye_target_override": "[0, 0, 0]", + "cl_eye_yaw_multiplier": 1, + "cl_fasttempentcollision": 5, + "cl_flushentitypacket": { + "value": 0, + "description": "For debugging. Force the engine to flush an entity packet." + }, + "cl_force_next_signon_to_reset": false, + "cl_frametime_summary_report_detailed": { + "value": true, + "description": "When a perf report is dumped at the end of the session, should it be detailed?" + }, + "cl_generate_postdataupdatepreserved": { + "value": true, + "description": "Do we invoke PostDataUpdatePreserved callbacks for entities that had no changes but are still in the PVS?" + }, + "cl_globallight_depth_bias": -999, + "cl_globallight_expansion": 200, + "cl_globallight_freeze": false, + "cl_globallight_orig_calc_frustum": true, + "cl_globallight_shadow_mode": 2, + "cl_globallight_slope_scale_depth_bias": -999, + "cl_globallight_use_alt_focus_region": false, + "cl_globallight_use_optimized_calc_frustum": true, + "cl_globallight_use_shaadow_near_offset": true, + "cl_globallight_world_bottom_height": 0, + "cl_globallight_world_top_height": 4096, + "cl_glow_brightness": { + "value": 1, + "description": "Brightness of player halos" + }, + "cl_glow_item_far_b": 1, + "cl_glow_item_far_g": 0.4, + "cl_glow_item_far_r": 0.3, + "cl_graphics_driver_warning_ignore_timestamp": 0, + "cl_hold_game_events_force_delay_ticks": { + "value": 0, + "description": "Debugging convar to force late dispatch of game events." + }, + "cl_hold_game_events_until_server_tick": { + "value": true, + "description": "Holds game events until client has received the tick the event was fired on." + }, + "cl_hud_telemetry_frametime_poor": { + "value": 100, + "description": "Frame time greater than this is considered 'poor'." + }, + "cl_hud_telemetry_frametime_show": { + "value": 1, + "description": "Show frame time (FPS) in the HUD. 0=never, 1=only if poor, 2=always" + }, + "cl_hud_telemetry_net_detailed": { + "value": 0, + "description": "Show breakdown network misdelivery (loss, late delivery, and peak jitter). 0=never, 1=only in poor network conditions, 2=always" + }, + "cl_hud_telemetry_net_misdelivery_poor": { + "value": 5, + "description": "Packet delivery anomaly rate (0..100) higher than this is considered 'poor'." + }, + "cl_hud_telemetry_net_misdelivery_show": { + "value": 1, + "description": "Show percentage of user commands & server snapshots that are missed due to network conditions. 0=never, 1=only in poor conditions, 2=always" + }, + "cl_hud_telemetry_net_quality_graph_show": { + "value": 0, + "description": "Show packet jitter and netframe loss/reordering in the HUD. 0=never, 1=only in poor conditions, 2=always" + }, + "cl_hud_telemetry_ping_poor": { + "value": 100, + "description": "Ping higher than this (ms) is considered 'poor'." + }, + "cl_hud_telemetry_ping_show": { + "value": 1, + "description": "Show ping in the HUD. 0=never, 1=only in poor conditions, 2=always" + }, + "cl_hud_telemetry_serverrecvmargin_graph_show": { + "value": 0, + "description": "Show graph of the server recv margin in the HUD. (How early/late user commands are arriving at the server before they are executed.) 0=never, 1=only when there are command queue problems, 2=always" + }, + "cl_ignorepackets": { + "value": false, + "description": "Force client to ignore packets (for debugging)." + }, + "cl_impacteffects": true, + "cl_interp_ag2_for_non_ag2_entities": true, + "cl_interp_all": { + "value": false, + "description": "Disable interpolation list optimizations." + }, + "cl_interp_animationvars": { + "value": true, + "description": "Interpolate LATCH_ANIMATION_BIT vars if interpolation interval is greater than simulation interval" + }, + "cl_interp_hermite": { + "value": true, + "description": "Set to zero do disable hermite interpolation." + }, + "cl_interp_npcs": { + "value": 0, + "description": "Interpolate NPC positions starting this many seconds in past (or the value as per cl_interp_ratio, if greater)" + }, + "cl_interp_parallel": { + "value": false, + "description": "Run interpolation in parallel for entities with no children." + }, + "cl_interp_ratio": { + "value": 2, + "description": "Sets the client simulation interpolation amount, in terms of server updates (final amount is cl_interp_ratio / cl_updaterate)." + }, + "cl_interp_simulationvars": { + "value": true, + "description": "Interpolate LATCH_SIMULATION_BIT vars if interpolation interval is greater than animation interval" + }, + "cl_interp_threadmodeticks": { + "value": 0, + "description": "Additional interpolation ticks to use when interpolating with threaded engine mode set." + }, + "cl_interpolate": { + "value": true, + "description": "Interpolate entities on the client." + }, + "cl_interpolate_report": { + "value": false, + "description": "Enable to show interpolation profile timing" + }, + "cl_jitter_bad_threshold_up": { + "value": 20, + "description": "When upstream packet jitter in a frame exceeds this threshold (ms), the frame is considered to have 'irregular delivery'. This is a derived value and should not be modified manually" + }, + "cl_lagcompensation": { + "value": true, + "description": "Perform server side lag compensation of weapon firing events." + }, + "cl_language": { + "value": "english", + "description": "Language" + }, + "cl_latch_report": { + "value": false, + "description": "Enable to output stats about latching" + }, + "cl_leveloverview": 0, + "cl_lock_camera": false, + "cl_log_tick": { + "value": false, + "description": "Log when a tick is received" + }, + "cl_log_tick_skips": { + "value": 0, + "description": "Log when the tick delta >= this" + }, + "cl_massreport": false, + "cl_meep_mop_volume_trigger_max_count": { + "value": 10, + "description": "Number of triggers before meemop reaches full volume" + }, + "cl_modifier_parallel_gather_status_effect_updates": false, + "cl_net_showeventlisteners": { + "value": false, + "description": "Show listening addition/removals" + }, + "cl_net_showevents": { + "value": 0, + "description": "Dump game events to console (1=client only, 2=all)." + }, + "cl_network_quality2": -1, + "cl_panel_freeze_time_after_press": { + "value": 0.5, + "description": "time to freeze mouse/pointer motion after a mouse button press" + }, + "cl_parallel_readpacketentities": { + "value": true, + "description": "Set to 1 to use threading snapshot reading (if game supports and server is sending bitcounts)." + }, + "cl_parallel_readpacketentities_threshold": { + "value": 2, + "description": "Use parallel processing of snapshot reading if above this many entries." + }, + "cl_particle_batch_mode": 0, + "cl_particle_fallback_base": 0, + "cl_particle_fallback_multiplier": 0, + "cl_particle_max_count": 0, + "cl_particle_retire_cost": 0, + "cl_particle_sim_fallback_base_multiplier": 0, + "cl_particle_sim_fallback_threshold_ms": 0, + "cl_particle_simulate": false, + "cl_pdump": { + "value": -1, + "description": "Dump info about this entity to screen." + }, + "cl_phys_animated_hierarchy": true, + "cl_phys_assume_fixed_tick_interval": { + "value": true, + "description": "If true, we assume the client uses a fixed tickrate like the server (which may not always be true). If false, we recalculate the number of physics substeps in each client tick based on the actual elapsed time in the tick." + }, + "cl_phys_block_dist": 1, + "cl_phys_block_fraction": 0.1, + "cl_phys_enabled": { + "value": true, + "description": "Enable all physics simulation" + }, + "cl_phys_networked_start_sleep": false, + "cl_phys_sleep_enable": { + "value": true, + "description": "Enable sleeping for dynamic physics bodies." + }, + "cl_phys_sound_disable_impact_sounds_under_hard_threshold": { + "value": false, + "description": "if true, impact sounds wont play if no soft impact sound is present and the impact is below the hard velocity threshold." + }, + "cl_phys_timescale": { + "value": 1, + "description": "Scale time for physics" + }, + "cl_phys_visualize_awake": false, + "cl_pitchdown": 89, + "cl_pitchspeed": 225, + "cl_pitchup": 89, + "cl_playback_screenshots": { + "value": false, + "description": "Allows the client to playback screenshot and jpeg commands in demos." + }, + "cl_poll_network_early": { + "value": true, + "description": "Enable polling for network messages every frame, instead of every tick" + }, + "cl_pred_always_latch": false, + "cl_pred_build_verbose": { + "value": false, + "description": "Verbose spew when building prediction optimized data runs." + }, + "cl_pred_optimize": { + "value": true, + "description": "Optimize for not repredicting if there were no errors" + }, + "cl_pred_parallel_postnetwork": true, + "cl_pred_print_every_cmd": { + "value": false, + "description": "Print something every time we predict a command" + }, + "cl_predict": { + "value": true, + "description": "Perform client side prediction." + }, + "cl_prediction_savedata_postentitypacketreceived": { + "value": false, + "description": "Experimental optimization. If you are reading this in 2026, please delete this convar." + }, + "cl_predictioncopy_runs": true, + "cl_ragdoll_default_scale": 1, + "cl_ragdoll_limit": { + "value": 20, + "description": "Maximum number of ragdolls to show (-1 disables limit)" + }, + "cl_ragdoll_reload": false, + "cl_resend": { + "value": 0.5, + "description": "Delay in seconds before the client will resend the 'connect' attempt" + }, + "cl_retire_low_priority_lights": { + "value": false, + "description": "Low priority dlights are replaced by high priority ones" + }, + "cl_screenmessage_notifytime": { + "value": 8, + "description": "How long to display screen message text" + }, + "cl_sendtable_cache_filename": { + "value": "sendtables.bin", + "description": "Send tables cache file" + }, + "cl_show_splashes": true, + "cl_showdemooverlay": { + "value": 0, + "description": "How often to flash demo recording/playback overlay (0 - disable overlay, -1 - show always)" + }, + "cl_showerror": { + "value": 0, + "description": "Show prediction errors, 2 for above plus detailed field deltas, 3 to filter out serverside known prediction errors, -entindex for specific entity." + }, + "cl_showfps": { + "value": 0, + "description": "Draw fps meter at top of screen (1 = fps, 2 = smooth fps, 3 = server MS, 4 = Show FPS and Log to file )" + }, + "cl_showframenumber": { + "value": false, + "description": "Show current framenumber" + }, + "cl_showlagcompensation": { + "value": 0, + "description": "Draw hitboxes of entities we are shooting at to compare against lag compensated server entities" + }, + "cl_showmem": { + "value": 0, + "description": "Draw approximate memory use at top of screen" + }, + "cl_showpos": { + "value": 0, + "description": "Draw current position at top of screen" + }, + "cl_showtextmsg": { + "value": true, + "description": "Enable/disable text messages printing on the screen." + }, + "cl_showtick": { + "value": 0, + "description": "Show current tick/time values. Bitmask: 1='render time' 2='GameTime' 4=time of predicted entities 8=offset of predicted entities (-1 means 'everything')" + }, + "cl_showusercmd": { + "value": false, + "description": "Show user command encoding" + }, + "cl_simulate_dormant_entities": true, + "cl_skel_constraints_enable": true, + "cl_skeleton_instance_smear_boneflags": { + "value": false, + "description": "Smear boneflags across the model. Costs computation, but tests to make sure your bone flags are consistent." + }, + "cl_skip_hierarchy_update_for_unchanged_entities": { + "value": true, + "description": "Skip updating hierarchy information in PostDataUpdate for entities that have not changed" + }, + "cl_skip_update_animations": { + "value": false, + "description": "Enable to skip game animations" + }, + "cl_smooth": { + "value": true, + "description": "Smooth view/eye origin after prediction errors" + }, + "cl_smooth_root_catchup_factor": 0.21, + "cl_smooth_root_max_accel": 1000, + "cl_smooth_root_origin_coeff": 100, + "cl_smooth_root_timehorizon": 0.125, + "cl_smooth_root_velocity_coeff": 20, + "cl_smooth_targetspeed": 150, + "cl_smoothtime": { + "value": 0.2, + "description": "Smooth client's view after prediction error over this many seconds" + }, + "cl_snd_cast_clear": true, + "cl_snd_cast_retrigger": true, + "cl_snd_new_visualize": { + "value": false, + "description": "Displays soundevent name played at it's 3d position" + }, + "cl_spawngroup_log": { + "value": false, + "description": "Dump the contents of the next spawngroup manifest to file." + }, + "cl_spawngroup_spewresources": { + "value": false, + "description": "Spew all manifest add/updates." + }, + "cl_tickpacket_desired_queuelength": { + "value": 0, + "description": "This value, multiplied by the tick interval, is added to cl_tickpacket_recvmargin_desired to obtain the effective desired recv margin." + }, + "cl_tickpacket_recvmargin_adjust_limit": { + "value": 5, + "description": "Recvmargin-based usercommand pacing will not speed up or slow down command pacing by more than N% compared to realtime" + }, + "cl_tickpacket_recvmargin_desired": { + "value": 5, + "description": "Recvmargin-based usercommand pacing will try to maintain N ms margin between user command arriving at the server and the server needing that user command. See also cl_tickpacket_desired_queuelength." + }, + "cl_tickpacket_recvmargin_minsamples": { + "value": 10, + "description": "Recvmargin-based usercommand pacing will not take action unless we have N samples" + }, + "cl_tickpacket_recvmargin_spew_interval": 0, + "cl_tickpacket_recvmargin_timeconstant": { + "value": 0.4, + "description": "Recvmargin-based usercommand pacing will remove 63.2% of the error in N seconds" + }, + "cl_tickpacket_recvmargin_window": { + "value": 4, + "description": "Recvmargin-based usercommand pacing will use past N seconds" + }, + "cl_ticks_net_print_threshold": { + "value": 2, + "description": "Print a message if network issues cause problems with server snapshots of user commands not being available when needed, if the percentage (0...100) exceeds this value. A value of 0 will cause the message to always print each time it is calculated" + }, + "cl_ticks_warning_level": { + "value": 0, + "description": "Print a message about problems with ticks and interpolation. 0=never, 1=warnings, 2=all, even if hidden by interpolation" + }, + "cl_timeout": { + "value": 30, + "description": "After this many seconds without receiving a packet from the server, the client will disconnect itself" + }, + "cl_tracer_whiz_distance": 72, + "cl_tracer_whiz_infront_distance": 32, + "cl_trueview_show_status": { + "value": 2, + "description": "0=Never; 1=Only if there is a problem; 2=always" + }, + "cl_updaterate": { + "value": 20, + "description": "Number of packets per second of updates you are requesting from the server" + }, + "cl_usercmd_dbg": { + "value": 0, + "description": "show usercmd payload sizing info for packets with more than this many usercmds" + }, + "cl_usercmd_max_per_movemsg": { + "value": 4, + "description": "max number of CUserCmds to send in one client move message" + }, + "cl_usercmd_showsize": false, + "cl_usesocketsforloopback": { + "value": false, + "description": "When connecting to local listen server (for example, using the 'map' command), default to loopback=false, which connects to '127.0.0.1' instead of 'loopback'. This uses the network stack so that fake lag/loss can be simulated." + }, + "cl_viewtarget_clamp": true, + "cl_voice_transmit_lobby": false, + "cl_voiceenabled": true, + "cl_vsnd_morph_override_ease_enabled": { + "value": true, + "description": "Controls whether the compiled in vsnd morph data ease in/out values are used or values set from the convars (cl_vsnd_morph_override_ease_in, cl_vsnd_morph_override_ease_out) are used" + }, + "cl_vsnd_morph_override_ease_in": { + "value": 0.2, + "description": "If cl_enable_vsnd_morph_override_ease_enabled is true, ease into vsnd morph driven animation over the specified number of seconds." + }, + "cl_vsnd_morph_override_ease_out": { + "value": 0.2, + "description": "If cl_enable_vsnd_morph_override_ease_enabled is true, ease out of vsnd morph driven animation over the specified number of seconds." + }, + "cl_yawspeed": 210, + "client_metrics_upload_batch_seconds": 300, + "clientport": { + "value": 0, + "description": "If non-zero, client binds port to specific address. Usually you should leave this blank to use a different random system-assigned port for each connection." + }, + "closecaption": { + "value": false, + "description": "Enable close captioning." + }, + "cloth_filter_transform_stateless": { + "value": false, + "description": "Enable the new, stateless version of FilterTransform" + }, + "cloth_ground_plane_thickness": { + "value": 3, + "description": "Raise ground by this much for all cloth that traces the ground; should be 0 ideally" + }, + "cloth_iv_dump": 4, + "cloth_iv_store_back": false, + "cloth_sim_on_tick": true, + "cloth_update": true, + "cojob_lock_hold_warning_threshold_ms": { + "value": 10000, + "description": "How long in milliseconds before we warn about lock hold duration" + }, + "cojob_max_no_yield_time_us": { + "value": 3000, + "description": "Will spew if a job takes longer than the specified number of microseconds" + }, + "collect_asserts_for_gc": { + "value": true, + "description": "Whether or not asserts should be collected for sending to the GC" + }, + "commentary": { + "value": false, + "description": "Desired commentary mode state." + }, + "commentary_available": { + "value": false, + "description": "Automatically set by the game when a commentary file is available for the current map." + }, + "commentary_node_use_viewfacing": false, + "con_enable": { + "value": false, + "description": "Allows the console to be activated." + }, + "convars_echo_toggle_changes": { + "value": true, + "description": "Echo to the console changes caused by toggling." + }, + "cpu_level": { + "value": 2, + "description": "CPU Level - Default: High" + }, + "cq_buffer_bloat_msecs_max": { + "value": 150, + "description": "Server will not allow the client to buffer up more than N ms of commands." + }, + "cq_dilation_percentage": { + "value": 5, + "description": "When speeding up slowing down, this is how much" + }, + "cq_enable": { + "value": true, + "description": "Run one usercmd per server tick and maintain a buffer. Client speeds up/slows down it's usercmd tick rate to maintain server command queue buffering." + }, + "cq_fake_starve": { + "value": 0, + "description": "if set, starve this many commands by discarding during process usercmds." + }, + "cq_logging": { + "value": false, + "description": "command queue logging of events." + }, + "cq_logging_interval": { + "value": 0, + "description": "command queue logging per player stats every N seconds, 0 to disable." + }, + "cq_max_starved_substitute_commands": { + "value": 4, + "description": "Server will stop generating substitute commands if client hasn't sent one, after N in a row" + }, + "cq_print_every_command": { + "value": false, + "description": "print every command as we execute it" + }, + "cq_runtests": false, + "cq_runtests_broadcast_info": { + "value": false, + "description": "send message to remote client console when tests change." + }, + "cq_runtests_interval": 30, + "crosshair_spread_scale": 3.6, + "csm_bias_override_0": 1, + "csm_bias_override_1": 1, + "csm_bias_override_2": 1, + "csm_bias_override_3": 1, + "csm_cascade0_override_dist": -1, + "csm_cascade1_override_dist": -1, + "csm_cascade2_override_dist": -1, + "csm_cascade3_override_dist": -1, + "csm_cascade_viewdir_shadow_bias_scale": 2, + "csm_max_dist_between_caster_and_receiver": { + "value": 15000, + "description": "default pushback" + }, + "csm_max_num_cascades_override": { + "value": -1, + "description": "Number of cascades in sunlight shadow" + }, + "csm_max_shadow_dist_override": -1, + "csm_max_visible_dist": 7500, + "csm_res_override_0": 0, + "csm_res_override_1": 0, + "csm_res_override_2": 0, + "csm_res_override_3": 0, + "csm_shadow_worldview_align_x_to_u": false, + "csm_shadow_worldview_shear_align_z_to_v": false, + "csm_split_log_scalar": 0.85, + "csm_sst_max_visible_dist": 2000, + "csm_sst_pushback_distance": { + "value": 1500, + "description": "default pushback" + }, + "csm_sst_shadow_focus_region_maxz": 2000, + "csm_sst_shadow_focus_region_minz": -2000, + "csm_viewdir_shadow_bias": 0, + "csm_viewmodel_farz": 30, + "csm_viewmodel_max_shadow_dist": 21, + "csm_viewmodel_max_visible_dist": 1000, + "csm_viewmodel_nearz": 0.5, + "csm_viewmodel_shadows": false, + "cv_collect_assert_stack_for_gc": { + "value": false, + "description": "When enabled and collecting asserts for the GC, this will generate stacks for the asserts" + }, + "d3d_max_feature_level": { + "value": "", + "description": "Report the maximum D3D feature level available." + }, + "damage_indicator_safe_area": 6, + "deadlock_chat_mode": { + "value": 2, + "description": "Default communication preference for players" + }, + "deadlock_disable_post_match_survey": { + "value": false, + "description": "Disable the early post match survey" + }, + "deadlock_early_development_warning_disabled": { + "value": false, + "description": "Disable the early dev build message" + }, + "deadlock_mm_preference": { + "value": 1, + "description": "What style of player do we want to try and match with in matchmaking" + }, + "deadlock_steam_input_on_disc_manifest": { + "value": false, + "description": "Use local cfg\\steam_input_manifest.vdf as opposed to cloud manifest" + }, + "decalfrequency": 10, + "default_fov": 70, + "demo_allow_game_mismatch": { + "value": false, + "description": "Allow playback of demo even if game directories are not matched [may crash or fail to load]." + }, + "demo_flush": { + "value": false, + "description": "Flush writing the demo file every network update" + }, + "demo_max_consecutive_skip_packets": { + "value": 100, + "description": "Don't skip more than N messages in a row when skipping in a demo file." + }, + "demo_playback_override_settings": false, + "demo_quitafterplayback": { + "value": false, + "description": "Quits game after demo playback." + }, + "demo_recordcommands": { + "value": true, + "description": "Record commands typed at console into .dem files." + }, + "demo_usefastgoto": { + "value": true, + "description": "Use fast frame skipping when available for demo_goto commands." + }, + "demo_writefullupdate_rate": { + "value": 60, + "description": "Interval time in seconds to write full updates to demo." + }, + "destructible_parts_destroy_parts_when_gibbing": true, + "dev_create_sensitivity_report": 0, + "developer": { + "value": 0, + "description": "Set developer message level." + }, + "diffcheck": { + "value": true, + "description": "Activate diffcheck system." + }, + "diffcheck_playerslot": 0, + "diffcheck_spew": { + "value": true, + "description": "Actually show diffcheck results." + }, + "diffcheck_spew_diff_only": { + "value": false, + "description": "Show diff only." + }, + "disable_dynamic_prop_loading": { + "value": false, + "description": "If non-zero when a map loads, dynamic props won't be loaded" + }, + "disable_source_soundscape_trace": { + "value": false, + "description": "Bypasses lookup of soundscapes for indvidual audio sources when enabled." + }, + "display_game_events": false, + "dota_enable_spatial_audio": { + "value": false, + "description": "Flag to enable spatial audio in Dota 2." + }, + "dota_spatial_audio_mix": { + "value": 1, + "description": "Mix value to blend spatial and non-spatial audio in Dota 2." + }, + "draw_footstep_occlusion": { + "value": false, + "description": "draws footstep/foley events that are heard or not heard" + }, + "dsp_automatic": 0, + "dsp_db_min": 80, + "dsp_db_mixdrop": 0.5, + "dsp_dist_max": 1440, + "dsp_dist_min": 0, + "dsp_mix_max": 0.8, + "dsp_mix_min": 0.2, + "dsp_off": false, + "dsp_vol_2ch": 1, + "dsp_vol_4ch": 0.5, + "dsp_vol_5ch": 0.5, + "dsp_volume": 0.8, + "dump_audio_input": false, + "enable_boneflex": true, + "engine_accurate_input_processing_delta_time": { + "value": false, + "description": "When true, elapsed time given to the input processing will be the time elapsed since the last input processing. This is only relevant when input is processed multiple times per frame ( i.e. multiple ticks per frame)" + }, + "engine_allow_multiple_simulates_per_frame": { + "value": false, + "description": "When the client is catching up in low frame rate situations, should we run client simulate more than once a frame?" + }, + "engine_allow_multiple_ticks_per_frame": { + "value": true, + "description": "When the client is catching up in low frame rate situations, should we run tick more than once a frame?" + }, + "engine_client_tick_pad_enable": false, + "engine_frametime_warnings_enable": { + "value": true, + "description": "Enable framerate-related warnings, such as sv_long_frame_ms. Disabling warnings is useful when running in situations such a debug where a slow frame rate is expected" + }, + "engine_low_latency_sleep_after_client_tick": { + "value": false, + "description": "When r_low_latency is enabled, this moves the low latency sleep on tick frames to happen after client simulation." + }, + "engine_max_resource_system_update_time": 5, + "engine_max_ticks_to_simulate": { + "value": -1, + "description": "Max number of ticks to simulate per frame, after which simulation will start to slow down compared to real time." + }, + "engine_no_focus_sleep": 20, + "engine_no_focus_sleep_vconsole_suppress": { + "value": true, + "description": "When VConsole is in the foreground, don't trigger engine_no_focus_sleep behavior" + }, + "engine_relaunch_app_before_exiting": { + "value": false, + "description": "Use this to tell Steam to relaunch the app right after existing" + }, + "engine_render_only": false, + "engine_rendersystem_meets_min_dx_110": { + "value": "Unknown", + "description": "Rendersystem meets min DX110 feature level (changing this does not change the shader model)." + }, + "engine_rendersystem_meets_min_dx_110_simple": { + "value": "Unknown", + "description": "Rendersystem meets min DX110 feature level (changing this does not change the shader model)." + }, + "engine_rendersystem_shader_model": { + "value": 0, + "description": "Rendersystem shader model in use (changing this does not change the shader model)." + }, + "engine_show_frame_dispatch": { + "value": false, + "description": "show frame dispatch names." + }, + "engine_show_frame_pacing": false, + "engine_show_frame_ticks": false, + "engine_sse42": { + "value": true, + "description": "turn on sse4.2 optimizations in the engine" + }, + "engine_update_resource_system_during_low_latency_sleep": true, + "english": { + "value": true, + "description": "If set to 1, running the english language set of assets." + }, + "ent_actornames_font": { + "value": "Consolas", + "description": "ent_actornames font name" + }, + "ent_actornames_fontsize": { + "value": 24, + "description": "ent_actornames font size" + }, + "ent_bitvec_enable": true, + "ent_joint_axis_size": 4, + "ent_joint_lines": { + "value": true, + "description": "Draw a line between a rendered joint and its parent." + }, + "ent_joint_names": { + "value": true, + "description": "Draw the name of a rendered joint." + }, + "ent_joint_only_ik_joints": false, + "ent_joint_use_bind_pose": false, + "ent_messages_draw": { + "value": false, + "description": "Visualizes all entity input/output activity." + }, + "ent_pivot_size": 20, + "ent_revert_dormancy_change": false, + "ent_show_contexts": { + "value": false, + "description": "Show entity contexts in ent_text display" + }, + "ent_skeleton_duration": { + "value": 0, + "description": "Duration of ent_skeleton display" + }, + "ent_skeleton_only_ik_joints": false, + "ent_skeleton_snapshot": false, + "ent_steadystate_batchsize": { + "value": 20, + "description": "Max number of entities to transmit to player" + }, + "ent_steadystate_delay": { + "value": 5, + "description": "Time in seconds without network state changes until an entity is considered for trickle updates" + }, + "ent_steadystate_enable": false, + "ent_steadystate_interval": { + "value": 0.1, + "description": "Rate at which entities can be trickled to players" + }, + "ent_test_interpolation": false, + "ent_text_flags_active": -1, + "ent_text_no_name_really_i_mean_it": false, + "entity_log_load_unserialize": { + "value": 0, + "description": "Output unserialization of entities on map load. 0 - off, 1 - client/server, 2 - server, 3 - client" + }, + "experimental_citadel_tick_rate_override": 0, + "fathom_force_spotted": -1, + "filesystem_buffer_size": { + "value": 0, + "description": "Size of per file buffers. 0 for none" + }, + "filesystem_fake_latency": 0, + "filesystem_max_stdio_read": 16, + "filesystem_native": { + "value": true, + "description": "Use native FS or STDIO" + }, + "filesystem_report_buffered_io": false, + "filesystem_unbuffered_io": true, + "filter_player_simulation_time": true, + "fire_use_modifier": false, + "fish_dormant": { + "value": false, + "description": "Turns off interactive fish behavior. Fish become immobile and unresponsive." + }, + "fog_color": "[-1, -1, -1]", + "fog_colorskybox": "[-1, -1, -1]", + "fog_enable": { + "value": true, + "description": "Enable fog" + }, + "fog_enableskybox": true, + "fog_end": -1, + "fog_endskybox": -1, + "fog_hdrcolorscale": -1, + "fog_hdrcolorscaleskybox": -1, + "fog_maxdensity": -1, + "fog_maxdensityskybox": -1, + "fog_override": { + "value": 0, + "description": "Overrides the map's fog settings (-1 populates fog_ vars with map's values)" + }, + "fog_override_enable": { + "value": false, + "description": "Use fog_override convars instead of world fog data" + }, + "fog_override_end": 3500, + "fog_override_exponent": 2, + "fog_override_max_density": 0.4, + "fog_override_start": 1000, + "fog_start": -1, + "fog_startskybox": -1, + "font_show_glyph_miss": false, + "footstep_force_volume": -1, + "fov_desired": { + "value": 75, + "description": "Sets the base field-of-view." + }, + "fps_max": { + "value": 120, + "description": "Frame rate limiter. 0=no limit. Does not apply to dedicated server." + }, + "fps_max_tools": { + "value": 120, + "description": "Additional frame rate limit while in tools mode and a window other than the game window has focus. Note that fps_max still applies, this only allows the maximum frame rate for tools mode to be lower. 0=no tools specific limit." + }, + "fps_max_ui": { + "value": 0, + "description": "Frame rate limiter while the game UI is displayed. 0=no limit. Does not apply to dedicated server." + }, + "freecamera_accel": { + "value": 5, + "description": "Tweak this parameter to adjust Free Camera movement acceleration." + }, + "freecamera_fog_end": { + "value": 2500, + "description": "Fog end for Free Camera." + }, + "freecamera_fog_start": { + "value": 1800, + "description": "Fog start for Free Camera." + }, + "freecamera_max_speed": { + "value": 500, + "description": "Tweak this parameter to adjust Free Camera movement max speed." + }, + "freecamera_rotation_multiplier": { + "value": 10, + "description": "Tweak this parameter to adjust Free Camera mouse rotation." + }, + "freecamera_zfar": { + "value": 4500, + "description": "Fog start for Free Camera." + }, + "friend_menu_group_party_members": { + "value": true, + "description": "Controls whether or not the friend list has grouping for party members or not" + }, + "fs_async_threads": { + "value": -1, + "description": "Number of IO threads in async filesystem (-1 == auto)" + }, + "fs_fake_read_delay_ms": { + "value": 0, + "description": "Add N ms of delay to every low-level read operation, to simulate a slow disk" + }, + "fs_report_async_io": false, + "fs_report_long_reads": { + "value": 0, + "description": "0:Off, 1:All (for tracking accumulated duplicate read times), >1:Microsecond threashold" + }, + "fs_report_sync_opens": { + "value": 0, + "description": "0:Off, 1:Always, 2:Not during load" + }, + "fs_warning_mode": { + "value": 0, + "description": "0:Off, 1:Warn main thread, 2:Warn other threads" + }, + "func_break_max_pieces": 15, + "func_break_reduction_factor": 0.5, + "func_breakdmg_bullet": 0.5, + "func_breakdmg_club": 1.5, + "func_breakdmg_explosive": 1.25, + "func_mover_async_movable_navmesh_updates": true, + "func_mover_get_speed_override": 0, + "func_mover_imgui_log_count": 30, + "fx_drawmetalspark": { + "value": true, + "description": "Draw metal spark effects." + }, + "g_ragdoll_fadespeed": 600, + "g_ragdoll_important_maxcount": 2, + "g_ragdoll_lvfadespeed": 100, + "g_ragdoll_maxcount": 5, + "game_particle_manager_requeue_messages": true, + "gameevents_showeventlisteners": { + "value": false, + "description": "Show listening addition/removals" + }, + "gameevents_showevents": { + "value": 0, + "description": "Dump game events to console. (1 = Show Signaling, 2 = Show Posting also)." + }, + "gameinstructor_enable": { + "value": true, + "description": "Display in game lessons that teach new players." + }, + "gameinstructor_find_errors": { + "value": false, + "description": "Set to 1 and the game instructor will run EVERY scripted command to uncover errors." + }, + "gameinstructor_start_sound_cooldown": { + "value": 4, + "description": "Number of seconds forced between similar lesson start sounds." + }, + "gameinstructor_verbose": { + "value": 0, + "description": "Set to 1 for standard debugging or 2 (in combo with gameinstructor_verbose_lesson) to show update actions." + }, + "gl_clear": true, + "glow_use_tolerance": 0.85, + "gpu_level": { + "value": 3, + "description": "GPU Level - Default: High" + }, + "gpu_mem_level": { + "value": 2, + "description": "Memory Level - Default: High" + }, + "hairsim_force_fixed_timestep": true, + "hairsim_reset": false, + "hero_data_inspect": { + "value": false, + "description": "Citadel/Hero Stats" + }, + "hide_party_code": { + "value": false, + "description": "When set, this will hide the party code in the client" + }, + "hideout_single_player": { + "value": false, + "description": "Allows creating a hideout for a party even if a single player (dev only)" + }, + "host_force_frametime_to_equal_tick_interval": false, + "host_force_max_frametime_to_tick_interval": false, + "host_framerate": { + "value": 0, + "description": "Set to lock per-frame time elapse." + }, + "host_readconfig_ignore_userconfig": { + "value": false, + "description": "Whether we should ignore the user config file for reading/writing." + }, + "host_timescale": { + "value": 1, + "description": "Prescale the clock by this amount." + }, + "hostfile": { + "value": "host.txt", + "description": "The HOST file to load." + }, + "hostname_in_client_status": { + "value": false, + "description": "Show server hostname in client status." + }, + "hostport": { + "value": 27015, + "description": "Host game server port" + }, + "hud_damagemeter": false, + "hud_damagemeter_ooctimer": { + "value": 3, + "description": "How many seconds after the last damage event before we consider the player out of combat." + }, + "hud_damagemeter_report": { + "value": true, + "description": "Display end-of-combat DPS result (from first damage even to last before OOC timer hit)." + }, + "hud_fastswitch": 0, + "hud_free_cursor": { + "value": -1, + "description": "If -1 use the hud default, otherwise 0 is disabled, 1 is enabled" + }, + "hud_mouselook_always": false, + "hullivr_edge_merge_tan": { + "value": 0.02, + "description": "Should we try to straighten two faces connected to this edge? (tangent)" + }, + "hullivr_faceisland_merge_disp": { + "value": 0, + "description": "Should we straighten face island if the displacement is this much? (inches)" + }, + "hullivr_faceisland_merge_tan": { + "value": 0.04, + "description": "Should we try to straighten an island of faces deviating from their average normal (tangent)?" + }, + "hullivr_version": 3, + "ik_constraints_enabled": true, + "ik_enable": { + "value": true, + "description": "Enable IK." + }, + "ik_fabrik_align_chain": true, + "ik_fabrik_backwards_enabled": true, + "ik_fabrik_forwards_enabled": true, + "ik_fabrik_override_num_iterations": -1, + "ik_final_fixup_enable": true, + "ik_planetilt_enable": true, + "imgui_default_font_size": { + "value": 20, + "description": "Default imgui font size" + }, + "imgui_domain": { + "value": 2, + "description": "1 == client, 2 == server" + }, + "imgui_enable": { + "value": false, + "description": "if imgui should display" + }, + "imgui_enable_input": { + "value": false, + "description": "if imgui should consume input" + }, + "imgui_ent_text_enable": { + "value": true, + "description": "Show Entity Text in Window" + }, + "imgui_show_citadel_movement": { + "value": false, + "description": "Citadel/Player/Movement" + }, + "imgui_temp_enable": { + "value": false, + "description": "if imgui should display temporarily" + }, + "in_button_double_press_window": { + "value": 0.22, + "description": "How short the time between presses needs to be for us to consider it a double-press" + }, + "in_spewbuttondelta": { + "value": 0, + "description": "Spew button deltas, 0 = off, 1 = server, 2 = client, 3 = both" + }, + "in_spewbuttonhold": { + "value": 0, + "description": "Spew button hold times, 0 = off, 1 = server, 2 = client, 3 = both" + }, + "in_spewent": { + "value": -1, + "description": "Which entity should we spew input for? (Useful for debugging bot input)" + }, + "in_spewinput": { + "value": 0, + "description": "Spew input, 0 = off, 1 = server, 2 = client, 3 = both" + }, + "input_button_code_is_scan_code_scd": { + "value": true, + "description": "Bind keys based on keyboard position instead of key name" + }, + "input_downimpulsevalue": 0.7, + "input_filter_relative_analog_inputs": false, + "input_forceuser": { + "value": -1, + "description": "Force user input to this split screen player." + }, + "input_upimpulsevalue": 0.3, + "instant_replay": { + "value": true, + "description": "Enable instant replay recording." + }, + "instant_replay_history_limit": { + "value": 120, + "description": "Maximum amount of minutes to save history (0 is unlimited)." + }, + "instant_replay_history_limit_low": { + "value": 10, + "description": "Maximum amount of minutes to save history on low memory (32 bit) systems (0 is unlimited)." + }, + "iv_parallel_latch": true, + "iv_parallel_restore": false, + "iv_wrapped_parallel_latch": true, + "joy_accel_filter": 0.2, + "joy_accelmax": 1, + "joy_accelscale": 0.6, + "joy_advanced": false, + "joy_advaxisr": 0, + "joy_advaxisu": 0, + "joy_advaxisv": 0, + "joy_advaxisx": 0, + "joy_advaxisy": 0, + "joy_advaxisz": 0, + "joy_autosprint": { + "value": 0, + "description": "Automatically sprint when moving with an analog joystick" + }, + "joy_axisr_deadzone": 0.15, + "joy_axisr_relative": false, + "joy_axisu_deadzone": 0.15, + "joy_axisu_relative": false, + "joy_axisv_deadzone": 0.15, + "joy_axisv_relative": false, + "joy_axisx_deadzone": 0.15, + "joy_axisx_relative": false, + "joy_axisy_deadzone": 0.15, + "joy_axisy_relative": false, + "joy_axisz_deadzone": 0.15, + "joy_axisz_relative": false, + "joy_circle_correct_mode": 1, + "joy_circle_correct_mode_vehicle": 2, + "joy_display_input": false, + "joy_forward_sensitivity": 1, + "joy_lowend": 1, + "joy_lowmap": 1, + "joy_movement_stick": { + "value": false, + "description": "Which stick controls movement (0 is left stick)" + }, + "joy_name": "joystick", + "joy_pegged": 0.75, + "joy_pitch_sensitivity": 3, + "joy_pitchsensitivity": 1, + "joy_response_look": 0, + "joy_response_move": 9, + "joy_response_move_vehicle": 6, + "joy_sensitive_step0": 0.1, + "joy_sensitive_step1": 0.4, + "joy_sensitive_step2": 0.9, + "joy_side_sensitivity": 1, + "joy_sidesensitivity": 1, + "joy_vehicle_turn_lowend": 0.7, + "joy_vehicle_turn_lowmap": 0.4, + "joy_virtual_peg": 0, + "joy_xcontroller_cfg_loaded": { + "value": false, + "description": "If 0, the 360controller.cfg file will be executed on startup & option changes." + }, + "joy_yaw_sensitivity": 3, + "joy_yawsensitivity": -1, + "joystick": { + "value": false, + "description": "True if the joystick is enabled, false otherwise." + }, + "jpeg_quality": { + "value": 90, + "description": "Set jpeg screenshot quality. [1..100]" + }, + "kelvin_ice_path_base_shards": 2, + "kelvin_ice_path_base_size": 150, + "kelvin_ice_path_connector_distance": 180, + "kelvin_ice_path_connector_length": 100, + "kelvin_ice_path_health": { + "value": 21, + "description": "Normalized against base firerate, 100 is 1 second" + }, + "kelvin_ice_path_lagcomp_move_linger_time": { + "value": 0.3, + "description": "Extra time for ice path movement controller to linger to prevent mispredictions" + }, + "kelvin_ice_path_max_pitch_connector": 30, + "kelvin_ice_path_shard_offset_max": 20, + "kelvin_ice_path_shard_offset_min": 5, + "kelvin_ice_path_shard_scale_duration": 0.3, + "kelvin_ice_path_shard_vert_per_quarter": 10, + "kelvin_ice_path_surf_size": 100, + "kelvin_ice_path_thickness": 8, + "kelvin_ice_path_uv_scale": 0.02, + "kelvin_ice_shard_lagcomp_startdelay_time": { + "value": 0.15, + "description": "Delay before ice shard's physics kick in to account for client latency" + }, + "last_viewed_announce_id": { + "value": -1, + "description": "Tracks the last announcement ID viewed so we can know when new announcements are available" + }, + "lb_allow_shadow_rotation": { + "value": true, + "description": "SceneSystem/LightBinner/Shadow Rotation" + }, + "lb_allow_time_sliced_shadow_map_rendering": { + "value": true, + "description": "Allow time-sliced shadow buffer rendering when enabled via gameinfo.gi" + }, + "lb_barnlight_shadow_use_precomputed_vis": true, + "lb_barnlight_shadowmap_scale": { + "value": 1, + "description": "Scale for computed barnlight shadowmap size" + }, + "lb_bin_slices": 8192, + "lb_convert_to_barn_lights_falloff_match_point": 0.15, + "lb_csm_cascade_size_override": { + "value": -1, + "description": "Override width/height of individual cascades in the CSM" + }, + "lb_csm_cross_fade_override": { + "value": -1, + "description": "Override CSM cross fade amount" + }, + "lb_csm_distance_fade_override": { + "value": -1, + "description": "Override CSM distance fade" + }, + "lb_csm_draw_alpha_tested": true, + "lb_csm_draw_translucent": true, + "lb_csm_fov_override": -1, + "lb_csm_override_bulb_radius": { + "value": -1, + "description": "Override bulb radius for CSM" + }, + "lb_csm_override_staticgeo_cascades": { + "value": false, + "description": "Override Cascades that will render static objects with lb_csm_override_staticgeo_cascades_value" + }, + "lb_csm_override_staticgeo_cascades_animated_verts": { + "value": true, + "description": "If lb_csm_override_staticgeo_cascades, ensure only objects without animated verts, i.e. SCENEOBJECTFLAG_CAN_RENDER_INTO_SST flag will be excluded (as opposed to all static objects)." + }, + "lb_csm_override_staticgeo_cascades_value": { + "value": -1, + "description": "If lb_csm_override_staticgeo_cascades, override value used to determine which cascades render static objects" + }, + "lb_csm_receiver_plane_depth_bias": { + "value": 1.526e-05, + "description": "Shader depth bias applied to shadow receiver (Note this conflicts with renderstate depth bias, both now default to 0)" + }, + "lb_csm_receiver_plane_depth_bias_transmissive_backface": { + "value": 0.00015, + "description": "Depth bias applied to shadow receiver for transmissive backface geo (based on renderstate depthbias being 0)" + }, + "lb_cubemap_normalization_max": 32, + "lb_cubemap_normalization_roughness_begin": 0.1, + "lb_dynamic_shadow_penumbra": { + "value": true, + "description": "Adjust shadow penumbra based on light size" + }, + "lb_dynamic_shadow_resolution": { + "value": true, + "description": "Dynamically adjust shadow resolution" + }, + "lb_dynamic_shadow_resolution_base": { + "value": 1024, + "description": "Base resolution for dynamic shadowmap sizing. Shadowmap size of a screen sized light" + }, + "lb_dynamic_shadow_resolution_base_cmp_shadowmapsize": { + "value": false, + "description": "take min of lb_dynamic_shadow_resolution and barnlight shadowmapsize as base shadowmapsize" + }, + "lb_dynamic_shadow_resolution_delay": { + "value": 0.85, + "description": "Update delay for shadow size" + }, + "lb_dynamic_shadow_resolution_hysteresis": { + "value": 0.33, + "description": "Update hysteresis for shadow size" + }, + "lb_dynamic_shadow_resolution_quantization": { + "value": 64, + "description": "Quantization of dynamically computed shadow size" + }, + "lb_enable_baked_shadows": { + "value": true, + "description": "SceneSystem/LightBinner/Enable Baked Shadows" + }, + "lb_enable_binning": { + "value": true, + "description": "SceneSystem/LightBinner/Enable Binning" + }, + "lb_enable_dynamic_lights": { + "value": true, + "description": "Allows rendering dynamic lights" + }, + "lb_enable_envmaps": { + "value": true, + "description": "SceneSystem/LightBinner/Enable EnvMaps" + }, + "lb_enable_fog_mixed_shadows": { + "value": true, + "description": "SceneSystem/LightBinner/Enable Fog Mixed Shadows" + }, + "lb_enable_lights": { + "value": true, + "description": "SceneSystem/LightBinner/Enable Lights" + }, + "lb_enable_newsum": { + "value": true, + "description": "SceneSystem/LightBinner/Enable New Sum" + }, + "lb_enable_shadow_casting": { + "value": true, + "description": "Allow stationary/dynamic lights to cast shadows." + }, + "lb_enable_stationary_lights": { + "value": true, + "description": "Allows rendering stationary/mixed lights" + }, + "lb_enable_sunlight": { + "value": true, + "description": "SceneSystem/LightBinner/Enable Sunlight" + }, + "lb_low_quality_shader_fade_region_rescale": { + "value": 0, + "description": "For envmaps in low quality shader mode, how much of the fade region to scale the envmap box by." + }, + "lb_max_visible_barn_lights_override": { + "value": -1, + "description": "Override maximum visible barn lights" + }, + "lb_max_visible_envmaps_override": { + "value": -1, + "description": "Override maximum visible envmaps" + }, + "lb_mixed_shadows": { + "value": true, + "description": "SceneSystem/LightBinner/Enable Mixed Shadows" + }, + "lb_override_barn_light_fade_sizes": "[0.05, 0.025]", + "lb_override_barn_light_fade_sizes_enable": false, + "lb_override_barn_light_shadow_fade_sizes": "[0.1, 0.05]", + "lb_precomputed_shadowmap_depth_bias": 0.0001, + "lb_precomputed_shadowmap_enable": true, + "lb_shadow_map_cull_empty_mixed": { + "value": false, + "description": "Don't render shadows for mixed shadowmaps with no dynamics objects in view" + }, + "lb_shadow_map_culling": true, + "lb_shadow_texture_height_override": { + "value": -1, + "description": "Override height of shadow atlas texture" + }, + "lb_shadow_texture_width_override": { + "value": -1, + "description": "Override width of shadow atlas texture" + }, + "lb_ssss_importance_sample": false, + "lb_ssss_samples": { + "value": 11, + "description": "Subsurface sample count" + }, + "lb_sun_csm_size_cull_threshold_texels": { + "value": 10, + "description": "Size, in texels, where we will cull an object in the shadowmap" + }, + "lb_tile_pixels": 8, + "lb_timesliced_shadows_dynamic_size": true, + "lb_use_ellipsoid_bounds": true, + "lb_use_illumination_silhouette": { + "value": true, + "description": "SceneSystem/LightBinner/Use Illumination Bounds" + }, + "leaderboards_cache_duration": 600, + "lifesteal_ability_non_hero_multiplier": 0.4, + "lifesteal_bullet_non_hero_multiplier": 0.6, + "locator_topdown_style": { + "value": false, + "description": "Topdown games set this to handle distance and offscreen location differently." + }, + "lservercfgfile": "listenserver.cfg", + "m_pitch": { + "value": 0.022, + "description": "Mouse pitch factor." + }, + "m_yaw": { + "value": 0.022, + "description": "Mouse yaw factor." + }, + "markup_volume_ref_cone_angle": 135, + "mat_assert_on_error_shader_use": false, + "mat_async_shader_load": false, + "mat_cache_and_skip_commandbuffers": true, + "mat_cache_renderablepasses": true, + "mat_colcorrection_disableentities": { + "value": false, + "description": "Disable map color-correction entities" + }, + "mat_colcorrection_editor": false, + "mat_colcorrection_forceentitiesclientside": { + "value": false, + "description": "Forces color correction entities to be updated on the client" + }, + "mat_colorcorrection": true, + "mat_depthbias_shadowmap": 0.0005, + "mat_execute_skipbuffers": true, + "mat_fullbright": { + "value": 0, + "description": "Debug rendering modes" + }, + "mat_hide_error_shader": false, + "mat_lpv_luxels": false, + "mat_luxels": false, + "mat_max_lighting_complexity": 8, + "mat_overdraw": { + "value": 0, + "description": "Visualize overdraw" + }, + "mat_overdraw_color": "[0.075, 0.15, 0.3]", + "mat_shader_cache": true, + "mat_shading_complexity": { + "value": false, + "description": "Visualize shading complexity" + }, + "mat_shading_complexity_color": "[1, 0.5, 0.25]", + "mat_shading_complexity_max_instruction_count": 1024, + "mat_shading_complexity_max_register_count": 128, + "mat_shadowmap_luxels": false, + "mat_show_distance_field": { + "value": 0, + "description": "0=Off, 1=Visualize trace from camera, 2=Visualize occlusion, 3=Visualize far field trace from camera" + }, + "mat_skip_static_const_eval": true, + "mat_slopescaledepthbias_shadowmap": 4, + "mat_tonemap_bloom_scale": -1, + "mat_tonemap_bloom_start_value": -1, + "mat_tonemap_force_accelerate_exposure_down": -1, + "mat_tonemap_force_average_lum_min": { + "value": -1, + "description": "Override. Old default was 3.0" + }, + "mat_tonemap_force_log_lum_max": -1, + "mat_tonemap_force_log_lum_min": -1, + "mat_tonemap_force_max": -1, + "mat_tonemap_force_min": -1, + "mat_tonemap_force_percent_bright_pixels": { + "value": -1, + "description": "Override. Old value was 1.0" + }, + "mat_tonemap_force_percent_target": { + "value": -1, + "description": "Override. Old default was 45." + }, + "mat_tonemap_force_rate": -1, + "mat_tonemap_force_scale": 0, + "mat_tonemap_force_use_alpha": -1, + "mat_tonemap_uncap_exposure": 0, + "mat_viewportscale": { + "value": 1, + "description": "Scale down the main viewport (to reduce GPU impact on CPU profiling)" + }, + "mat_warn_bad_modes": false, + "mat_wireframe": { + "value": 0, + "description": "0=Off, 1=Surface Wireframe, 2=Transparent Wireframe" + }, + "match_signout_book_loss_xp": { + "value": 0, + "description": "How much book XP to award for a loss" + }, + "match_signout_book_win_xp": { + "value": 0, + "description": "How much book XP to award for a win" + }, + "mem_level": { + "value": 2, + "description": "Memory Level - Default: High" + }, + "mem_test_each_frame": { + "value": false, + "description": "Run heap check at end of every frame" + }, + "mem_test_every_n_seconds": { + "value": 0, + "description": "Run heap check at a specified interval" + }, + "mem_test_quiet": { + "value": false, + "description": "Don't print stats when memtesting" + }, + "mesh_calculate_curvature_smooth_invert": false, + "mesh_calculate_curvature_smooth_pass_count": 3, + "mesh_calculate_curvature_smooth_weight": 1, + "mic_listen_while_nonfocused": { + "value": false, + "description": "Enables the ability for the mic to remain open if the window loses focus such as when a caster tabs out to adjust settings" + }, + "minimap_add_glow_modifier": false, + "minimap_update_rate_hz": 30, + "mm_idle_enabled": { + "value": true, + "description": "Kill switch for the idle detection system" + }, + "mm_idle_show_warning_at_s": { + "value": 300, + "description": "How many seconds to wait before showing the idle warning dialog" + }, + "mm_idle_warning_duration_s": { + "value": 60, + "description": "How long should the warning be up before it boots the user from the MM queue" + }, + "mm_prefer_solo_only": { + "value": false, + "description": "Prefer being matched with other solo players when not in a party" + }, + "mobile_fps_increase_during_charging": { + "value": false, + "description": "MOBILE_FPS_CONTROL: If true we increase framerate limit while charging" + }, + "mobile_fps_increase_during_hfr_animations": { + "value": true, + "description": "MOBILE_FPS_CONTROL: If true we increase framerate limit during HFR-tagged animations and transitions." + }, + "mobile_fps_increase_during_touch": { + "value": true, + "description": "MOBILE_FPS_CONTROL: If true we increase framerate limit during touch" + }, + "mobile_fps_limit": { + "value": 30, + "description": "MOBILE_FPS_CONTROL: Mobile FPS limit - 15, 30, 60" + }, + "modifier_capture_data_descs": false, + "mortar_sentry_angle_offset_above": 0, + "mortar_sentry_angle_offset_below": -1, + "mortar_sentry_destroy": false, + "mortar_sentry_forced_pitch": 0, + "mortar_sentry_no_target_distance": 1500, + "mortar_sentry_noise_factor_x": 84, + "mortar_sentry_noise_factor_y": 84, + "mortar_sentry_use_npc_projectile_calc": false, + "motdfile": { + "value": "motd.txt", + "description": "The MOTD file to load." + }, + "mouse_disableinput": { + "value": false, + "description": "Set to disable mouse input" + }, + "mouse_inverty": false, + "movement_stats_force_calculate": false, + "mp_allowspectators": { + "value": true, + "description": "toggles whether the server allows spectator mode or not" + }, + "mp_fadetoblack": { + "value": false, + "description": "fade a player's screen to black when he dies" + }, + "mp_forcecamera": { + "value": 0, + "description": "Restricts spectator modes for dead players" + }, + "mp_forcerespawn": true, + "mp_friendlyfire": { + "value": false, + "description": "Allows team members to injure other members of their team" + }, + "mp_restartgame": { + "value": 0, + "description": "If non-zero, game will restart in the specified number of seconds" + }, + "mp_teamplay": false, + "mp_tournament": false, + "multigpu_skip_semaphores": false, + "multigpu_skip_transfers": false, + "music_arpeggiator_beat_subdivision": { + "value": 4, + "description": "1- quarter, 2- 8th, 3- triplet, 4- 16th." + }, + "music_hideout_afk_timer_duration_seconds": { + "value": 30, + "description": "Time spent at 0.0 speed before fade." + }, + "music_hideout_afk_timer_fade_in_duration_seconds": { + "value": 1, + "description": "Fade in time once returning from AFK." + }, + "music_hideout_afk_timer_fade_out_duration_seconds": { + "value": 15, + "description": "Fade out time once AFK duration is exceeded." + }, + "music_log_abandoned_priorities": { + "value": false, + "description": "Prints a log message whenever low priority cues are discarded." + }, + "music_resume_fade_time_seconds": { + "value": 2, + "description": "When resuming, fades music in over this duration of time." + }, + "music_resume_window_seconds": { + "value": 15, + "description": "Seeks into music if resumed during this period of time." + }, + "name": "unnamed", + "nano_rollermine_brake_factor": 0.8, + "nano_rollermine_stuck_threshold": 5, + "nano_rollermine_stuck_time": 0.25, + "nano_rollermine_target_max_range": 1600, + "nano_rollermine_turn_speed": 180, + "nano_rollermine_vision": 1000, + "nano_rollermine_waypoint_threshold": 128, + "nano_use_los_ultimate": true, + "nav_attribute_obstacle_draw": false, + "nav_attribute_obstacle_draw_elements": false, + "nav_create_indirect_connection_set_from": { + "value": "[0, 0, 0]", + "description": "Set the 'from' location of an indirect connection." + }, + "nav_create_indirect_connection_set_to": { + "value": "[0, 0, 0]", + "description": "Set the 'to' location of an indirect connection." + }, + "nav_curve_alt": false, + "nav_curve_iter": 0, + "nav_curve_lock": -1, + "nav_curve_max_step": 10, + "nav_curve_set": -1, + "nav_curve_step": 0.02, + "nav_drag_selection_volume_zmax_offset": { + "value": 32, + "description": "The offset of the nav drag volume top from center" + }, + "nav_drag_selection_volume_zmin_offset": { + "value": 32, + "description": "The offset of the nav drag volume bottom from center" + }, + "nav_draw_area_connections": false, + "nav_draw_area_filled": true, + "nav_draw_area_gravity": false, + "nav_draw_area_ground": false, + "nav_draw_area_hull_support": false, + "nav_draw_area_ids": false, + "nav_draw_area_inset_margin": 0, + "nav_draw_area_normal": false, + "nav_draw_area_should_be_destroyed": false, + "nav_draw_area_split_by_obstacle_mgr": false, + "nav_draw_area_ztest": false, + "nav_draw_blocked": true, + "nav_draw_blocked_connections": false, + "nav_draw_boundary_areas": false, + "nav_draw_connected_area_radius": 1000, + "nav_draw_dormant_movable_meshes": { + "value": false, + "description": "Draw dormant movable meshes." + }, + "nav_draw_externally_created": false, + "nav_draw_flow_map": false, + "nav_draw_indirect_connections": false, + "nav_draw_jump_links": false, + "nav_draw_limit": { + "value": 300, + "description": "The maximum number of areas to draw in edit mode" + }, + "nav_draw_link_alignment": false, + "nav_draw_links": false, + "nav_draw_markup": true, + "nav_draw_mesh": true, + "nav_draw_mesh_grid": { + "value": false, + "description": "Draw the mesh's spatial grid structure around the edit cursor position." + }, + "nav_draw_mesh_offset": { + "value": 1, + "description": "Vertical offset for drawing the mesh (useful for flat planes where the mesh is often a fixed offset from the physical ground" + }, + "nav_draw_space_boundary": { + "value": 0, + "description": "Draw the boundaries of the 3d nav space. 1 = draw flying space, 2 = draw swimming space" + }, + "nav_draw_space_cells": false, + "nav_draw_space_fly": false, + "nav_draw_space_neighbors": 0, + "nav_draw_space_portals": false, + "nav_draw_space_radius": 0, + "nav_draw_space_swim": false, + "nav_draw_space_transitions": true, + "nav_edit": { + "value": 0, + "description": "Set to one to interactively edit the Navigation Mesh. Set to zero to leave edit mode." + }, + "nav_edit_use_camera": true, + "nav_edit_validate": { + "value": false, + "description": "Validate navmesh structures." + }, + "nav_find_occluded_node_nozup_use_raycast": true, + "nav_flow_map_enabled": true, + "nav_gen_add_jumps": true, + "nav_gen_agent_radius_buffer": { + "value": 0.5, + "description": "Buffer to add to agent radius before passing to nav gen" + }, + "nav_gen_clip_polys_to_clearance": true, + "nav_gen_connect_allow_multiple": true, + "nav_gen_connect_angle": 0.75, + "nav_gen_connect_angle_ignore_z": true, + "nav_gen_connect_dist_a": 1, + "nav_gen_connect_dist_b": 1.5, + "nav_gen_connect_dist_z_mult": 0.5, + "nav_gen_connect_overlap": 0.5, + "nav_gen_degen_limit": 0.001, + "nav_gen_false": { + "value": false, + "description": "Always false" + }, + "nav_gen_island_removal": false, + "nav_gen_island_removal_all_hulls": true, + "nav_gen_join_nonzup": true, + "nav_gen_jump_connection_min_overlap_ratio": { + "value": 1, + "description": "Minimum edge overlap required for jump connection consideration as a percentage of agent radius" + }, + "nav_gen_markup_split_expand": 2, + "nav_gen_markup_split_tol_base": 1, + "nav_gen_markup_split_tol_nonav": 1, + "nav_gen_markup_split_tol_nonentity": 8, + "nav_gen_max_bottleneck_width": 128, + "nav_gen_max_bottleneck_width_do_clip": true, + "nav_gen_max_edge_len": 512, + "nav_gen_max_edge_len_do_clip": true, + "nav_gen_max_edge_len_split_tol": 24, + "nav_gen_opt_to_quads": true, + "nav_gen_opt_to_quads_angle_limit": 8, + "nav_gen_opt_to_quads_num_steps": 6, + "nav_gen_opt_to_quads_planar_deviation_limit": 4, + "nav_gen_opt_to_quads_se_limit_end": 0.1, + "nav_gen_opt_to_quads_se_limit_start": 1e-05, + "nav_gen_opt_to_quads_weld_limit_end": 0.01, + "nav_gen_opt_to_quads_weld_limit_start": 1e-07, + "nav_gen_oriented_angle_tol": { + "value": 15, + "description": "Max abrupt orientation difference an NPC can tolerate when moving through the mesh (degrees)." + }, + "nav_gen_oriented_max_region_range": { + "value": 15, + "description": "Max orientation range allowed within a region before it gets further split." + }, + "nav_gen_remove_vertical_polys": true, + "nav_gen_split_boundary_polys": false, + "nav_gen_split_multi_connection_polys": true, + "nav_gen_split_multi_connection_polys_tol": 0.01, + "nav_gen_true": { + "value": true, + "description": "Always true" + }, + "nav_gen_vertical_limit": 88, + "nav_gm_enable": false, + "nav_ignore_vpk_navdata": { + "value": false, + "description": "For testing using legacy nav data" + }, + "nav_msr_test_add_agent": false, + "nav_msr_test_add_goal": false, + "nav_msr_test_freeze": false, + "nav_msr_test_select_agent": false, + "nav_msr_test_select_goal": false, + "nav_navlink_enable_splits": { + "value": true, + "description": "Split wide nav links into narrower ones to increase lanes and alleviate 'crossing' effect." + }, + "nav_navlink_save_movable_connections": { + "value": true, + "description": "TEMP: Save nav link connections to movable meshes?" + }, + "nav_navlink_split_max_width": { + "value": 144, + "description": "The maximum desired width of a nav link split." + }, + "nav_navlink_split_scale_with_length": { + "value": true, + "description": "Nav link splits' widths are proportional to the nav link's length." + }, + "nav_obstacle_validate": false, + "nav_obstruction_async_update": false, + "nav_obstruction_draw": 0, + "nav_obstruction_draw_change": false, + "nav_obstruction_draw_dist": -1, + "nav_obstruction_draw_island": 0, + "nav_obstruction_draw_island_hull": -1, + "nav_obstruction_draw_movefail_blocking": false, + "nav_path_draw_areas": false, + "nav_path_draw_arrow": true, + "nav_path_draw_climb_segments": true, + "nav_path_draw_connected_areas": false, + "nav_path_draw_ground_segments": true, + "nav_path_draw_jump_segments": true, + "nav_path_draw_ladder_segments": true, + "nav_path_draw_link_segments": true, + "nav_path_draw_tick": 0, + "nav_path_fixup_climb_up_segments": true, + "nav_path_fixup_gap_segments": false, + "nav_path_optimize": true, + "nav_path_optimize_portals": true, + "nav_pathfind_draw": 0, + "nav_pathfind_draw_blocked": 0, + "nav_pathfind_draw_costs": false, + "nav_pathfind_draw_fail": 0, + "nav_pathfind_draw_total_costs": false, + "nav_pathfind_inadmissable_heuristic_factor": 1, + "nav_pathfind_multithread": false, + "nav_recorder_enabled": true, + "nav_select_allow_blocked": { + "value": true, + "description": "When selecting an area under nav_edit, allow area marked as blocked." + }, + "nav_select_area_id": { + "value": -1, + "description": "Select nav area with matching ID." + }, + "nav_select_block_id": { + "value": -1, + "description": "Select nav space block with matching ID." + }, + "nav_select_hull": { + "value": 0, + "description": "Restrict area selection to areas that can support a hull of the given category" + }, + "nav_show_area_connections": { + "value": true, + "description": "Show connections to selected area when true" + }, + "nav_show_area_verts": { + "value": true, + "description": "Show area vertex positions" + }, + "nav_show_area_water_info": true, + "nav_show_elem_info": true, + "nav_show_elem_info_font": "Consolas", + "nav_show_elem_info_font_size": -1, + "nav_show_elem_info_font_voffset": -11, + "nav_smooth_constrain_spline": true, + "nav_smooth_constrain_spline_relax": 0.006, + "nav_smooth_constrain_spring": 2, + "nav_smooth_constrain_spring_relax": 0.01, + "nav_smooth_draw_boundary": 0, + "nav_smooth_draw_calc": 0, + "nav_smooth_draw_constraint_spline": false, + "nav_smooth_draw_constraint_spring": 0, + "nav_smooth_draw_speed": 0, + "nav_smooth_enable": true, + "nav_smooth_relax": true, + "nav_smooth_relax_use_timesteps": false, + "nav_smooth_spring_const_override": -1, + "nav_smooth_spring_enable": true, + "nav_smooth_spring_factor_deriv": 0, + "nav_smooth_spring_factor_dist": 0, + "nav_smooth_spring_factor_speed": 0, + "nav_smooth_spring_forward_dist_base": 50, + "nav_smooth_spring_forward_dist_time_limit": 1, + "nav_smooth_spring_max_dist": 36, + "nav_smooth_spring_tension_max_override": -1, + "nav_smooth_spring_timestep_factor_accel": 100, + "nav_smooth_spring_timestep_factor_speed": 100, + "nav_smooth_spring_timestep_max": 0.5, + "nav_smooth_spring_timestep_min": 0.1, + "nav_smooth_spring_yaw_rotation_speed": 50, + "nav_smooth_spring_yaw_threshold": 20, + "nav_space_select_dist": 1000, + "nav_split_show_line": { + "value": false, + "description": "Show the free split line." + }, + "nav_test_area_gravity": false, + "nav_test_bfs_lattice_dist_0": -1, + "nav_test_bfs_lattice_dist_1": -1, + "nav_test_bfs_lattice_dist_2": -1, + "nav_test_bfs_lattice_hex": { + "value": false, + "description": "Demonstrates searching hexagonal lattice over nav mesh." + }, + "nav_test_bfs_lattice_mark": 2, + "nav_test_bfs_lattice_simple": false, + "nav_test_bfs_lattice_spacing_0": 24, + "nav_test_bfs_lattice_spacing_1": 48, + "nav_test_bfs_lattice_spacing_2": 96, + "nav_test_bfs_simple": false, + "nav_test_boundary_zone_circle": 0, + "nav_test_boundary_zone_force": false, + "nav_test_boundary_zone_grid_dim": 90, + "nav_test_boundary_zone_path": 0, + "nav_test_boundary_zone_rays": 100, + "nav_test_boundary_zone_rays_margin": -1, + "nav_test_boundary_zone_rays_random": false, + "nav_test_boundary_zone_sphere": 0, + "nav_test_curve_opt": 0, + "nav_test_detour": false, + "nav_test_find_nearest": { + "value": false, + "description": "Calculate the nearest point on the navmesh to the trace point. Uses selection from nav_select_hull." + }, + "nav_test_find_nearest_clear": { + "value": false, + "description": "Calculate the nearest point on the navmesh to the trace point. Uses selection from nav_select_hull." + }, + "nav_test_find_random_connected": { + "value": false, + "description": "Demonstrates finding random points that are connected in the nav mesh to the start point." + }, + "nav_test_find_random_connected_dist_max": 1000, + "nav_test_find_random_connected_dist_min": 100, + "nav_test_find_z": 0, + "nav_test_force_npc_repath": false, + "nav_test_genrt": false, + "nav_test_genrt_place": false, + "nav_test_genrt_tile_removal_extent": 50, + "nav_test_genrt_tile_removal_place": false, + "nav_test_getareaoverlapping_gravity": false, + "nav_test_getnearestnav_gravity": false, + "nav_test_multi_connection": false, + "nav_test_npc_area": 0, + "nav_test_npc_collision": 0, + "nav_test_npc_collision_range": 250, + "nav_test_npc_collision_show_geometry": false, + "nav_test_path": { + "value": false, + "description": "Calculate and draw a path from player/camera position to the test position." + }, + "nav_test_path_expansion_search": { + "value": 0, + "description": "Extend nav_test_path by doing an expansion search on that path. Convar value defines dist." + }, + "nav_test_path_lock_goal": { + "value": false, + "description": "Lock the pathfinding goal to the current intersection point." + }, + "nav_test_path_lock_start": { + "value": false, + "description": "Lock the pathfinding start to the current intersection point." + }, + "nav_test_path_move": false, + "nav_test_path_opt": { + "value": true, + "description": "Enable path optimization for nav_edit_path paths." + }, + "nav_test_path_opt_transitions": false, + "nav_test_path_return": { + "value": false, + "description": "Calculate a return path from cursor position to the path calculated by nav_test_path." + }, + "nav_test_path_space": { + "value": 0, + "description": "Should nav_test_path test 3d navigation? 1 = space to space, 2 = multi-modal space/ground" + }, + "nav_test_path_space_fly": { + "value": true, + "description": "Test flight paths" + }, + "nav_test_path_space_swim": { + "value": true, + "description": "Test swim paths" + }, + "nav_test_pos_place": -1, + "nav_test_ray_space": 0, + "nav_test_rays": false, + "nav_test_smooth": false, + "nav_test_smooth_extern_push": 0, + "nav_test_smooth_in_speed": 120, + "nav_test_smooth_in_yaw": 0, + "nav_test_smooth_path_speed": -1, + "nav_test_smooth_separating_dist": -1, + "nav_test_smooth_spring_const": -1, + "nav_test_smooth_spring_tension_max": -1, + "nav_test_spline": 0, + "nav_test_split_obstacle": 0, + "nav_test_split_obstacle_dirty": false, + "nav_test_split_obstacle_leave": false, + "nav_test_split_obstacle_size": 30, + "nav_test_split_obstacle_update_pos": true, + "navlocal_constrain": true, + "navlocal_lead_in_dist": 64, + "navlocal_lead_out_dist": 18, + "navlocal_parallel_trace_path_for_obstacle": true, + "navlocal_path_tight_buffer": 2, + "navlocal_start_solid_calc_path": true, + "navspace_create_water_smooth_connections": true, + "navspace_create_water_transition_connections": true, + "navspace_draw_changes_blocks": { + "value": 0, + "description": "Draw blocks when they change" + }, + "navspace_draw_changes_waters": { + "value": 0, + "description": "Draw water volumes when they change" + }, + "navspace_path_use_water_level_locator": true, + "net_async_clientconnect": { + "value": true, + "description": "Enable async client connect optimization" + }, + "net_async_job_random_sleep": { + "value": 0, + "description": "Sleep randomly 0..net_async_job_random_sleep ms in the parallel server jobs; sleep is per job" + }, + "net_showeventlisteners": { + "value": false, + "description": "Show listening addition/removals" + }, + "net_showevents": { + "value": 0, + "description": "Dump game events to console (1=client only, 2=all)." + }, + "noclip_fixup": true, + "npc_create_or_teleport_warn_on_nonav": { + "value": true, + "description": "Warn if the created or teleported npc is off nav." + }, + "npc_go_allow_interrupt_by_ai_conditions": { + "value": false, + "description": "Set whether the path should be interruptible by significant AI conditions" + }, + "npc_go_do_run": { + "value": true, + "description": "Set whether should run on NPC go" + }, + "npc_go_loop_max_waypoints": 2, + "npc_go_max_distance": { + "value": 56755.8, + "description": "How far is the trace we shoot when using NPC Go" + }, + "npc_go_no_arrow": { + "value": false, + "description": "Don't draw the go arrow of selected NPCs" + }, + "npc_hist_draw": false, + "npc_hist_filter_npc_index": -1, + "npc_hist_filter_type": -1, + "npc_history_record_snapshot": true, + "npc_record_snapshot_data": true, + "npc_steering_scalar": 1, + "npc_task_text_verbosity": { + "value": 1, + "description": "Verbosity level for output coming from npc_task_text." + }, + "npc_teleport_phys_clear": { + "value": false, + "description": "When true, npc_teleport will look for clear space and fail if none is found." + }, + "npcsolve_attract_draw": false, + "npcsolve_constraint_nav": true, + "npcsolve_constraint_npc": true, + "npcsolve_drag_linear": 0, + "npcsolve_forward": true, + "npcsolve_forward_const": 30000, + "npcsolve_forward_dist": 200, + "npcsolve_forward_margin": 5, + "npcsolve_path_close_const": 0, + "npcsolve_path_close_max_tension": 100, + "npcsolve_path_lookahead_const": 4, + "npcsolve_path_lookahead_dist": 100, + "npcsolve_path_vel_const": 0, + "npcsolve_separation": true, + "npcsolve_separation_const": 10000, + "npcsolve_separation_dist": 5, + "npcsolve_separation_draw": false, + "npcsolve_separation_jitter": 0, + "npcsolve_separation_r2": false, + "npctester_path_lookahead_time": 3, + "option_duck_method": { + "value": false, + "description": "Input toggle control" + }, + "opus_decode_test_signal": false, + "opus_encode_test_signal": false, + "opus_unittest_test_signal": false, + "orb_display_claim_offset": 10, + "panorama_2d_translate_no_comp_layer": true, + "panorama_alignment_fixes": { + "value": true, + "description": "Fix alignment issues" + }, + "panorama_allow_texture_composition_layer_fast_path": true, + "panorama_allow_transitions": true, + "panorama_assert_loading_panel_type": { + "value": false, + "description": "Force style invalidation of the entire panel subtree when adding / removing classes." + }, + "panorama_async_compute_mipgen": { + "value": true, + "description": "use asynchronous compute for mipmap generation." + }, + "panorama_box_shadow_no_comp_layer": true, + "panorama_cache_command_list_repaint_threshold": 0.25, + "panorama_cache_command_list_size_threshold": 384, + "panorama_classes_force_invalidate": { + "value": false, + "description": "Force style invalidation of the entire panel subtree when adding / removing classes." + }, + "panorama_clear_frames_on_device_restore": 2, + "panorama_command_reordering": true, + "panorama_comp_layer_lru_lifetime": 1, + "panorama_composition_atlas": true, + "panorama_console_max_autocomplete": 100, + "panorama_console_max_history": 100, + "panorama_console_max_lines": 2000, + "panorama_content_size_fixes": { + "value": true, + "description": "Fix content size issues" + }, + "panorama_daisy_wheel": { + "value": "ABXY", + "description": "Daisy wheel input mode: RS | ABXY" + }, + "panorama_dash_gap_ratio": 0.5, + "panorama_dash_len": 20, + "panorama_disable_blur": false, + "panorama_disable_box_shadow": false, + "panorama_disable_descendant_filtering": { + "value": false, + "description": "Disable descendant selector filtering" + }, + "panorama_disable_draw_fancy_quad": false, + "panorama_disable_draw_text": false, + "panorama_disable_draw_text_shadow": false, + "panorama_disable_layer_cache": false, + "panorama_disable_layer_clear": false, + "panorama_disable_render_callbacks": false, + "panorama_disable_render_target_cache": true, + "panorama_disallow_hover_styles": false, + "panorama_dragscroll_affordance": { + "value": 20, + "description": "Minimum mouse movement in pixels before a move is treated as a drag scroll" + }, + "panorama_dragscroll_maxflickvelocity": { + "value": 8000, + "description": "Maximum velocity for a drag scroll flick" + }, + "panorama_dragscroll_minflickvelocity": { + "value": 60, + "description": "Minimum velocity that the mouse must be moving as mouse up time to qualify as a drag scroll flick" + }, + "panorama_dragscroll_mintime": { + "value": 0.02, + "description": "Minimum time that the mouse button must be down before a move is treated as a drag scroll" + }, + "panorama_dragscroll_velocitymultiplier": { + "value": 0.5, + "description": "Multiplier for flick velocity off of actual measured velocity" + }, + "panorama_draw_text_fast_path": true, + "panorama_draw_text_fast_path_text_shadow": true, + "panorama_enable_secondary_layout_pass": true, + "panorama_focus_world_panels": { + "value": false, + "description": "when set request key focus when a world panel is enabled" + }, + "panorama_force_active_controller_type": -1, + "panorama_force_desired_layout_traverse": { + "value": false, + "description": "Force desired layout traverse, even if the cached values are up to date." + }, + "panorama_highlight_bad_opacity_masks": false, + "panorama_highlight_composition_layers": false, + "panorama_highlight_slow_operations": false, + "panorama_hsbc_through_fast_path": true, + "panorama_joystick_axis_repeat_curve_time": 1, + "panorama_joystick_axis_repeat_interval_end": 0.05, + "panorama_joystick_axis_repeat_interval_start": 0.22, + "panorama_joystick_button_repeat_curve_time": 1.2, + "panorama_joystick_button_repeat_interval_end": 0.1, + "panorama_joystick_button_repeat_interval_start": 0.48, + "panorama_joystick_enabled": { + "value": true, + "description": "Enable panorama joystick input" + }, + "panorama_js_minidumps": { + "value": false, + "description": "Enable sending minidumps on JS Exceptions." + }, + "panorama_label_draw_rects": { + "value": 0, + "description": "When labels paint, draw the rectangles for the character ranges. 0 = none, 1 = all, 2 = text only, 3 = inline objects only" + }, + "panorama_label_wrap_before_shrink": { + "value": true, + "description": "Should labels try to wrap text before using text-overflow: shrink" + }, + "panorama_large_dispatch_event_queue": 0, + "panorama_max_fps": 120, + "panorama_max_oof_overlay_up_fps": 4, + "panorama_max_overlay_fps": 60, + "panorama_max_text_shadow_strength": 10, + "panorama_might_scroll_no_comp_layer": true, + "panorama_min_comp_layer_cache_cost": 4096, + "panorama_movie_async_load_size_bytes": 20971520, + "panorama_movie_force_not_ready_behavior": -1, + "panorama_panel_occlusion": true, + "panorama_reload_animations": 2, + "panorama_render_target_cache_max_size": 31457280, + "panorama_script_cache_enabled": { + "value": true, + "description": "Enable script caching to speed up recompiling scripts multiple times." + }, + "panorama_show_fps": false, + "panorama_show_fps_scale": 1, + "panorama_simple_borders_no_comp_layer": true, + "panorama_skip_composition_layer_content_paint": false, + "panorama_skip_composition_layer_content_paint_tint": false, + "panorama_spew_layout_invalidates": false, + "panorama_stats_log_time": 0, + "panorama_streaming_load_local_images": false, + "panorama_style_flag_force_invalidate": { + "value": false, + "description": "Force style invalidation of the entire panel subtree when adding / removing style flags." + }, + "panorama_suspend_animation": false, + "panorama_suspend_paint": false, + "panorama_temp_comp_layer_min_dimension": 512, + "panorama_track_render_commands": false, + "panorama_transform_parents_no_layer_for_perspective": false, + "panorama_transforms_no_comp_layer": false, + "panorama_transition_time_factor": { + "value": 1, + "description": "A float representing a scale factor for transitions. 1.0 is normal, 2.0 would be twice as fast as normal, 0.5 half as fast" + }, + "panorama_use_backbuffer_directly": true, + "panorama_use_new_occlusion_invalidation": true, + "panorama_worldpanel_update_cull_distance": 1000, + "panorama_worldpanel_update_cull_size_threshold": 5, + "panorama_worldpanel_update_culling": false, + "parallel_perform_invalidate_physics": false, + "parallel_update_surrounding_bounds_in_spatial_partition_update": false, + "particle_cluster_manager_search_dist": 256, + "particle_cluster_nodraw": false, + "particle_cluster_use_collision_hulls": true, + "particle_test_attach_attachment": { + "value": 0, + "description": "Attachment index for attachment mode" + }, + "particle_test_attach_mode": { + "value": "follow_attachment", + "description": "Possible Values: 'start_at_attachment', 'follow_attachment', 'start_at_origin', 'follow_origin'" + }, + "party_allow_sandbox": { + "value": true, + "description": "Dev convar to allow for parties to use sandbox" + }, + "party_fake_invite_in_mm": { + "value": false, + "description": "When set, this will make all invites appear as if in a MM state" + }, + "party_invite_show_popup": { + "value": false, + "description": "When enabled, a popup will be shown indicating that you have received an invite" + }, + "pawn_mimic_all": false, + "pestilence_drone_brake_factor": 1, + "pestilence_drone_healthbar_pos": 80, + "pestilence_drone_max_torque": 5, + "pestilence_drone_scale": 0.75, + "pestilence_drone_stuck_threshold": 4, + "pestilence_drone_stuck_time": 0.2, + "pestilence_drone_torque_accel": 2, + "pestilence_drone_vision": 1024, + "pestilence_drone_waypoint_threshold": 128, + "phonemedelay": { + "value": 0, + "description": "Phoneme delay to account for sound system latency." + }, + "phonemefilter": { + "value": 0.08, + "description": "Time duration of box filter to pass over phonemes." + }, + "phonemesnap": { + "value": 2, + "description": "Lod at level at which visemes stops always considering two phonemes, regardless of duration." + }, + "phys_batch_ray_test": 0, + "phys_continuous_kinematic_update": 1, + "phys_cull_internal_mesh_contacts": false, + "phys_dynamic_scaling": true, + "phys_expensive_shape_threshold": 6, + "phys_highlight_expensive_objects": { + "value": false, + "description": "Highlight expensive physics objects" + }, + "phys_highlight_expensive_objects_strength": { + "value": 0.02, + "description": "Highlight expensive physics objects strength" + }, + "phys_impactforcescale": 1, + "phys_joint_teleport": { + "value": true, + "description": "Teleport joint anchors if connected to world" + }, + "phys_length_damping_ratio": { + "value": 2, + "description": "Spring damping ratio for length constraint" + }, + "phys_length_frequency": { + "value": 5, + "description": "Spring stiffness for length constraint" + }, + "phys_log_updaters": false, + "phys_log_updaters_exclude": "weapon pistol rifle survivor common_male", + "phys_log_updaters_include": "limbs", + "phys_min_motion_controller_count_to_run_in_job": 8, + "phys_multithreading_enabled": { + "value": true, + "description": "Enable/Disable Multithreading in VPhysics" + }, + "phys_pushscale": 1, + "phys_shoot_angular_speed": 3600, + "phys_shoot_speed": 250, + "phys_show_stats": false, + "phys_step_threaded": true, + "phys_stressbodyweights": 5, + "phys_threaded_cloth_bone_update": false, + "phys_threaded_kinematic_bone_update": false, + "phys_threaded_transform_update": false, + "phys_timescale": { + "value": 1, + "description": "Scale time for physics" + }, + "phys_upimpactforcescale": 0.375, + "phys_use_block_solver": { + "value": true, + "description": "Use block solving for constraint entities" + }, + "phys_vehicleimpactforcescale": 1.5, + "phys_visualize_awake_dynamic_only": false, + "phys_visualize_awake_unattached_only": false, + "phys_visualize_traces": false, + "phys_wind_force_scale": { + "value": 1, + "description": "Scale on the force wind applies to physics bodies" + }, + "pickup_check_period": 0.25, + "ping_indicator_safe_area_x": 480, + "ping_indicator_safe_area_y": 200, + "ping_target_reset_time": 1.2, + "ping_trace_radius": 5, + "ping_trace_radius_expanded": 60, + "ping_trace_radius_minimap": 60, + "ping_wheel_phrase_0": 1, + "ping_wheel_phrase_1": 2, + "ping_wheel_phrase_2": 4, + "ping_wheel_phrase_3": 34, + "ping_wheel_phrase_4": 18, + "ping_wheel_phrase_5": 5, + "ping_wheel_phrase_6": 42, + "ping_wheel_phrase_7": 6, + "player0_using_joystick": false, + "player_ping_indicator_boss_offset": 110, + "player_ping_indicator_default_offset": 50, + "player_ping_indicator_enabled": true, + "player_ping_indicator_local_player": false, + "player_ping_indicator_player_offset": 60, + "player_ping_indicator_scale_max_distance": 4000, + "player_ping_indicator_scale_max_scale": 1, + "player_ping_indicator_scale_min_distance": 1300, + "player_ping_indicator_scale_min_scale": 0.5, + "pred_cloth_pos_max": 2, + "pred_cloth_pos_multiplier": 0.5, + "pred_cloth_pos_strength": 0.25, + "pred_cloth_rot_high": 0.1, + "pred_cloth_rot_low": 0.01, + "pred_cloth_rot_multiplier": 0.3, + "presettle_cloth_iterations": 30, + "prop_nav_ignore_edge_len": -1, + "prop_nav_ignore_mass": -1, + "prop_nav_obstacle_avoid_mass": 100.1, + "prop_nav_obstacle_avoid_use_connection_blocker": false, + "prop_nav_obstacle_block_edge_min_": -1, + "prop_nav_obstacle_block_edge_min_a": -1, + "prop_nav_obstacle_block_edge_min_c": -1, + "prop_nav_obstacle_block_mass_a": -1, + "prop_nav_obstacle_block_mass_b": -1, + "prop_nav_obstacle_block_mass_c": -1, + "props_break_apply_radial_forces": true, + "props_break_max_pieces_perframe": { + "value": 16, + "description": "Maximum prop breakable piece count per frame (-1 = model default)" + }, + "props_break_radial_force_ratio": 0.33, + "pulse_save_execution_history": { + "value": true, + "description": "Keep a history of all instructions run on a per graph basis." + }, + "pulse_save_execution_history_limit": { + "value": 10000, + "description": "Keep a history of all instructions run on a per graph basis." + }, + "pvs_flowtype": { + "value": 0, + "description": "Flow through spawn groups for vis (0 == default, 1 == always visible, 2 == never visible." + }, + "pwatchent": { + "value": -1, + "description": "Entity to watch for prediction system changes." + }, + "r_AirboatViewDampenDamp": 1, + "r_AirboatViewDampenFreq": 7, + "r_AirboatViewZHeight": 0, + "r_JeepViewDampenDamp": 1, + "r_JeepViewDampenFreq": 7, + "r_JeepViewZHeight": 10, + "r_RainAllowInSplitScreen": { + "value": false, + "description": "Allows rain in splitscreen" + }, + "r_RainParticleDensity": { + "value": 1, + "description": "Density of Particle Rain 0-1" + }, + "r_add_views_in_pre_output": false, + "r_allow_onesweep_gpusort": true, + "r_always_render_all_windows": { + "value": false, + "description": "Always force all engine & tools to render" + }, + "r_aoproxy_cull_dist": { + "value": 12, + "description": "Distance to cull the AO proxy as a factor of size" + }, + "r_aoproxy_min_dist": 3, + "r_aoproxy_min_dist_box": 1, + "r_arealights": true, + "r_aspectratio": 0, + "r_async_compute_fog": false, + "r_async_shader_compile_notify_frequency": 10, + "r_bloom_tent_filter_radius": { + "value": 0, + "description": "bloom mip up-sample filtering radius (using 3x3 tent filter, radius in mip level texels), 0.0 radius => box (2x2) filter with (fixed) 1.0 radius" + }, + "r_character_decal_monitor_draw_frustum": false, + "r_character_decal_monitor_emissive": false, + "r_character_decal_monitor_render_res": 512, + "r_character_decal_renderdoc_capture": false, + "r_character_decal_resolution": { + "value": 1024, + "description": "Resolution of character decal texture." + }, + "r_citadel_antialiasing": 1, + "r_citadel_clip_sphere_cone_angle": 40, + "r_citadel_clip_sphere_dist": 0.45, + "r_citadel_clip_sphere_distance_max": 75, + "r_citadel_clip_sphere_min_opacity": 0.4, + "r_citadel_clip_sphere_skin": 0.4, + "r_citadel_cloak_blur_amount": { + "value": 0.01, + "description": "cloak" + }, + "r_citadel_cloak_blur_factor_max_roughness": { + "value": 1, + "description": "cloak" + }, + "r_citadel_cloak_blur_factor_min_roughness": { + "value": 1, + "description": "cloak" + }, + "r_citadel_cloak_blur_noise_amount": { + "value": 0.5, + "description": "cloak" + }, + "r_citadel_cloak_color_tint": { + "value": "[230, 230, 230, 255]", + "description": "cloak" + }, + "r_citadel_cloak_fresnel_effect": { + "value": 0, + "description": "cloak" + }, + "r_citadel_cloak_intensity": { + "value": 1, + "description": "cloak" + }, + "r_citadel_cloak_refract_amount": { + "value": 0, + "description": "cloak" + }, + "r_citadel_cosmic_veil_fade_dist": { + "value": 32, + "description": "cosmic veil" + }, + "r_citadel_depth_prepass_cull_threshold": 60, + "r_citadel_depth_prepass_dynamic_objects": true, + "r_citadel_depthoffield_aperture_diameter": { + "value": 0, + "description": "Depth of field aperture diameter in inches" + }, + "r_citadel_depthoffield_enable": { + "value": false, + "description": "Enable/Disable Depth of Field" + }, + "r_citadel_depthoffield_focus_distance": { + "value": 200, + "description": "Depth of field focus distance in inches" + }, + "r_citadel_depthoffield_mode": { + "value": 0, + "description": "Depth of field mode, 0: Normal 1: Near field only 2: Far field only" + }, + "r_citadel_depthoffield_sensor_size": { + "value": 1, + "description": "Depth of field sensor size in inches" + }, + "r_citadel_disable_npr_lighting": false, + "r_citadel_distancefield_ao_quality": { + "value": 0, + "description": "Distance Field AO quality" + }, + "r_citadel_distancefield_blur": { + "value": true, + "description": "Enable/Disable distance field blur" + }, + "r_citadel_distancefield_blur_depth_threshold": { + "value": 1, + "description": "Distance field blur depth threshold" + }, + "r_citadel_distancefield_down_sample": { + "value": 1, + "description": "Distance field down sample factor" + }, + "r_citadel_distancefield_farfield_enable": { + "value": true, + "description": "Distance field far field enable" + }, + "r_citadel_distancefield_farfield_occlusion_length": { + "value": 192, + "description": "Distance field far field occlusion length" + }, + "r_citadel_distancefield_farfield_occlusion_start_offset": { + "value": 16, + "description": "Distance field far field occlusion start offset" + }, + "r_citadel_distancefield_farfield_resolution": { + "value": 192, + "description": "Distance field far field resolution" + }, + "r_citadel_distancefield_farfield_size": { + "value": 2048, + "description": "Distance field far field size" + }, + "r_citadel_distancefield_max_distance": { + "value": 2048, + "description": "Maximum distance before culling" + }, + "r_citadel_distancefield_min_screen_space_size": { + "value": 0.015, + "description": "Minimum screen space size before culling" + }, + "r_citadel_distancefield_occlusion_length": { + "value": 48, + "description": "Distance field occlusion length" + }, + "r_citadel_distancefield_ray_origin_bias_max": { + "value": 3, + "description": "Distance field ray origin bias max" + }, + "r_citadel_distancefield_ray_origin_bias_min": { + "value": 0.25, + "description": "Distance field ray origin bias min" + }, + "r_citadel_distancefield_shadows": true, + "r_citadel_dlss_settings_mode": 0, + "r_citadel_enable_pano_world_blur": { + "value": true, + "description": "Enable world-blur style" + }, + "r_citadel_fog_quality": { + "value": 1, + "description": "Fog Quality" + }, + "r_citadel_fsr2_sharpness": 0.5, + "r_citadel_fsr3_min_reactiveness": { + "value": 0.1, + "description": "minimum reactiveness for the FSR3 shader" + }, + "r_citadel_fsr_enable_mip_bias": { + "value": true, + "description": "Apply negative mip bias when rendering with FSR." + }, + "r_citadel_fsr_rcas_sharpness": { + "value": 0.25, + "description": "RCAS sharpness when using FSR + RCAS upsample." + }, + "r_citadel_glow_health_bars": true, + "r_citadel_gpu_culling": { + "value": true, + "description": "Citadel/Graphics/GPU Culling" + }, + "r_citadel_gpu_culling_shadows": { + "value": false, + "description": "Citadel/Graphics/GPU Cull Shadow Views" + }, + "r_citadel_gpu_culling_two_pass": { + "value": true, + "description": "Citadel/Graphics/GPU Culling (Two Pass)" + }, + "r_citadel_gpu_preview_baked_shadows": true, + "r_citadel_gpu_preview_denoise": true, + "r_citadel_gpu_preview_denoise_depth_phi": 20, + "r_citadel_gpu_preview_denoise_normal_phi": 96, + "r_citadel_gpu_preview_denoise_passes": 3, + "r_citadel_gpu_preview_denoise_shadow_passes": 1, + "r_citadel_gpu_preview_denoise_signal_phi": 1, + "r_citadel_mboit_bias": 5e-06, + "r_citadel_mboit_enabled": { + "value": false, + "description": "enable moments oit" + }, + "r_citadel_mboit_overestimation": 0.25, + "r_citadel_mboit_quality": { + "value": 0, + "description": "MBOIT quality, 0: 4 Moments" + }, + "r_citadel_npr_force_solid_outline": false, + "r_citadel_npr_outlines": { + "value": true, + "description": "Enable/Disable NPR Outlines" + }, + "r_citadel_npr_outlines_max_dist": { + "value": 1000, + "description": "Maximum distance at which NPR outlines are rendered" + }, + "r_citadel_portrait_allow_particle_only": true, + "r_citadel_portrait_highlight_particle_only": false, + "r_citadel_render_game": { + "value": true, + "description": "Should you render the main game world" + }, + "r_citadel_screenspace_particles_full_res": { + "value": true, + "description": "Render screen space particles at full resolution" + }, + "r_citadel_see_thru_walls_opacity": { + "value": 0.3, + "description": "Opacity scale for see-thru UI" + }, + "r_citadel_selection_outline2_alpha": { + "value": 0.8, + "description": "Selection Outline Alpha" + }, + "r_citadel_selection_outline2_fade_pow": { + "value": 1.5, + "description": "Selection Outline Fade Pow" + }, + "r_citadel_selection_outline2_offset": { + "value": 0.3, + "description": "Selection Outline Offset: -1 for interior, 0 for centered, 1 for exterior." + }, + "r_citadel_selection_outline2_width": { + "value": 4, + "description": "Selection Outline Width" + }, + "r_citadel_shadow_caching": true, + "r_citadel_shadow_quality": { + "value": 1, + "description": "Shadow Quality" + }, + "r_citadel_shadowdb": 2048, + "r_citadel_ssao_quality": 3, + "r_citadel_ssao_thin_occluder_compensation": 0.5, + "r_citadel_sun_shadow_slope_scale_depth_bias": 3.54, + "r_citadel_upscaling": 4, + "r_citadel_use_exposure_control_in_panorama_scenes": false, + "r_cubemap_normalization": true, + "r_dashboard_render_quality": true, + "r_decals": 2048, + "r_decals_additional_offset": 0, + "r_decals_default_fade_duration": 3, + "r_decals_default_start_fade": 30, + "r_decals_max_on_deformables": 512, + "r_decals_overlap_threshold": 0, + "r_depth_of_field": true, + "r_directional_lightmaps": true, + "r_directlighting": { + "value": true, + "description": "Set to use direct lighting" + }, + "r_distancefield_enable": { + "value": true, + "description": "Graphics/Enable Distance Field rendering" + }, + "r_dlss_preset": 5, + "r_dof1_d0": 0.2, + "r_dof1_d1": 0.3, + "r_dof_override": false, + "r_dof_override_far_blurry": 2000, + "r_dof_override_far_crisp": 180, + "r_dof_override_near_blurry": -100, + "r_dof_override_near_crisp": 0, + "r_dof_override_ranges": "[0, 0, 0, 0]", + "r_dof_override_tilt_to_ground": 0.5, + "r_dopixelvisibility": true, + "r_draw3dskybox": true, + "r_draw_first_tri_only": false, + "r_draw_instances": true, + "r_draw_overlays": true, + "r_drawblankworld": { + "value": false, + "description": "Render blank instead of the game world" + }, + "r_drawdecals": { + "value": true, + "description": "Set to render decals" + }, + "r_drawdevvisualizers": { + "value": false, + "description": "Render dev visualizers" + }, + "r_drawpanorama": { + "value": true, + "description": "Enable the rendering of panorama UI" + }, + "r_drawpixelvisibility": { + "value": false, + "description": "Show the occlusion proxies" + }, + "r_drawropes": true, + "r_drawskybox": { + "value": true, + "description": "Render the 2d skybox." + }, + "r_drawtracers": true, + "r_drawtracers_firstperson": { + "value": true, + "description": "Toggle visibility of first person weapon tracers" + }, + "r_drawviewmodel": { + "value": true, + "description": "Render view model" + }, + "r_drawworld": { + "value": true, + "description": "Render the world." + }, + "r_dx11_software_cmd_lists": { + "value": true, + "description": "Enable Software Command lists for DX11 (Avoid using deferred contexts)" + }, + "r_effects_bloom": true, + "r_enable_cubemap_fog": { + "value": true, + "description": "Citadel/Graphics/Fog/Enable Cubemap Fog" + }, + "r_enable_gradient_fog": { + "value": true, + "description": "Citadel/Graphics/Fog/Enable Gradient Fog" + }, + "r_enable_rigid_animation": false, + "r_enable_volume_fog": { + "value": true, + "description": "Citadel/Graphics/Fog/Enable Volume Fog" + }, + "r_environment_map_roughness_range": { + "value": "[0.2, 0.3]", + "description": "Fade region for sampling environment maps on lightmapped nonmetals. Smoother values than the first param sample envmaps. Rougher values than the second sample only lightmap SH. r_environment_map_roughness_range 1 1 to always sample envmaps for comparison." + }, + "r_experimental_lag_limiter": false, + "r_extra_render_frames": 0, + "r_fallback_texture_lod_scale": { + "value": 2, + "description": "Scale factor for requested texture size (texture streaming) - used for geo that doesn't have a precomputed UV density measure" + }, + "r_farz": { + "value": -1, + "description": "Override the far clipping plane. -1 means to use the value in env_fog_controller." + }, + "r_flashlightambient": 0, + "r_flashlightbacktraceoffset": 0.4, + "r_flashlightbrightness": 1, + "r_flashlightconstant": 0, + "r_flashlightfar": 1500, + "r_flashlightfov": 53, + "r_flashlightladderdist": 40, + "r_flashlightlinear": 100, + "r_flashlightlockposition": false, + "r_flashlightmuzzleflashfov": 120, + "r_flashlightnear": 4, + "r_flashlightnearoffsetscale": 1, + "r_flashlightoffsetforward": 0, + "r_flashlightoffsetright": 5, + "r_flashlightoffsetup": -5, + "r_flashlightquadratic": 0, + "r_flashlightshadowatten": 0.35, + "r_flashlighttracedistcutoff": 128, + "r_flashlighttracedistwatercutoff": 80, + "r_flashlightvisualizetrace": false, + "r_flush_on_pooled_ib_resize": true, + "r_force_no_present": { + "value": false, + "description": "Force the render device to not present frames." + }, + "r_force_render_frame_count": { + "value": 5, + "description": "The number of frames to render when a" + }, + "r_force_thick_hair": false, + "r_force_zprepass": { + "value": -1, + "description": "0: Force z prepass off. 1: Force on. -1: Don't force" + }, + "r_frame_sync_enable": true, + "r_freeze_sceneobjects": false, + "r_freezeparticles": false, + "r_fullscreen_gamma": { + "value": 2.2, + "description": "Screen Gamma (only in fullscreen modes)" + }, + "r_fullscreen_quad_single_triangle": true, + "r_grass_allow_flattening": false, + "r_grass_alpha_test": 0, + "r_grass_density_mode": { + "value": 0, + "description": "0 = Density corresponds to blade existance, 1 = Density corresponds to blade height, 2 = Both 0 and 1" + }, + "r_grass_end_fade": 3000, + "r_grass_max_brightness_change": 75, + "r_grass_quality": { + "value": 2, + "description": "0 = Off, 1 = Low, 2 = Med, 3 = high, 4 = ultra" + }, + "r_grass_start_fade": 2000, + "r_grass_vertex_lighting": 0, + "r_hair_ao": true, + "r_hair_indirect_transmittance": true, + "r_hair_meshshader": 0, + "r_hair_shadowtile": true, + "r_hair_voxels": -1, + "r_hair_wind_global_scale": 0.3, + "r_hair_wind_min_noise_speed": 20, + "r_hair_wind_motion_scale": 0.07, + "r_hair_wind_noise": 0.2, + "r_hair_wind_noise_occlusion": 1, + "r_hair_wind_noise_size": 10, + "r_hair_wind_occlusion": 2, + "r_haircull_percent": -1, + "r_hairsort": true, + "r_impacts_alt_orientation": true, + "r_impacts_decal_grazing_incidence_cutoff": 0.55, + "r_impacts_decal_grazing_incidence_variance": 0.1, + "r_indirectlighting": { + "value": true, + "description": "Set to use indirect lighting" + }, + "r_late_particle_job_sync": false, + "r_legacy_vsync": { + "value": false, + "description": "Use legacy vsync mode -- for testing for a couple user machines." + }, + "r_light_flickering_enabled": true, + "r_light_sensitivity_mode": false, + "r_lighting_only": false, + "r_lightmap_bicubic_filtering": true, + "r_lightmap_set": { + "value": "lightmaps", + "description": "Lightmap set to use, only works on map load" + }, + "r_lightmap_size": { + "value": 65536, + "description": "Maximum lightmap resolution." + }, + "r_lightmap_size_directional_irradiance": { + "value": -1, + "description": "Maximum lightmap resolution for directional_irradiance channel. -1 = use value of r_lightmap_size" + }, + "r_limit_particle_job_duration": false, + "r_low_latency": { + "value": 1, + "description": "NVIDIA Low Latency/AMD Anti-Lag 2 (0 = off, 1 = on, 2 = NV-only, on + boost)" + }, + "r_low_latency_trigger_flash": { + "value": true, + "description": "NVIDIA Low Latency Trigger Flash" + }, + "r_mapextents": { + "value": 16384, + "description": "Set the max dimension for the map. This determines the far clipping plane" + }, + "r_max_portal_render_targets": 2, + "r_max_texture_pool_size": { + "value": 0, + "description": "Upper limit on texture pool size." + }, + "r_mixed_shadows_fade_in_time": 0.5, + "r_mixed_shadows_fade_out_time": 0.5, + "r_monitor_3dskybox": true, + "r_morphing_enabled": true, + "r_multigpu_num_gpus_found": 1, + "r_multigpu_num_gpus_used": 1, + "r_multiscattering": true, + "r_muzzleflashbrightness": 0.4, + "r_muzzleflashlinear": 0.05, + "r_nearz": { + "value": -1, + "description": "Override the near clipping plane. -1 means use the default." + }, + "r_opaque": true, + "r_particle_max_detail_level": 0, + "r_particle_timescale": 0, + "r_pipeline_stats_command_flush": { + "value": false, + "description": "Experimental: Set to 1 to enable full GPU pipeline flushing after each command list." + }, + "r_pipeline_stats_flush_before_sleeping": { + "value": false, + "description": "Experimental: Set to 1 to enable GPU pipeline flushes right before the render thread sleeps to wait for more work." + }, + "r_pipeline_stats_present_flush": { + "value": false, + "description": "Experimental: Set to 1 to enable full GPU pipeline flushing after each present." + }, + "r_pipeline_stats_use_flush_api": { + "value": true, + "description": "Experimental: Set to 1 to use the ID3D11DeviceContext11::Flush() to flush the GPU pipeline instead of queries." + }, + "r_pixelvisibility_partial": true, + "r_pixelvisibility_spew": false, + "r_post_bloom": false, + "r_post_bloom_strength": -1, + "r_postprocess_enable": true, + "r_propsmaxdist": { + "value": 1200, + "description": "Maximum visible distance" + }, + "r_render_deferred_opaque": true, + "r_render_forward_opaque": true, + "r_render_hair": true, + "r_render_portals": true, + "r_render_world_node_bounds": { + "value": false, + "description": "Render world node bounds" + }, + "r_renderdoc_auto_shader_pdbs": { + "value": true, + "description": "Automatically generate shader debug info on capture" + }, + "r_renderdoc_open_captures": true, + "r_renderdoc_validation_error_capture_limit": 5, + "r_rendersun": { + "value": true, + "description": "Render sun lighting" + }, + "r_replay_post_effect": -1, + "r_reset_character_decals": false, + "r_ropetranslucent": true, + "r_screen_size_expansion": 0, + "r_shadows": true, + "r_shadowtile_waveops": false, + "r_showsceneobjectbounds": { + "value": false, + "description": "Show scenesystem object bounding boxes" + }, + "r_size_cull_threshold": { + "value": 0.8, + "description": "Threshold of screen size percentage below which objects get culled" + }, + "r_size_cull_threshold_fade": { + "value": 0, + "description": "% above the screen size percentage where we will start fading out (==0 will disable fading)." + }, + "r_size_cull_threshold_shadow": { + "value": 0.2, + "description": "Threshold of shadow map size percentage below which objects get culled" + }, + "r_skinning_enabled": true, + "r_skip_precache_validation_check": false, + "r_smooth_morph_normals": true, + "r_ssao": { + "value": true, + "description": "Set to use screen-space ambient occlusion" + }, + "r_ssao_bias": 0.5, + "r_ssao_blur": true, + "r_ssao_radius": 30, + "r_ssao_strength": 1.2, + "r_strip_invisible_during_sceneobject_update": false, + "r_suppress_redundant_state_changes": true, + "r_texture_budget_dynamic": { + "value": true, + "description": "Dynamically adjust texture streaming budget based on GPU memory usage." + }, + "r_texture_budget_threshold": { + "value": 0.9, + "description": "Reduce texture memory pool size when this percentage of the budget is full." + }, + "r_texture_budget_update_period": { + "value": 0.1, + "description": "Time (in seconds) between updating texture memory budget." + }, + "r_texture_eager_eviction": false, + "r_texture_hookup_uses_threadpool": { + "value": true, + "description": "Async Texture hookup uses its own threadpool instead of the global pool." + }, + "r_texture_lod_scale": { + "value": 1, + "description": "Scale factor for requested texture size (texture streaming)" + }, + "r_texture_nonstreaming_load": { + "value": true, + "description": "Allow immediately loading mips of textures (when possible) when their headers are loaded, saving IO & reducing latency." + }, + "r_texture_pool_increase_rate": { + "value": 64, + "description": "Increase texture memory pool size by this many MB / s when under budget." + }, + "r_texture_pool_reduce_rate": { + "value": 256, + "description": "Reduce texture memory pool size by this many MB / s when over budget." + }, + "r_texture_pool_size": { + "value": 1600, + "description": "Total size of the texture pool in MB" + }, + "r_texture_stream_max_resolution": { + "value": 2147483647, + "description": "Maximum resolution for top mip level in streaming textures" + }, + "r_texture_stream_mip_bias": { + "value": 0, + "description": "Biases the mip level the texture streaming system choses to stream for each texture." + }, + "r_texture_stream_resolution_bias": 1, + "r_texture_stream_resolution_bias_decrease_rate": 0.1, + "r_texture_stream_resolution_bias_increase_rate": 0.05, + "r_texture_stream_resolution_bias_min": 1, + "r_texture_stream_resolution_bias_update_period": 0.5, + "r_texture_stream_throttle_amount": 10, + "r_texture_stream_throttle_count": 3, + "r_texture_stream_throttle_count_over_budget": 1, + "r_texture_streaming_timesliced": true, + "r_texture_streamout_unthrottle_ms": { + "value": 0.2, + "description": "After hitting throttling limits for streamout, allow it to continue up to this number of milliseconds." + }, + "r_texturefilteringquality": { + "value": 1, + "description": "0: Bilinear, 1: Trilinear, 2: Aniso 2x, 3: Aniso 4x, 4: Aniso 8x, 5: Aniso 16x" + }, + "r_threaded_particle_creation": false, + "r_threaded_particles": false, + "r_threaded_scene_object_update": true, + "r_timestamp_query_multiplier": { + "value": 1, + "description": "Set the TIMESTAMP query cycle multiplier, for drivers that lie" + }, + "r_translucent": { + "value": true, + "description": "Enable rendering of translucent geometry" + }, + "r_update_particles_on_render_only_frames": false, + "r_use_memory_budget_model": { + "value": false, + "description": "Use a model of GPU memory use to determine budget rather than querying the OS." + }, + "r_validate_texture_streaming": { + "value": false, + "description": "Dumps state of texture streaming at the next frame boundary." + }, + "r_vconsole_foregroundforcerender": { + "value": true, + "description": "When VConsole is in the foreground, force all engine & tools to render" + }, + "r_wait_on_present": false, + "r_world_frame_load_threshold_ms": 10, + "r_world_wind_dir": "[0.707, 0.707, 0]", + "r_world_wind_frequency_grass": 0.03, + "r_world_wind_frequency_trees": 0.003, + "r_world_wind_offset_speed": "[0.25, 0.3, 0.2]", + "r_world_wind_smooth_time": 2, + "r_world_wind_strength": 40, + "r_zprepass_normals": { + "value": false, + "description": "0: Use normals reconstructed from depth. 1: Output correct normals in z prepass." + }, + "ragdoll_biped_settle_duration": 1.5, + "ragdoll_biped_settle_force": 0.5, + "ragdoll_biped_settle_lift_force": 0.2, + "ragdoll_biped_settle_start_time": 0.5, + "ragdoll_biped_settle_vertical_limit": 0.7, + "ragdoll_fixup_joint_limits": { + "value": true, + "description": "Adjusts bone transforms so that physics joints don't appear violated (limits)" + }, + "ragdoll_fixup_joint_limits_max_height": { + "value": 1, + "description": "Disable ragdoll_fixup_joint_limits on joints too high in the hierarchy because long chains tend to depend on violating limits" + }, + "ragdoll_fixup_joint_orientation": { + "value": true, + "description": "Adjusts bone transforms so that physics joints don't appear violated (orientation)" + }, + "ragdoll_fixup_joint_orientation_max_height": { + "value": 10, + "description": "Disable ragdoll_fixup_joint_orientation on joints too high in the hierarchy because small differences can massively accumulate (e.g. long chains)" + }, + "ragdoll_fixup_joint_translation": { + "value": true, + "description": "Adjusts bone transforms so that physics joints don't appear violated (translation)" + }, + "ragdoll_impact_strength": 500, + "ragdoll_lru_min_age": 10, + "ragdoll_move_entity": false, + "ragdoll_override_root_orientation": true, + "ragdoll_parallel_pose_control": false, + "ragdoll_prop_settle": { + "value": true, + "description": "Enable more aggressive ragdoll settling" + }, + "ragdoll_prop_sleepaftertime": { + "value": 4, + "description": "After this many seconds of being basically stationary, the ragdoll will go to sleep." + }, + "ragdoll_prop_sleepdisabletime": { + "value": 1.5, + "description": "Ragdoll is not allowed to physically sleep until this timer has elapsed." + }, + "ragdoll_resolve_initial_conflict": false, + "ragdoll_resolve_separation": false, + "ragdoll_scale_sleep_tolerance": true, + "ragdoll_update_from_weights": false, + "ragdoll_visualize_creation_skeleton": false, + "ragdoll_vphysics_scale": { + "value": 0.5, + "description": "How much we scale physics impacts against the ragdoll." + }, + "rate": { + "value": 80000, + "description": "Min bytes/sec the host can receive data" + }, + "rcon_connected_clients_allow": { + "value": true, + "description": "Allow clients to use rcon commands on server." + }, + "recast_mark_overhang": { + "value": false, + "description": "Enable/disable overhang detection" + }, + "recast_partitioning": { + "value": 0, + "description": "0 = watershed, 1 = monotone, 2 = layers" + }, + "report_cliententitysim": { + "value": false, + "description": "List all clientside simulations and time - will report and turn itself off." + }, + "report_clientthinklist": { + "value": false, + "description": "List all clientside entities thinking and time - will report and turn itself off." + }, + "report_connection_failure_percentage": 0, + "reset_voice_on_input_stallout": { + "value": false, + "description": "If true, resets the input device when there was a long enough hitch between callbacks." + }, + "resourcesystem_multiframe_finalize_time_msec": { + "value": 10, + "description": "Max time to spend finalizing resources per frame in miliseconds." + }, + "rope_averagelight": { + "value": true, + "description": "Makes ropes use average of cubemap lighting instead of max intensity." + }, + "rope_collide": { + "value": 1, + "description": "Collide rope with the world" + }, + "rope_shake": false, + "rope_smooth_enlarge": { + "value": 1.4, + "description": "How much to enlarge ropes in screen space for antialiasing effect" + }, + "rope_smooth_maxalpha": { + "value": 0.5, + "description": "Alpha for rope antialiasing effect" + }, + "rope_smooth_maxalphawidth": 1.75, + "rope_smooth_minalpha": { + "value": 0.2, + "description": "Alpha for rope antialiasing effect" + }, + "rope_smooth_minwidth": { + "value": 0.3, + "description": "When using smoothing, this is the min screenspace width it lets a rope shrink to" + }, + "rope_subdiv": { + "value": 2, + "description": "Rope subdivision amount" + }, + "rope_wind_dist": { + "value": 1000, + "description": "Don't use CPU applying small wind gusts to ropes when they're past this distance." + }, + "rpg_camera_yaw": 90, + "rr_followup_maxdist": { + "value": 1800, + "description": "'then ANY' or 'then ALL' response followups will be dispatched only to characters within this distance." + }, + "rr_thenany_score_slop": { + "value": 0, + "description": "When computing respondents for a 'THEN ANY' rule, all rule-matching scores within this much of the best score will be considered." + }, + "rtx_dynamic_blas": { + "value": true, + "description": "Allow dynamic BLAS creation for geometry going through the compute shader skinning path." + }, + "rtx_dynamic_blas_caching": { + "value": true, + "description": "Cache dynamic BLAS if geometry has not changed" + }, + "rtx_force_default_hitgroup": { + "value": false, + "description": "Forces all ray traced geometry to use default hit shaders instead of specialized ones." + }, + "rtx_perf_stats": { + "value": -1, + "description": "Report RTX perf stats at N bounces. -1 means no report" + }, + "rtx_texture_resolution": { + "value": 512, + "description": "Sets the texture resolution the raytracer will mark to stream in" + }, + "run_voicecontainer_async": false, + "save_async": true, + "save_fake_hitch": { + "value": 0, + "description": "Force a busy wait for the specified number of milliseconds during save to simulate a hitch" + }, + "save_history_count": { + "value": 1, + "description": "Keep this many old copies in history of autosaves and quicksaves." + }, + "save_maxarray_spew": { + "value": 10, + "description": "Max number of array entries to spew when using SaveRestoreIO spewing." + }, + "save_parallel": false, + "save_screenshot": { + "value": 2, + "description": "0 = none, 1 = non-autosave, 2 = always, 3 = bug_only" + }, + "save_spew": false, + "save_version": { + "value": 1, + "description": "0: (V0) Legacy save format, 1: (V1) KeyValues3 save format, 2: (V2) KV3Transfer saves" + }, + "save_write_kv3": { + "value": false, + "description": "Write the KV3 entity data as a text file in the save directory" + }, + "saving_enabled": true, + "sc_aggregate_bvh": true, + "sc_aggregate_bvh_threshold": 128, + "sc_aggregate_fragment_merging": true, + "sc_aggregate_gpu_culling": { + "value": true, + "description": "Toggles GPU culling of aggregate meshes" + }, + "sc_aggregate_gpu_culling_conservative_bounds": false, + "sc_aggregate_gpu_culling_show_culled": { + "value": false, + "description": "SceneSystem/Aggregates/Show GPU Culled Meshes" + }, + "sc_aggregate_gpu_occlusion_culling": true, + "sc_aggregate_gpu_vis_culling": true, + "sc_aggregate_indirect_draw_compaction": { + "value": true, + "description": "Use multidrawindirect...count if the driver/hardware supports it" + }, + "sc_aggregate_indirect_draw_compaction_threshold": { + "value": 8, + "description": "Threshold of indirect draws when we will do compaction" + }, + "sc_aggregate_instance_streams": { + "value": true, + "description": "Enable instance streams" + }, + "sc_aggregate_render_mesh_shader": { + "value": true, + "description": "Using mesh shaders if available instead of drawcalls" + }, + "sc_aggregate_rtproxy_instanced_geo": true, + "sc_aggregate_rtproxy_unique_geo": true, + "sc_aggregate_show_outside_vis": false, + "sc_allow_dithered_lod": { + "value": true, + "description": "Allow use of dithered lod transitions" + }, + "sc_allow_dynamic_constant_batching": true, + "sc_allow_precomputed_vismembers": true, + "sc_allow_write_depth_before_blend": true, + "sc_barnlight_enable_precomputed_vis": { + "value": true, + "description": "Enable use of precomputed vis membership for lights (requires map restart)" + }, + "sc_batch_layer_cb_updates": true, + "sc_cache_envmap_lpv_lookup": true, + "sc_clutter_density_full_size": { + "value": 0.0075, + "description": "Screen-size where clutter will be full density" + }, + "sc_clutter_density_none_size": { + "value": 0.0035, + "description": "Screen-size where clutter will be gone" + }, + "sc_clutter_desity_override": false, + "sc_clutter_enable": { + "value": true, + "description": "SceneSystem/Clutter/Draw Clutter" + }, + "sc_disableThreading": false, + "sc_disable_baked_lighting": false, + "sc_disable_culling_boxes": false, + "sc_disable_procedural_layer_rendering": false, + "sc_disable_shadow_fastpath": false, + "sc_disable_spotlight_shadows": false, + "sc_disable_world_materials": false, + "sc_dithered_lod_transition_amt": { + "value": 0.075, + "description": "Percentage of the transition between two lods we will apply a dither" + }, + "sc_draw_aggregate_meshes": { + "value": true, + "description": "SceneSystem/Aggregates/Draw Aggregates" + }, + "sc_enable_discard": true, + "sc_extended_stats": false, + "sc_fade_distance_scale_override": -1, + "sc_force_lod_level": -1, + "sc_force_materials_batchable": false, + "sc_force_single_display_list_per_layer": false, + "sc_force_translation_in_projection": { + "value": false, + "description": "If enabled, the camera's translation will be included in the projection matrix." + }, + "sc_hdr_enabled_override": { + "value": -1, + "description": "Override default setting for HDR rendering. -1 default, 0 NoHdr, 1 Hdr, 2 Hdr 1010102 3 Hdr 111110" + }, + "sc_imgui_show_id_stack": { + "value": false, + "description": "SceneSystem/Imgui/Show ID Stack Tool" + }, + "sc_imgui_show_metrics": { + "value": false, + "description": "SceneSystem/Imgui/Show Metrics" + }, + "sc_instanced_gpu_culling_show_culled": { + "value": false, + "description": "SceneSystem/Instanced/Show GPU Culled Meshlets" + }, + "sc_instanced_mesh_enable": { + "value": true, + "description": "SceneSystem/Instanced/Draw Instanced" + }, + "sc_instanced_mesh_gpu_culling": { + "value": true, + "description": "Toggles GPU culling of instanced meshes" + }, + "sc_instanced_mesh_gpu_density_culling": { + "value": true, + "description": "Toggles density culling (if enabled)" + }, + "sc_instanced_mesh_gpu_occlusion_culling": { + "value": true, + "description": "Toggles GPU occlusion of instanced meshes" + }, + "sc_instanced_mesh_gpu_vis_culling": { + "value": true, + "description": "Toggles GPU vis of instanced meshes" + }, + "sc_instanced_mesh_lod_bias": { + "value": 1.25, + "description": "Bias for LOD selection of instanced meshes" + }, + "sc_instanced_mesh_lod_bias_shadow": { + "value": 1.75, + "description": "Bias for LOD selection of instanced meshes in shadowmaps" + }, + "sc_instanced_mesh_mesh_shader": { + "value": true, + "description": "Toggles mesh shader rendering for instanced meshes" + }, + "sc_instanced_mesh_motion_vectors": { + "value": true, + "description": "Toggles motion vector support for instanced meshes" + }, + "sc_instanced_mesh_opaque_fade": { + "value": true, + "description": "Toggles fade support for instanced meshes" + }, + "sc_instanced_mesh_size_cull_bias": { + "value": 1.5, + "description": "Bias for size culling of instanced meshes" + }, + "sc_instanced_mesh_size_cull_bias_shadow": { + "value": 2, + "description": "Bias for size culling instanced meshes in shadowmaps" + }, + "sc_keep_all_layers": false, + "sc_layer_batch_threshold": 128, + "sc_layer_batch_threshold_fullsort": 80, + "sc_max_framebuffer_copies_per_layer": 1, + "sc_mesh_backface_culling": true, + "sc_no_cull": false, + "sc_no_vis": false, + "sc_only_render_opaque": false, + "sc_only_render_shadowcasters": false, + "sc_reject_all_objects": false, + "sc_screen_size_lod_scale_override": -1, + "sc_shadow_depth_bias": 256, + "sc_shadow_depth_bias_clamp": 0, + "sc_shadow_depth_bias_state_override": false, + "sc_shadow_slopescale_depth_bias": 2.13, + "sc_show_cs_skinning_stats": { + "value": false, + "description": "SceneSystem/Compute Skinning Stats" + }, + "sc_show_gpu_profiler": { + "value": false, + "description": "SceneSystem/GPU Profiler" + }, + "sc_show_object_browser": { + "value": false, + "description": "SceneSystem/SceneObject Browser" + }, + "sc_show_texture_visualizer": { + "value": false, + "description": "SceneSystem/Texture Visualizer" + }, + "sc_show_view_profiler": { + "value": false, + "description": "SceneSystem/View Profiler" + }, + "sc_skip_traversal": false, + "sc_spew_cmt_usage": false, + "sc_throw_away_all_layers": false, + "sc_use_clear_subrect": false, + "sc_view_profiler_frame_averaging": 10, + "sc_visualize_batches": { + "value": 0, + "description": "color per batch" + }, + "sc_visualize_sceneobjects": { + "value": "SCENEOBJECT_VIS_NONE", + "description": "SceneSystem/Visualize SceneObject Mode" + }, + "scene_clientflex": { + "value": true, + "description": "Do client side flex animation." + }, + "scene_maxcaptionradius": { + "value": 1200, + "description": "Only show closed captions if recipient is within this many units of speaking actor (0==disabled)." + }, + "scene_panel_rotate_drag": 0.19, + "scene_panel_rotate_frametime_multiplier": 1, + "scene_panel_rotate_grab_scale": 0.5, + "scene_panel_rotate_scale": 2, + "scene_print": { + "value": 0, + "description": "When playing back a scene, print timing and event info to console." + }, + "scene_showfaceto": { + "value": false, + "description": "When playing back, show the directions of faceto events." + }, + "scene_showmoveto": { + "value": false, + "description": "When moving, show the end location." + }, + "scene_vcdautosave": { + "value": false, + "description": "Create a savegame before VCD playback" + }, + "screenmessage_notifytime": { + "value": 8, + "description": "How long to display screen message text" + }, + "screenmessage_show": { + "value": -1, + "description": "Enable display of console messages on screen. 1 = Enabled, 0 = Disabled, -1 = Enabled if vgui is not present" + }, + "screenshot_height": { + "value": -1, + "description": "Screenshot height. -1 for screen height." + }, + "screenshot_prefix": { + "value": "shot", + "description": "Set the screenshot auto naming prefix." + }, + "screenshot_subdir": { + "value": "screenshots", + "description": "Set the screenshot directory." + }, + "screenshot_width": { + "value": -1, + "description": "Screenshot width. -1 for screen width." + }, + "sensitivity": { + "value": 1.25, + "description": "Mouse sensitivity." + }, + "sensitivity_y_scale": { + "value": 1, + "description": "Multiplies the mouse Y axis for finer pitch vs yaw aim" + }, + "server_max_signout_duration_no_steam_connection_s": 5400, + "server_max_signout_duration_s": 10800, + "server_mem_record_after_time_min": { + "value": 5, + "description": "The number of minutes required to have elapsed before recording a memory sample" + }, + "server_mem_record_interval_min": { + "value": 0, + "description": "The number of minutes required between memory samples. Set to 0 to disable memory sampling" + }, + "server_mem_record_threshold_mb": { + "value": 0, + "description": "The amount of outstanding memory required to trigger a memory report. 0 disables." + }, + "server_signout_backoff_max": 40, + "server_signout_backoff_min": 1, + "server_signout_backoff_scale_s": 10, + "server_signout_record_custom_user_stats": true, + "servercfgfile": "server.cfg", + "shake_show": { + "value": false, + "description": "Displays a list of the active screen shakes." + }, + "shatterglass_cleanup": true, + "shatterglass_cleanup_max": 200, + "shatterglass_hit_tolerance": 2, + "shatterglass_shard_lifetime": 15, + "show_botmatch_warning": { + "value": false, + "description": "Force showing the botmatch warning during pause." + }, + "show_visibility_boxes": { + "value": false, + "description": "Enable or Disable debug display of visibility boxes" + }, + "silence_dsp": { + "value": false, + "description": "When on, silences all DSP mixes." + }, + "sk_autoaim_mode": 1, + "sk_player_arm": 1, + "sk_player_chest": 1, + "sk_player_head": 2, + "sk_player_leg": 1, + "sk_player_stomach": 1, + "skel_constraints_enable": true, + "skeleton_instance_lod_optimization": { + "value": false, + "description": "Compute LOD mask internally like since 2016, i.e. force all LOD groups' bones to compute" + }, + "skeleton_instance_scaleset_enable": true, + "skeleton_instance_smear_boneflags": { + "value": false, + "description": "Smear boneflags across the model. Costs computation, but tests to make sure your bone flags are consistent." + }, + "skeleton_physics_joint_fixup": true, + "skill": { + "value": 1, + "description": "Game skill level." + }, + "smoothstairs": { + "value": true, + "description": "Smooth player eye z coordinate when traversing stairs." + }, + "snd_async_spew_blocking": { + "value": 0, + "description": "Spew message to console any time async sound loading blocks on file i/o." + }, + "snd_autodetect_latency": true, + "snd_boxverb_simd": { + "value": true, + "description": "Enable SIMD code path for shoebox reverb processor." + }, + "snd_boxverb_simd_svf": { + "value": 1, + "description": "0 = use biquad instead of svf, 1 = use vectorized svf, 2 = use scalar svf" + }, + "snd_compare_KV_convert": false, + "snd_delay_sound_ms_max": { + "value": 250, + "description": "Sound device synchronization max delay (ms)" + }, + "snd_delay_sound_ms_shift": { + "value": 23, + "description": "Sound device synchronization shift (ms)" + }, + "snd_diffusor_simd": { + "value": false, + "description": "Enable SIMD code path for diffusor processor." + }, + "snd_disable_mixer_duck": false, + "snd_disable_mixer_solo": false, + "snd_dsp_distance_max": 2000, + "snd_dsp_distance_min": 20, + "snd_duckerattacktime": 0.5, + "snd_duckerreleasetime": 2.5, + "snd_duckerthreshold": 0.15, + "snd_ducktovolume": 0.55, + "snd_enable_imgui": { + "value": false, + "description": "Game/Sound System Debugger" + }, + "snd_enable_subgraph_corenull_passthrough": true, + "snd_enable_subgraph_log": false, + "snd_envelope_rate": 0.9, + "snd_event_oriented_lerp_max_distance": 64, + "snd_event_oriented_lerp_min_distance": 24, + "snd_foliage_db_loss": { + "value": 4, + "description": "foliage dB loss per 1200 units" + }, + "snd_gain": 1, + "snd_gain_max": 1, + "snd_gain_min": 0.01, + "snd_gamevoicevolume": { + "value": 1, + "description": "Game v.o. volume" + }, + "snd_gamevolume": { + "value": 1, + "description": "Game volume" + }, + "snd_group_priority_max_tolerance": 0.05, + "snd_hrtf_distance_behind": { + "value": 0, + "description": "HRTF calculations will calculate the player as being this far behind the camera." + }, + "snd_log_empty_event_entities": { + "value": false, + "description": "Logs the sound event entities that have empty names." + }, + "snd_mergemethod": { + "value": 1, + "description": "Sound merge method (0 == sum and clip, 1 == max, 2 == avg)." + }, + "snd_min_latency": false, + "snd_mix_async": true, + "snd_mixahead": 0.001, + "snd_mixer_master_dsp": 1, + "snd_mixer_master_level": 1, + "snd_musicvolume": { + "value": 1, + "description": "Music volume" + }, + "snd_mute_losefocus": true, + "snd_new_visualize": { + "value": false, + "description": "Displays soundevent name played at it's 3d position" + }, + "snd_occlusion_bounces": 1, + "snd_occlusion_indirect_max": 0.7, + "snd_occlusion_indirect_min": 0.01, + "snd_occlusion_indirect_radius": 120, + "snd_occlusion_min_wall_thickness": 4, + "snd_occlusion_override": -1, + "snd_occlusion_rays": 4, + "snd_occlusion_report": false, + "snd_occlusion_visualize": false, + "snd_op_test_convar": 720, + "snd_opvar_set_point_update_interval": 0.2, + "snd_opvar_set_point_update_interval_fast": 0.0333, + "snd_rear_stereo_scale": 1, + "snd_refdb": { + "value": 60, + "description": "Reference dB at snd_refdist" + }, + "snd_refdist": { + "value": 36, + "description": "Reference distance for snd_refdb" + }, + "snd_report_audio_nan": false, + "snd_report_verbose_error": { + "value": false, + "description": "If set to 1, report more error found when playing sounds." + }, + "snd_sequencer_show_bpm": false, + "snd_sequencer_show_events": false, + "snd_sequencer_show_quantize_queue": false, + "snd_showclassname": 0, + "snd_showstart": 0, + "snd_sos_block_global_stack": false, + "snd_sos_block_stop_global_stack": true, + "snd_sos_enable_nan_check": false, + "snd_sos_hide_simple_parameter_overwrite_warnings": true, + "snd_sos_limit_self": false, + "snd_sos_list_operator_updates": false, + "snd_sos_max_event_base_depth": 4, + "snd_sos_pause_system": false, + "snd_sos_print_addfield_dupes": false, + "snd_sos_print_field_references": false, + "snd_sos_print_fps": false, + "snd_sos_print_full_field_info": false, + "snd_sos_print_table_arrays": false, + "snd_sos_report_entity_deleted": false, + "snd_sos_show_entry_match_free": false, + "snd_sos_show_mixgroup_path_errors": false, + "snd_sos_show_operator_event_and_stack": true, + "snd_sos_show_operator_init": false, + "snd_sos_show_operator_not_executing": true, + "snd_sos_show_operator_pause_entry": false, + "snd_sos_show_operator_shutdown": false, + "snd_sos_show_operator_stop_entry": false, + "snd_sos_show_operator_updates": false, + "snd_sos_show_opfield_cache_updates": false, + "snd_sos_show_opvar_updates": false, + "snd_sos_show_parameter_overwrite_value_comparisons": false, + "snd_sos_show_parameter_overwrite_warnings": false, + "snd_sos_show_queuetotrack": false, + "snd_sos_show_soundevent_overwrites": false, + "snd_sos_show_soundevent_param_overwrite": false, + "snd_sos_show_soundevent_start": false, + "snd_sos_show_track_list": false, + "snd_sos_show_voice_elapsed_time": false, + "snd_sos_soundevent_constellation_replenish_max_fraction": 0.3, + "snd_sos_soundevent_deferred_interval_time": 0.1, + "snd_sos_soundevent_max_deferred_time": 5, + "snd_sos_soundevent_show_deferral_warning": false, + "snd_soundmixer": "Default_Mix", + "snd_soundmixer_update_maximum_frame_rate": 10, + "snd_soundmixer_version": 2, + "snd_spatialize_lerp": 0, + "snd_steamaudio_dynamicpathing_max_samples": 16, + "snd_steamaudio_enable_reverb": { + "value": 0, + "description": "Enable Steam Audio Reverb processor." + }, + "snd_steamaudio_pathing_caching_threshold": 5, + "snd_steamaudio_pathing_enable_caching": true, + "snd_steamaudio_perspective_correction_front_only": { + "value": true, + "description": "Use perspective correction for 3D audio only in the frontal directions." + }, + "snd_steamaudio_reverb_level_db": { + "value": -3, + "description": "Adjust overall volume (dB) of the output from Steam Audio Reverb processor." + }, + "snd_steamaudio_source_pathing_enable_validation": { + "value": false, + "description": "Enable real-time pathing validation against dynamic geometry." + }, + "snd_toolvolume": { + "value": 1, + "description": "Volume of sounds in tools (e.g. Hammer, SFM)" + }, + "snd_ui_positional": false, + "snd_ui_spatialization_spread": 1, + "snd_use_baked_occlusion": 0, + "snd_vmix_override_mix_decay_time": { + "value": -1, + "description": "If set > 0, overrides how long the decay time is on all mix graphs (in seconds)." + }, + "snd_vmix_show_input_updates": { + "value": false, + "description": "If set to 1, show all incoming updates to vmix inputs." + }, + "snd_voipvolume": { + "value": 1, + "description": "Voice volume" + }, + "sos_use_guid_filter": false, + "soundevent_check_networked_entity": false, + "soundpatch_captionlength": { + "value": 2, + "description": "How long looping soundpatch captions should display for." + }, + "soundscape_fadetime": { + "value": 3, + "description": "Time to crossfade sound effects between soundscapes" + }, + "soundscape_message": false, + "soundscape_update_include_bots": { + "value": false, + "description": "Enable to calculate soundscape audio params for bots." + }, + "soundsystem_update_async": true, + "sparseshadowtree_cascade_mask": { + "value": 4, + "description": "Bitfield describing which cascades to generate/use SST for. (OR'd 1UL< 0, sets the mode whereas players see delayed replay, and are segregated into a domain of chat and voice separate from the alive players" + }, + "spec_replay_others_experimental": { + "value": false, + "description": "Replay the last death of the round, if possible. Disabled on official servers by default. Experimental." + }, + "spec_replay_rate_base": { + "value": 1, + "description": "Base time scale of Killer Replay.Experimental." + }, + "spec_replay_rate_limit": { + "value": 3, + "description": "Minimum allowable pause between replay requests in seconds" + }, + "spec_replay_rate_slowdown": { + "value": 1, + "description": "The part of Killer Replay right before death is played at this rate" + }, + "spec_replay_rate_slowdown_length": { + "value": 0.5, + "description": "The part of Killer Replay right before death is played at this rate" + }, + "spec_replay_review_sound": { + "value": true, + "description": "When set to non-0, a sound effect is played during Killer Replay" + }, + "spec_replay_sound_fadein": { + "value": 0.05, + "description": "Amount of time in seconds it takes to fade in the audio before or after replay" + }, + "spec_replay_sound_fadeout": { + "value": 0, + "description": "Amount of time in seconds it takes to fade out the audio before or after replay" + }, + "spec_replay_victim_pov": { + "value": false, + "description": "Killer Replay - replay from victim's point of view (1); the default is killer's (0). Experimental." + }, + "spec_replay_winddown_time": { + "value": 2, + "description": "The trailing time, in seconds, of replay past the event, including fade-out" + }, + "spec_track": { + "value": 0, + "description": "Tracks an entity in spec mode" + }, + "splitscreen_mode": 0, + "ss_mimic": { + "value": 0, + "description": "Split screen users mimic base player's CUserCmds" + }, + "ss_voice_hearpartner": { + "value": false, + "description": "Route voice between splitscreen players on same system." + }, + "stats_collect_gpu": { + "value": false, + "description": "While doing stats_display, collect GPU perf counters. Used for stats_print_gpu." + }, + "stats_display": { + "value": 0, + "description": "Displays perf statistics information" + }, + "stats_highlight_interval": { + "value": 10, + "description": "Interval between hightlight screens in the transition stats panel" + }, + "steam_inputhandler_analog_data_to_enable_controller": { + "value": 0.9, + "description": "Amount of analog data needed to switch to controller mode" + }, + "steam_inputhandler_enabled": { + "value": true, + "description": "Enable steaminput" + }, + "steam_inputhandler_fake_steamdeck": { + "value": false, + "description": "Pretend to be a steam deck for purposes of automatically turning on the controller" + }, + "steam_inputhandler_glyph_lock_mode": { + "value": 0, + "description": "0: Automatic (Default) - switch glyphs when a keyboard bind or controller bind activates. 1: Keyboard and Mouse only. 2: Controller Only" + }, + "steaminput_glyph_neutral": { + "value": 0, + "description": "Fallback values for unspecified style in steam input Glyphs. 0: Use Colors, 1: Solid" + }, + "steaminput_glyph_solid": { + "value": 1, + "description": "Fallback values for unspecified style in steam input Glyphs. 0: Not Solid, 1: Solid" + }, + "steaminput_glyph_style": { + "value": 1, + "description": "Fallback values for unspecified style in steam input Glyphs. 0: Knockout, 1: Light, 2: Dark" + }, + "steaminput_glyph_use_svg": { + "value": true, + "description": "Use SVG vs PNG" + }, + "steaminput_glyph_use_universal_face_buttons": { + "value": true, + "description": "When enabled, Face Buttons use a diamond of circles, rather than controller specific glyphs for faces" + }, + "steamlearn_data_submit_enable": { + "value": true, + "description": "Whether we should be submitting data to SteamLearn" + }, + "steamlearn_inference_http": { + "value": false, + "description": "If we should use HTTP for inference queries" + }, + "steamlearn_max_in_flight": { + "value": 100, + "description": "Maximum number of steamlearn requests that we can have in flight at once" + }, + "steamlearn_request_timeout_s": { + "value": 5, + "description": "Timeout in seconds for backend requests" + }, + "steamlearn_spew_um_times": { + "value": true, + "description": "If we should spew how long inferences take to complete" + }, + "sticky_tooltips": { + "value": false, + "description": "Don't ever hide tooltips. Helpful when debugging complicated tooltip layouts." + }, + "street_brawl_healing_multiplier": 1, + "subtick_buttons_enabled": false, + "survey_chance": { + "value": 0, + "description": "Percentage chance of showing the survey questions when entering matchmaking" + }, + "survey_force_question_type": { + "value": 0, + "description": "Force a specific survey question type for survey questions" + }, + "survey_min_games_played": { + "value": 75, + "description": "Don't allow for showing the survey unless a minimum number of games have been played" + }, + "sv_accelerate": 10, + "sv_ag2_low_skel_lod": false, + "sv_airaccelerate": 10, + "sv_allchat": { + "value": true, + "description": "Players can receive all other players' text chat, no death restrictions" + }, + "sv_alltalk": { + "value": false, + "description": "Players can hear all other players' voice communication, no team restrictions" + }, + "sv_audio_log_citadel_audio_filter": { + "value": false, + "description": "Logs sound event information for CCitadelAudioFilter." + }, + "sv_audio_log_participant_start_messages": { + "value": false, + "description": "Prints when a participant sound message was sent." + }, + "sv_autosave": { + "value": true, + "description": "Set to 1 to autosave game on level transition. Does not affect autosave triggers." + }, + "sv_backspeed": { + "value": 0.6, + "description": "How much to slow down backwards motion" + }, + "sv_banid_enabled": { + "value": true, + "description": "Whether server supports banid command" + }, + "sv_bounce": { + "value": 0, + "description": "Bounce multiplier for when physically simulated objects collide with other objects." + }, + "sv_cheats": { + "value": false, + "description": "Allow cheats on server" + }, + "sv_citadel_ability_test_fail_all": false, + "sv_citadel_bebop_beam_draw_points": false, + "sv_citadel_log_ability_use": false, + "sv_citadel_log_server_fow_entities": false, + "sv_citadel_random_strength": 0.35, + "sv_client_max_interp_ratio": { + "value": 5, + "description": "This can be used to limit the value of cl_interp_ratio for connected clients (only while they are connected)." + }, + "sv_client_min_interp_ratio": { + "value": 0, + "description": "This can be used to limit the value of cl_interp_ratio for connected clients (only while they are connected)." + }, + "sv_client_predict": { + "value": -1, + "description": "This can be used to force the value of cl_predict for connected clients (only while they are connected). -1 = let clients set cl_predict to anything 0 = force cl_predict to 0 1 = force cl_predict to 1" + }, + "sv_clockcorrection_msecs": { + "value": 60, + "description": "The server tries to keep each player's m_nTickBase withing this many msecs of the server absolute tickcount" + }, + "sv_clockdbg": { + "value": false, + "description": "Print spew related to server clock and ticking" + }, + "sv_cluster": { + "value": 0, + "description": "Data center cluster this server lives in." + }, + "sv_condense_late_buttons": { + "value": true, + "description": "When condensing late commands. Should we compress multiple moves of button presses into the target move?" + }, + "sv_connectionless_legacy_events_allowed": false, + "sv_cq_min_queue": { + "value": 0, + "description": "Server min buffer size." + }, + "sv_cq_trim_bloat_remainder": { + "value": 1, + "description": "When trimming a bloated CQ, leave at least N more commands than the minimum" + }, + "sv_cq_trim_bloat_space": { + "value": 0, + "description": "When trimming a bloated CQ, try to leave room for N more commands to be added. 0 will trim only what is needed to remove the immediate bloat, a very large value will reset the whole queue." + }, + "sv_cq_trim_catchup_remainder": { + "value": 1, + "description": "When trimming an overful CQ due to app 'catchup' request, leave at least N more commands than the minimum" + }, + "sv_deltaticks_enforce": { + "value": 2, + "description": "By default, player must ack delta ticks in order. How to enforce it: 2 = kick all clients, 1 = kick only TV clients, 0 = do not kick." + }, + "sv_deltaticks_log": { + "value": 2, + "description": "Whether diagnostic logging is enabled when clients ack delta ticks out of order. Policy: 2 = log all out of order acks, 1 = log only when disconnect is triggered, 0 = do not log." + }, + "sv_dev_entitydeltapadding_extra_max": { + "value": 0, + "description": "When encoding entity deltas, append on a random number of extra bytes. This happens after sv_dev_entitydeltapadding_min_size." + }, + "sv_dev_entitydeltapadding_extra_min": { + "value": 0, + "description": "When encoding entity deltas, append on a random number of extra bytes. This happens after sv_dev_entitydeltapadding_min_size." + }, + "sv_dev_entitydeltapadding_min_size": { + "value": 0, + "description": "When encoding entity deltas, if the delta size is < N bytes, then shove in N dummy bytes. This happens before sv_dev_entitydeltapadding_extra_min/sv_dev_entitydeltapadding_extra_max" + }, + "sv_disable_querycache": { + "value": false, + "description": "debug - disable trace query cache" + }, + "sv_disable_reliable_delta_retransmit": { + "value": true, + "description": "Assume that a reliable entity delta will be ack'ed and send future deltas relative to the last reliable delta." + }, + "sv_early_network_message_processing": { + "value": false, + "description": "Processes network messages on the server before entities think, instead of at the end of the tick." + }, + "sv_enable_alternate_baselines": { + "value": 1, + "description": "Allow alternate baseline system, set to 2 for debugging spew." + }, + "sv_enable_delta_packing": { + "value": true, + "description": "When enabled, this allows for entity packing to use the property changes for building up the data. This is many times faster, but can be disabled for error checking." + }, + "sv_enable_donttransmit": { + "value": true, + "description": "When encoding entity deltas, instead of unreliably deducing explicit deletions, actually send list of existing but not networked entities (dont_transmit list) to each client." + }, + "sv_enable_hideout": { + "value": true, + "description": "When registering for MM, we can be assigned hideouts" + }, + "sv_enable_lost_lobby": { + "value": true, + "description": "Kill switch for the lost lobby functionality" + }, + "sv_enable_match": { + "value": true, + "description": "When registering for MM, we can be assigned normal matches" + }, + "sv_enable_removearrayelementsoutsidemetadatabounds": false, + "sv_ent_showonlyhitbox": -1, + "sv_ents_write_alarm": { + "value": 0, + "description": "Print callstack every time CNetworkGameServerBase::WriteEntityUpdate takes more than this amount of milliseconds" + }, + "sv_extra_client_connect_time": { + "value": 15, + "description": "Seconds after client connect during which extra frames are buffered to prevent non-delta'd update" + }, + "sv_filterban": { + "value": 1, + "description": "Set packet filtering by IP mode" + }, + "sv_footsteps": { + "value": 1, + "description": "Play footstep sound for players" + }, + "sv_force_transmit_ents": { + "value": false, + "description": "Will transmit all entities to client, regardless of PVS conditions (will still skip based on transmit flags, however)." + }, + "sv_fps_max": { + "value": 0, + "description": "Dedicated server frame rate limiter. 0=tick rate. Only applies to the dedicated server." + }, + "sv_friction": { + "value": 4, + "description": "World friction." + }, + "sv_friendly_dmg_immune": { + "value": true, + "description": "For npc's so marked, don't take damage caused by friendly (D_LI) npc's" + }, + "sv_gameinstructor_disable": { + "value": false, + "description": "Force all clients to disable their game instructors." + }, + "sv_gameinstructor_enable": { + "value": false, + "description": "Force all clients to enable their game instructors." + }, + "sv_gravity": { + "value": 800, + "description": "World gravity." + }, + "sv_hibernate_postgame_delay": { + "value": 5, + "description": "# of seconds to wait after final client leaves before hibernating." + }, + "sv_hibernate_when_empty": { + "value": true, + "description": "Puts the server into extremely low CPU usage mode when no clients connected" + }, + "sv_hide_ent_in_pvs": -1, + "sv_hosting_lobby": false, + "sv_hoststate_quit_syscall": { + "value": false, + "description": "When enabled, game server will quit immediately via syscall instead of running host states shutdown sequence" + }, + "sv_infinite_ammo": { + "value": 0, + "description": "Player's active weapon will never run out of ammo" + }, + "sv_instancebaselines": { + "value": true, + "description": "Enable instanced baselines. Saves network overhead." + }, + "sv_ladder_slack_z_mult": { + "value": 0.026, + "description": "Difference in Z increases toward the middle of the slack ladder." + }, + "sv_lagcomp_filterbyviewangle": { + "value": true, + "description": "If true, player pawn will filter lag compensation targets by their view angle." + }, + "sv_lagcompensationforcerestore": { + "value": true, + "description": "Don't test validity of a lag comp restore, just do it." + }, + "sv_lan": { + "value": false, + "description": "Server is a lan server ( no heartbeat, no authentication, no non-class C addresses )" + }, + "sv_late_commands_allowed": { + "value": 5, + "description": "Allow N late commands to run at 0 timescale prior to running an on-time command. Negative values for network round trip based calculation with a hard cap of the of absolute value" + }, + "sv_log_change_offsets": { + "value": false, + "description": "Log change offsets to game/varchangeinfoN.log files." + }, + "sv_log_onefile": { + "value": false, + "description": "Log server information to only one file." + }, + "sv_logbans": { + "value": false, + "description": "Log server bans in the server logs." + }, + "sv_logblocks": { + "value": false, + "description": "If true when log when a query is blocked (can cause very large log files)" + }, + "sv_logecho": { + "value": true, + "description": "Echo log information to the console." + }, + "sv_logfile": { + "value": false, + "description": "Log server information in the log file." + }, + "sv_logflush": { + "value": false, + "description": "Flush the log file to disk on each write (slow)." + }, + "sv_logsdir": { + "value": "logs", + "description": "Folder in the game directory where server logs will be stored." + }, + "sv_long_frame_ms": { + "value": 0, + "description": "If a server frame takes longer than N ms, complain about it. (Dedicated server only.) See also engine_frametime_warnings_enable." + }, + "sv_massreport": false, + "sv_matchmaking_enabled": { + "value": false, + "description": "Register with the GC for matchmaking" + }, + "sv_matchperfstats_maxclientperfsamples": { + "value": 100, + "description": "Don't retain more than N perf samples for any given client" + }, + "sv_matchperfstats_send_to_steam": { + "value": true, + "description": "Set to false to disable sending match perf stats to steam" + }, + "sv_max_change_offsets": { + "value": 48, + "description": "How many network changes to track before requiring full diff check." + }, + "sv_max_queries_sec": { + "value": 3, + "description": "Maximum queries per second to respond to from a single IP address." + }, + "sv_max_queries_sec_global": { + "value": 60, + "description": "Maximum queries per second to respond to from anywhere." + }, + "sv_max_queries_window": { + "value": 30, + "description": "Window over which to average queries per second averages." + }, + "sv_max_unreliable_delta_size": { + "value": 4096, + "description": "Maximum allowable entity delta size over unreliable delivery." + }, + "sv_maxclientframes": 128, + "sv_maxrate": { + "value": 0, + "description": "Max bandwidth rate allowed on server, 0 == unlimited" + }, + "sv_maxreplay": { + "value": 0, + "description": "Maximum replay time in seconds" + }, + "sv_maxspeed": 320, + "sv_maxunlag": { + "value": 1, + "description": "Maximum lag compensation in seconds" + }, + "sv_maxunlag_player": { + "value": -1, + "description": "If >0, maximumum lag compensation used for other human pawns. Applied after sv_maxunlag!" + }, + "sv_maxupdaterate": { + "value": 60, + "description": "Maximum updates per second that the server will allow" + }, + "sv_maxvelocity": { + "value": 3500, + "description": "Maximum speed any ballistically moving object is allowed to attain per axis." + }, + "sv_memlimit": { + "value": 0, + "description": "If set, whenever a game ends, if the total memory used by the server is greater than this # of megabytes, the server will exit." + }, + "sv_merge_changes_after_tick_with_calcdelta": { + "value": 1, + "description": "This fixes bugs where pure calcdelta is used due to recipient changing but it doesn't pick up a field change where the value was changed back to same value as the from snapshot even though the destination fields change list does note the change. Set to 2 to spew any changes merged in by this fix." + }, + "sv_minrate": { + "value": 5000, + "description": "Min bandwidth rate allowed on server, 0 == unlimited" + }, + "sv_minupdaterate": { + "value": 10, + "description": "Minimum updates per second that the server will allow" + }, + "sv_mmqueue_reservation_extended_timeout": { + "value": 21, + "description": "Extended time in seconds before mmqueue reservation expires." + }, + "sv_mmqueue_reservation_timeout": { + "value": 21, + "description": "Time in seconds before mmqueue reservation expires." + }, + "sv_mover_maxslope": { + "value": 0.7, + "description": "The maximum slope the player can overcome [-]" + }, + "sv_mover_pogodampingratio": { + "value": 1, + "description": "The capsule pogo stick damping ratio [-]" + }, + "sv_mover_pogofrequency": { + "value": 10, + "description": "The capsule pogo stick frequency [hz]." + }, + "sv_networkvar_log_fullchanges": { + "value": false, + "description": "Log FUL_FULL_EDICT_CHANGED calls." + }, + "sv_networkvar_perfieldtracking": { + "value": true, + "description": "Track individual field offset changes, rather than a single dirty flag for the whole entity." + }, + "sv_networkvar_validate": { + "value": false, + "description": "Validate each StateChanged against known offsets." + }, + "sv_no_navmesh": { + "value": false, + "description": "Block loading of the navmesh. Unplayable, only used for memory sampling." + }, + "sv_noclipaccelerate": 5, + "sv_noclipduringpause": { + "value": false, + "description": "If cheats are enabled, then you can noclip with the game paused (for doing screenshots, etc.)." + }, + "sv_noclipfriction": { + "value": 4, + "description": "Friction during noclip move." + }, + "sv_noclipspeed": 1200, + "sv_outofpvsentityupdates": false, + "sv_parallel_checktransmit": { + "value": 0, + "description": "Set to 1 to use threaded checkentities for transmit/pvs on listen servers, 2 for dedicated servers." + }, + "sv_parallel_packentities": { + "value": 2, + "description": "Set to 1 to use threaded snapshot sending on listen servers, 2 for dedicated servers." + }, + "sv_parallel_prepare_client_updates": false, + "sv_parallel_sendsnapshot": { + "value": 2, + "description": "0: run all send jobs on main thread; 1: send jobs run asynchronously (except on dedicated server); 2: send jobs asynchronously; 3: send jobs run in parallel but block to not overlap the next tick; 4: main server clients' send jobs run in parallel, then HLTV server jobs; this approximately matches pre-async profile for a single HLTV server configuration" + }, + "sv_pausable": { + "value": 0, + "description": "Is the server pausable." + }, + "sv_pausable_dev": { + "value": true, + "description": "Whether listen server is pausable when running -dev and playing solo against bots" + }, + "sv_pausable_dev_ds": { + "value": false, + "description": "Whether dedicated server is pausable when running -dev and playing solo against bots" + }, + "sv_pause_on_console_open": { + "value": false, + "description": "1 = Pause the game when pressing ~ to open the console. CTRL+~ opens the console without pause." + }, + "sv_pause_on_tick": { + "value": 0, + "description": "Tick count to pause on" + }, + "sv_per_player_spray_limit_count": { + "value": 200, + "description": "How many total sprays each player can have in the map at the same time" + }, + "sv_per_player_spray_limit_count_restricted": { + "value": 20, + "description": "How many total sprays each player can have in the map at the same time (but in restricted modes)" + }, + "sv_phys_animated_hierarchy": true, + "sv_phys_async_buoyancy_update": { + "value": false, + "description": "If true, server buoyancy motion controllers are updated in an async job after the tick has completed." + }, + "sv_phys_enabled": { + "value": true, + "description": "Enable all physics simulation" + }, + "sv_phys_sleep_enable": { + "value": true, + "description": "Enable sleeping for dynamic physics bodies." + }, + "sv_phys_sound_disable_impact_sounds_under_hard_threshold": { + "value": false, + "description": "if true, impact sounds wont play if no soft impact sound is present and the impact is below the hard velocity threshold." + }, + "sv_phys_visualize_awake": false, + "sv_play_stats_CitadelHitMismatch_enabled": { + "value": false, + "description": "Enable / Disable Play Stat CitadelHitMismatch." + }, + "sv_play_stats_CitadelLaneMatchup_enabled": { + "value": true, + "description": "Enable / Disable Play Stat CitadelLaneMatchup." + }, + "sv_play_stats_CitadelLaneSwap_enabled": { + "value": true, + "description": "Enable / Disable Play Stat CitadelLaneSwap." + }, + "sv_play_stats_CitadelLaneTrooperOrbs_enabled": { + "value": true, + "description": "Enable / Disable Play Stat CitadelLaneTrooperOrbs." + }, + "sv_play_stats_CitadelMatch_enabled": { + "value": true, + "description": "Enable / Disable Play Stat CitadelMatch." + }, + "sv_play_stats_CitadelObjective_enabled": { + "value": true, + "description": "Enable / Disable Play Stat CitadelObjective." + }, + "sv_play_stats_CitadelPlayer_enabled": { + "value": true, + "description": "Enable / Disable Play Stat CitadelPlayer." + }, + "sv_play_stats_CitadelServerLobby_enabled": { + "value": true, + "description": "Enable / Disable Play Stat CitadelServerLobby." + }, + "sv_play_stats_CitadelTrooperUnstick_enabled": { + "value": false, + "description": "Enable / Disable Play Stat CitadelTrooperUnstick." + }, + "sv_play_stats_S2MatchPerf_enabled": { + "value": true, + "description": "Enable / Disable Play Stat S2MatchPerf." + }, + "sv_player_search_range": 64, + "sv_player_spray_collision_radius": { + "value": 20, + "description": "How big of a collision sprays should have" + }, + "sv_pushaway_clientside_size": { + "value": 15, + "description": "Minimum size of pushback objects" + }, + "sv_pvs_cache_query_inflate_amount": 1, + "sv_pvs_entity": { + "value": -1, + "description": "If set, only allows this ent index to network (other than players and things that force sending)." + }, + "sv_pvs_max_distance": { + "value": 0, + "description": "if set, adds a maximum range to PVS/PAS checks" + }, + "sv_pvs_random": { + "value": false, + "description": "If set, objects blink in/out of pvs randomly." + }, + "sv_pvs_shadows_include_env": false, + "sv_rcon_banpenalty": { + "value": 0, + "description": "Number of minutes to ban users who fail rcon authentication" + }, + "sv_rcon_log": { + "value": true, + "description": "Enable/disable rcon logging." + }, + "sv_rcon_maxfailures": { + "value": 10, + "description": "Max number of times a user can fail rcon authentication before being banned" + }, + "sv_rcon_minfailures": { + "value": 5, + "description": "Number of times a user can fail rcon authentication in sv_rcon_minfailuretime before being banned" + }, + "sv_rcon_minfailuretime": { + "value": 30, + "description": "Number of seconds to track failed rcon authentications" + }, + "sv_recipients_check": { + "value": true, + "description": "When packing entities, check that recipient bits match for fast path packing." + }, + "sv_recvbuf_messages": { + "value": 1024, + "description": "Max number of messages that can be queued in a netchan receive buffer for an ordinary connection from a client." + }, + "sv_regeneration_force_on": { + "value": false, + "description": "Cheat to test regenerative health systems" + }, + "sv_regeneration_wait_time": 1, + "sv_region": { + "value": -1, + "description": "The region of the world to report this server in." + }, + "sv_remapper_loopsoundfix": false, + "sv_remapper_range_multiplier": 1, + "sv_remove_ent_from_pvs": 0, + "sv_replay_group_id": { + "value": 0, + "description": "The replay group that this server will be uploading files to" + }, + "sv_replaysdir": { + "value": "replays", + "description": "Directory to store replays in" + }, + "sv_reserve_slots_for_reconnecting_players_kick_prior": { + "value": true, + "description": "Kick a previously connected player with the same steamID if a replacement comes along" + }, + "sv_rollangle": { + "value": 0, + "description": "Max view roll angle" + }, + "sv_rollspeed": 200, + "sv_script_think_interval": 0.1, + "sv_sendtables": { + "value": 1, + "description": "Force full sendtable sending path." + }, + "sv_shared_team_pvs": { + "value": false, + "description": "PVS is shared between teams" + }, + "sv_showdamage": { + "value": 0, + "description": "Shows base damage below what sv_showimpacts would show, and if a player was hit he'll show the damage he took above it (as healthdamage (armorabsorbed)). 1 = show hits. 2 = show hits and misses" + }, + "sv_showimpacts": { + "value": 0, + "description": "Shows client (red) and server (blue) bullet impact point (1=both, 2=client-only, 3=server-only)" + }, + "sv_showladders": { + "value": false, + "description": "Show bbox and dismount points for all ladders (must be set before level load.)" + }, + "sv_showlagcompensation": { + "value": 0, + "description": "If > 0, show lag compensated hitboxes whenever a player is lag compensated. Value is for how long." + }, + "sv_showlagcompensation_rec": { + "value": 0, + "description": "If > 0, show lag compensation hitboxes as they're recorded. Value is for how long." + }, + "sv_showplayerhitboxes": { + "value": 0, + "description": "Show lag compensated hitboxes for the specified player index whenever a player fires." + }, + "sv_shutdown_immediately_on_request": { + "value": false, + "description": "The server will always shutdown on receiving the shutdown request, even if not hibernating" + }, + "sv_skel_constraints_enable": false, + "sv_skip_update_animations": { + "value": false, + "description": "Enable to skip game animations" + }, + "sv_skyname": { + "value": "sky_urb01", + "description": "Current name of the skybox texture" + }, + "sv_snapshot_unlimited": { + "value": false, + "description": "For debugging, don't throw away old snapshots so that if you break in debugger (on remote client or server) it won't require an uncompressed update to resume. You may run out of memory of course..." + }, + "sv_specaccelerate": 5, + "sv_specnoclip": true, + "sv_specspeed": 1200, + "sv_stats": { + "value": true, + "description": "Collect CPU usage stats" + }, + "sv_steamauth_enforce": { + "value": 2, + "description": "By default, player must maintain a reliable connection to Steam servers. When player Steam session drops, enforce it: 2 = instantly kick, 1 = kick at next spawn, 0 = do not kick." + }, + "sv_steamauth_ignore_localhost": { + "value": true, + "description": "Ignore VAC and auth errors for client connected via localhost address or in-engine loopback" + }, + "sv_steamgroup_exclusive": { + "value": false, + "description": "If set, only members of Steam group will be able to join the server when it's empty, public people will be able to join the server only if it has players." + }, + "sv_stepsize": 18, + "sv_stopspeed": { + "value": 100, + "description": "Minimum stopping speed when on ground." + }, + "sv_stressbots": { + "value": false, + "description": "If set to 1, the server calculates data and fills packets to bots. Used for perf testing." + }, + "sv_strict_notarget": { + "value": false, + "description": "If set, notarget will cause entities to never think they are in the pvs" + }, + "sv_suppress_friendlyfire_decals": true, + "sv_suppress_viewpunch": false, + "sv_temp_baseline_string_table_buffer_size": { + "value": 524288, + "description": "Buffer size for writing string table baselines" + }, + "sv_tick_parallel_with_client": { + "value": false, + "description": "Runs the final server tick of the frame in parallel with client work" + }, + "sv_tick_snapshot_sort_entities": true, + "sv_timeout": { + "value": 20, + "description": "After this many seconds without a message from fully connected client, the client is dropped" + }, + "sv_timeout_hideout_lobby": { + "value": 600, + "description": "The amount of time to keep a server active for a hideout in minutes" + }, + "sv_timeout_matchactive": { + "value": 240, + "description": "To prevent zombie matches, if a match has been active longer than this many minutes, it should be timed out and the server restarted" + }, + "sv_timeout_matchforming": { + "value": 5, + "description": "The GC has told this server that it is providing it a match but the server hasn't received the lobby in this many minutes so it should restart" + }, + "sv_timeout_nogcconnection": { + "value": 15, + "description": "How many minutes if the server fails to make an initial connection to the GC before the server tries to restart" + }, + "sv_timeout_nommupdate": { + "value": 30, + "description": "If the GC hasn't sent an idle keep alive from the match maker in this many minutes, the server will restart" + }, + "sv_timeout_random_range": { + "value": 180, + "description": "The number of seconds to randomize the timeouts to help avoid the risk of all servers restarting at the same time" + }, + "sv_unlag": { + "value": true, + "description": "Enables player lag compensation" + }, + "sv_unlag_fixstuck": { + "value": false, + "description": "Disallow backtracking a player for lag compensation if it will cause them to become stuck" + }, + "sv_unlockedchapters": { + "value": 1, + "description": "Highest unlocked game chapter." + }, + "sv_unpause_on_console_close": { + "value": false, + "description": "1 = Unpause the game when pressing ~ to close the console. 0 = Leave the game paused." + }, + "sv_use_pvs_cache": true, + "sv_usenetworkvars": { + "value": true, + "description": "Use networkvar system." + }, + "sv_usercmd_custom_random_seed": { + "value": false, + "description": "When enabled server will populate an additional random seed independent of the client" + }, + "sv_usercmd_execute_warning_ms": { + "value": 5, + "description": "Emit a warning if we spend more than N ms executing user commands for a single player" + }, + "sv_visiblemaxplayers": { + "value": -1, + "description": "Overrides the max players reported to prospective clients" + }, + "sv_voicecodec": { + "value": "vaudio_speex", + "description": "Specifies which voice codec DLL to use in a game. Set to the name of the DLL without the extension." + }, + "sv_voiceenable": true, + "sv_watchtransmit": { + "value": -2, + "description": "Watch NetworkStateChanged info for this entity index." + }, + "sv_wateraccelerate": 10, + "sv_waterdist": { + "value": 12, + "description": "Vertical view fixup when eyes are near water plane." + }, + "sv_waterfriction": 1, + "sys_minidumpexpandedspew": true, + "sys_minidumpspewlines": { + "value": 2000, + "description": "Lines of crash dump console spew to keep." + }, + "target_scan_use_query_cache": true, + "team_chat_auto_join": { + "value": false, + "description": "Auto-join Team Chat when joining a match. Will be overridden by any party settings." + }, + "team_chat_hold_join_time": 1, + "think_limit": { + "value": 10, + "description": "Maximum think time in milliseconds, warning is printed if this is exceeded." + }, + "thread_pool_option": { + "value": -1, + "description": "Thread pool option" + }, + "thumper_use_plane_reflection": true, + "timedemo_end": { + "value": "-1", + "description": "Ends timedemo on given tick." + }, + "timedemo_start": { + "value": "-1", + "description": "Starts timedemo on given tick." + }, + "timewarp_projectile_timescale_override": { + "value": 0, + "description": "Override timescale for objects that touch a times warp not handled by the wall itself" + }, + "toast_manager_override_duration": -1, + "tool_spawned_model_scales": "[1, 1, 1]", + "tools_stall_monitor_break_on_unknown_cause": { + "value": false, + "description": "Break on unknown stall cause" + }, + "trooper_zipline_distance_to_drop_from_enemy": { + "value": 2000, + "description": "How many units away from an enemy captured zipline that troopers will exit" + }, + "tv_advertise_watchable": { + "value": false, + "description": "GOTV advertises the match as watchable via game UI, clients watching via UI will not need to type password" + }, + "tv_allow_autorecording_index": { + "value": -1, + "description": "When >=0 restricts autorecording only to the specified TV index" + }, + "tv_allow_camera_man": { + "value": true, + "description": "Auto director allows spectators to become camera man" + }, + "tv_allow_static_shots": { + "value": true, + "description": "Auto director uses fixed level cameras for shots" + }, + "tv_autorecord": { + "value": false, + "description": "Automatically records all games as SourceTV demos." + }, + "tv_autoretry": { + "value": true, + "description": "Relay proxies retry connection after network timeout" + }, + "tv_broadcast": { + "value": false, + "description": "Automatically broadcasts all games as GOTV demos through Steam." + }, + "tv_broadcast1": { + "value": false, + "description": "Automatically broadcasts all games as GOTV[1] demos through Steam." + }, + "tv_broadcast_drop_fragments": { + "value": 0, + "description": "Drop every Nth fragment" + }, + "tv_broadcast_keyframe_interval": { + "value": 3, + "description": "The frequency, in seconds, of sending keyframes and delta fragments to the broadcast relay server" + }, + "tv_broadcast_keyframe_interval1": { + "value": 3, + "description": "The frequency, in seconds, of sending keyframes and delta fragments to the broadcast1 relay server" + }, + "tv_broadcast_max_requests": { + "value": 20, + "description": "Max number of broadcast http requests in flight. If there is a network issue, the requests may start piling up, degrading server performance. If more than the specified number of requests are in flight, the new requests are dropped." + }, + "tv_broadcast_max_requests1": { + "value": 20, + "description": "Max number of broadcast1 http requests in flight. If there is a network issue, the requests may start piling up, degrading server performance. If more than the specified number of requests are in flight, the new requests are dropped." + }, + "tv_broadcast_origin_auth": { + "value": "gocastauth", + "description": "X-Origin-Auth header of the broadcast POSTs" + }, + "tv_broadcast_origin_auth1": { + "value": "gocastauth", + "description": "X-Origin-Auth header of the broadcast1 POSTs" + }, + "tv_broadcast_origin_delay": { + "value": 0, + "description": "Injection delay request for CDN rebroadcast frameworks, seconds" + }, + "tv_broadcast_spew_threshold": { + "value": 0.1, + "description": "The threshold, in seconds, that we'll spew about the snapshot tick" + }, + "tv_broadcast_startup_resend_interval": { + "value": 10, + "description": "The interval, in seconds, of re-sending startup data to the broadcast relay server (useful in case relay crashes, restarts or startup data http request fails)" + }, + "tv_broadcast_terminate": { + "value": true, + "description": "Terminate every broadcast with a stop command" + }, + "tv_broadcast_url": { + "value": "http://localhost:8080", + "description": "URL of the broadcast relay" + }, + "tv_broadcast_url1": { + "value": "http://localhost:8080", + "description": "URL of the broadcast relay1" + }, + "tv_chatgroupsize": { + "value": 0, + "description": "Set the default chat group size" + }, + "tv_chattimelimit": { + "value": 0.2, + "description": "Limits spectators to chat only every n seconds" + }, + "tv_citadel_auto_record": { + "value": true, + "description": "If enabled, a demo will automatically be recorded for every game" + }, + "tv_citadel_max_transition_distance": { + "value": 1000, + "description": "How far we will really try to transition from player to player" + }, + "tv_delay": { + "value": 120, + "description": "SourceTV broadcast delay in seconds" + }, + "tv_delay1": { + "value": 15, + "description": "SourceTV[instance 1] broadcast delay in seconds" + }, + "tv_deltacache": { + "value": 2, + "description": "Enable delta entity bit stream cache" + }, + "tv_demo_starttick": 0, + "tv_dispatchmode": { + "value": 1, + "description": "Dispatch clients to relay proxies: 0=never, 1=if appropriate, 2=always" + }, + "tv_enable": { + "value": false, + "description": "Activates SourceTV on server." + }, + "tv_enable1": { + "value": false, + "description": "Activates SourceTV[1] on server." + }, + "tv_enable_delta_frames": { + "value": true, + "description": "Indicates whether or not the tv should use delta frames for storage of intermediate frames. This takes more CPU but significantly less memory." + }, + "tv_enable_dynamic": { + "value": false, + "description": "When enabled, changes in tv_enable convars cause immediate startup or shutdown of hltv server" + }, + "tv_extended_logging": false, + "tv_grouprelaydatareliable": { + "value": false, + "description": "When enabled, this will collect all information for relay sending into a single datagram to ensure that the data stays together through a potentially large number of relays" + }, + "tv_grouprelaydataunreliable": { + "value": false, + "description": "When enabled, this will collect all information for relay sending into a single datagram to ensure that the data stays together through a potentially large number of relays" + }, + "tv_grouprelaydatavoice": { + "value": false, + "description": "Similar to tv_grouprelaydata, but controls whether or not the voice channels should be routed into the grouped data for the relays" + }, + "tv_include_usercommands": { + "value": true, + "description": "HLTV streams will include player usercommands each tick" + }, + "tv_instant_replay_full_frame": { + "value": true, + "description": "Send embedded full frames" + }, + "tv_instant_replay_full_frame_build_threaded": { + "value": false, + "description": "Build the full frames on a seperate job thread" + }, + "tv_instant_replay_full_frame_time": { + "value": 30, + "description": "Seconds between full frame embeddeds" + }, + "tv_listen_voice_indices": { + "value": 0, + "description": "Bitfield of playerslots to listen to voice messages from when connected to SourceTV, default is none" + }, + "tv_listen_voice_indices_h": { + "value": 0, + "description": "High 32 bits of bitfield of playerslots to listen to voice messages from when connected to SourceTV, default is none" + }, + "tv_log_director_events": { + "value": false, + "description": "Log game events being considered by the director" + }, + "tv_maxclients": { + "value": 128, + "description": "Maximum client number on SourceTV server." + }, + "tv_maxclients_relayreserved": { + "value": 0, + "description": "This number of relay client connections are reserved for SourceTV relays." + }, + "tv_maxrate": { + "value": 0, + "description": "Max SourceTV spectator bandwidth rate allowed, 0 == unlimited" + }, + "tv_name": { + "value": "SourceTV", + "description": "SourceTV host name" + }, + "tv_nochat": { + "value": false, + "description": "Don't receive chat messages from other SourceTV spectators" + }, + "tv_overridemaster": { + "value": false, + "description": "Overrides the SourceTV master root address." + }, + "tv_playcast_delay_prediction": true, + "tv_playcast_delay_resync": { + "value": 0, + "description": "To alleviate intermittent network connectivity problems, this is the number of seconds to wait before actually re-syncing the stream after failure" + }, + "tv_playcast_fragment_cache_history_length": { + "value": 120, + "description": "How far back before our current playback head in seconds to hold onto fragments." + }, + "tv_playcast_http_delta_fragment_timeout_s": 3, + "tv_playcast_max_rcvage": 15, + "tv_playcast_max_rtdelay": 300, + "tv_playcast_retry_timeout": { + "value": 25, + "description": "In case of intermittent network problems, how long should playcast retry fragment retrieval before resorting to resync" + }, + "tv_playcast_slow_playback_when_fragment_requests_fail": { + "value": true, + "description": "Whether or not we slow playback rate if we start running out of buffered stream fragments." + }, + "tv_port": { + "value": 27020, + "description": "Host SourceTV[0] port" + }, + "tv_port1": { + "value": 27021, + "description": "Host SourceTV[1] port" + }, + "tv_rate_multiplier": { + "value": 2, + "description": "Multiply requested rate by this value to adjust Dota TV send rate" + }, + "tv_record_immediate": { + "value": 0, + "description": "tv_record starting the moment tv_record was executed, not tv_delay earlier" + }, + "tv_relay_hard_shutdown": false, + "tv_relay_quit_after_game": { + "value": true, + "description": "Quit after a game has been relayed, do not hibernate" + }, + "tv_relay_rate": { + "value": 500000, + "description": "default rate for relays" + }, + "tv_relay_secret_code": { + "value": true, + "description": "When enabled, this will use a uniquely generated server code to authenticate relay to relay connections. This code is coordinated via the GC or some external means rather than by clients directly" + }, + "tv_relayvoice": { + "value": true, + "description": "Relay voice data: 0=off, 1=on" + }, + "tv_secret_code": { + "value": true, + "description": "When enabled, this will use a uniquely generated server code to authenticate relay connections. This code is coordinated via the GC or some external means rather than by clients directly" + }, + "tv_secure_bypass": { + "value": false, + "description": "Bypass secure challenge on TV port" + }, + "tv_show_allchat": true, + "tv_snapshotrate": { + "value": 20, + "description": "Snapshots broadcast per second" + }, + "tv_snapshotrate1": { + "value": 32, + "description": "Snapshots broadcast per second, GOTV[1]" + }, + "tv_threaded_merge_entity_deltas": { + "value": true, + "description": "Enable SourceTV threading of delta merging" + }, + "tv_timeout": { + "value": 20, + "description": "SourceTV connection timeout in seconds." + }, + "tv_title": { + "value": "SourceTV", + "description": "Set title for SourceTV spectator UI" + }, + "tv_transmitall": { + "value": false, + "description": "Transmit all entities (not only director view)" + }, + "tv_update_hibernation_enabled": { + "value": true, + "description": "Allow SourceTV to control server hibernation state." + }, + "tv_window_size": { + "value": 16, + "description": "Specifies the number of seconds worth of frames that the tv replay system should keep in memory. Increasing this greatly increases the amount of memory consumed by the TV system" + }, + "ui_friends_list": false, + "ui_hud_dist": { + "value": 24, + "description": "distance from the player to the hud" + }, + "update_all_keyframed_in_spatial_partition_update": true, + "update_voices_low_priority": false, + "viewmodel_fov": 54, + "violence_ablood": { + "value": true, + "description": "Draw alien blood" + }, + "violence_agibs": { + "value": true, + "description": "Show alien gib entities" + }, + "violence_hblood": { + "value": true, + "description": "Draw human blood" + }, + "violence_hgibs": { + "value": true, + "description": "Show human gib entities" + }, + "vis_enable": { + "value": true, + "description": "Enable precomputed visibility when true" + }, + "vis_force": false, + "vis_sunlight_enable": { + "value": true, + "description": "Toggle whether to use sunlight PVS for sunlight views (0 = sky PVS, 1 = sunlight PVS)" + }, + "vismon_poll_frequency": 0.5, + "vismon_trace_limit": 12, + "voice_all_icons": { + "value": false, + "description": "Draw all players' voice icons" + }, + "voice_always_sample_mic": { + "value": false, + "description": "When enabled, open the voip audio input stream when the application launches." + }, + "voice_bypass_noise_gate": false, + "voice_fadeouttime": 0.005, + "voice_in_process": false, + "voice_initial_buffer_ms": 200, + "voice_input_stallout": { + "value": 2, + "description": "Time before we consider a mic stalled out and need to reset it." + }, + "voice_loopback": false, + "voice_loopback_no_networking": false, + "voice_min_buffer_ms": 100, + "voice_modenable": { + "value": true, + "description": "Enable/disable voice in this mod." + }, + "voice_noise_supression": false, + "voice_player_speaking_delay_threshold": 0.5, + "voice_sequence_maximum_wait_time": { + "value": 0.5, + "description": "When receiving packets out of sequence, wait this many seconds for missing sequences to arrive" + }, + "voice_stall_ms": 250, + "voice_threshold": { + "value": -120, + "description": "decibel threshold for how loud the talker's input signal is before we think they are talking." + }, + "voice_threshold_attack": { + "value": 0.3, + "description": "Amount of time we buffer outgoing audio to detect an onset." + }, + "voice_threshold_delay": { + "value": 0.7, + "description": "Amount of time the talker is silent before we infer that they are no longer talking." + }, + "voice_threshold_hold": { + "value": 0.2, + "description": "Amount of time after the talker starts talking we should keep listening regardless of how loud they are speaking." + }, + "voice_threshold_ramp_min_db": { + "value": -60, + "description": "A dB floor of when to stop transmitting packets, the volume between this and voice_threshold will still transmit packets to allow for volume ramping." + }, + "voice_vox": { + "value": 0, + "description": "Voice chat uses a vox-style always on" + }, + "voice_vox_current_peak": { + "value": 0, + "description": "Current peak value (out of 64k) of the incoming voice stream" + }, + "volume": { + "value": 1, + "description": "Sound volume" + }, + "volume_fog_density_scale": { + "value": 1, + "description": "Scale global volume fog density" + }, + "volume_fog_depth": { + "value": 128, + "description": "Depth of volume fog texture" + }, + "volume_fog_depth_warp": 7, + "volume_fog_dither_scale": 1, + "volume_fog_enable_jitter": true, + "volume_fog_height": { + "value": 160, + "description": "Height of volume fog texture" + }, + "volume_fog_intermediate_textures_hdr": true, + "volume_fog_shadow_penumbra_multiplier": { + "value": 3, + "description": "Penumbra size multiplier for shadow sampling, reduces fog shadow aliasing" + }, + "volume_fog_temporal_filter": true, + "volume_fog_temporal_weight": { + "value": 0.9, + "description": "Temporal filtering weight" + }, + "volume_fog_width": { + "value": 240, + "description": "Width of volume fog texture" + }, + "vprof_counters": 0, + "vprof_counters_show_minmax": false, + "vprof_scope_entity_clientthink": { + "value": false, + "description": "Does nothing whatsoever." + }, + "vprof_scope_entity_thinks": false, + "vprof_think_limit": false, + "wind_system_default_resolution_xy": 256, + "wind_system_default_resolution_z": 32, + "wind_system_default_sample_min_spacing": 12, + "wind_system_temporal_smoothing": true, + "wrecking_ball_muddy": { + "value": 0.8, + "description": "The extent to which the Wrecker's boulder behaves 'muddy', meaning how much its jumps up are dampened" + }, + "zipline_knockdown_protection_delay": 3, + "zipline_use_new_latch": { + "value": 2, + "description": "Use the new latch motion for getting on a zipline. 0: Dont use 1: Just those with b_UseNewZipLineSetup 2: Everyone use" + }, + "zoom_sensitivity_ratio": { + "value": 1, + "description": "Additional mouse sensitivity scale factor applied when FOV is zoomed in." + } +} \ No newline at end of file