Need help with plugins or servers? Join our Discord

Modding Database

Up to date with Steam · checked 31s ago· Viewing build 6701 (Sep 25 2026), not the latest

viscous_restorative_goo

The Cubeability

class viscous_restorative_goo · Viscous Signature 2 · inherits from signature_base

Deadworks (C#)
pawn.AddAbility("viscous_restorative_goo", (ushort)EAbilitySlot.Signature2);
pawn.RemoveAbility("viscous_restorative_goo");

Properties

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.

PropertyEnglish labelValueTier 1Tier 2Tier 3Provides
Friction-80
CubeScale1.5
TechPowerSpirit Power0TECH_POWER
SlideForce70
BulletForce600
WeaponPowerWeapon Damage0WEAPON_POWER
BreakoutTime1
PostCubeBuff0+1
PurgeDebuffs0+1
PushBackForce250
AbilityChargesCharges0
BonusMoveSpeedMove Speed0m+2.5mMOVEMENT_SPEED_MAX
MaxHealthRegenMax Health Heal0
PushBackRadius50
AbilityCooldownCooldown42+-20
AbilityDurationDuration3+1
HeavyMeleeForce700
LightMeleeForce300
AbilityCastDelayCast Delay0.1
AbilityCastRangeCast Range20m
BonusHealthRegenHealth Regen40+25HEALTH_REGEN_PER_SECOND
ChannelMoveSpeed-1
AbilityChannelTimeChannel Duration0
AbilityResourceCost0
PostCubeBuffDurationBuff Duration8
AbilityUnitTargetLimit1
AbilityPostCastDuration0
StaminaCooldownReductionStamina Recovery0+30STAMINA_REGEN_PER_SECOND_PERCENTAGE
AbilityCooldownBetweenChargeCharge Delay-1.0

Modifiers

Defined inside this ability. AddModifier finds each by its scoped name.

Name for AddModifierClassReads ability values
viscous_restorative_goo/breakoutProgressmodifier_base
viscous_restorative_goo/cube_post_speed_buffmodifier_baseBonusMoveSpeed, StaminaCooldownReduction
viscous_restorative_goo/modifier_restorative_goo The Cubemodifier_restorative_goo
viscous_restorative_goo/viscous_self_cube_model_swapmodifier_base

VData

_class"viscous_restorative_goo"
_editor
1 key
{
  "folder_name": "Hero Viscous"
}
_multibase
1 item
[
  "signature_base"
]
m_iMaxLevel1
m_WeaponInfo
1 key
{
  "m_flBulletSpeed": 10000
}
m_iUpdateTime1669930587
m_eAbilityType"EAbilityType_Signature"
m_bStartTrainedfalse
m_strAbilityImage"file://{images}/hud/abilities/viscous/viscous_restorative_goo.psd"
m_flBossDamageScale1
m_eAbilityActivation"CITADEL_ABILITY_ACTIVATION_PRESS"
m_nAbilityPointsCost0
m_PreviewPathParticle"particles/generic/generic_arc.vpcf"
m_eTargettingLOSCheck"ELOSCheck_Bounds_IgnoreObscureBlockers"
m_nAbilityTargetTypes"CITADEL_UNIT_TARGET_HERO_FRIENDLY"
m_strDamageTakenSound""
m_strMoviePreviewPath"file://{resources}/videos/hero_abilities/viscous_restorative_goo.webm"
m_AbilityBehaviorsBits"CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT | CITADEL_ABILITY_BEHAVIOR_EQUAL_UNIT_TARGET_PRIORITY | CITADEL_ABILITY_BEHAVIOR_ALLOW_SELF_CAST | CITADEL_ABILITY_BEHAVIOR_CAN_HEAL_PLAYERS | CITADEL_ABILITY_BEHAVIOR_USE_INSTANT_CAST_UNIT_TARGET_UI | CITADEL_ABILITY_BEHAVIOR_CAN_SET_QUICK_CAST | CITADEL_ABILITY_BEHAVIOR_DONT_INTERRUPT_SLIDE_ON_CAST"
m_flTargetingConeAngle60
m_nAbillityUnlocksCost1
m_AbilityTooltipDetails
1 key
{
  "m_vecAbilityInfoSections": [
    {
      "m_strLocString": "#viscous_restorative_goo_desc",
      "m_vecBasicProperties": [],
      "m_vecAbilityPropertiesBlock": [
        {
          "m_vecAbilityProperties": [
            {
              "m_strImportantProperty": "BonusHealthRegen"
            },
            {
              "m_strImportantProperty": "AbilityDuration"
            }
          ]
        }
      ]
    },
    {
      "m_strLocString": "#viscous_restorative_goo_buff_desc",
      "m_vecBasicProperties": [],
      "m_vecAbilityPropertiesBlock": [
        {
          "m_vecAbilityProperties": [
            {
              "m_strImportantProperty": "BonusMoveSpeed",
              "m_bRequiresAbilityUpgrade": true
            },
            {
              "m_strImportantProperty": "StaminaCooldownReduction",
              "m_bRequiresAbilityUpgrade": true
            },
            {
              "m_strImportantProperty": "PostCubeBuffDuration",
              "m_bRequiresAbilityUpgrade": true
            }
          ],
          "m_strPropertiesTitleLocString": ""
        }
      ],
      "m_strAbilityPropertyUpgradeRequired": "BonusMoveSpeed"
    }
  ]
}
m_skillshotMissParticle"particles/abilities/skillshot_default_miss_owner.vpcf"
m_strCastAnimGraphParam"e_GenericCast"
m_strCastButtonLocToken"#AbilityButtonHint_CastRestorativeGoo"
m_RestorativeGooModifier
27 keys
{
  "_class": "modifier_restorative_goo",
  "m_ModelName": "models/abilities/viscous_cube.vmdl",
  "m_bIsHidden": false,
  "m_eDebuffType": "MODIFIER_DEBUFF_NO",
  "m_sStartSound": "Viscous.Cube.Cast",
  "m_strHintText": "",
  "m_sExpiredSound": "Viscous.Cube.Dur.End",
  "_my_subclass_name": "modifier_restorative_goo",
  "m_SelfCubeModelName": "models/abilities/viscous_cube.vmdl",
  "m_sLocalizationName": "modifier_restorative_goo",
  "m_strHudMessageText": "#viscous_restorative_goo",
  "m_strParticleEffect": "particles/abilities/viscous/viscous_restorative_goo_healing.vpcf",
  "m_TargetLoopingSound": "",
  "m_eHudDisplayLocation": "DISPLAY_HUD_CENTER",
  "m_PostCubeBuffModifier": {
    "_class": "modifier_base",
    "m_bIsHidden": true,
    "_my_subclass_name": "cube_post_speed_buff",
    "m_strParticleEffect": "particles/abilities/viscous/viscous_symbiosis_buff.vpcf",
    "m_vecAutoRegisterModifierValueFromAbilityPropertyName": [
      "BonusMoveSpeed",
      "StaminaCooldownReduction"
    ]
  },
  "m_sAmbientLoopingSound": "Viscous.Cube.Dur.Target.Lp",
  "m_NonTargetLoopingSound": "",
  "m_cameraSequenceCreated": {
    "m_vecDistanceOperations": [
      {
        "m_flLerpEnd": 500,
        "m_flLerpBias": 0.75,
        "m_flLerpDuration": 0.5,
        "m_eCameraOperation": "k_ECameraOp_Lerp",
        "m_bLerpEndAtDefault": false,
        "m_bValuesAreRelative": true
      },
      {
        "m_eCameraOperation": "k_ECameraOp_Maintain",
        "m_bValuesAreRelative": false,
        "m_flMaintainDuration": 0
      }
    ],
    "m_vecVertOffsetOperations": [
      {
        "m_flLerpEnd": 100,
        "m_flLerpBias": 0.75,
        "m_flLerpDuration": 0.5,
        "m_eCameraOperation": "k_ECameraOp_Lerp",
        "m_bLerpEndAtDefault": false,
        "m_bValuesAreRelative": true
      },
      {
        "m_eCameraOperation": "k_ECameraOp_Maintain",
        "m_bValuesAreRelative": false
      }
    ]
  },
  "m_cameraSequenceRemoved": {
    "m_vecDistanceOperations": [
      {
        "m_eCameraOperation": "k_ECameraOp_Spring"
      }
    ],
    "m_vecVertOffsetOperations": [
      {
        "m_eCameraOperation": "k_ECameraOp_Spring"
      }
    ]
  },
  "m_bReverseHudProgressBar": false,
  "m_flDistanceCameraOffset": 450,
  "m_RestorativeGooEndParticle": "particles/abilities/viscous/viscous_restorative_goo_end.vpcf",
  "m_flDistanceCameraOffsetBias": 0.75,
  "m_BreakoutProgressBarModifier": {
    "_class": "modifier_base",
    "m_strHintText": "",
    "_my_subclass_name": "breakoutProgress",
    "m_sLocalizationName": "",
    "m_eHudDisplayLocation": "DISPLAY_HUD_CENTER",
    "m_strSmallIconCssClass": "",
    "m_bReverseHudProgressBar": true
  },
  "m_flDistanceCameraOffsetLerpTime": 0.5,
  "m_nAmbientLoopingSoundRecipients": "MODIFIER_SOUND_RECIPIENT_ALWAYS",
  "m_vecAutoRegisterModifierValueFromAbilityPropertyName": []
}
m_RestorativeGooParticle"particles/abilities/viscous/viscous_restorative_goo_start.vpcf"
m_bitsInterruptingStates"MODIFIER_STATE_STUNNED"
m_eAbilityTargetingShape"CITADEL_ABILITY_TARGETING_SHAPE_CONE"
m_strAltCastButtonLocToken"#AbilityButtonHint_AltCastRestorativeGoo"
m_SelfCubeModelSwapModifier
4 keys
{
  "_class": "modifier_base",
  "m_bIsHidden": true,
  "_my_subclass_name": "viscous_self_cube_model_swap",
  "m_nEnabledStateMask": "MODIFIER_STATE_DO_NOT_DRAW_MODEL"
}
m_eAbilityTargetingLocation"CITADEL_ABILITY_TARGETING_LOCATION_UNIT"
m_RestorativeGooSelfParticle"particles/abilities/viscous/viscous_restorative_goo_start.vpcf"
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

  1. 6722–6745changed
    • +m_mapWeaponInfos
      { 1 key }
      {
      	primary = 
      	{
      		m_flBulletSpeed = 10000
      	}
      }
    • +m_sCustomStackLabel#CurrentBonus_label
    • ~m_eTargettingLOSCheckELOSCheck_Bounds_IgnoreObscureBlockers→Bounds_IgnoreObscureBlockers
    • −m_AbilityTooltipDetails.m_vecAbilityInfoSections[1].m_vecAbilityPropertiesBlock[0].m_vecAbilityProperties[0].m_bRequiresAbilityUpgradetrue
    • −m_AbilityTooltipDetails.m_vecAbilityInfoSections[1].m_vecAbilityPropertiesBlock[0].m_vecAbilityProperties[1].m_bRequiresAbilityUpgradetrue
    • −m_AbilityTooltipDetails.m_vecAbilityInfoSections[1].m_vecAbilityPropertiesBlock[0].m_vecAbilityProperties[2].m_bRequiresAbilityUpgradetrue
    • −m_WeaponInfo
      { 1 key }
      {
      	m_flBulletSpeed = 10000
      }
    • −m_strMoviePreviewPathfile://{resources}/videos/hero_abilities/viscous_restorative_goo.webm
  2. 6696–6701first dumped