Need help with plugins or servers? Join our Discord

Modding Database

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

ability_familiar_attach_trigger

Hop To Allyability_familiar_attach_triggerOpen the ability page

25 keys · inherits from inherent_base

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

ability_familiar_attach_trigger = {
_class = "ability_familiar_attach_trigger"
_editor = {
folder_name = "Hero Familiar"
}
_multibase = [
]
m_HUDPanel = {
m_vecButtonHints = [
0{
m_nButton1 = "IN_ABILITY2"
m_eHintSide = "EButtonSide_Right"
m_strContext = "trigger"
m_strLocToken = "#ability_familiar_attach_trigger" // Hop To Ally
}
]
}
m_iMaxLevel = 1
m_eAbilityType = "EAbilityType_Innate"
m_bStartTrained = true
m_mapWeaponInfos = {
primary = {
m_flBulletSpeed = 10000
}
}
m_strAbilityImage = "file://{images}/hud/abilities/familiar/familiar_tag_along2.psd"
m_AbilityToTrigger = "ability_familiar_attach"
m_sCustomStackLabel = "#CurrentBonus_label" // Current Bonus:
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_INSTANT_CAST"
m_eTargettingLOSCheck = "Bounds_IgnoreObscureBlockers"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_HERO_FRIENDLY | CITADEL_UNIT_TARGET_TROOPER_FRIENDLY | CITADEL_UNIT_TARGET_NEUTRAL | CITADEL_UNIT_TARGET_BOSS"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_DONT_INTERRUPT_SPRINT | CITADEL_ABILITY_BEHAVIOR_CASTABLE_WHILE_HIDDEN | CITADEL_ABILITY_BEHAVIOR_IGNORE_SELECTION_MASH_PROTECTION | CITADEL_ABILITY_BEHAVIOR_USE_INSTANT_CAST_UNIT_TARGET_UI | CITADEL_ABILITY_BEHAVIOR_MOVEMENT"
m_flTargetingConeAngle = 50
m_mapAbilityProperties = {
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"
}
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"
}
}
AbilityCooldown = { // Cooldown
m_strValue = "0"
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"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
AbilityCastRange = { // Cast Range
m_strValue = "30m"
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 = "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_AbilityTooltipDetails = {
m_vecAbilityInfoSections = [
0{
m_strLocString = "#ability_familiar_attach_trigger_desc" // Hop to another ally and refresh the {g:citadel_inline_attribute:'Regen'} duration, once per ally.
}
]
}
m_bitsInterruptingStates = "MODIFIER_STATE_IMMOBILIZED | MODIFIER_STATE_STUNNED | MODIFIER_STATE_IS_ASLEEP"
m_eAbilityTargetingShape = "CITADEL_ABILITY_TARGETING_SHAPE_CONE"
m_flTargetingConeHalfWidth = 60
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_UNIT"
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_WeaponInfo
      { 1 key }
      {
      	m_flBulletSpeed = 10000
      }
  2. 6696–6701first dumped