Need help with plugins or servers? Join our Discord

Modding Database

Up to date with Steam · checked 12s ago· Viewing build 6728 (Oct 01 2026), not the latest

cosmetic_ability_snowball

Snowballcosmetic_snowballOpen the ability page

40 keys · inherits from cosmetic_base

What it inherits is already merged in: this is the entry as the game compiled it.

cosmetic_ability_snowball = {
_class = "cosmetic_snowball"
_editor = {
folder_name = "Actives"
}
_multibase = [
]
m_iMaxLevel = 32
m_strCSSClass = "item_seasonal"
m_cosmeticInfo = {
m_strTooltipCSSClass = "CosmeticSnowball"
}
m_eAbilityType = "EAbilityType_Cosmetic"
m_eShopFilters = ""
m_strCastSound = "Snowball.Cast"
m_bStartTrained = true
m_mapWeaponInfos = {
primary = {
m_flCycleTime = 0.05
m_flBulletSpeed = 1000
m_flBulletRadius = 5
m_mapImpactEffects = {
default = {}
}
m_strBulletWhizSound = "Snowball.Projectile.Whizby"
m_strBulletImpactSound = "Snowball.Projectile.Impact"
m_eAttachmentSourceType = "EAttachmentSource_Custom"
m_flBulletRadiusVsWorld = 5
m_strWeaponImpactEffect = "particles/event/christmas/snowball_projectile_impact.vpcf"
m_strCustomAttachmentSource = "ability_cast"
m_szBulletTravelTracerParticle = "particles/event/christmas/snowball_projectile.vpcf"
m_bPlayImpactEffectsOnTeammates = true
}
}
m_projectileInfo = {
m_flSpeed = 2000
m_particle = "particles/abilities/ghost/ghost_blood_bomb_projectile.vpcf"
m_flUpSpeed = 0
m_nBehaviors = "PBF_DisableTouchOnHit | PBF_DetonateOnHitTarget | PBF_DetonateOnHitWorld | PBF_NotTurnTowardVelocity"
m_warningParticle = "particles/abilities/ghost/ghost_blood_bomb_warning.vpcf"
m_flVerticalAimBias = 0
m_bHideWarningParticle = 1
}
m_previewParticle = "particles/abilities/ghost/ghost_blood_bomb_preview.vpcf"
m_strAbilityImage = "file://{images}/items/seasonal/2025_snowball.psd"
m_SnowballModifier = {
_class = "modifier_base"
m_bIsHidden = true
m_eDebuffType = "MODIFIER_DEBUFF_NO"
_my_subclass_name = "snowball"
m_strParticleStatusEffect = "particles/status_fx/status_fx_snowball.vpcf"
m_strScreenParticleEffect = "particles/event/christmas/snowball_tgt_screen.vpcf"
}
m_progressionSpeed = {
m_mapLevelsToValue = {
0 = 630
1 = 787
2 = 944
3 = 1102
4 = 1260
5 = 1417
6 = 1575
32 = 2756
}
}
m_strAG2SourceName = "item"
m_strSelectedSound = ""
m_progressionDamage = {
m_mapLevelsToValue = {
0 = 1
1 = 2
2 = 4
3 = 8
4 = 12
32 = 20
}
}
m_progressionRadius = {
m_mapLevelsToValue = {
0 = 5
32 = 20
}
}
m_sCustomStackLabel = "#CurrentBonus_label" // Current Bonus:
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_INSTANT_CAST"
m_progressionCharges = {
m_eBetweenBehavior = "UsePrevious"
m_mapLevelsToValue = {
0 = 1
8 = 2
16 = 3
24 = 4
32 = 5
}
}
m_strUnselectedSound = ""
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_ALL_FRIENDLY | CITADEL_UNIT_TARGET_ALL_ENEMY"
m_progressionCooldown = {
m_mapLevelsToValue = {
0 = 18
1 = 16
2 = 14
3 = 12
4 = 10
5 = 8
}
}
m_strAG2CastingAction = "throw"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT"
m_mapAbilityProperties = {
Damage = { // Damage
m_strValue = "1"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "damage_scale"
m_eSpecificStatScaleType = "ETechDamageScale"
}
}
Radius = { // Radius
m_strValue = "5"
m_eDisplayUnits = "EDisplayUnit_Meters"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "radius_scale"
m_eSpecificStatScaleType = "ETechRadius"
}
}
Spread = {
m_strValue = "3"
}
TechPower = { // Spirit Power
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_POWER"
}
WeaponPower = { // Weapon Damage
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_WEAPON_POWER"
}
SnowballCount = { // Snowballs Thrown
m_strValue = "1"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "count_scale"
m_eSpecificStatScaleType = "EClipSizeIncrease"
}
}
SnowballSpeed = { // Throw Speed
m_strValue = "630"
m_eDisplayUnits = "EDisplayUnit_MetersPerSecond"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "speed_scale"
m_eSpecificStatScaleType = "ETechRange"
}
}
AbilityCharges = { // Charges
m_strValue = "1"
m_strCSSClass = "cast"
m_strDisableValue = "-1"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "charges_scale"
m_eSpecificStatScaleType = "EMaxChargesIncrease"
}
}
AbilityCooldown = { // Cooldown
m_strValue = "18"
m_strCSSClass = "cooldown"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "cooldown_scale"
m_eSpecificStatScaleType = "ETechCooldown"
}
}
AbilityDuration = { // Duration
m_strValue = "0"
m_strCSSClass = "duration"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "AbilityDuration_scale_function"
m_eSpecificStatScaleType = "ETechDuration"
}
}
AbilityCastDelay = { // Cast Delay
m_strValue = "0.1"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
AbilityCastRange = { // Cast Range
m_strValue = "0"
m_strCSSClass = "range"
m_eDisplayUnits = "EDisplayUnit_Meters"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "AbilityCastRange_scale_function"
m_eSpecificStatScaleType = "ETechRange"
}
}
ChannelMoveSpeed = {
m_strValue = "-1"
m_strCSSClass = "move_speed"
m_eDisplayUnits = "EDisplayUnit_MetersPerSecond"
m_bCanSetTokenOverride = true
}
AbilityChannelTime = { // Channel Duration
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_multi_stats"
_my_subclass_name = "scale_duration"
m_vecScalingStats = [
0"EChannelDuration"
1"ETechDuration"
]
}
}
AbilityResourceCost = {
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
AbilityUnitTargetLimit = {
m_strValue = "1"
m_bCanSetTokenOverride = true
}
AbilityPostCastDuration = {
m_strValue = "1"
m_strDisableValue = "0"
}
AbilityCooldownBetweenCharge = { // Charge Delay
m_strValue = "1.5"
m_strCSSClass = "charge_cooldown"
m_strDisableValue = "-2"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_ability_recharge_time"
_my_subclass_name = "scale_function_ability_recharge_time"
}
}
}
m_strSelectedLoopSound = ""
m_strCastAnimGraphParam = "e_GenericThrow"
m_vecTooltipSectionInfo = [
0{
m_eAbilitySectionType = "EArea_Active"
m_vecSectionAttributes = [
0{
m_strLocString = "#cosmetic_ability_snowball_desc" // Throw snowballs at your friends and enemies. Distance and other properties improve as you make progress in the <span class="highlight">2025 Holiday Challenge</span>.<br><br><span class="diminish">Throwing a Snowball at an ally won't inflict damage and will reset its cooldown.</span>
m_vecAbilityProperties = [
0"SnowballSpeed"
1"SnowballCount"
2"Radius"
]
m_vecElevatedAbilityProperties = []
m_vecImportantAbilityProperties = [
0{
m_strImportantProperty = "Damage"
}
1{
m_strImportantProperty = "AbilityCharges"
}
]
}
]
}
]
m_eAbilityTargetingShape = "CITADEL_ABILITY_TARGETING_SHAPE_NONE"
m_progressionSnowballCount = {
m_eBetweenBehavior = "UsePrevious"
m_mapLevelsToValue = {
0 = 1
16 = 2
32 = 3
}
}
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_NONE"
m_strAG2CastCompletedAction = "throw_completed"
m_bitsChannelEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPreCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPostCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bShowTargetingPreviewWhileCasting = true
}

History

  1. 6722–6745added