Fix: hitting ghost with blessed non-weapon
Hitting a noncorporeal monster with a blessed non-weapon (such as a piece of armor) didn't deal any damage, but produced messaging as though it had. Including blessed items in shade_aware seems to fix this, hopefully without introducing any new bugs.
There are two ways to resolve this:
- hitting a noncorporeal with a blessed non-weapon makes contact and does (trivial) damage
- hitting a noncorporeal with a blessed non-weapon doesn't make contact
What is the reasoning behind picking option 1? In vanilla, attacking a shade with a blessed non-weapon makes the attack pass harmlessly through (but a blessed weapon does hit), and I'm not aware of anything in xNetHack that has diverged from vanilla on this.
Currently messaging in xnh already suggests that you hit ("bash") the ghost, rather than saying the item "passes through harmlessly" as Vanilla does, so something needs to change from the current setup.
Making it do trivial damage is more consistent with the current handling of bone non-weapon items, and I think it generally is a more consistent application of the rule "you can make contact iff uwep is a special material or blessed". Applying that rule consistently allows the player to come up with a creative solution to the problem of being corned by a ghost without any weapon that can hit it, which I think could be fun.
If you think it's better to make it only possible to hit ghosts with weapons, at least the messaging should be changed.
Edit: oh yeah, it's also consistent with blessed gloves allowing a punch to make contact (that's true, isn't it?). Blessed armor can make contact in some circumstances already, so it's a little weird that it stops working if you change the way you're holding/using it.
Merged to 8.0-savebreaking branch.