D&D 5E - Hitting ghosts, elementals, and such

I am even with the "hp are not all meat" thing, but I still have trouble making sense of this and so do my players.


You are not alone. Even with the "hp are not all meat" idea, the point is that "hp damage" is still related to being potentially hurt by the last blow. You can say that all your hp lost except the last one are because you're getting tired or demoralized, but if the last one kills you then it must be physical, or otherwise metaphysical but it needs some reasonable explanation nevertheless. If a weapon is not supposed to affect you, you can't be demoralized by the threat of it, and getting tired doesn't make you vulnerable to something you are immune anyway. Exceptions can always exist, but if they become the norm then they devalue the identity of certain monsters. So if a ghost is supposed to be immaterial, that is the key quality that makes a ghost different to fight. If you can fight it just like any other monster, what's the point of having a ghost in the first place?

That said, I don't have a particular problem with D&D ghosts... IIRC the idea is that they are in fact invulnerable to any material weapon including magic weapons! That's because they are in the ethereal plane. However, if a ghost wants to hurt (or touch) someone in the material plane, they have to somewhat "materialize", and in doing so they are also (partially, thanks to damage resistance) vulnerable to material weapons. Magical weapons are able to hit them better while materialized, bypassing resistance.

Overall I think this is a fairly reasonable design choice. It could have been different and more extreme... ghosts could have been always totally insubstantial and therefore immune to any material weapon. It would be ok (and other monsters might in fact work like this), they would be a tougher opponent which would force the players to find very different ways of fighting them.

ncG1vNJzZmivp6x7prrWqKmlnF6kv6h706GpnpmUqHyptdOtoKefXZy1sL%2FTrGSepJWisq%2FAwKWqZpmemXq0wcKhZW1uaG1%2FdHs%3D