This trigger fires when an item receives damage.
The following object references are explicitly available for this trigger:
|I||The item taking damage.|
|SRC||The character responsible for the damage, in the case of a weapon, it's the character that receive the hit.|
The following arguments are set for this trigger. If an argument is marked as "In" then a value will be passed in to the trigger, if an argument is marked as "Out" then it can be set to a value to affect Sphere's behaviour:
|ARGN1||I||The amount of damage being applied.|
|ARGN2||I||The damage attributes.|
The following return values are explicitly defined for this trigger:
|1||Prevents the item from being damaged.|
Damage function in items doesn't mean the amount of hitpoints receiving but a chance to receive 1 point of damage, so by default Sphere is using this formula to calc the chace of receive damage:
local.success = <eval <MaxHits>*16> if (<r<local.success>> > damage) return 1// and block the damage endif
So if a random number between 1 and MaxHits*16 is higher than the damage dealt, there's no damage.
In a PickAxe with 45 Hits it will mean that a number higher than 720 (45*16) have to be given to force one point of damage.
Here's a damage formula to force damage: