What it inherits is already merged in: this is the entry as the game compiled it.
ability_magician_stage = {
_editor = {
folder_name = "Hero Magician"
}
_multibase = [
]
m_iMaxLevel = 1
m_iUpdateTime = 1639165848
m_eAbilityType = "EAbilityType_Ultimate"
m_bStartTrained = false
m_mapWeaponInfos = {
primary = {
m_flBulletSpeed = 10000
}
}
m_IceDomeModifier = {
_class = "modifier_ice_dome"
m_bIsHidden = true
m_nAttributes = "MODIFIER_ATTRIBUTE_PERMANENT"
m_BlockerModel = "models/abilities/ice_dome.vmdl"
m_DomeParticle = "particles/abilities/kelvin/kelvin_ice_dome_particle.vpcf"
_my_subclass_name = "modifier_ice_dome"
m_strDomeEndSound = "Ability.Kelvin.IceDome.Destroy"
m_EnemyAuraModifier = {
_class = "modifier_base_aura"
m_bIsHidden = true
_my_subclass_name = "ice_dome_enemy_aura"
m_iAuraSearchType = "CITADEL_UNIT_TARGET_ALL_ENEMY | CITADEL_UNIT_TARGET_TROPHY"
m_modifierProvidedByAura = {
_class = "modifier_icedome_auramodifier_base"
m_flDuration = 0.5
_my_subclass_name = "modifier_debuff"
m_nEnabledStateMask = "MODIFIER_STATE_SLOWED"
m_strParticleEffect = "particles/abilities/kelvin/kelvin_ice_grenade_slow.vpcf"
m_strSmallIconCssClass = "slowed"
m_strParticleStatusEffect = "particles/status_fx/status_fx_kelvin_freeze.vpcf"
m_vecAutoRegisterModifierValueFromAbilityPropertyName = [
0"FireRateSlow"
1"SlowPercent"
]
}
}
m_FriendlyAuraModifier = {
_class = "modifier_base_aura"
m_bIsHidden = true
_my_subclass_name = "ice_dome_friendly_aura"
m_iAuraSearchType = "CITADEL_UNIT_TARGET_ALL_FRIENDLY"
m_modifierProvidedByAura = {
_class = "modifier_ice_dome_friendly"
m_flDuration = 0.5
_my_subclass_name = "modifier_ice_dome_friendly"
m_sLocalizationName = "frozen_shelter_modifier_buff"
m_strParticleEffect = "particles/generic/generic_health_regen.vpcf"
m_eHudDisplayLocation = "DISPLAY_HUD_CENTER"
}
}
m_sAmbientLoopingSound = "Kelvin.IceDome.Lp"
m_strTargetLoopingSound = "Ability.Kelvin.IceDome_CastTarget"
}
m_previewParticle = "particles/abilities/sticky_grenade_projectile.vpcf"
m_strAbilityImage = "file://{images}/hud/abilities/kelvin/frozen_shelter.psd"
m_flBossDamageScale = 1
m_sCustomStackLabel = "#CurrentBonus_label" // Current Bonus:
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_PRESS"
m_nAbilityPointsCost = 0
m_vecAbilityUpgrades = [
0{
m_vecPropertyUpgrades = [
0{
m_strBonus = "40"
m_strPropertyName = "FireRateSlow"
}
]
}
1{
m_vecPropertyUpgrades = [
0{
m_strBonus = -38
m_strPropertyName = "AbilityCooldown"
}
]
}
2{
m_vecPropertyUpgrades = [
0{
m_strBonus = "70"
m_strPropertyName = "BonusHealthRegen"
}
1{
m_strBonus = 1.52334
m_eUpgradeType = "EAddToScale"
m_strPropertyName = "BonusHealthRegen"
m_eScaleStatFilter = "ETechPower"
}
]
}
]
m_PreviewPathParticle = "particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_HERO_ENEMY"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT | CITADEL_ABILITY_BEHAVIOR_ALLOW_SELF_CAST | CITADEL_ABILITY_BEHAVIOR_USE_INSTANT_CAST_UNIT_TARGET_UI | CITADEL_ABILITY_BEHAVIOR_CAN_SET_QUICK_CAST"
m_flTargetingConeAngle = 45
m_mapAbilityProperties = {
Radius = { // Radius
m_strValue = "15m"
m_strCSSClass = "distance"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "Radius_scale_function"
m_eSpecificStatScaleType = "ETechRadius"
}
}
GrowTime = {
m_strValue = "0.2"
}
TechPower = { // Spirit Power
m_strValue = "0"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
m_eProvidedPropertyType = "MODIFIER_VALUE_TECH_POWER"
}
SlowPercent = { // Move Speed
m_strValue = "28"
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"
}
FireRateSlow = { // Fire Rate
m_strValue = "0"
m_strCSSClass = "slow"
m_eStatsUsageFlags = "ConditionallyApplied"
m_eProvidedPropertyType = "MODIFIER_VALUE_FIRE_RATE_SLOW"
}
AbilityCharges = { // Charges
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "-1"
m_bCanSetTokenOverride = true
m_subclassScaleFunction = {
_class = "scale_function_ability_charges"
_my_subclass_name = "AbilityCharges_scale_function"
}
}
EnemyDragSpeed = {
m_strValue = "1000"
m_eDisplayUnits = "EDisplayUnit_MetersPerSecond"
}
MaxHealthRegen = { // Max Health Heal
m_strValue = "0"
m_strCSSClass = "healing"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "MaxHealthRegen_scale_function"
m_eSpecificStatScaleType = "EHealingOutput"
}
}
AbilityCooldown = { // Cooldown
m_strValue = 127
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 = "5.5"
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.2"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
AbilityCastRange = { // Cast Range
m_strValue = "20m"
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"
}
}
BonusHealthRegen = { // Health Regen
m_strValue = "120"
m_strCSSClass = "healing"
m_eProvidedPropertyType = "MODIFIER_VALUE_HEALTH_REGEN_PER_SECOND"
m_subclassScaleFunction = {
_class = "scale_function_healing_spirit_scale"
m_flStatScale = 0
_my_subclass_name = "BonusHealthRegen_scale_function"
}
}
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"
]
}
}
BlockerScaleFactor = {
m_strValue = "115"
}
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 = "-1.0"
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_AbilityTooltipDetails = {
m_vecAbilityInfoSections = [
0{
m_strLocString = "#ability_magician_stage_desc" // Target an enemy. You and the target enemy are bound on Stage, unable to leave. All other characters are pushed out of the radius.
m_vecBasicProperties = [
0"MaxHealthRegen"
]
m_vecAbilityPropertiesBlock = [
0{
m_vecAbilityProperties = [
0{
m_strImportantProperty = "BonusHealthRegen"
}
1{
m_strImportantProperty = "SlowPercent"
}
2{
m_strImportantProperty = "FireRateSlow"
}
]
}
]
}
]
}
m_skillshotMissParticle = "particles/abilities/skillshot_default_miss_owner.vpcf"
m_strCastAnimGraphParam = "b_IceDome"
m_strCastButtonLocToken = "#AbilityButtonHint_CastIceDome" // Cast Frozen Shelter
m_bitsInterruptingStates = "MODIFIER_STATE_STUNNED"
m_eAbilityTargetingShape = "CITADEL_ABILITY_TARGETING_SHAPE_CONE"
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_UNIT"
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"
}
