Data/Effects/Damage

## Damage

### Description

Adjusts the life and shield of targeted units in an offensive way. Affects the shield vital before the life vital

### Hint

* (Not sure) Can be set to negative values so can be used to heal if the **Combat: Damage Minimum** field of Gameplay Data allows it
* If linked directly to the **Effect: Effect** field of Weapons can be used to make basic weapons eg. Marine
* Interesting fact: creating an effect that fully downs life and shield to 1 can be made by checking the **Live** and **Kill** flags.

### Update 5.0

New Death Type: **Reincarnation**

* This prevents units from dropping loot and items on death.

## Example Usage

### Marine - Guass Rifle (Damage)

The damage effect performed by the Marine - C-14 Gauss Rifle weapon when the marine unit attacks

#### URL

As marines, their weapon and it's damage effect are already in the editor no URL is needed

### Timed Life Fate

The damage effect performed when the **Brood Lord - Spawn Fate** buff expires that instantly kills the spawned Broodlings using the **Kill** flag from **Effect: Flags** when their duration ends

#### URL

As Broodlings, Brood Lord - Spawn Fate and Timed Life Fateare already in the editor no URL is needed

## Fields Description

### (None) - Amount Score Array

Seems to influence the acquirement of certain score achievements in the scoreboard (ex: APM).

### (None) - Fraction

An extra fraction that will be multiplied to all other existing fractions.

This field supports acumulators, so modders will be able to create formulas based on this fraction.

### (None) - Damage Inherit Effect

The effect set in this field will be fired after the primary damage is done. It will inherit the damage amount of the primary damage. As this blocks options for further "Specific" damage that the modder would wish to add, there are 4 possibilities to counter this:

1. The best the easiest: Put a Create Persistent on the Damage Inherit Field, and enable the "Oprhan Parameters" field, then put the desired chain of effects.
2. Any secondary damage effects in the child effects will consider the first damages and cumulate the total damage with their amount fields, unlike the Attack Modifier Behavior that simply mimics the initial damage as a minimum value.
3. If the damage to be done is lower, use the Fraction field, as putting amounts in negatif has no impact.
4. Use the maximum damage field.
5. Use a damage response buff behavior instead, oriented to Attacker.

* Does not manages hallcunations the same way Attack Modifier does. You have to put a validator to prevent hallucination from triggering further effects.
* Does not affect units struck by the Area of Effect. To solve this, either use a search effect before hand instead of this effect's search or use triggers.
* Can be used as a kill effect, if the "target" should be dead (validated in the child effect). This beats the mechanic of the damage response from buff behaviors being unable to proceed directly with fatal damage dealt by "Attacker" location.

### (None) - Leech Score Array

Seems to influence the acquirement of certain score achievements in the scoreboard (ex: APM).

### (None) - Minimum

Minimum damage dealt. This would operate the same of having instead a damage **amount** paired up with an **Armor Reduction** of 0. Deeper difference are perhaps how these numbers interacts with behaviors and such, which is simply more complicated for nothing.

### (None) - Maximum

Max amount of damage this effect can inflict.

### (None) - Type

Target Filters for Damage Type.

* Using Target Filters on Damage Types allow users to configure all the damage and AoE damage effects in the game. It can also decide whether certain damage effects can ever damage certain targets.
* For example, by simply filtering out “Ally” targets in every Damage Type, users can easily make all weapons in the game no longer splash allies. This is useful when creating a Co-op mod as it would need to be built on top of multiple other mods, and the AoE weapon and spells in these other mods have various friendly fire effects.
* Is managed secretly by Default SC2 Gameplay Settings in Gameplay Value data. One has to know that default filters prevent the damage kind to damage some particular behaviors. See the screenshot below. This can be modified at any moment.

### Combat - Amount

Main flat amount of damage dealt by the effect.

* If set negative, the amount will be substracted to any other damage souce field within the effect. If the total still ends up negative, the effect will deal 0 damage (and still run any impact animation related to it).
* Can be influenced by armor reduction and many other fields within the effect.

