Things that affect immorts that shouldn't: * Not being able to drop cursed item without casting "remove curse" (act.item.c, perform_drop() and perform_remove()). * Mana cost of spell casting (yes, do_cast() does check for immort, but it still costs mana and having an imm with negative mana is just silly, even if they don't need to worry about it) (spell_parser.c, mag_manacost). * invalid_align() (handler.c, invalid_align()). * invalid_class() (class.c, invalid_class()). (also, invalid_class() should really return TRUE and FALSE, not 1 and 0) * Strength requirements for wielding weapons (act.item.c, do_wield()) * Cannot cast spells in ROOM_NOMAGIC rooms (spell_parser.c, call_magic()). I set up a LVL_IMMUNE in structs.h which determines at what level these things stop affecting a character. Currently set to LVL_IMMORT. It should actually be set it up as a toggle (like holylight and nohassle)... maybe even tie it in directly to nohassle? Because you probably want that stuff active for testing things, but probably want it turned off in the general case.