pawn.AddAbility("ability_ice_grenade", (ushort)EAbilitySlot.Signature1);
pawn.RemoveAbility("ability_ice_grenade");Ability values, by the name modifiers and AddModifier overrides use. Tier columns are what each upgrade adds; "scaling" is how much more the value grows with spirit power or another stat.
| Property | English label | Value | Tier 1 | Tier 2 | Tier 3 | Provides |
| Damage | Damage | 60 | +30 | +0.8 spirit scaling | ||
| Radius | Radius | 6.5m | +2m | |||
| TechPower | Spirit Power | 0 | TECH_POWER | |||
| HealAmount | Heal Amount | 60 | +30 | +0.9 spirit scaling | ||
| SlowPercent | Move Speed | 32 | MOVEMENT_SPEED_SLOW_PERCENT | |||
| WeaponPower | Weapon Damage | 0 | WEAPON_POWER | |||
| SlowDuration | Slow Duration | 4 | ||||
| AbilityCharges | Charges | 2 | ||||
| AbilityCooldown | Cooldown | 30 | +-10 | |||
| AbilityDuration | Duration | 0 | ||||
| AbilityCastDelay | Cast Delay | 0.1 | ||||
| AbilityCastRange | Cast Range | 0 | ||||
| ChannelMoveSpeed | -1 | |||||
| PauseStaminaRegen | 0 | +1 | ||||
| AbilityChannelTime | Channel Duration | 0 | ||||
| AbilityResourceCost | 0 | |||||
| AbilityUnitTargetLimit | 1 | |||||
| AbilityPostCastDuration | 0 | |||||
| AbilityCooldownBetweenCharge | Charge Delay | 7 |
Defined inside this ability. AddModifier finds each by its scoped name.
| Name for AddModifier | Class | Reads ability values |
| ability_ice_grenade/kelvin_ice_grenade_slow | modifier_icegrenade_debuff | SlowPercent |
| _class | "ability_ice_grenade" |
| _editor | 1 key{
"folder_name": "Hero Kelvin"
} |
| _multibase | 1 item[ "signature_base" ] |
| m_iMaxLevel | 1 |
| 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_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_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_nAbillityUnlocksCost | 1 |
| m_strSelectedLoopSound | "Kelvin.IceGrenade.Select.Lp" |
| m_AbilityTooltipDetails | 1 key{
"m_vecAbilityInfoSections": [
{
"m_strLocString": "#ability_ice_grenade_desc",
"m_vecBasicProperties": [
"SlowDuration"
],
"m_vecAbilityPropertiesBlock": [
{
"m_vecAbilityProperties": [
{
"m_strImportantProperty": "Damage"
},
{
"m_strImportantProperty": "HealAmount",
"m_bRequiresAbilityUpgrade": true
},
{
"m_strImportantProperty": "SlowPercent"
}
]
}
]
}
]
} |
| m_skillshotMissParticle | "particles/abilities/skillshot_default_miss_owner.vpcf" |
| m_strCastAnimGraphParam | "e_GenericThrow" |
| m_IceGrenadeSlowModifier | 6 keys{
"_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": [
"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" |
00-75{
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"
}
}{
_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"
}
}#CurrentBonus_label{
_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"
}
}true{
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"
}file://{resources}/videos/hero_abilities/kelvin_freezing_grenade.webme_GenericThrow