What it inherits is already merged in: this is the entry as the game compiled it.
ability_ice_grenade = {
_class = "ability_ice_grenade"
_editor = {
folder_name = "Hero Kelvin"
}
_multibase = [
]
m_iMaxLevel = 1
m_WeaponInfo = {
m_flBulletSpeed = 1600
m_flBulletRadius = 1.5
m_mapImpactEffects = {
default = {}
}
m_flVerticalAimBias = 10
m_flBulletGravityScale = 1
m_eAttachmentSourceType = "EAttachmentSource_Custom"
m_flBulletRadiusVsWorld = 1.5
m_strBulletLoopingSound = "Kelvin.IceGrenade.Proj.Lp"
m_szBulletTravelTracerParticle = "particles/abilities/kelvin/kelvin_ice_grenade_projectile.vpcf"
}
m_iUpdateTime = 1664215031
m_eAbilityType = "EAbilityType_Signature"
m_strCastSound = "Kelvin.IceGrenade.Cast"
m_bStartTrained = false
m_ExplosionSound = "Kelvin.IceGrenade.Explode"
m_ExplodeParticle = "particles/abilities/kelvin/kelvin_ice_grenade_explode_v2.vpcf"
m_previewParticle = "particles/abilities/kelvin/kelvin_ice_grenade_preview.vpcf"
m_strAbilityImage = "file://{images}/hud/abilities/kelvin/freezing_grenade.psd"
m_strSelectedSound = "Kelvin.IceGrenade.Select"
m_flBossDamageScale = 1
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_PRESS"
m_nAbilityPointsCost = 0
m_strUnselectedSound = "Kelvin.IceGrenade.Deselect"
m_vecAbilityUpgrades = [
0{
m_vecPropertyUpgrades = [
0{
m_strBonus = "30"
m_strPropertyName = "Damage"
}
1{
m_strBonus = "30"
m_strPropertyName = "HealAmount"
}
]
}
1{
m_vecPropertyUpgrades = [
0{
m_strBonus = "1"
m_strPropertyName = "PauseStaminaRegen"
}
1{
m_strBonus = "-10"
m_strPropertyName = "AbilityCooldown"
}
]
}
2{
m_vecPropertyUpgrades = [
0{
m_strBonus = "2m"
m_strPropertyName = "Radius"
m_strStreetBrawlBonus = "1.7m"
}
1{
m_strBonus = "0.9"
m_eUpgradeType = "EAddToScale"
m_strPropertyName = "HealAmount"
m_eScaleStatFilter = "ETechPower"
}
2{
m_strBonus = "0.8"
m_eUpgradeType = "EAddToScale"
m_strPropertyName = "Damage"
m_eScaleStatFilter = "ETechPower"
}
]
}
]
m_PreviewPathParticle = "particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_ALL"
m_strAG2CastingAction = "throw"
m_strMoviePreviewPath = "file://{resources}/videos/hero_abilities/kelvin_freezing_grenade.webm"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_PROJECTILE | CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT | CITADEL_ABILITY_BEHAVIOR_CAN_HEAL_PLAYERS | CITADEL_ABILITY_BEHAVIOR_PROJECTILE_FIRED_AS_BULLET | CITADEL_ABILITY_BEHAVIOR_CAN_SET_QUICK_CAST | CITADEL_ABILITY_BEHAVIOR_DONT_INTERRUPT_SLIDE_ON_CAST"
m_mapAbilityProperties = {
Damage = { // Damage
m_strValue = 60
m_strCSSClass = "tech_damage"
m_subclassScaleFunction = {
_class = "scale_function_tech_damage"
m_flStatScale = 0.6
_my_subclass_name = "Damage_scale_function"
}
m_bIsAbilityDamageProperty = true
}
Radius = { // Radius
m_strValue = "6.5m"
m_strCSSClass = "distance"
m_strStreetBrawlValue = "5.52m"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "Radius_scale_function"
m_eSpecificStatScaleType = "ETechRadius"
}
}
TechPower = { // Spirit Power
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_POWER"
}
HealAmount = { // Heal Amount
m_strValue = "60"
m_strCSSClass = "healing"
m_subclassScaleFunction = {
_class = "scale_function_healing_spirit_scale"
m_flStatScale = 0.8
_my_subclass_name = "HealAmount_scale_function"
}
}
SlowPercent = { // Move Speed
m_strValue = "32"
m_strCSSClass = "slow"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_MOVEMENT_SPEED_SLOW_PERCENT"
}
WeaponPower = { // Weapon Damage
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_WEAPON_POWER"
}
SlowDuration = { // Slow Duration
m_strValue = "4"
m_strCSSClass = "duration"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "SlowDuration_scale_function"
m_eSpecificStatScaleType = "ETechDuration"
}
}
AbilityCharges = { // Charges
m_strValue = "2"
m_strCSSClass = "cast"
m_strDisableValue = "-1"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_ability_charges"
_my_subclass_name = "AbilityCharges_scale_function"
}
}
AbilityCooldown = { // Cooldown
m_strValue = 30
m_strCSSClass = "cooldown"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "AbilityCooldown_scale_function"
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
}
PauseStaminaRegen = {
m_strValue = "0"
}
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 = "0"
m_strDisableValue = "0"
}
AbilityCooldownBetweenCharge = { // Charge Delay
m_strValue = "7"
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_nAbillityUnlocksCost = 1
m_strSelectedLoopSound = "Kelvin.IceGrenade.Select.Lp"
m_AbilityTooltipDetails = {
m_vecAbilityInfoSections = [
0{
m_strLocString = "#ability_ice_grenade_desc" // Throw a grenade that explodes in a cloud of freezing ice that {g:citadel_inline_attribute:'Heals'} allies and applies {g:citadel_inline_attribute:'SpiritDamage'} and <span class="highlight">move speed reduction</span> to enemies.
m_vecBasicProperties = [
0"SlowDuration"
]
m_vecAbilityPropertiesBlock = [
0{
m_vecAbilityProperties = [
0{
m_strImportantProperty = "Damage"
}
1{
m_strImportantProperty = "HealAmount"
m_bRequiresAbilityUpgrade = true
}
2{
m_strImportantProperty = "SlowPercent"
}
]
}
]
}
]
}
m_skillshotMissParticle = "particles/abilities/skillshot_default_miss_owner.vpcf"
m_strCastAnimGraphParam = "e_GenericThrow"
m_IceGrenadeSlowModifier = {
_class = "modifier_icegrenade_debuff"
m_bIsHidden = true
_my_subclass_name = "kelvin_ice_grenade_slow"
m_strParticleEffect = "particles/abilities/kelvin/kelvin_ice_grenade_slow.vpcf"
m_strSmallIconCssClass = "slowed"
m_vecAutoRegisterModifierValueFromAbilityPropertyName = [
0"SlowPercent"
]
}
m_bitsInterruptingStates = "MODIFIER_STATE_STUNNED"
m_eAbilityTargetingShape = "CITADEL_ABILITY_TARGETING_SHAPE_CIRCLE"
m_strHitConfirmationSound = "Kelvin.IceGrenade.Hit"
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_NONE"
m_strAG2CastCompletedAction = "throw_completed"
m_strAbilityChargeReadySound = ""
m_strAbilityOffCooldownSound = ""
m_bitsChannelEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPreCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPostCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
}
History
- 6722–6745changed
- +m_mapAbilityProperties.AuraHPS
0 - +m_mapAbilityProperties.AuraDuration
0 - +m_mapAbilityProperties.AuraSlowAmount
-75 - +m_mapWeaponInfos
{ 1 key }
{ primary = { m_flBulletSpeed = 1600 m_flBulletRadius = 1.5 m_mapImpactEffects = { default = { } } m_flVerticalAimBias = 10 m_flBulletGravityScale = 1 m_eAttachmentSourceType = "EAttachmentSource_Custom" m_flBulletRadiusVsWorld = 1.5 m_strBulletLoopingSound = "Kelvin.IceGrenade.Proj.Lp" m_szBulletTravelTracerParticle = "particles/abilities/kelvin/kelvin_ice_grenade_projectile.vpcf" } } - +m_EnemyAuraModifier
{ 4 keys }
{ _class = "modifier_base_aura" _my_subclass_name = "enemy_aura" m_iAuraSearchType = "CITADEL_UNIT_TARGET_ALL_ENEMY" m_modifierProvidedByAura = { _class = "modifier_citadel_ice_grenade_chill" m_bIsHidden = true _my_subclass_name = "chill" m_strParticleStatusEffect = "particles/status_fx/status_fx_kelvin_freeze.vpcf" } } - +m_sCustomStackLabel
#CurrentBonus_label - +m_FriendlyAuraModifier
{ 5 keys }
{ _class = "modifier_base_aura" m_bIsHidden = false _my_subclass_name = "friendly_aura" m_iAuraSearchType = "CITADEL_UNIT_TARGET_ALL_FRIENDLY" m_modifierProvidedByAura = { _class = "modifier_citadel_basic_health_regen" m_bIsHidden = true _my_subclass_name = "regen" m_strRegenAbilityPropertyName = "AuraHPS" } } - −m_AbilityTooltipDetails.m_vecAbilityInfoSections[0].m_vecAbilityPropertiesBlock[0].m_vecAbilityProperties[1].m_bRequiresAbilityUpgrade
true - −m_WeaponInfo
{ 9 keys }
{ m_flBulletSpeed = 1600 m_flBulletRadius = 1.5 m_mapImpactEffects = { default = { } } m_flVerticalAimBias = 10 m_flBulletGravityScale = 1 m_eAttachmentSourceType = "EAttachmentSource_Custom" m_flBulletRadiusVsWorld = 1.5 m_strBulletLoopingSound = "Kelvin.IceGrenade.Proj.Lp" m_szBulletTravelTracerParticle = "particles/abilities/kelvin/kelvin_ice_grenade_projectile.vpcf" } - −m_strMoviePreviewPath
file://{resources}/videos/hero_abilities/kelvin_freezing_grenade.webm - −m_strCastAnimGraphParam
e_GenericThrow
- +m_mapAbilityProperties.AuraHPS
- 6696–6701first dumped
