The living.c used in this MUD is incompatible to the old one used in other MUDs, it has a reset() function for important technical reasons. Also the living.h has changed, it no more inherits anything automatically. But the "obj/monster" is still function compatible to the old one. If you do everything that lives, by using obj/monster, and calling the functions set_hp etc, not try to use the variables directly, then you can't go wrong. Another thing that is important: When you do a reset() in your inheriting monster file, you must FIRST do ::reset(arg), THEN do all the set_.. calls. The argument is important, or move_at_reset won't work. Some variables have changed name in living.c: hit_point is now called 'hp', spell_points is called 'sp' and myself is 'me' now. If you program complex monsters and livings the macros.h might be useful to you. If anything should change about monster.c etc. the defines in macros.h will be updated adequately. Now to the technical reasons: living.c has (or is soon going to get) a new combat system, which uses arrays to keep status of several enemies at once. living.c needs to setup these arrays (allocate) at reset, because there can't be a check for definition in every single combat function, that was cause too much overhead. So it was a joint decision of many game masters to swallow the bitter pill of converting all old living objects in favour of a new combat system and a new stats system (which uses an array, too).