Silver athame fails to cause bleeding on activate, instead tries to cauterize

0.C-17895-g365ebd3
SDL
Windows 7

Using the “Arcana and Magic Items” Mod, “Seeker of the Arcane” scenerio, “Blood Mage” profession.

Activating the “silver athame” item, then “Test the blade’s sharpness.” yields the message: “The edge of the athame looks too dull to break the skin, yet some strange urge leads you to test this…” followed by “You need a source of flame (4 charges worth) before you can cauterize yourself.” This successfully changes the item to “silver athame (active)” but on continued use fails to cause bleeding to torso as intended.

Since the effect does not even remotely involve the cauterization use action, I can’t help but wonder who fucked up my old mod in such a spectacular manner.

Test the offering chalice as well, I suspect the same coding incompetence will have likely broke that too.

EDIT: Nevermind. It’s because someone shifted the knife use_action into being a hardcoded effect of either cutting or butchering quality, then neglected to double-check mods. Remove that and the problem goes away.

Hammer of the hunter and veinreaver are giving error messages on activation because fucked if I know. Have puzzled out a way to remove this fuckup for the hammer, but no idea how best to unfuck the axe.

Regardless, someone else will have to do it. I don’t contribute anymore, due to Kevin.

So what has to be changed to fix it? Just mention the edits here, and I’ll do it.

Issue is also open here: https://github.com/CleverRaven/Cataclysm-DDA/issues/18177

First, Mugling apparently shifted the knife function from a use_action to either cutting or butchering quality, and it doesn’t play well with active items. Simply removing the crafting qualities from active athames will solve that.

Hammer of the hunter, veinreaver, and cursed sword all generate an error message on activation. Giving their active versions their respective essence as an ammo type, then adding the flags NO_UNLOAD and NO_RELOAD, will unfuck all three.

However, the hammer of the hunter can also be resolved by simply setting target_charges to 0 in the inactive version’s use_action, doing the same with the initial_charges of the active version. This also eliminates an unintended turn of excess delay between activation and flashing.

Everything beyond that is just old, lingering typos on my part.