Can be paired up with an Accumulator to modify its value.

### Combat - Armor Reduction

Amount of damage that 1 point of armor removes from the effect.

* Negative numbers means the effect does bonus damage to units with armor

### Combat - Attribute Bonus

* Amount of damage added or subtracted based on the target unit's attributes
* Amount of contribution for units with multiple attributes is determined by the Effect - Total field

### Combat - Attribute Factor

* Fraction of the Combat - Amount added or subtracted based on the target unit's attributes
* Amount of contribution for units with multiple attributes is determined by the Effect - Total field

### Combat - Attribute Forced

If an attribute is forced then the scaled, factor, or unscaled amounts may contribute towards the best/worst damage.

### Combat - Death

The type of death that killing a unit with this effect is known as

* Units killed play the corresponding Combat - Death Effects+ model and sounds set under the Unit actor for the unit
* Behaviors can now override this value by deceiding how the unit dies.

### Combat - Kill Hallucination

Instantly kill any unit flagged with the "Hallucination" state flag, from a buff behavior.

### Combat - Shield Bonus

Amount of damage added or subtracted when damaging shields

* If the shield amount left is lower than this bonus, the extra damage be transfered to the target's life.

### Combat - Shield Factor

Fraction of the Combat - Amount added or subtracted when damaging shields

* If the shield amount left is lower than this bonus, the extra damage be transfered to the target's life.

### Combat - Splash Kind

Works the same way **Kind** field does, but for units hit by area array.

Splash damage refers to damage dealt to adjacent units that weren't the primary focus of the attack (which is specified by the Impact location). This field determines the kind of damage is dealt as splash.

* Useful when a buff that should increase "Melee" damage for example should also increase the damage dealt in the area array of damage. Otherwise, if the buff doesn't match this field, area will never been augmented by buffs.
* Doesn't seem to work with "Vital Leeched from Damage Dealt" fields from buff behaviors. It is unknown if it's intented or a bug.

### Effect - Damage Modifier Source

Gives a location to update any persistent damage dealt by an ability or damage, if a buff behavior granting damage bonus should be added in the process.

* Example: If an High Templar casts Psionic Storm and this field stays at "none", adding a buff behavior that grants extra "spell" damage will not change the damage of the currently on going storm, unless the location is set at "Caster", which indicates to validate on each tick the stats of the caster.

### Effect - Display Flags

* Has to do with the damage shown in the UI - Damage Display Effect of weapons
* **Collapse Buffed:** shows the damage dealt + damage from buffs as a single value
* **Expand Upgraded:** shows the damage and damage added by upgrades as seperate values
* **Rounded:** shows the amount of damage done as a figure rounded to the nearest whole number

### Effect - Flags

* **Impact:** Marks this effect as the main impact effect of a weapon effect tree so that attack modifiers can know when to fire their modifier effects.

