Damage Types
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Damage types are an additional integer field that is passed along with the damage amount.
Whenever damage is dealt to an avatar, or an object that can process damage, an additional damage type integer is passed along to the on_damage and final_damage events through the llDetectedDamage function. It can also be retrieved via OBJECT_DAMAGE_TYPE on llGetObjectDetails for objects that use collision damage via PRIM_DAMAGE or REZ_DAMAGE_TYPE.
Specification
The damage type integer can match a default DAMAGE_TYPE_*, a custom damage type integer such as from the community damage types or for your own combat system, or even go further to repurpose the damage type fields for contained systems.
For example such as using bitshifting and/or bitmasks to achieve dual or triple damage type systems and/or sub types. Or using bit flags for your own options and enumerations. However be wary that repurposing the damage type field to such extents can create incompatibility with other systems that may process damage. Such as a third party damage report HUD the avatar may be wearing. Of course a fully self-contained/private system on the other hand does not need to worry about such issues.
Default Damage Types
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.
Community Damage Types
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 |