Seguinte, eu consegui fazer isso pra armas melee. Vou recapitular oq eu fiz antes de colocar minhas dúvidas:
Adicionei scripts="melee.lua" em todas as armas melee em data/weapons/weapons.xml
Criei um arquivo melee.lua em data/weapons/scripts e coloquei (baseado nas spells):
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
combat:setParameter(COMBAT_PARAM_USECHARGES, true)
func