Weapons can not perform nonlethal attacks
Weapons store nonlethal flag in .data.properties.nnl, but attacks store it in .data.nonlethal directly.
This causes nonlethal weapon, when attacked directly with the weapon itself, not be tagged as nonlethal.
Best solution is perhaps to move the .data.nonlethal to use .data.properties.nnl, too, though it would require migration. Small getter could be added to the old location for redirecting with deprecation warning.
Edited by M.A.