Well, it was so easy to allowing setting of room affections in the world files,
that I did it.
It is very, very simple! :)
In the file db.c (where else? :), in the function parse_room(), look for
the line
sprintf(buf, "Format error in room #%d (expecting D/E/S)", virtual_nr);
and change it to:
sprintf(buf, "Format error in room #%d (expecting D/E/A/S)", virtual_nr);
Then before the "case 'S':" statement, add this case statement:
case 'A':
if (!get_line(fl, line)) {
fprintf(stderr, "Format error in room #%d, " \
"expecting flag field after 'A'.\n",
virtual_nr);
exit(1);
}
world[room_nr].room_affections = asciiflag_conv(line);
break;
You can of course change the error message, or the letter 'A' to what
ever you like :)
This piece of code, and the room affection code in general is tested, but
only for a single case (room/spell). It should be general enough though.
PS. If you use the room affection code, a small note in some credits
somewhere (like in "help credits") would be apreciated.
/ Joachim
---------------------------------------------------------------------
The Arrow Moses@PTMUD sargasso.fukt.hk-r.se 4000
Joachim Pileborg Email: pt94jpi@student.hk-r.se
Svarvarevägen 5
37230 Ronneby http://www.rby.hk-r.se/~pt94jpi/pt94jpi.html
SWEDEN
---------------------------------------------------------------------
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/07/00 PST