Apply on-demand modifications from the trigger's feature item to the mutable
damage context (bms.damageApplied). Only mods with onDemand:true are applied;
normal passive mods are already included in actor derived data.
Field routing by actor role in the hook:
Attacker (actor === damageCtx.attacker): damage.outgoing, damage.outgoing.
Target (actor === hookArgs[0]): damage.incoming
Mods whose field doesn't match the actor's role are silently skipped.
Apply on-demand modifications from the trigger's feature item to the mutable damage context (bms.damageApplied). Only mods with onDemand:true are applied; normal passive mods are already included in actor derived data.
Field routing by actor role in the hook: Attacker (actor === damageCtx.attacker): damage.outgoing, damage.outgoing.
Target (actor === hookArgs[0]): damage.incoming
Mods whose field doesn't match the actor's role are silently skipped.