This is a pretty basic meditate command, what it does is raises the players mana from 10 to 30 ever 10 seconds. This shouldn't do anything bad to your mud, but if it does, it's not my fault. If you use this code please send me an e-mail at Zerokaigon@hotmail.com. ::In Act.Other.C (or where ever really):: void check_meditate(void) { struct char_data *i, *next_char; int is_altered = FALSE; int num_levels = 0; /* characters */ for (i = character_list; i; i = next_char) { next_char = i->next; if (GET_POS(i) == POS_MEDITATE) { send_to_char("&05You meditate peacefully&00\r\n", i); GET_MANA(i) += number(10,30); act("$n meditates peacefully.", FALSE, i, 0, 0, TO_ROOM); } if (GET_POS(i) == POS_MEDITATE && GET_MANA(i) >= GET_MAX_MANA(i)) { send_to_char("You stop meditating for you have reached your max.\r\n", i); GET_POS(i) = POS_STANDING; act("$n stops meditating.", FALSE, i, 0, 0, TO_ROOM); } } } const char *MEDITATE = "You start meditating.\r\n"; ACMD(do_meditate) { if (GET_POS(ch) == POS_MEDITATE) { send_to_char("You are already meditating.\r\n", ch); return; } if (GET_POS(ch) == POS_POWERUP) { send_to_char("You are already powering up.\r\n", ch); return; } if (GET_POS(ch) == POS_POWERDOWN) { send_to_char("You are powering down.\r\n", ch); return; } if (GET_POS(ch) == POS_EXERCISE) { send_to_char("You are exercising.\r\n", ch); return; } if (GET_POS(ch) == POS_FLOATING) { send_to_char("You can not exercise while floating.\r\n", ch); return; } if (GET_POS(ch) == POS_STANDING) { send_to_char("&05You begin meditating.&00\r\n", ch); act("$n begins meditating..", FALSE, ch, 0, 0, TO_ROOM); GET_POS(ch) = POS_MEDITATE; return; } send_to_char("You must be standing to begin meditating.", ch); } ::In Comm.C:: Search for "void sanity_check(void);" and add under it: void check_meditate(void); Then search for "void heartbeat(int pulse)" and add this under the sanity_check thing in the same manner as all the other checks: if (!(pulse % (10 * PASSES_PER_SEC))) check_meditate(); ::In Structs.H:: Search for "POS_" and add this to the end of the list in the same manner as the others: #define POS_MEDITATE 9 /* meditating*/ ^ Make this number 1 more than the last one on the list Make, compile and that should be it, you may need to change some things, I'm using a DBX code, but it should work just fine.