* **Kill:** means that any unit targeted by this effect is instantly killed irrespective of it's current shield and life
* **Live:** prevents this effect from reducing the target unit's life below 1. Ex: A target with 10 life left getting hit by a 50 damage effect (with the live flag) will only get hurt for 9 damage.
* **No Absorb Energy:** makes the effect not reduce enemy energy.
* **No Absorb Life:** makes the effect do no damage to life.
* **No Absorb Shields:** makes the effect peirce shields (ignores them)
* **No Behavior Response:** this effect will not trigger any damage response from a buff behavior.
* **No Dealt Bonus (Fraction):** prevents this effect being affected by the Combat - + - Modification - Damage Dealt (Fraction) field of behaviors
* **No Dealt Bonus (Scaled):** prevents this effect being affected by the Combat - + - Modification - Damage Dealt (Scaled) field of behaviors
* **No Dealt Bonus (Unscaled):** prevents this effect being affected by the Combat - + - Modification - Damage Dealt (Unscaled) field of behaviors
* **No Dealt Maximum:** makes the effect ignore the maximum damage clamp imposed by the Combat - Damage Response - Maximum Clamp field of buff behaviors
* **No Dealt Minimum:** makes the effect ignore the minimum damage clamp imposed by Combat - Damage Response - Minimum Clamp field of buff behaviors and the Damage Minimum field in Gameplay Data
* **No Damage Timer Reset:** Supresses any combat time values created by this effect, that can be validated by Damage Dealt Time or Damage Taken Time validators. This can be handy if set on the Terran buff Structure Burnout's periodic damage. If a structure should be burning down, it considers its own burning as dealing damage, which is false for the needs. It is still suprising that is not set as such by default.
* **No Gain:** ignores the effects of all Combat - (Vital) Gained from Damage Taken on the unit's data.
* **No Gain:** Energy ignores the effects of Combat - Energy Gained from Damage Taken on the unit's data.
* **No Gain:** Life ignores the effects of Combat - Life Gained from Damage Taken on the unit's data.
* **No Gain:** Shield ignores the effects of Combat - Sheild Gained from Damage Taken on the unit's data.
* **No Kill Credit:** stops the casting unit from getting credit for killing with this effect
* **No Leech:** prevents the unit using this effect from gaining vitals by damage dealt with this effect
* **No Leech Energy:** prevents the unit using this effect from gaining Energy by damage dealt with this effect
* **No Leech Life:** prevents the unit using this effect from gaining Life by damage dealt with this effect
* **No Leech Shields:** prevents the unit using this effect from gaining Shields by damage dealt with this effect
* **No Unscaled Taken Bonus:** (Unknown)
* **No Zero Damage Inherit:** This tells DamageInheritEffect to not fire when damage done is 0.
* **Notification:** causes the targeted player to get the "We are under attack" notification if they have not been in combat for some time
* **Validate Impact Deflection:** Determines whether the effect can be deflected. By default, set to off.
	+ Deflection is almost identical to Block Chance except the effect that would have occurred will be duplicated and shot back to the caster.
	+ The deflected effect will have caster and target properties reversed and will count as a shot from the original target unit to the original caster unit. The damage bonus setting in the reflected effect tree will still be set to use the original caster’s damage bonuses.
	+ Another difference between deflection and blocking is that effect trees will only evaluate deflection once each. If an effect has passed the Deflection check once, the rest of the effect tree will not check deflection chance again, even if there are following effects in the effect tree that have the ValidateImpactDeflection flag checked.

### Effect - Kind

Determines what kind of damage this effect's damage is known as

