I set up a system with global variables, example:
Global Variable - WeaponDamage = 0
(onEntity.hit) - SubtractFrom:Entity.Health(WeaponDamage + yourothervariables)
(OnPlayer.EquipWeapon) - Function("UpdateWeaponDamage")
OnCallFunction("UpdateWeaponDamage") - SetValue:WeaponDamage = (weaponyouequipped).Damage
The Damage in weaponyouequipped is an instance variable you decide for it.