Difference between revisions of "Damage"
Line 72: | Line 72: | ||
|- | |- | ||
| | | | ||
− | '''Amount''' | + | '''[[Amount (CEFfectDamage)|Amount]]''' |
| | | | ||
The amount of damage dealt per application of the effect. | The amount of damage dealt per application of the effect. | ||
Line 217: | Line 217: | ||
|} | |} | ||
===Effect Tab=== | ===Effect Tab=== | ||
− | |||
===Target Tab=== | ===Target Tab=== | ||
===UI Tab=== | ===UI Tab=== | ||
[[Category:StarCraft II]][[Category:Data Editor]][[Category:Reference]] | [[Category:StarCraft II]][[Category:Data Editor]][[Category:Reference]] |
Revision as of 21:44, 23 November 2010
The Damage Effect (CEffectDamage) is the primary effect type used to apply damage to a target unit or units. As such, it is one of the most commonly-used effects in almost any map featuring combat, and even in maps that don't.
Using the Damage Effect
The most basic function of the Damage Effect is, unsurprisingly, to deal damage. Common uses for it include:
- Dealing damage to a target.
- Dealing area of effect damage around a target.
- Instantly killing targets and hallucinations.
Because damage is such an integral feature of StarCraft II, the mechanics that govern how damage is dealt and handled are necessarily complex. In the most basic scenario, when a source applies a damage effect on a target, the target's life or shields is immediately reduced by an amount equal to the amount specified by the damage effect used. If the target's life drops below 0 as a result of the damage, it will die and the source will receive credit for the kill.
Damage Modifiers
In practice, many more factors come into play between the application of the damage effect and the reduction of the target's life or shields. The most important of these factors are those that act to modify the amount of damage dealt. These factors can be separated into two general categories: those that are directly controlled by the damage effect itself (internal modifiers) and those controlled by external objects (external modifiers).
- Internal Modifiers
- Target Attribute Bonuses
- Shield Bonuses
- Target Vital Bonuses
- External Modifiers
- *Damage Effects can determine how much of their damage is reduced per point of armor, so this modifier is partly internal as well.
Target Attribute Bonuses
Each Damage Effect may specify its own modifiers to apply to the amount of damage dealt based on the target's attribute flags. The damage effect may specify a flat adjustment and/or a multiplier for each attribute. These modifiers can be either positive (increase the amount of damage dealt) or negative (decrease the amount of damage dealt). If the target has its attribute flag enabled for a certain attribute, then the appropriate attribute modifier will be applied. If multiple attribute modifiers apply to a single target (for example when a damage effect that does +5 vs. Mechanical and -10 vs. Massive is applied on a target that has both the Mechanical and Massive flags enabled), the damage effect resolves the situation according to what is specified in its Total field.
Shield Bonuses
Shield bonus modifiers work much like attribute modifiers. The principal difference is that shield modifiers are applied when damage is dealt to shields rather than to life. Like attribute modifiers, there is both a flat modifier and a multiplier that may be adjusted independently.
Target Vital Bonuses
Target Vital Bonuses are bonuses to damage dependent on the target's vitals: life, shields, and energy. Two sets of vital bonuses are specified by Damage Effects. One set calculates bonuses based on the target's current vitals while the second set calculates bonuses based on the target's maximum vitals. For both sets, the bonus value that is specified in the Damage Effect for a certain vital will be multiplied by the target's appropriate (current or maximum) vital and the result will be added to the damage amount dealt. An example of an ability that uses target vital bonuses is the High Templar's Feedback ability, which deals damage based on the target's current energy.
Target Armor
A target's armor can reduce the amount of damage that is dealt to it by an amount proportional to the number of points of armor. The exact amount reduced per point of armor depends on the Armor Reduction field of the Damage Effect that is dealing the damage. In general, armor is one of the last modifiers to be applied to damage.
Behavior Damage Bonuses
A Damage Effect may have its damage modified by behaviors on its source unit. For more information on how these modifications work, visit the behaviors page.
Behavior Damage Responses
A Damage Effect may have its damage modified by damage responses specified by behaviors on either the source or the target unit. For more information on how damage responses work, visit the behaviors page.
Global Minimum Damage Cap
There exists a cap on the minimum amount of damage that must be dealt when a damage effect is applied. If, after all damage modifiers have been considered, the amount of damage dealt is reduced below this minimum value, the damage amount will automatically be increased to match the minimum value. The default minimum value is 0.5. This value can be changed in the Gameplay Data tab in the Data Editor.
Damage Types
There are four main damage types supported by the Data Editor:
- Melee
- Ranged
- Spell
- Splash
Each Damage Effect must specify exactly one type as the type of damage that it deals. These damage types have no effect on the damage dealt by a Damage Effect by themselves but will affect how other objects respond to the damage. For example, behaviors are capable of applying separate damage modifiers for each damage type. Only Damage Effects that deal the appropriate type of damage will be affected by those modifiers. The type of damage dealt by a Damage Effect is only dependent on the type it specifies and not on the ultimate source of the damage. For example, a melee weapon can deal ranged-type damage, a single-target ability can deal splash-type damage, etc.
Instant-Kill Effects
Damage Effects can be used to instantly kill targets, regardless of what damage modifiers would normally apply to the damage. To do this, the Kill flag must be enabled in the Damage Effect's Flags field. One example of a use for this would be to kill units with timed lives when their timers expire (e.g. Broodlings, Auto-Turrets).
A similar effect may be achieved only for targets that are Hallucinations by enabling the Kill Hallucination flag. If this flag is enabled (but not the Kill flag) the Damage Effect will instantly kill Hallucinations but not normal units.
Fields
The Damage effect contains many extra data fields that control how the damage is dealt and what effects it has on both the target and the source. The most important ones are listed below with descriptions of their purposes. The list is ordered by tab and in alphabetical order within each tab.
Combat Tab
Field | |
---|---|
The amount of damage dealt per application of the effect. | |
Armor Reduction |
The amount of damage reduced per point of armor (life armor if the damage is directed at the target's life and shield armor if the damage is directed at the target's shields) possessed by the target. Note that this field is specific to the damage effect for which it was set. For example, a damage effect with a base damage amount of 10 and an armor reduction of 2 will deal 8 damage to a target with 1 armor and 6 damage to a target with 2 armor, assuming nothing else affects the damage amount. The damage reduction from armor is calculated after any attribute or shield bonuses. |
Attribute Bonus (Array) |
The flat bonus applied to the amount of damage dealt based on the target's attribute flags. These bonuses are simply added to the damage amount when applicable; they do not scale with the amount of damage being dealt. For information on how multiple bonuses are applied when the target meets the conditions for more than one bonus, see the description on the Total field in the Effect tab. Damage modification from attribute bonuses are applied before armor reduction is considered. |
Attribute Factor (Array) |
The bonus factor applied to the amount of damage dealt based on the target's attribute flags. These bonuses are normalized such that a reported factor of 0 corresponds to an actual factor of 1. So for example, a bonus of 0.25 would increase damage by 25% (or equivalently, multiply the damage by 1.25), and a bonus of -25% would decrease damage by 25% (or equivalently, multiply the damage by 0.75). For information on how multiple bonuses are applied when the target meets the conditions for more than one bonus, see the description on the Total field in the Effect tab. Damage modification from attribute bonuses are applied before armor reduction is considered. |
Shield Bonus |
The flat bonus applied to the amount of damage dealt when the damage is directed at shields rather than life. These bonuses are simply added to the damage amount when applicable; they do not scale with the amount of damage being dealt. For information on how multiple bonuses are applied when the target meets the conditions for more than one bonus, see the description on the Total field in the Effect tab. Damage modification from shield bonuses are applied before armor reduction is considered. |
Shield Factor |
The bonus factor applied to the amount of damage dealt when the damage is directed at shields rather than life. This bonus is normalized such that a reported factor of 0 corresponds to an actual factor of 1. So for example, a bonus of 0.25 would increase damage by 25% (or equivalently, multiply the damage by 1.25), and a bonus of -25% would decrease damage by 25% (or equivalently, multiply the damage by 0.75). For information on how multiple bonuses are applied when the target meets the conditions for more than one bonus, see the description on the Total field in the Effect tab. Damage modification from shield bonuses are applied before armor reduction is considered. |
Search Tab
Field | ||
---|---|---|
Area |
The Area field is an array of different search areas, each one with its own set of properties. When Area contains at least one element, the damage applied by the effect will be dealt in an area of effect specified by the element(s) of Area. If a target lies within more than one search area, the damage effect will be applied to it multiple times. To prevent this from happening, add Outer to the Exclude field. The primary target of the damage effect may also be enumerated by search areas. To prevent this from happening, add Target to the Exclude field. | |
Arc |
The arc (expressed in degrees) that this area sweeps out. The area sweeps out in the direction of a straight line running from the damage effect's source to the primary target. The line will also perfectly bisect the arc. | |
Bonus |
The amount of bonus damage added to that which is dealt to targets enumerated in this area. | |
Fraction |
The multiplier to apply to the damage dealt to targets enumerated in this area. | |
Maximum Count |
The maximum number of targets to be enumerated in this area. Only targets that successfully pass all search and validation filters specified by this area and its parent damage effect count toward this limit. A value of -1 means no limit. | |
Radius |
The radius out to which this area sweeps. The radius is calculated from the center point of the initial target of the damage effect. A target is enumerated by this area if any part of its collision sphere falls within the specified radius (and arc). | |
Radius Bonus |
Unknown | |
Validator |
The validator to apply to targets enumerated by this area. Targets must pass the validator, if one is specified, before they are damaged. | |
Exclude (Array) |
A list of targets to exclude from all search areas listed in the Area field. | |
Effect |
The parent effect from which to determine the target being excluded. If no effect is specified, the damage effect itself is used as the parent effect. | |
Value |
The marker to use to determine the target being excluded. All markers are treated as being from the point of view of the parent effect specified in Exclude::Effect.
| |
Include |
A list of targets to forceably include in all search areas listed in the Area field. | |
Effect |
The parent effect from which to determine the target being included. If no effect is specified, the damage effect itself is used as the parent effect. | |
Value |
The marker to use to determine the target being included. All markers are treated as being from the point of view of the parent effect specified in Include::Effect.
| |
Maximum Count |
The maximum number of targets to be enumerated in all search areas. Only targets that successfully pass all search and validation filters specified by search areas and the parent damage effect count toward this limit. A value of -1 means no limit. | |
Minimum Count |
The minimum number of targets this effect needs to enumerate. Only targets that successfully pass all search and validation filters specified by search areas and the parent damage effect count toward this quota. If this quota is not met, the damage effect will not be applied. | |
Minimum Count Error |
The error message that is displayed if the effect cannot meet the minimum count quota. | |
Search Filter |
The filters to apply to all targets enumerated by search areas. Targets must pass these filters before they are damaged. | |
Search Flags |
Flags for enabling/disabling certain search properties.
|