What it inherits is already merged in: this is the entry as the game compiled it.
upgrade_ricochet = {
_class = "upgrade_ricochet"
_editor = {
folder_name = "Weapon"
}
_multibase = [
]
m_iItemTier = "EModTier_4"
m_WeaponInfo = {
m_flBulletSpeed = 10000
}
m_strCSSClass = "ricochet"
m_eAbilityType = "EAbilityType_Item"
m_eShopFilters = "EShopFilterClipSize"
m_bStartTrained = true
m_eItemSlotType = "EItemSlotType_WeaponMod"
m_strAbilityImage = "file://{images}/upgrades/mods_weapon/ricochet.psd"
m_nUpgradeSlotCost = 1
m_strAG2SourceName = "item"
m_strShopIconLarge = "file://{images}/items/weapon/ricochet.psd"
m_flBossDamageScale = 1
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_PASSIVE"
m_vecAbilityUpgrades = [
0{
m_vecPropertyUpgrades = [
0{
m_strBonus = "15"
m_strPropertyName = "RicochetDamagePercent"
}
1{
m_strBonus = "25"
m_strPropertyName = "BonusFireRate"
}
]
}
]
m_PreviewPathParticle = "particles/generic/generic_arc.vpcf"
m_nAbilityTargetFlags = "CITADEL_UNIT_TARGET_FLAG_NO_INVIS | CITADEL_UNIT_TARGET_FLAG_ALLOW_SMALL_DEPLOYABLES"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_HERO_ENEMY | CITADEL_UNIT_TARGET_BOSS_ENEMY | CITADEL_UNIT_TARGET_TROOPER_ENEMY | CITADEL_UNIT_TARGET_PROP_ENEMY | CITADEL_UNIT_TARGET_MINION_ENEMY | CITADEL_UNIT_TARGET_NEUTRAL"
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"
}
BonusFireRate = { // Fire Rate
m_strValue = "18"
m_eDisplayType = "EFireRate"
m_eStatsUsageFlags = ""
m_eProvidedPropertyType = "MODIFIER_VALUE_FIRE_RATE"
}
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"
}
}
RicochetRadius = { // Ricochet Range
m_strValue = "13m"
m_strCSSClass = "distance"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "RicochetRadius_scale_function"
m_eSpecificStatScaleType = "ETechRange"
}
}
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 = "EItemCooldown"
}
}
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 = "0"
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
}
RicochetDamagePercent = { // Ricochet Damage
m_strValue = "65"
}
AbilityUnitTargetLimit = {
m_strValue = "1"
m_bCanSetTokenOverride = true
}
AbilityPostCastDuration = {
m_strValue = "0"
m_strDisableValue = "0"
}
RicochetTargetsTooltipOnly = { // Ricochet Targets
m_strValue = "2"
}
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_strCastAnimGraphParam = "e_GenericCast"
m_vecTooltipSectionInfo = [
0{
m_eAbilitySectionType = "EArea_Innate"
m_vecSectionAttributes = [
0{
m_vecAbilityProperties = []
m_vecElevatedAbilityProperties = [
0"BonusFireRate"
]
}
]
}
1{
m_vecSectionAttributes = [
0{
m_strLocString = "#upgrade_ricochet_desc" // Your bullets will <span class="highlight">ricochet</span> on enemies near your target, <span class="highlight">applying any bullet procs</span> and <span class="highlight">dealing a percentage of the original damage.</span>
m_vecAbilityProperties = [
0"RicochetTargetsTooltipOnly"
1"RicochetRadius"
]
m_vecImportantAbilityProperties = [
0{
m_strImportantProperty = "RicochetDamagePercent"
}
]
}
]
}
]
m_AutoIntrinsicModifiers = [
0{
_class = "modifier_ricochet_proc"
m_bIsHidden = true
_my_subclass_name = "modifier_ricochet_proc"
m_nEnabledStateMask = "MODIFIER_STATE_RICOCHET_ACTIVE"
m_RicochetTracerParticle = "particles/weapon_fx/ricochet_tracer.vpcf"
m_vecAutoRegisterModifierValueFromAbilityPropertyName = [
0"BonusFireRate"
]
}
]
m_strCastAnimSequenceName = "ability_generic_cast"
m_strSelectionNameOverride = "item"
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_SELF"
m_bitsChannelEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPreCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
m_bitsPostCastEnabledStateMask = "MODIFIER_STATE_BUSY_WITH_ACTION"
}
History
- 6722–6745changed
- +m_mapAbilityProperties.RicochetTargets
2 - −m_mapAbilityProperties.RicochetTargetsTooltipOnlyRicochet Targets
2 - +m_nShopVersion
0 - +m_mapWeaponInfos
{ 1 key }
{ primary = { m_flBulletSpeed = 10000 } } - +m_CorruptedItemInfo
{ 2 keys }
{ m_Upgrade = { m_vecPropertyUpgrades = [ { m_strBonus = "22" m_strPropertyName = "BonusFireRate" }, { m_strBonus = "5m" m_strPropertyName = "RicochetRadius" }, { m_strBonus = "15" m_strPropertyName = "RicochetDamagePercent" }, { m_strBonus = "1" m_strPropertyName = "RicochetTargets" m_bFixedCorruptedBonus = true }, ] } m_vecExcludedPenalties = [ "TechRange" ] } - +m_sCustomStackLabel
#CurrentStacks_label - +m_eDisableShopFilters
EShopFilterPhysicalAdditionalDamage - +m_vecDisabledOnHeroes
[hero_deadpack] - +m_strDisableItemTarget
"" - −m_vecTooltipSectionInfo[0].m_vecSectionAttributes[0].m_vecAbilityProperties
[] - ±m_vecTooltipSectionInfo[1].m_vecSectionAttributes[0].m_vecAbilityProperties
+RicochetTargets−RicochetTargetsTooltipOnly - +m_eAdditionalShopFilters
""
- +m_mapAbilityProperties.RicochetTargets
- 6696–6701first dumped
