Inspired by a recent feature request for more specific descriptions of known but out-of-sight traps. The major change is that the specific type of trap will be reported ("[A dart trap.]", for instance), where it would have previously just been described as "A mechanical trap", "A magical trap" or "A natural trap".
DNGN_TRAP_MECHANICAL, DNGN_TRAP_MAGICAL, DNGN_TRAP_NATURAL and NUM_TRAPS are mostly unused now, in place of more specific dungeon feature types like DNGN_TRAP_DART. For testing general trap categories, you may call the functions "trap_is_mechanical(trap_type trap)", "trap_is_magicial(trap_type trap)" and "trap_is_natural(trap_type trap)". [As a side effect, it is now theoretically possible to have traps belonging to multiple categories, although none are currently implemented.] Undiscovered trap implementation is pretty much unchanged.
There are additional minor changes as well:
-Attempts to disarm traps that can't be disarmed now result in custom messages based on the trap type.
-Because I noticed that the warning prompt for entering a known Alarm Trap specifically asks if you want to step "onto" the trap (as opposed to "into" for all other trap types), I decided to make it so that Alarm Traps aren't triggered by airborne creatures. I don't think that will terribly unbalance anything.
One thing that I wanted to do, but was unable to figure out how to implement (or find the relevant code), was to add a prompt asking for the direction that you want to untrap (or open/attack) when using the (* + direction) notation for the "interact with tile" command. (I think that the code must have been hacked in such a way that a single CMD is sent, like with the chorded Control+Direction notation, when preferably the *+direction notation would cause two CMDs: One to prompt for input, and the second to perform the prompted action.)