* Utilized by some fields for increasing or decreasing the amount of damage dealt eg. Combat - + - Modification - Damage Dealt (Fraction) of **buff behaviors.**
* Melee
* No Proc (this doesn't seem to be used)
* Ranged
* Spell
* Splash

### Effect - Leech Fraction

* Determines the proportion of damage dealt to the target by this effect that is converted to an increase in vitals for the caster unit.
* If the target takes no damage, no leech will occur. Always remains proportional to the damage dealt
* Does not "steal" vitals, it only generates them on the ability/weapon user.

### Effect - Random

Specifies a random range of values to be added to the fixed damage amount.

* This is well displayed on a weapon's damage display.

### Effect - Recycle Count

If specified, it will re-damage units in an area when there are fewer targets than this number availlable.

### Effect - Response Flags

Determines which responses this effect can cause when it is used on a unit.

* What response occurs depends on the Behavior - Response field of the target unit
* Acquire: The unit will acquire the attacker using this effect
* Flee: The unit will flee the attacker using this effect

### Effect - Tech Aliases

Identifies alternate names (known as aliases) that allow all effects with the same alias to be treated as equivalent in requirement checks.

* It is doubtful how this field can be of use, since requirements cannot scope on "effects".

### Effect - Total

Determines how each and every field entries with a damage value are calculated overall.

* **Combine:** means that every damage entry in this effect are combined and their total will be the damage dealt.
* **Maximum:** means that the entry with the higest damage will be selected, ignoring the other ones.This does not affect certains aspect of the **area array** field.
* **Minimum:** means that the entry with the lowest damage will be selected, ignoring the other ones.This does not affect certains aspect of the **area array** field.

### Effect - Visibility

Wheter the effect leaves a snapshot or reveals the offening unit.

* **Hidden:** does not reveal the attacking unit
* **Snapshot:** briefly shows a dimmed version of the attacking unit
* **Visible:** allows the attacking unit to be targeted through the fog of war for a short time

(To be confirmed) Parameters about the reveal are probably imputed in the behavior named "Attack Reveal". This behavior seems to be set at 3 seconds duration.

### Effect - Vital Random Bonus

A random number between 0 and this number will be added to **Vital Bonus**.

### Effect - Vital Bonus

Specifies a flat amount of damage to deal per vital type. If the current vitals are less than this amount, then they are used instead.

* With the exception of being able to damage target energy this field is mostly redundant with the Combat - Shield Bonus field
* The goal of dealing this flat amount is just to limit the amount not to a fraction, but to a numeric value that cannot hurt more than the vital the enemy currently possesses. Ex: Imagine a mana burn effect that shouldn't deal more than 5 damage, it is then wise to use this instead of a fraction.

### Effect - Vital Fraction Current Random Bonus

A random number between 0 and this number will be added to **Vital Fraction Current**.

### Effect - Vital Fraction Current

Specifies an amount to be multiplied by the unit's current vitals that may be dealt as damage. If the current vitals are less than this amount, then they are used instead.

* High Templar's feedback ability uses this. Since the value used is 0.5, this means that 50% of target's current energy is converted into damage. What drains the energy in the process is another effect that has nothing to do with the damage effect.
* Use this for a D2 like Crushing Blow like spell

### Effect - Vital Fraction Maximum Random Bonus

A random number between 0 and this number will be added to Vital Fraction Max.

### Effect - Vital Fraction Maximum

Speicifes an amount to be multiplied by the unit's maximum vitals that may be dealt as damage, if the current vitals are less than this amount, then they are used instead.

* Use this for a WC3 Death and Decay like spell

### Search - Area Relative Offset

If the "Area" field is used, this field offsets the impact location by displacing it with a X,Y distance (the numeric value is equal to radius's distance).

* Do not use this field to create ex:"Flame Thrower" area effects. This field always relates to the impact location, and will follow it if the target moves. For example, if the target moves closer to the unit using the flame thrower weapon, the flame will damage behind the weapon unit. Even when using the caster/source unit as impact location, the process will nullify the angle (as there is no relative source to target direction) and will make this field very complicated to use. For fixed offset impact location, use a Search Area effect instead (Hellbat), or a Create Persistent with Periodic Offsets leading to 360° areas (Perdition Turret).

### Search - Area

Damage dealt in the area.

* Think of it as a splash damage area.

* Remember that including the effect's target unit in it will repeat the damage on it twice (or according to the fraction field), UNLESS the Impact location is chosen as target point or it is "Excluded" with the exclude field.
* If the unit should take additional damage based on an accumulator, remember to set up the Accumulator with the effect's location along with the "Target" location. Otherwise, an accumulator only checking "Target" will also evaluate the Area unit, as you would probably want to base the accumulated value on the main target only. Ex: The main target takes 15 amount of damage multiplied by the amount of behavior stack on it (Behavior accumulator). Now then, if the accumulator only checks target and that the main unit has the stacks, it will hurt this main unit, but the area unit will not suffer any damage, because it does not have the said stacks on it.

**Arc**

* Determines the arc for the area array of this effect
* A 90 degree arc means that the damage is dealt to 45 degrees either side of the direction the effect impacts
* This field is very picky and requires a valid impact location. Using the caster/source unit as impact location does not work for weapons using turrets. It may also be problematic with units standing still. The outcome will be an default angle always facing down (or modified by the facing adjustment, which doesn't fix the problem either way). The best case for using this field is for units that move and face their target to fire at.

**Bonus**

Flat bonus amount of damage dealt in the area array.

* This value disobeys the "Total" field's limitation and will be added.
* Still dependant of the "Area fraction" as for its worth.

**Facing Adjustment**

Rotates the angle of impact area, if the arc should be less than 360°. Just as the arc can be complicated to set in some cases, this fields can inherit the same problematic of relating source to impact location. In rare case this field is used.
**Fraction**

* What percentage of the damage is dealt in the area array.
* 1 = 100%
* Needs to be set for each Area of damage, as the default value always starts at 0.
* Interesting fact, if this field is left at 0, it still uses any damage source related to it adding up 0.5 damage from it, thus dealing minimum damage of the value is smaller than 1.

**Maximum Count**

* Determines how many targets can be hit by the splash in the area array
* Setting to -1 allows the splash to hit infinite targets
* If set to a fixed number, priotize targets according to the **Target Sorts** field and/or according to the validator. Otherwise, the closest target is taken into account.

**Radius Bonus**

* Increases the Search Radius by this amount for every consecutive execution of this effect. This obeys the rule of the persistent, which means that the radius bonus will not reset until the effect tree has ended. For example, if a weapon runs a Create Persistent that repeats this damage effect 10 times, the radius will grow by this amount 10 times (or less if the persistent is interrupted). At the moment the weapon fires a second time, the radius bonus starts over from the begenning.

**Radius**

Determines the radius for the area of the area array.

* A range of 0 does exist, but is so meaningless that trying to produce it will always bound to fail.

**Rectangle Height**

Longer side of the rectangle, from back to front

* Enables the area array shaped in rectangular form.
* Can be limited by radius, still.
* Picky as Arc, requires a valid source to target location to work properly.

**Rectangle Width**

Larger side of the rectangle, from side to side.

* Enables the area array shaped in rectangular form.
* Can be limited by radius still.
* Picky as Arc, requires a valid source to target location to work properly.

**Validator**

* Validator (singular) that must return true for the effect to do splash damage in that area array.
* Valdators using "Other Unit" field do not work properly for comparing "this" area target to any other target in the parent effects (even the proper effect's main damaged unit itself). Usually, unit found in the area is a "target" location, but no more. Yet, you may still validate another parent effect's location if it's the only location to check. Otherwise, it is still possible to do, using a Function or a Condition validators comparing both "Target" location and parent's effect with the Test/Return entries. This can be used for logical explosions that should hit in the propay ground/air array alone.

### Search - Exclude

Determines the location of what is excluded from the **area array** damage.

**Effect**

* Optional, not used often.
* Pairs up with the value to indicate where the value should look upon to find its location.
* Ex: A **Search Area** effect always creates its own "Target" location to the next effect (since it found a match or many). If the damage effect is the follow up effect, excluding the target would mean to exclude the result of this Search effect, unless using this field, which specifies an older parent effect and say: please exclude the target from THIS effect instead of the previous effect (which is the default way the location is looked upon).

**History**

* Optional, not used often.
* Is another method to relocate the value.

**Value**

Location value of the excluded target.

* Is caped to 2 locations.
	+ Caster: The caster of the whole effect tree.
	+ Outer unit that is not Target, Source, Caster, or Origin.
	+ Source: Caster or the latest behavior's target in the chain of effect (or scoped from a specified effect)
	+ Target: Impact location, according to the previous /or specified effect
	+ Unit Origin: Highest unit in the effect chain (seems to be equal to "Caster" but may point out elsewhere in some cases of Create Unit effects)
	+ Unknown: invalidates this location.

### Search - Include

Determines the location of what is included in the **area array** damage.

**Effect**

* Optional, not used often.
* Pairs up with the value to indicate where the value should look upon to find its location.
* Ex: A **Search Area** effect always creates its own "Target" location to the next effect (since it found a match or many). If the damage effect is the follow up effect, indluding the target would mean to include the result of this Search effect, unless using this field, which specifies an older parent effect and say: please include the target from THIS effect instead of the previous effect (which is the default way the location is looked upon)

**History**

* Optional, not used often.
* Is another way to scope the location value.

**Value**

Location value of the excluded target.

* Is caped to 2 locations.
	+ Caster: The caster of the whole effect tree.
	+ Outer unit that is not Target, Source, Caster, or Origin.
	+ Source: Caster or the latest behavior's target in the chain of effect (or scoped from a specified effect)
	+ Target: Impact location, according to the previous /or specified effect
	+ Unit Origin: Highest unit in the effect chain (seems to be equal to "Caster" but may point out elsewhere in some cases of Create Unit effects)
	+ Unknown: invalidates this location.

### Search - Maximum Count

* Determines how many units in total the effect can target.

### Search - Minimum Count Error

Error that plays if the effect cannot get the minimum required of targets.

### Search - Minimum Count

Minimum number of units the effect must target

### Search - Revealer Parameters

Specify paramters for creating a revealer based on the area array of this effect.

**Detect Filters**

If the revealer is allowed to detect, specify which units can be detected or not.

**Duration**

How long the reveal should last. Zevo means don't create a revealer. Use the permanent flag to create a permanent revealer.

**Height Map**

If the Reveal Radius for this effect is non-zero, then this field configures what height map the reveal occurs on. If the reveal happens on the air height map, then line of sight is ignored.

**Radar Filters**

If the revealer is allowed to radar, specify which units can be radared or not.

**Reveal Flags**

Line of sight tests are only supported by full circle revealer shapes.

* Unfog: as the name states, unfogs the location
* Detect: enables detection
* Radar: enables radar
* Use Line of Sight: (Unsure) Uses the line of sight from the caster to limit it?
* Permanent: Reveals forever.

**Shape Expansion**

The search shape is expanded by thius amount to create the revealer shape.

### Search - Search Filters

Determines what targets are valid for the search.

* This only concerns the **Area array** field.

### Search - Search Flags

* Call For Help causes enemy units hit by the attack to recruit nearby units to help kill their attacker.
* Extend By Unit Radius increases the Search Area radius by an amount equal to the Movement - Radius of the unit being attacked.
* Offset Area By Angle makes the angle local to the forwards direction of the unit as opposed to the map grid
* Offset By Unit Radius offsets the Search Area epicenter by an amount equal to the Movement - Radius of the unit being attacked.
* Same Cliff Level makes the splash only affect targets that are on the same cliff level

* Multishot: (New feature, coming up soon)

### Target - Impact Location

Configures where the epicenter of the effect will be. Usually set as target point or unit (or both).

* See Effects to learn more about location value and effect.

### Target - Impact Unit Validator

Validators for the damage amount, which determines if it hurts the impact unit or not.

* Different from the **Validator** field, a one that would negate the effect from happening. This field only blocks or allows the unit to get hurt by the "damage".
* Does not validate the **Area** field, as this field has its own validator. Useful to ensure the effect is running (allowing any affiliated model animation to the effect to animate) while allowing the effect not to hurt certain units based on this validator.

### Target - Launch Location

The launch location can be used to specify an angle of impact and therefore the direction of the effect uses when doing arc comparaisons. In other words, this is a start point that heads to the **Impact location** as the end point, indicating where an arc should be pointing at (from Area fields). This does not indicate the epicenter of the effect,

* See Effects to learn more about location value and effect.

### Target - Target Sorts

Exclusively for the area array, indicates how the units inside are priotized if there a limit on number of units that can be affected by the splash damage.

**Request Count**

* How many targets to pick after all potential targets went through the sorting filters

**Request Percentage**

* What percentage of targets to pick after all potential targets went through the sorting filters

**Sorts**

* The target sorts from the Target Sorts data type used for prioritizing potential targets

## Related

* Weapons
* Launch Missile