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