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.