Skip to content
lsl.devlsl.devLSL Dev

llDamage

function
Function syntax
llDamage(
  1. key target,// Key of the target avatar or task to receive damage.
  2. float damage,// Amount of damage to inflict (can exceed 100, unlike collision-based damage).
  3. integer damage_type// Type of damage to deliver to the target (can correspond to a DAMAGE_TYPE_* constant). Values: DamageType
);
Energy
10

Generates a damage event delivering the specified amount of damage and damage_type to the targeted avatar or task in the same region.

This function delivers damage to tasks and agent in the same region.

How to use
llDamage(NULL_KEY, 0.0, 0);

The llDamage function triggers a damage event on the targeted task. If any scripts in the target process the on_damage event, they will be fired before the damage is applied or distributed.

FlagDescription
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

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.

To make it easy for the community to recognise and re-use custom damage types here is a table that scripters can add onto:

FlagDescriptionSubtypeCreatorSystem
100100Negative 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
101101Negative 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
102102Damage caused by an explosive blast, like a grenadeDAMAGE_TYPE_FORCENexii MalthusVertical Sim / SLMC
103103Damage 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
104104Damage caused by anti-tank/anti-armor. Such as from a specialised armor piercing shell, rocket or other munitionDAMAGE_TYPE_PIERCINGNexii MalthusVertical Sim / SLMC
105105Damage caused by suffocation. Usually lacking a breathable atmosphere, such as from drowning or being in the vacuum of spaceNexii MalthusVertical Sim / SLMC
106106Special 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
200200Damage 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
201201Damage caused by active bleeding. Damage type check, sets health to 0 on unsustainable systemic failureAdam Silver-Mane (Adamphillip)Silver-mane’s survival HUD
  • Calls are throttled to a rate of ≤10/30sec per recipient. Exceptions are:
  • Recipient is avatar of the attachment.
  • Recipient is sitting on the object.
  • Triggering the damage throttle will shout an error to the debug channel and the script will continue running.
  • The prim containing the script and the prim receiving the damage must both be in damage enable parcels.
  • Targeting a seated avatar will redirect damage to the object the avatar is sitting on.

The on_damage event will NOT be triggered if the source of the damage is either:

  • An attachment on the avatar.
  • An object or vehicle that the avatar is sitting on.

final_damage will be triggered as normal.

The damage throttle is skipped if:

  • Damage is negative.
  • The source is an attachment on the avatar.
  • The source is an object that the avatar is sitting on.
  • The source is an object owned by a parcel owner or land group.
Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.