Need help with plugins or servers? Join our Discord

Modding Database

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

ability_blood_bomb

Essence Bombability_blood_bombOpen the ability page

42 keys · inherits from signature_base

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

ability_blood_bomb = {
_class = "ability_blood_bomb"
_editor = {
folder_name = "Hero Ghost"
}
_multibase = [
]
m_iMaxLevel = 1
m_iUpdateTime = 1666646108
m_eAbilityType = "EAbilityType_Signature"
m_strCastSound = "Geist.BloodBomb.Cast"
m_bStartTrained = false
m_mapWeaponInfos = {
primary = {
m_flBulletSpeed = 10000
m_strBulletImpactSound = ""
}
}
m_projectileInfo = {
m_flSpeed = 2000
m_HitSound = ""
m_particle = "particles/abilities/ghost/ghost_blood_bomb_projectile.vpcf"
m_flUpSpeed = 0
m_nBehaviors = "PBF_StickToWorld | PBF_StartDetonateTimeOnHitTarget | PBF_StartDetonateTimeOnHitWorld"
m_LoopingSound = "Geist.BloodBomb.Proj.Lp"
m_WarningSound = "Geist.BloodBomb.Warning"
m_DetonateSound = "Geist.BloodBomb.Explode"
m_warningParticle = "particles/abilities/ghost/ghost_blood_bomb_warning.vpcf"
m_flVerticalAimBias = 4.5
}
m_ExplodeParticle = "particles/abilities/ghost/ghost_blood_bomb_explode.vpcf"
m_previewParticle = "particles/abilities/ghost/ghost_blood_bomb_preview.vpcf"
m_strAbilityImage = "file://{images}/hud/abilities/spectre/blood_bomb.psd"
m_flBossDamageScale = 1
m_sCustomStackLabel = "#CurrentBonus_label" // Current Bonus:
m_eAbilityActivation = "CITADEL_ABILITY_ACTIVATION_PRESS"
m_nAbilityPointsCost = 0
m_vecAbilityUpgrades = [
0{
m_vecPropertyUpgrades = [
0{
m_strBonus = "-5"
m_strPropertyName = "AbilityCooldown"
}
]
}
1{
m_vecPropertyUpgrades = [
0{
m_strBonus = 50
m_strPropertyName = "Damage"
}
1{
m_strBonus = "2m"
m_strPropertyName = "Radius"
m_strStreetBrawlBonus = "1.7m"
}
]
}
2{
m_vecPropertyUpgrades = [
0{
m_strBonus = 30
m_strPropertyName = "BloodSpillDPSPercent"
}
1{
m_strBonus = "6"
m_strPropertyName = "BloodSpillDuration"
}
]
}
]
m_PreviewPathParticle = "particles/generic/generic_arc.vpcf"
m_nAbilityTargetTypes = "CITADEL_UNIT_TARGET_ALL_ENEMY"
m_strAG2CastingAction = "throw"
m_AbilityBehaviorsBits = "CITADEL_ABILITY_BEHAVIOR_PROJECTILE | CITADEL_ABILITY_BEHAVIOR_DISPLAYS_DAMAGE_IMPACT | CITADEL_ABILITY_BEHAVIOR_CAN_SET_QUICK_CAST"
m_SpilledBloodModifier = {
_class = "modifier_spilled_blood_thinker"
m_flHeight = 80
m_flTickRate = 0.5
_my_subclass_name = "modifier_spilled_blood_thinker"
m_SpilledBloodParticle = "particles/abilities/ghost/ghost_blood_bomb_spilled_blood.vpcf"
m_sAmbientLoopingSound = "Geist.BloodBomb.AOE.Lp"
}
m_mapAbilityProperties = {
Damage = { // Damage
m_strValue = 90
m_strCSSClass = "tech_damage"
m_subclassScaleFunction = {
_class = "scale_function_tech_damage"
m_flStatScale = 1.22
_my_subclass_name = "Damage_scale_function"
m_eSpecificStatScaleType = "ETechPower"
}
m_bIsAbilityDamageProperty = true
}
Radius = { // Radius
m_strValue = "7m"
m_strCSSClass = "distance"
m_strStreetBrawlValue = "6m"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "Radius_scale_function"
m_eSpecificStatScaleType = "ETechRadius"
}
}
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"
}
SelfDamagePct = { // Health Cost
m_strValue = "30"
}
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"
}
}
ArmingDuration = { // Arming Duration
m_strValue = "0.65"
m_strCSSClass = "duration"
}
AbilityCooldown = { // Cooldown
m_strValue = 14
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 = "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"
]
}
}
BloodSpillDuration = { // Toxic Mess Duration
m_strValue = "0"
m_strCSSClass = "tech_damage"
m_subclassScaleFunction = {
_class = "scale_function_single_stat"
_my_subclass_name = "BloodSpillDuration_scale_function"
m_eSpecificStatScaleType = "ETechDuration"
}
}
AbilityResourceCost = {
m_strValue = "0"
m_strCSSClass = "cast"
m_strDisableValue = "0"
m_bCanSetTokenOverride = true
}
BloodSpillDPSPercent = {
m_strValue = 0
m_strCSSClass = "tech_damage"
m_bIsAbilityDamageProperty = false
}
BeepSoundBuildupCount = {
m_strValue = "4"
}
BeepSoundIntervalBias = {
m_strValue = "0.55"
}
BeepSoundMaxFrequency = {
m_strValue = "0.1"
}
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_nAbillityUnlocksCost = 1
m_strSecondaryStatName = "ability_blood_bomb_bloodspill"
m_strSelectedLoopSound = "Geist.BloodBomb.Select.Lp"
m_AbilityTooltipDetails = {
m_vecAbilityInfoSections = [
0{
m_strLocString = "#ability_blood_bomb_desc" // <span class="highlight">Sacrifice some of your health</span> to launch a bomb that <span class="highlight">deals damage</span> after a brief arm time.<br>Self damage type is Spirit and can be mitigated.
m_vecBasicProperties = [
0"ArmingDuration"
]
m_vecAbilityPropertiesBlock = [
0{
m_vecAbilityProperties = [
0{
m_strImportantProperty = "Damage"
}
1{
m_strImportantProperty = "SelfDamagePct"
}
]
}
]
}
1{
m_strLocString = "#ability_blood_bomb_t3_desc" // Bombs leave a toxic mess on the ground, dealing <span class="highlight">{s:BloodSpillDPSPercent}%</span> of the original <span class="highlight">damage per second</span>, for <span class="highlight">{s:BloodSpillDuration}s</span>.
m_vecAbilityPropertiesBlock = [
0{
m_vecAbilityProperties = [
0{
m_strImportantProperty = "BloodSpillDuration"
}
]
}
]
m_strAbilityPropertyUpgradeRequired = "BloodSpillDuration"
}
]
}
m_mapCastEventParticles = {
CAST_COMPLETED = "particles/abilities/ghost/ghost_blood_shard_dagger_self_dmg.vpcf"
}
m_skillshotMissParticle = "particles/abilities/skillshot_default_miss_owner.vpcf"
m_strCastAnimGraphParam = "b_BloodBomb"
m_bitsInterruptingStates = "MODIFIER_STATE_STUNNED"
m_eAbilityTargetingShape = "CITADEL_ABILITY_TARGETING_SHAPE_CIRCLE"
m_strAG2ChannelingAction = ""
m_strHitConfirmationSound = "Geist.BloodBomb.Hit"
m_eAbilityTargetingLocation = "CITADEL_ABILITY_TARGETING_LOCATION_NONE"
m_strAG2CastCompletedAction = "throw_completed"
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_strCastSoundGhost.BloodBomb.Cast→Geist.BloodBomb.Cast
    • +m_mapWeaponInfos
      { 1 key }
      {
      	primary = 
      	{
      		m_flBulletSpeed = 10000
      		m_strBulletImpactSound = ""
      	}
      }
    • ~m_projectileInfo.m_LoopingSoundAbility.GhostSoldier.BloodBomb.Lp→Geist.BloodBomb.Proj.Lp
    • ~m_projectileInfo.m_WarningSoundAbility.GhostSoldier.BloodBomb.Warning→Geist.BloodBomb.Warning
    • ~m_projectileInfo.m_DetonateSoundAbility.GhostSoldier.BloodBomb.Explode→Geist.BloodBomb.Explode
    • +m_sCustomStackLabel#CurrentBonus_label
    • ~m_SpilledBloodModifier.m_sAmbientLoopingSoundAbility.GhostSoldier.BloodBomb.AOE.Lp→Geist.BloodBomb.AOE.Lp
    • ~m_strSelectedLoopSoundAbility.GhostSoldier.BloodBomb.Select.Lp→Geist.BloodBomb.Select.Lp
    • +m_strHitConfirmationSoundGeist.BloodBomb.Hit
    • −m_WeaponInfo
      { 2 keys }
      {
      	m_flBulletSpeed = 10000
      	m_strBulletImpactSound = ""
      }
    • −m_strMoviePreviewPathfile://{resources}/videos/hero_abilities/ghost_blood_bomb.webm
  2. 6696–6701first dumped