llDamage
Jump to navigation
Jump to search
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: llDamage( key target, float damage, integer damage_type );0.0 | Forced Delay |
10.0 | Energy |
This function delivers damage to tasks and agent in the same region.
• key | target | – | The key for the task or avatar that will receive damage. | |
• float | damage | – | The amount of damage to deliver to the targeted task or avatar. Unlike collideable damage such as llSetDamage or REZ_DAMAGE, this can be above 100. | |
• integer | damage_type | – | The type of damage to deliver to the targeted task or avatar. |
Specification
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.
Flag | Description | |
---|---|---|
DAMAGE_TYPE_IMPACT | −1 | System damage generated by impact with terrain or a prim. |
DAMAGE_TYPE_GENERIC | 0 | Generic or legacy damage. |
DAMAGE_TYPE_ACID | 1 | Damage caused by a caustic substance, such as acid. |
DAMAGE_TYPE_BLUDGEONING | 2 | Damage caused by a blunt object, such as a club. |
DAMAGE_TYPE_COLD | 3 | Damage inflicted by exposure to extreme cold. |
DAMAGE_TYPE_ELECTRIC | 4 | Damage caused by electricity. |
DAMAGE_TYPE_FIRE | 5 | Damage inflicted by exposure to heat or flames. |
DAMAGE_TYPE_FORCE | 6 | Damage inflicted by a great force or impact. |
DAMAGE_TYPE_NECROTIC | 7 | Damage caused by a direct assault on life-force. |
DAMAGE_TYPE_PIERCING | 8 | Damage caused by a piercing object such as a bullet, spear, or arrow. |
DAMAGE_TYPE_POISON | 9 | Damage caused by poison. |
DAMAGE_TYPE_PSYCHIC | 10 | Damage caused by a direct assault on the mind. |
DAMAGE_TYPE_RADIANT | 11 | Damage caused by radiation or extreme light. |
DAMAGE_TYPE_SLASHING | 12 | Damage caused by a slashing object such as a sword or axe. |
DAMAGE_TYPE_SONIC | 13 | Damage caused by loud noises, like a Crash Worship concert. |
DAMAGE_TYPE_EMOTIONAL | 14 |
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:
Flag | Description | Subtype | Creator | System | |
---|---|---|---|---|---|
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 malpractice | Nexii Malthus | Vertical Sim / SLMC | |
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 Malthus | Vertical Sim / SLMC | |
DAMAGE_TYPE_EXPLOSIVE | 102 | Damage caused by an explosive blast, like a grenade | DAMAGE_TYPE_FORCE | Nexii Malthus | Vertical Sim / SLMC |
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 suit | DAMAGE_TYPE_FORCE | Nexii Malthus | Vertical Sim / SLMC |
DAMAGE_TYPE_ANTI_ARMOR | 104 | Damage caused by anti-tank/anti-armor. Such as from a specialised armor piercing shell, rocket or other munition | DAMAGE_TYPE_PIERCING | Nexii Malthus | Vertical Sim / SLMC |
DAMAGE_TYPE_SUFFOCATION | 105 | Damage caused by suffocation. Usually lacking a breathable atmosphere, such as from drowning or being in the vacuum of space | Nexii Malthus | Vertical Sim / SLMC |
Caveats
- 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.