Need help with plugins or servers? Join our Discord

Modding Database

Up to date with Steam · checked 2s ago· Viewing build 6745 (Oct 02 2026)

citadel_ability_chrono_swap

Paradoxical Swapultimate

class citadel_ability_chrono_swap · Paradox Signature 4 · inherits from ultimate_base

Deadworks (C#)
pawn.AddAbility("citadel_ability_chrono_swap", (ushort)EAbilitySlot.Signature4);
pawn.RemoveAbility("citadel_ability_chrono_swap");

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
SwapTime1.0
TickRate0.25
MultiSwapMulti Target Radius0m+7m
TechPowerSpirit Power0TECH_POWER
SwapDamageSwap Damage150
MinSwapTime0.6
WeaponPowerWeapon Damage0WEAPON_POWER
CombatBarrierBarrier0+1.5 spirit scalingBARRIER_HEALTH
InitialHeight350
AbilityChargesCharges0
AbilityCooldownCooldown110+-30
AbilityDurationDuration0
BarrierDurationBarrier Duration0+8
MaxHealthDamageMax Health Damage0+10
AbilityCastDelayCast Delay0.15
AbilityCastRangeCast Range25m+13m
ChannelMoveSpeed1.3m
DistanceToMaxTime30m
InitialFreezeTime0.25
AbilityChannelTimeChannel Duration0
AbilityResourceCost0
AbilityUnitTargetLimit1
AbilityPostCastDuration0
AbilityCooldownBetweenChargeCharge Delay-1.0

Modifiers

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

Name for AddModifierClassReads ability values
citadel_ability_chrono_swap/barrier_modifiermodifier_baseCombatBarrier
citadel_ability_chrono_swap/modifier_chrono_swap_bubble_move Paradoxical Swapmodifier_chrono_swap_bubble_move

VData

_class"citadel_ability_chrono_swap"
_editor
1 key
{
  "folder_name": "Hero Chrono"
}
_multibase
1 item
[
  "ultimate_base"
]
m_iMaxLevel1
m_iUpdateTime1677887421
m_eAbilityType"EAbilityType_Ultimate"
m_strCastSound"Chrono.Swap.Cast"
m_bStartTrainedfalse
m_ShieldModifier
5 keys
{
  "_class": "modifier_base",
  "m_bIsHidden": true,
  "m_sStartSound": "Player.Barrier.Activate",
  "_my_subclass_name": "barrier_modifier",
  "m_vecAutoRegisterModifierValueFromAbilityPropertyName": [
    "CombatBarrier"
  ]
}
m_mapWeaponInfos
1 key
{
  "primary": {
    "m_flRange": 10000,
    "m_iClipSize": 1,
    "m_flBulletSpeed": 3500,
    "m_flBulletRadius": 32.4,
    "m_flBulletLifetime": 5,
    "m_mapImpactEffects": {
      "default": {}
    },
    "m_strBulletWhizSound": "",
    "m_flBulletGravityScale": 0,
    "m_flPenetrationPercent": 100,
    "m_eAttachmentSourceType": "EAttachmentSource_Custom",
    "m_flBulletRadiusVsWorld": 1,
    "m_flPelletScatterFactor": 0,
    "m_strBulletLoopingSound": "Chrono.ChronoSwap.Proj.Lp",
    "m_strWeaponImpactEffect": "",
    "m_bDontPassThroughPortals": true,
    "m_flDamageFalloffEndRange": -1,
    "m_szMuzzleFlashEffectName": "",
    "m_bHitOnceAcrossAllBullets": true,
    "m_flDamageFalloffStartRange": -1,
    "m_szBulletTravelTracerParticle": "particles/abilities/chrono/chrono_swap_projectile.vpcf"
  }
}
m_MultiSwapEffect"particles/abilities/chrono/chrono_time_bomb_aoe.vpcf"
m_previewParticle"particles/abilities/chrono/chrono_swap_cast_preview.vpcf"
m_strAbilityImage"file://{images}/hud/abilities/chrono/chrono_swap.psd"
m_strAG2SourceName"chrono_ability_paradoxical_swap"
m_flBossDamageScale1
m_sCustomStackLabel"#CurrentBonus_label"
m_BubbleMoveModifier
17 keys
{
  "_class": "modifier_chrono_swap_bubble_move",
  "m_bIsHidden": true,
  "m_sStartSound": "Chrono.Swap.Activated",
  "m_AG2BaseState": {
    "m_nPriority": 0,
    "m_strParamName": ""
  },
  "m_BeamParticle": "particles/abilities/chrono/chrono_swap_bubble_beam.vpcf",
  "m_HealParticle": "particles/abilities/chrono/chrono_swap_heal.vpcf",
  "m_sExpiredSound": "Chrono.Swap.Expire",
  "m_DamageParticle": "",
  "_my_subclass_name": "modifier_chrono_swap_bubble_move",
  "m_nEnabledStateMask": "MODIFIER_STATE_CHRONO_SWAPPING | MODIFIER_STATE_COMMAND_RESTRICTED | MODIFIER_STATE_AIR_DUCKING_FORCED | MODIFIER_STATE_SILENCE_MOVEMENT_ABILITES",
  "m_sLocalizationName": "modifier_chrono_swap_bubble_move",
  "m_strParticleEffect": "particles/abilities/chrono/chrono_swap_bubble.vpcf",
  "m_bDurationReducible": false,
  "m_sAmbientLoopingSound": "Chrono.Swap.Lp",
  "m_strParticleStatusEffect": "",
  "m_bDurationCanBeTimeScaled": false,
  "m_flMultiSwapDistFromOrigin": 80
}
m_eAbilityActivation"CITADEL_ABILITY_ACTIVATION_INSTANT_CAST"
m_nAbilityPointsCost0
m_PreviewPathParticle"particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes"CITADEL_UNIT_TARGET_HERO_ENEMY"
m_strAG2CastingAction"ability_paradoxical_swap_casting"
m_AbilityBehaviorsBits"CITADEL_ABILITY_BEHAVIOR_PROJECTILE | CITADEL_ABILITY_BEHAVIOR_CLEAVE_DISABLED | CITADEL_ABILITY_BEHAVIOR_SHOW_CAST_RANGE_AS_SAT_SPHERE_WHILE_CASTING | CITADEL_ABILITY_BEHAVIOR_ALLOW_ALT_CAST"
m_nAbillityUnlocksCost1
m_AbilityTooltipDetails
1 key
{
  "m_vecAbilityInfoSections": [
    {
      "m_strLocString": "#citadel_ability_chrono_swap_desc",
      "m_vecBasicProperties": [
        "CombatBarrier",
        "BarrierDuration",
        "MultiSwap"
      ],
      "m_vecAbilityPropertiesBlock": [
        {
          "m_vecAbilityProperties": [
            {
              "m_strImportantProperty": "SwapDamage"
            },
            {
              "m_strImportantProperty": "MaxHealthDamage"
            }
          ]
        }
      ]
    }
  ]
}
m_skillshotMissParticle"particles/abilities/skillshot_default_miss_owner.vpcf"
m_strCastAnimGraphParam"e_GenericThrow"
m_bitsInterruptingStates"MODIFIER_STATE_STUNNED"
m_eAbilityTargetingShape"CITADEL_ABILITY_TARGETING_SHAPE_SPHERE"
m_strHitConfirmationSound"Chrono.Swap.Hit"
m_eAbilitySpectatePriority"CITADELTV_ABILITY_SPECTATE_PRIORITY_HIGH"
m_strAbilityChargeReadySound""
m_strAbilityOffCooldownSound""
m_bitsChannelEnabledStateMask"MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPreCastEnabledStateMask"MODIFIER_STATE_BUSY_WITH_ACTION | MODIFIER_STATE_IN_ABILITY_ALLOW_ZOOM"
m_bitsPostCastEnabledStateMask"MODIFIER_STATE_BUSY_WITH_ACTION | MODIFIER_STATE_IN_ABILITY_ALLOW_ZOOM"

History

  1. 6722–6745changed
    • +m_mapWeaponInfos
      { 1 key }
      {
      	primary = 
      	{
      		m_flRange = 10000
      		m_iClipSize = 1
      		m_flBulletSpeed = 3500
      		m_flBulletRadius = 32.4
      		m_flBulletLifetime = 5
      		m_mapImpactEffects = 
      		{
      			default = 
      			{
      			}
      		}
      		m_strBulletWhizSound = ""
      		m_flBulletGravityScale = 0
      		m_flPenetrationPercent = 100
      		m_eAttachmentSourceType = "EAttachmentSource_Custom"
      		m_flBulletRadiusVsWorld = 1
      		m_flPelletScatterFactor = 0
      		m_strBulletLoopingSound = "Chrono.ChronoSwap.Proj.Lp"
      		m_strWeaponImpactEffect = ""
      		m_bDontPassThroughPortals = true
      		m_flDamageFalloffEndRange = -1
      		m_szMuzzleFlashEffectName = ""
      		m_bHitOnceAcrossAllBullets = true
      		m_flDamageFalloffStartRange = -1
      		m_szBulletTravelTracerParticle = "particles/abilities/chrono/chrono_swap_projectile.vpcf"
      	}
      }
    • +m_sCustomStackLabel#CurrentBonus_label
    • −m_WeaponInfo
      { 20 keys }
      {
      	m_flRange = 10000
      	m_iClipSize = 1
      	m_flBulletSpeed = 3500
      	m_flBulletRadius = 32.4
      	m_flBulletLifetime = 5
      	m_mapImpactEffects = 
      	{
      		default = 
      		{
      			m_strSound = "Orion.Charged.Shot.Proj.Impact"
      		}
      	}
      	m_strBulletWhizSound = ""
      	m_flBulletGravityScale = 0
      	m_flPenetrationPercent = 100
      	m_eAttachmentSourceType = "EAttachmentSource_Custom"
      	m_flBulletRadiusVsWorld = 1
      	m_flPelletScatterFactor = 0
      	m_strBulletLoopingSound = "Chrono.ChronoSwap.Proj.Lp"
      	m_strWeaponImpactEffect = ""
      	m_bDontPassThroughPortals = true
      	m_flDamageFalloffEndRange = -1
      	m_szMuzzleFlashEffectName = ""
      	m_bHitOnceAcrossAllBullets = true
      	m_flDamageFalloffStartRange = -1
      	m_szBulletTravelTracerParticle = "particles/abilities/chrono/chrono_swap_projectile.vpcf"
      }
    • −m_strMoviePreviewPathfile://{resources}/videos/hero_abilities/chrono_chrono_swap.webm
  2. 6696–6701first dumped