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