UNDEADLOCKThe unofficial Deadlock site
Mar 26, 2026

Mirage scarabs shrink, Graves ghouls halved

A wide balance pass hits Mirage's Fire Scarabs and Dust Devil while Graves loses power on Grasping Hands and Borrowed Decree. Victor's Jumpstart T3 swaps its debuff purge for Debuff Resistance, and The Doorman's Luggage Cart T3 trades its wall stun for bonus damage.

Victor

Victor

2 nerfs2 buffs1 rework

Jumpstart

Jumpstart

18s30s
0.35s4.5s

Deal spirit damage to yourself. Then, gain bonus regeneration and bonus move speed, decaying over time.

15%Current Health
On Buff:
Scales with Spirit Power: 1.2 per point100Total HP Regen
+3 mMove Speed
1+3 m Move Speed
2+50 Total HP Regen and -8s Cooldown
5+1 Charge, Purges non-ultimate debuffs and increases spirit scaling

Jumpstart

18s30s
0.35s4.5s

Deal spirit damage to yourself. Then, gain bonus regeneration and bonus move speed, decaying over time.

15%Current Health
On Buff:
Scales with Spirit Power: 1.2 per point100Total HP Regen
+3 mMove Speed
1+3 m Move Speed
2+50 Total HP Regen and -8s Cooldown
5+1 Charge
+50% Debuff Resistance
Increases spirit scaling
Mar 24, 2026Mar 26, 2026
The Doorman

The Doorman

1 nerf4 buffs

Luggage Cart

Luggage Cart

30s
25m

Send out a luggage Cart that deals spirit damage and pulls enemy heroes along its path.

Can be alt cast with Alternate cast to target friendly heroes instead.

If the cart collides with a wall while dragging an enemy, it will stun the targets.

1+60 CartDamage
2+20m Cast Range
5-15s Cooldown and 1.5s stun on wall impact

Luggage Cart

30s
25m

Send out a luggage Cart that deals spirit damage and pulls enemy heroes along its path.

Can be alt cast with Alternate cast to target friendly heroes instead.

If the cart collides with a wall while dragging an enemy, it will deal bonus damage to the targets.

1+60 CartDamage
2+20m Cast Range
+0.6 Damage on wall impact
5-15s Cooldown and 1.25s stun on wall impact
Mar 24, 2026Mar 26, 2026

MISC

30 changes

