I ported this restore "all" command to circle 3.1 and added a few things. The original is on the developer site credits due to whoever made that one. Also thanks to Cathy Gore for helping me fix a few bugs in the code. Replace the old do_restore with this one or add the parts I commented in. ACMD(do_restore) { char buf[MAX_INPUT_LENGTH]; int i; int found = 0; struct char_data *vict; one_argument(argument, buf); if (!*buf) send_to_char(ch, "Whom do you wish to restore?\r\n"); /* Restore all */ else if (strcmp(buf,"all")==0) { if (GET_LEVEL(ch) >= LVL_GRGOD) { struct descriptor_data *pt; for (pt = descriptor_list; pt; pt = pt->next) { if (STATE(pt) == CON_PLAYING && pt->character && pt->character != ch) { GET_HIT(pt->character) = GET_MAX_HIT(pt->character); GET_MANA(pt->character) = GET_MAX_MANA(pt->character); GET_MOVE(pt->character) = GET_MAX_MOVE(pt->character); update_pos(pt->character); found++; act("You have been fully healed by $N!", FALSE, pt->character, 0, ch, TO_CHAR); }} if (found != 0) { send_to_char(ch, CONFIG_OK); mudlog(BRF, MAX(LVL_GOD, GET_INVIS_LEV(ch)), TRUE, "(GC) %s restored all.", GET_NAME(ch)); } else send_to_char(ch, "There is nobody to restore.\r\n"); } else { send_to_char(ch, "You are not holy enough to use this command.\r\n"); } } /* End restore all */ else if (!(vict = get_char_vis(ch, buf, NULL, FIND_CHAR_WORLD))) send_to_char(ch, "%s", CONFIG_NOPERSON); else if (!IS_NPC(vict) && ch != vict && GET_LEVEL(vict) >= GET_LEVEL(ch)) send_to_char(ch, "They don't need your help.\r\n"); else { GET_HIT(vict) = GET_MAX_HIT(vict); GET_MANA(vict) = GET_MAX_MANA(vict); GET_MOVE(vict) = GET_MAX_MOVE(vict); if (!IS_NPC(vict) && GET_LEVEL(ch) >= LVL_GRGOD) { if (GET_LEVEL(vict) >= LVL_IMMORT) for (i = 1; i <= MAX_SKILLS; i++) SET_SKILL(vict, i, 100); if (GET_LEVEL(vict) >= LVL_GRGOD) { vict->real_abils.str_add = 100; vict->real_abils.intel = 25; vict->real_abils.wis = 25; vict->real_abils.dex = 25; vict->real_abils.str = 25; vict->real_abils.con = 25; vict->real_abils.cha = 25; } } update_pos(vict); affect_total(vict); send_to_char(ch, "%s", CONFIG_OK); act("You have been fully healed by $N!", FALSE, vict, 0, ch, TO_CHAR); } } If you need any help feel free to e-mail me and I'll see if I can help... Bejhan Jetha bejhan of Chrono Apocolypse -- Thats right we're back in action! chrono.sytes.net:4000 - builders needed! bejhanj@shaw.ca