Skip to content
lsl.devlsl.devLSL Dev

Damage types

Every hit carries a damage type next to its amount: llDamage takes one, PRIM_DAMAGE and REZ_DAMAGE_TYPE set one for collisions, and llDetectedDamage reports it in on_damage. Part of the Combat feature.

Damage types are provided as a convenience and a suggestion. Scripters are free to add custom ones for their own combat systems or repurpose the damage type fields.

FlagValueDescription
DAMAGE_TYPE_IMPACT-1System damage generated by impact with terrain or a prim.
DAMAGE_TYPE_GENERIC0Generic or legacy damage.
DAMAGE_TYPE_ACID1Damage caused by a caustic substance, such as acid.
DAMAGE_TYPE_BLUDGEONING2Damage caused by a blunt object, such as a club.
DAMAGE_TYPE_COLD3Damage inflicted by exposure to extreme cold.
DAMAGE_TYPE_ELECTRIC4Damage caused by electricity.
DAMAGE_TYPE_FIRE5Damage inflicted by exposure to heat or flames.
DAMAGE_TYPE_FORCE6Damage inflicted by a great force or impact.
DAMAGE_TYPE_NECROTIC7Damage caused by a direct assault on life-force.
DAMAGE_TYPE_PIERCING8Damage caused by a piercing object such as a bullet, spear, or arrow.
DAMAGE_TYPE_POISON9Damage caused by poison.
DAMAGE_TYPE_PSYCHIC10Damage caused by a direct assault on the mind.
DAMAGE_TYPE_RADIANT11Damage caused by radiation or extreme light.
DAMAGE_TYPE_SLASHING12Damage caused by a slashing object such as a sword or axe.
DAMAGE_TYPE_SONIC13Damage caused by loud noises, like a Crash Worship concert.
DAMAGE_TYPE_EMOTIONAL14

Constant groups DamageType 16

These are plain integers, not built-in constants: LSL does not define them, so declare the ones you use in your script. To make it easy for the community to recognise and re-use custom damage types here is a table that scripters can add onto:

DeclarationDescriptionSubtypeCreatorSystem
integer DAMAGE_TYPE_MEDICAL = 100;Negative damage to heal a wound, damaged limb, first aid, etc. Intended for generic healing of biological nature. Positive damage would be medical malpracticeNexii MalthusVertical Sim / SLMC
integer DAMAGE_TYPE_REPAIR = 101;Negative damage from repairing an object or something mechanical, welding torch or wrench on a vehicle/robot/mech, etc. Positive damage can be due to mistakes, low skill or sabotage. Intended for generic healing of non-biological nature (e.g. a mechanical tank or an electrical system)Nexii MalthusVertical Sim / SLMC
integer DAMAGE_TYPE_EXPLOSIVE = 102;Damage caused by an explosive blast, like a grenadeDAMAGE_TYPE_FORCENexii MalthusVertical Sim / SLMC
integer DAMAGE_TYPE_CRUSHING = 103;Damage caused by crushing. Such as being crushed by water pressure. More of a constant type of force damage — can be nullified/reduced via diving suitDAMAGE_TYPE_FORCENexii MalthusVertical Sim / SLMC
integer DAMAGE_TYPE_ANTI_ARMOR = 104;Damage caused by anti-tank/anti-armor. Such as from a specialised armor piercing shell, rocket or other munitionDAMAGE_TYPE_PIERCINGNexii MalthusVertical Sim / SLMC
integer DAMAGE_TYPE_SUFFOCATION = 105;Damage caused by suffocation. Usually lacking a breathable atmosphere, such as from drowning or being in the vacuum of spaceNexii MalthusVertical Sim / SLMC
integer DAMAGE_TYPE_REDEPLOY = 106;Special damage to indicate combatant chose to redeploy. You can code in side effect(s) such as using up a ticket off the team to do soNexii MalthusVertical Sim / SLMC
integer DAMAGE_TYPE_SURVIVAL = 200;Damage caused by lack of survival needs, such as starvation and dehydration. Negative damage used to heal through recovery by food and waterAdam Silver-Mane (Adamphillip)Silver-mane’s survival HUD
integer DAMAGE_TYPE_HEMORRHAGE = 201;Damage caused by active bleeding. Damage type check, sets health to 0 on unsustainable systemic failureAdam Silver-Mane (Adamphillip)Silver-mane’s survival HUD

Damage type tables adapted from the Second Life Wiki templates Template:LSL Constants/Damage Types (revision 1216840, 2024-06-26) and Template:LSL Constants/Custom Damage Types (revision 1218868, 2026-06-03); history, by Second Life Wiki contributors, under CC BY-SA 3.0. Last wiki edit: .