Looking through the code when I first got it, I noticed a couple of things that might have been done a little differently to allow for more versatility with the code. The example that stands out in this case, would be the load_into_inventory setting in config.c, which is called in the act.wizard.c file. Below is my take of how I would have done the code. [Begin Code Here] // In config.c - /* - * Whether you want items that immortals load to appear on the grounds or not. - * It is most likely best to set this to 'YES' so that something else doesn't - * grab the item before the immortal does, but that also means people will be - * able to carry around things like boards. That's not necessarily a bad - * thing, but this will be left at a default of 'NO' for historic reasons. - */ - int load_into_inventory = NO; // In act.wizard.c (external vars) extern int circle_restrict; - extern int load_into_inventory; extern int buf_switches, buf_largecount, buf_overflows; // In act.wizard.c (do_load function) act("$n has created $N!", FALSE, ch, 0, mob, TO_ROOM); act("You create $N.", FALSE, ch, 0, mob, TO_CHAR); + } else if (is_abbrev(buf, "inv")) { + if ((r_num = real_object(number)) < 0) { + send_to_char("There is no object with that number.\r\n", ch); + return; + } + obj = read_object(r_num, REAL); + obj_to_char(obj, ch); + act("$n makes a strange magical gesture.", TRUE, ch, 0, 0, TO_ROOM); + act("$n has created $p, and places it in $s inventory.", FALSE, ch, obj, 0, TO_ROOM); + act("You create $p, and place it in your inventory.", FALSE, ch, obj, 0, TO_CHAR); } else if (is_abbrev(buf, "obj")) { if ((r_num = real_object(number)) < 0) { send_to_char("There is no object with that number.\r\n", ch); return; } obj = read_object(r_num, REAL); - if (load_into_inventory) - obj_to_char(obj, ch); - else - obj_to_room(obj, ch->in_room); + obj_to_room(obj, ch->in_room); act("$n makes a strange magical gesture.", TRUE, ch, 0, 0, TO_ROOM); act("$n has created $p!", FALSE, ch, obj, 0, TO_ROOM); act("You create $p.", FALSE, ch, obj, 0, TO_CHAR); } else - send_to_char("That'll have to be either 'obj' or 'mob'.\r\n", ch); + send_to_char("That'll have to be either 'obj' or 'inv' or 'mob'.\r\n", ch); -- «¥» Lord Kyu «¥» +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT