Page contents

damage_effect

Damage effect tags (internally known as jpt!) are responsible for almost all sources of pain and death within the Halo 3 engine, besides hard values they contain many options for side effects and unique properties.

Halo 3 does not support negative damage, nor negative damage modifiers.

Top Fields/Flags

Field/FlagData typeDescription
radiusrealA set of two values that define the distances used for damage calculation (as radii from the damage origin point). 'damage upper bound' is applied between the origin and the first value. Damage scales linearly to 'damage lower bound' over the distance between the first and second values. No damage is applied outside of the second distance.
cutoff scalefractionUnknown/needs additional research
effect flagsflag-
don't scale damage by distance-Always use 'damage upper bound' if a target is anywhere within the radius. Does not apply to projectile impact damage.
area damage players only-

Damage

Side effectDescription
noneNo side effects from this damage effect on targets
harmlessUnknown/needs additional research
lethal to the unsuspectingCauses this damage effect to instantly kill units from behind, unless the biped flag 'not instantly killed from behind' is enabled
empneeds additional research

These effects are either unknown or need additional research.

CategoryDescription
noneUnknown/needs additional research
fallingUnknown/needs additional research
bulletUnknown/needs additional research
grenadeUnknown/needs additional research
high explosiveUnknown/needs additional research
sniperUnknown/needs additional research
meleeUnknown/needs additional research
flameWhen this damage effect hits an AI unit, they will play their voice lines for being lit on fire, needs additional research
mounted weaponUnknown/needs additional research
vehicleUnknown/needs additional research
plasmaUnknown/needs additional research
needleUnknown/needs additional research
shotgunUnknown/needs additional research

Flags

Flags used for special properties to be applied to this damage effect when hitting a target.

FlagDescription
does not hurt ownerneeds additional research
can cause headshotsWhen this melee or projectile attack hits a model damage section with the 'headshottable' flag enabled and the region is unshielded, the unit will instantly be killed, regardless of remaining health or shields
pings resistant unitsUnknown/needs additional research
does not hurt friendsUnknown/needs additional research
does not ping unitsneeds additional research
detonates explosivesneeds additional research
only hurts shieldsThis damage can only hurt shields, dealing 0 damage to base target health
causes flaming deathUnknown/needs additional research
damage indicators always point downneeds additional research
skips shieldsThis damage will bypass shield health and attack base health directly, can allow headshots to bypass shields as well
only hurts one infection formneeds additional research
transfer damage always uses minneeds additional research
infection form popUnknown/needs additional research
ignore seat scale for dir. damageneeds additional research, should cause this damage effect to always deal full damage when hitting a unit in a vehicle directly, ignoring all vehicle transfer damage ratio values
force hard ping if body damageThis damage will always trigger a hard ping animation when inflicted upon the base health of a unit. Cannot trigger hard pings if the material hit does 0 damage due to modifiers
does not hurt playersneeds additional research
does not overcombineUnknown/needs additional research
enables special deathEnables a target to play a special instant response (set up in its [model(~)] tag) when killed by this damage effect. For example, the Ghost has a slow, wind-up detonation when killed by normal weapons, but explodes instantly when killed by the rocket launcher.
cannot cause betrayalsUnknown/needs additional research
uses old EMP behaviorUnknown/needs additional research
ignores damage resistanceUnknown/needs additional research
forces s_kill on deathUnknown/needs additional research
causes magic decelerationUnknown/needs additional research

Fields

This section is where the actual numbers of this damage effect are specified. Defines other properties like vehicle transfer damage, stun, knockback, damage angles for melee, damage type and the response label as well.

Pictured: The entire fields section

FieldsData typeDescription
AOE core radiusrealneeds additional research
damage lower boundrealThe damage done to a target for detonation, melee or effect-bound damage when effecting a target just within the second radius bounds value. Is unused for impact damage unless the projectile flag 'damage scales based on distance' is enabled, then this value of damage will be applied when hitting a target past the latter bound of the 'air damage range' field
damage upper boundreal2 values that the game picks between for the damage done to a target on impact, or within the first radius bounds value for detonation, melee or effect-bound damage
dmg inner cone anglerealneeds additional research
dmg outer cone anglerealneeds additional research
active camouflage damagerealneeds additional research
stunrealDefines the % of stun to apply to a player in MP for movement and aiming stun purposes, per individual instance of damage
maximum stunrealDefines the maximum % of stun a player being effected by this damage can achieve, functional upper limit defined by the globals tag
stun timerealneeds additional research
instantaneous accelerationrealneeds additional research
rider direct damage scalerealneeds additional research
rider maximum transfer damagerealneeds additional research
rider minimum transfer damagerealneeds additional research
general damagestringThis string tells the game to apply this damage type to this damage effect, damage types define material modifiers such as bonus damage to human health or a damage reduction against brute shields
specific damagestringThis string tells the game to apply this damage type in addition to the general damage, used as a bonus modifier calculated after the general damage. For example a 'sniper' damage type could have a 2x bonus against vehicle materials, thus when used as a specific damage with a general damage that has a 1x modifier on vehicles, you would still get the 2x bonus on vehicles from the specific damage
custom response labelstringIn a model you can set up responses to play when a part of a unit reaches a certain health threshold due to damage using labels defined here. An example being the ability to set units on fire, the flamethrower or firebomb has the "fire" response label, which then triggers an instant response to create a fire effect onto that unit once they've reach a defined % of health due to that damage.
AI stun radiusrealWhen this damage effect is triggered via projectile detonation, this radius in world units defines how far from the detonation point the 'AI stun bounds' value extends to
AI stun boundsrealThess values defines how much 'stun" an AI unit is subjected to from this attack, based on range from impact if an AOE attack, if this stun value is greater than or equal to the character tags 'stun threshold' value, the AI unit enters their 'stunned' behavior and animation state, an example being grunts holding their head and stumbling around
shake radiusrealWhen this damage effect is triggered via projectile detonation, this radius defines how far from the detonation point a screen shake effect is played on players
EMP radiusrealneeds additional research
AOE spike radiusrealWhen used for AOE damage effects, this will act as a smaller radius within the entire AOE that triggers the below value damage boost. An example would be an explosive projectile having a max radius of 5 world units and a spike radius of 1 world unit, should a target be hit by the AOE within 1 world unit of the detonation origin, trigger the damage bump
AOE spike damage bumprealWhen this damage effect effects a target via AOE and the target is within the above fields radius, add this much additional damage

damage response | damage_response_definition | This field is used to reference the tag that controls screen shake/motion and controller haptics when a target is hit by this damage effect instance.

As melee

Specific frames of melee animations are set as 'primary keyframes'. During these frames, the melee damage effect is active, and will hurt targets within its radius. Under normal circumstances, a melee animation cannot hit a single target more than once. For example, if you are within the damage radius for 5 primary keyframes, you will only take one instance of damage.

Keep in mind when an AI unit is berserking, their melee_leep animation is allowed to hit the same target multiple times, leading to a massive boost in their melee damage

As effect-bound

Often used for effects such as fire, where a damage effect is spawned every tick while particles are emitted, these damage effects usually have a small radius and low base damage.

Acknowledgements

Thanks to the following individuals for their research or contributions to this topic:

  • Mimickal (Proof-reading and suggestions)
  • odchylanie_uderzenia (Writing and research)