> From: Kingmundi <Kingmundi@AOL.COM>
>
> if you make spell names with dashes in them, it causes the game to go into an
> infinite loop upon a successful cast at this point
>
> in say_spell
>
> while (*(lbuf + ofs)) {
> for (j = 0; *(syls[j].org); j++) {
> if (!strncmp(syls[j].org, lbuf + ofs, strlen(syls[j].org))) {
> strcat(buf, syls[j].new);
> ofs += strlen(syls[j].org);
> log(buf);
> }
If you check struct syllable syls[] in spell_parser.c,
you will notice that there is no dash among the syllables.
Just add a new line:
{"-", "-"},
before:
{"ar", "abra"},
The syllable struct is defined as:
struct syllable {
char *org;
char *new;
}
say_spell compares the name of the casted spell with
the syllables in org, if a match is found the syllable
in new is added to the string that is going to be
displayed to the room.
/Johan
+------------------------------------------------------------+
| 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