From db.c: case 'G': /* obj_to_char */ if (!mob) { ZONE_ERROR("attempt to give obj to non-existant mob"); break; } if (obj_index[ZCMD.arg1].number < ZCMD.arg2) { ^^^^^^^^ If total objects of this type is less than allowed, then load object and set last_cmd to 1. obj = read_object(ZCMD.arg1, REAL); obj_to_char(obj, mob); last_cmd = 1; } else last_cmd = 0; ^^^^^^^^ If this type of objects arleady maxxed, set last_cmd to 0? :I break; Hmm.. So, in situation like this: M 0 3024 6 3023 * Guard O 1 3001 5 * Give him long sword O 1 3002 8 * and shield If swords are maxxed but shields aren't, the shield will not be loaded? I think possible solution is: on every 'O' and 'E' command don't touch the last_cmd variable at all. If it's set to 1 from last succesfully loaded mobile, it should be set until next one. But there will be problems with containers... Maybe split last_cmd variable into two? I.e. last_cmd which displays success of mob loading, door switching etc and last_cmd_obj which shows info about object loading. Andrey (andrey@alex-ua.com) Kiev, Ukraine, Europe aka Zmey//RMUD +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST