on hit
The hit script event is sent by the damage source to NPCs and props when the the entity is damaged. ^¶m1 will be set to the damage received by the entity while ^$param2 is set to the weapon type if the damage source is the player: spell, bare, dagger, 1h, 2h, arrow or (for NPC targets only before Arx Libertatis 1.3) summoned if the damage is from a summoned entity. In this case, the event ^sender will be the player.
With Arx Libertatis 1.3 or newer, ^$param3 holds the spell ID or entity ID of the weapon or summoned entity used to inflict the damage and ^$param4 specifies the damage type flags as used in the dodamage and damager commands:
| f | Fire |
| m | Magical |
| p | Poison |
| l | Lightning |
| c | Cold |
| g | Gas |
| e | Metal |
| w | Wood |
| s | Stone |
| a | Acid |
| o | Organic |
| r | Drain life |
| n | Drain mana |
| u | Push |
Spell IDs are made up of the spell name followed by _ and then a unique instance number. Use ^spelllevel_~^$param3~ to check the spell level and use the if isin command or the ^class_… system variable to check for spell or damage types:
on hit {
if lightning_strike isin ^$param3 {
// Hit by a Lightning projection (

) or Mass lightning projection (

) spell
}
if ^class_~^$param3~ == lightning_strike {
// Hit by a Lightning projection (

) spell
}
if l isin ^$param4 {
// Hit with lightning damage
}
}
For NPCs, scripts can prevent the damage to the entity by responding to the hit event with refuse.
When 0 life or durability is reached for NPCs or props, the die or break events are sent respectively.