Other file and data updates.

  • Bounce Pad: bounce modifier data removed.
    View code changes (1 records)

    ability_bounce_pad · gameplay.m_BounceModifier.m_AG2HeroState (removed)

    {
      "before": {
        "m_strParamName": "astro_bouncepad_stomp"
      },
      "after": null
    }
  • generic data street brawl: ap per round data updated.
    View code changes (1 records)

    generic_data:m_StreetBrawl · gameplay.m_vecAPPerRound[4] (changed)

    {
      "before": 5,
      "after": 10
    }
  • announcement display time: default changed from 1 to 4.
    View code changes (1 records)

    DumpSource2/convars.txt · citadel_announcement_display_time (changed)

    {
      "before": 1,
      "after": 4
    }
  • Game data structures: 1 definitions added; 1 definitions removed.
    View code changes (1 records)

    DumpSource2/schemas/client/C_Citadel_Bounce_Pad.h · declarations (changed)

    {
      "before": [
        "bool m_bHasBouncedPlayerBefore;"
      ],
      "after": [
        "CUtlVector< CHandle< C_BaseEntity > > m_vBouncedPlayerBefore;"
      ]
    }
  • Game data structures: 1 definitions added; 1 definitions removed.
    View code changes (1 records)

    DumpSource2/schemas/server/CCitadel_Bounce_Pad.h · declarations (changed)

    {
      "before": [
        "bool m_bHasBouncedPlayerBefore;"
      ],
      "after": [
        "CUtlVector< CHandle< CBaseEntity > > m_vBouncedPlayerBefore;"
      ]
    }
  • Game data structures: 2 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioAmbisonicsField.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioAmbisonicsField",
        "CUtlVector< float32 > m_field;"
      ]
    }
  • Game data structures: 8 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioBakedDimensionsData.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioBakedDimensionsData",
        "SteamAudioCustomDataDimensionsSettings_t m_settings;",
        "CSteamAudioProbeData m_probes;",
        "CUtlVector< float32 > m_vecInOut;",
        "CUtlVector< float32 > m_vecSize;",
        "CUtlVector< CSteamAudioAmbisonicsField > m_vecOutsideField;",
        "CUtlVector< CSteamAudioAmbisonicsField > m_vecInsideSmallSizeField;",
        "CSteamAudioMovableBakedData< CSteamAudioBakedDimensionsData > m_movables;"
      ]
    }
  • Game data structures: 4 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioBakedMaterialsData.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioBakedMaterialsData",
        "CSteamAudioProbeData m_probes;",
        "CUtlVector< uint32 > m_vecMaterialTokens;",
        "CUtlVector< float32 > m_vecMaterialWeights;"
      ]
    }
  • Game data structures: 6 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioBakedOcclusionData.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioBakedOcclusionData",
        "SteamAudioCustomDataOcclusionSettings_t m_settings;",
        "CSteamAudioProbeData m_probes;",
        "CUtlVector< float32 > m_vecPathingRatio;",
        "CUtlVector< float32 > m_vecPathingDeviation;",
        "CUtlVector< float32 > m_vecReflectionRatio;"
      ]
    }
  • Game data structures: 4 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioBakedPathingData.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioBakedPathingData",
        "int32 m_nBands;",
        "CSteamAudioProbeData m_probes;",
        "CSteamAudioMovableBakedData< CSteamAudioBakedPathingData > m_movables;"
      ]
    }
  • Game data structures: 13 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioBakedReverbData.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioBakedReverbData",
        "int32 m_nBands;",
        "CSteamAudioSceneData m_scene;",
        "CSteamAudioProbeData m_probes;",
        "CSteamAudioProbeGrid m_grid;",
        "SteamAudioReverbSettings_t m_reverbSettings;",
        "SteamAudioReverbClusteringSettings_t m_reverbClusteringSettings;",
        "SteamAudioReverbCompressionSettings_t m_reverbCompressionSettings;",
        "CSteamAudioProbeData m_clusteredProbes;",
        "CUtlVector< int16 > m_vecClusterForProbe;",
        "CSteamAudioCompressedReverb m_compressedData;",
        "CSteamAudioCompressedReverb m_compressedClusteredData;",
        "CSteamAudioMovableBakedData< CSteamAudioBakedReverbData > m_movables;"
      ]
    }
  • Game data structures: 9 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioCompressedReverb.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioCompressedReverb",
        "int32 m_nChannels;",
        "int32 m_nBands;",
        "int32 m_nBins;",
        "int32 m_nProbes;",
        "CUtlVector< int32 > m_vecNumSingularValues;",
        "CUtlVector< float32 > m_vecDictionary;",
        "CUtlVector< float32 > m_vecCompressedData;",
        "IPLCompressedEnergyFields m_pCompressedData;"
      ]
    }
  • Game data structures: 2 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioProbeData.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioProbeData",
        "IPLProbeBatch m_pProbeBatch;"
      ]
    }
  • Game data structures: 8 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioProbeGrid.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioProbeGrid",
        "AABB_t m_aabb;",
        "float32 m_flSpacing;",
        "int32 m_nx;",
        "int32 m_ny;",
        "int32 m_nz;",
        "CUtlVector< CSteamAudioProbeLineSegment > m_vecLineSegments;",
        "CUtlVector< Vector > m_vecProbes;"
      ]
    }
  • Game data structures: 5 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioProbeLineSegment.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioProbeLineSegment",
        "Vector m_vStart;",
        "Vector m_vEnd;",
        "CUtlVector< float32 > m_vecIntervals;",
        "CUtlVector< int32 > m_vecProbeIndices;"
      ]
    }
  • Game data structures: 3 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/CSteamAudioSceneData.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class CSteamAudioSceneData",
        "IPLScene m_pScene;",
        "IPLStaticMesh m_pStaticMesh;"
      ]
    }
  • Game data structures: 6 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/SteamAudioCustomDataDimensionsSettings_t.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class SteamAudioCustomDataDimensionsSettings_t",
        "int32 m_nAmbisonicsOrderOutsideField;",
        "int32 m_nAmbisonicsOrderInsideSizeField;",
        "float32 m_flOutsideThreshold;",
        "float32 m_flSizeThreshold;",
        "float32 m_flInsideThreshold;"
      ]
    }
  • Game data structures: 5 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/SteamAudioCustomDataOcclusionSettings_t.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class SteamAudioCustomDataOcclusionSettings_t",
        "bool m_bEnablePathing;",
        "bool m_bEnableReflections;",
        "int32 m_nReflectionRays;",
        "int32 m_nReflectionBounces;"
      ]
    }
  • Game data structures: 5 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/SteamAudioPathSettings_t.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class SteamAudioPathSettings_t",
        "int32 m_nNumVisSamples;",
        "float32 m_flProbeVisRadius;",
        "float32 m_flProbeVisThreshold;",
        "float32 m_flProbePathRange;"
      ]
    }
  • Game data structures: 4 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/SteamAudioReverbClusteringSettings_t.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class SteamAudioReverbClusteringSettings_t",
        "bool m_bEnableClustering;",
        "int32 m_nCubeMapResolution;",
        "float32 m_flDepthThreshold;"
      ]
    }
  • Game data structures: 3 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/SteamAudioReverbCompressionSettings_t.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class SteamAudioReverbCompressionSettings_t",
        "bool m_bEnableCompression;",
        "float32 m_flQuality;"
      ]
    }
  • Game data structures: 6 definitions added.
    View code changes (1 records)

    DumpSource2/schemas/steamaudio/SteamAudioReverbSettings_t.h · declarations (changed)

    {
      "before": [],
      "after": [
        "class SteamAudioReverbSettings_t",
        "int32 m_nNumRays;",
        "int32 m_nNumBounces;",
        "float32 m_flIRDuration;",
        "int32 m_nAmbisonicsOrder;",
        "bool m_bExportScene;"
      ]
    }
  • 63 cosmetic records updated.
    View code changes (63 records)

    hero_viscous · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_forge · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_werewolf · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_fortuna · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_hornet · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_mirage · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_doorman · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_chrono · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_unicorn · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_haze · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_bomber · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_swan · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_necro · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_gunslinger · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_priest · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_kali · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_punkgoat · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_bebop · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_tengu · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_gigawatt · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_yamato · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_wraith · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_frank · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_slork · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_kelvin · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_fencer · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_rutger · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_astro · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_druid · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_orion · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_vampirebat · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_skyrunner · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_cadence · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_familiar · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_ghost · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_boho · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_krill · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_warden · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_tokamak · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_lash · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_airheart · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_operative · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_targetdummy · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_dynamo · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_drifter · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_viper · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_genericperson · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_thumper · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_opera · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_graf · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_nano · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_bookworm · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_magician · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_vandal · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_testhero · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_trapper · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_shiv · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_shieldguy · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_atlas · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_yakuza · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_wrecker · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_synth · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }

    hero_inferno · cosmetic.m_ShopStatDisplay.m_eVitalityStatsDisplay.m_vecDisplayStats (changed)

    {
      "before": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EHeroSpiritLifestealEffectiveness",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ],
      "after": [
        "EMaxHealth",
        "EBaseHealthRegen",
        "EHealingOutput",
        "EOOCHealthRegen",
        "EBulletArmorDamageReduction",
        "ETechArmorDamageReduction",
        "EMeleeResist",
        "EDebuffResist",
        "ECritDamageReceivedScale"
      ]
    }
  • 15 ability upgrade raw records updated.
    View code changes (15 records)

    citadel_ability_mobile_resupply · upgrades[3].changes[AbilityDuration].bonus.raw (changed)

    {
      "before": 1,
      "after": 1.5
    }

    mirage_fire_beetles · upgrades[3].changes[DPS:scale].bonus.raw (changed)

    {
      "before": 0.23,
      "after": 0.17
    }

    ability_werewolf_unloadgun · upgrades[2].changes[AbilityCooldown].bonus.raw (changed)

    {
      "before": -7,
      "after": -10
    }

    ability_crackshot · upgrades[3].changes[AbilityCooldownPerHeadshot].bonus.raw (changed)

    {
      "before": -4,
      "after": -6
    }

    ability_crackshot · upgrades[3].changes[AbilityCooldownPerHeadshotNPC].bonus.raw (changed)

    {
      "before": -2,
      "after": -3
    }

    ability_ice_grenade · upgrades[3].changes[Damage:scale].bonus.raw (changed)

    {
      "before": 0.9,
      "after": 0.8
    }

    ability_life_drain · upgrades[3].changes[LifeDrainPerSecond:scale].bonus.raw (changed)

    {
      "before": 0.3,
      "after": 0.4
    }

    ability_afterburn · upgrades[1].changes[DPS].bonus.raw (changed)

    {
      "before": 14,
      "after": 16
    }

    ability_doorman_luggage_cart · upgrades[3].changes[StunDuration].bonus.raw (changed)

    {
      "before": 1.5,
      "after": 1.25
    }

    ability_necro_zombiewall · upgrades[3].changes[SummonCount].bonus.raw (changed)

    {
      "before": 2,
      "after": 1
    }

    mirage_fire_beetles · upgrades[1].changes[DPS].bonus.raw (changed)

    {
      "before": 8,
      "after": 7
    }

    ability_fire_bomb · upgrades[2].changes[LifeStealPercentOnHit].bonus.raw (changed)

    {
      "before": 85,
      "after": 100
    }

    ability_fire_bomb · upgrades[2].changes[AbilityCooldown].bonus.raw (changed)

    {
      "before": -65,
      "after": -75
    }

    mirage_tornado · upgrades[2].changes[AbilityCooldown].bonus.raw (changed)

    {
      "before": -8,
      "after": -12
    }

    ability_unicorn_prismaticguard · upgrades[3].changes[DebuffDuration].bonus.raw (changed)

    {
      "before": 2,
      "after": 1.5
    }
  • 13 ability property raw records updated.
    View code changes (13 records)

    ability_afterburn · properties.DPS.raw (changed)

    {
      "before": 12,
      "after": 14
    }

    mirage_tornado · properties.AbilityCooldown.raw (changed)

    {
      "before": 32,
      "after": 36
    }

    ability_doorman_bomb · properties.SlowPercent.raw (changed)

    {
      "before": 30,
      "after": 35
    }

    ability_doorman_bomb · properties.Radius.raw (changed)

    {
      "before": "5m",
      "after": "6m"
    }

    ability_frank_painaura · properties.Radius.raw (changed)

    {
      "before": "9.5m",
      "after": "9m"
    }

    ability_necro_gravestone · properties.Damage.raw (changed)

    {
      "before": 150,
      "after": 135
    }

    ability_werewolf_unloadgun · properties.AbilityCooldown.raw (changed)

    {
      "before": 22,
      "after": 25
    }

    ability_priest_knockback · properties.StunDuration.raw (changed)

    {
      "before": 0.65,
      "after": 0.6
    }

    citadel_ability_fissure_wall · properties.AbilityDuration.raw (changed)

    {
      "before": 5,
      "after": 5.5
    }

    ability_nano_dash · properties.ImpactDamage.raw (changed)

    {
      "before": 0,
      "after": 10
    }

    ability_necro_gravestone · properties.SummonHealth.raw (changed)

    {
      "before": 200,
      "after": 180
    }

    mirage_fire_beetles · properties.DPS.raw (changed)

    {
      "before": 10,
      "after": 9
    }

    ability_doorman_doorway · properties.DoorwayDistance.raw (changed)

    {
      "before": "60m",
      "after": "70m"
    }
  • 2 tooltip records updated.
    View code changes (2 records)

    ability_doorman_luggage_cart · tooltip.details.m_vecAbilityInfoSections[1].m_strAbilityPropertyUpgradeRequired (changed)

    {
      "before": "StunDuration",
      "after": "WallImpactDamage"
    }

    ability_frank_selfzap · tooltip.details.m_vecAbilityInfoSections[0].m_vecAbilityPropertiesBlock[1].m_vecAbilityProperties[2].m_strImportantProperty (changed)

    {
      "before": "SlowResistance",
      "after": "StatusResistancePercent"
    }
  • 1 ui asset updated.
    View code changes (1 records)

    panorama/styles/ability_property_icons.vcss_c · crc (changed)

    {
      "before": "0098f7ba46",
      "after": "00eebbcefc"
    }
  • 3 script assets updated.
    View code changes (3 records)

    scripts/heroes.vdata_c · crc (changed)

    {
      "before": "00e1f80127",
      "after": "0054f23cc8"
    }

    scripts/generic_data.vdata_c · crc (changed)

    {
      "before": "00ac9a2de6",
      "after": "00a90113be"
    }

    scripts/abilities.vdata_c · crc (changed)

    {
      "before": "00ad3bf6e5",
      "after": "00731b3122"
    }
  • 1 other asset updated.
    View code changes (1 records)

    soundevents/hero/doorman.vsndevts_c · crc (changed)

    {
      "before": "00f723125e",
      "after": "0018ba3c5d"
    }
  • 9 tracked files updated.
    View code changes (9 records)

    DumpSource2/.stringsignore · file (changed)

    {
      "before": {
        "hash": "1d2cdf2559c20586a6e49e4d6d4299a990a344d0"
      },
      "after": {
        "hash": "8865fde764e3172bee7ccca564d7423d08cc5641"
      }
    }

    game/citadel/pak01_dir/scripts/heroes.vdata · file (changed)

    {
      "before": {
        "hash": "4437fd3e51f849147f5368b04ecf982ec26360ae"
      },
      "after": {
        "hash": "22cb160358f59017f448caa55afb0911fa53e07c"
      }
    }

    game/citadel/pak01_dir/scripts/generic_data.vdata · file (changed)

    {
      "before": {
        "hash": "49b2010f67ef430b4aa70bceb10a464a2289913e"
      },
      "after": {
        "hash": "29fee53ef611c30f6e5037bf1a23a8f17ec42730"
      }
    }

    game/citadel/pak01_dir/panorama/styles/ability_property_icons.css · file (changed)

    {
      "before": {
        "hash": "adede802579fa8547e7e509faa36802868613f0e"
      },
      "after": {
        "hash": "837694066217747bc779c5c18379cba98ca4fd09"
      }
    }

    game/citadel/resource/localization/citadel_heroes/citadel_heroes_english.txt · file (changed)

    {
      "before": {
        "hash": "44e5dd21ddc8a7adca7b1dcbc5c278f781d0772b"
      },
      "after": {
        "hash": "91d889b048d22e3c8a0a9adccf1876d814ed55cb"
      }
    }

    game/citadel/pak01_dir/soundevents/hero/doorman.vsndevts · file (changed)

    {
      "before": {
        "hash": "ba0e13ff6f3a932d0ff46b2e5e0e6f9915af4e0a"
      },
      "after": {
        "hash": "dd39e701dd635c9760882c919e785928081c3dc5"
      }
    }

    game/citadel/pak01_dir.txt · file (changed)

    {
      "before": {
        "hash": "edff9c192659416c04b478d6ce90c0b75a3a1199"
      },
      "after": {
        "hash": "8d955b31e8009a787df38d339316dd3816bac3fb"
      }
    }

    game/citadel/resource/localization/citadel_attributes/citadel_attributes_english.txt · file (changed)

    {
      "before": {
        "hash": "c4672c2fd4fa6c379de6a380a82f88ea4cec2492"
      },
      "after": {
        "hash": "25d32f0944464aa3cade89738f755e67250441bf"
      }
    }

    game/citadel/pak01_dir/scripts/abilities.vdata · file (changed)

    {
      "before": {
        "hash": "05e8167b4ae886af1514e14dd0912507d1d59e17"
      },
      "after": {
        "hash": "a9c71655a9a22ac34b1b8e8b02cac226fefed589"
      }
    }