Hello all.
We have added a few new spells to the MUD and everything works fine,
except when the spell hits void say_spell.
void say_spell(struct char_data * ch, int spellnum, struct char_data *tch,
struct obj_data * tobj)
{
char lbuf[256];
struct char_data *i;
int j, ofs = 0;
*buf = '\0';
strcpy(lbuf, spells[spellnum]);
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);
}
}
}
The MUD is hanging at this loop when I try to cast the spell 'monster
summoning I', but if I cast a spell of equal or greater length it still
runs fine. So I am forced to use the following before the while loop:
if (spellnum != SPELL_MONSTER_SUMMONING_I)
What is the problem, and what is a possible solution?
Thank you,
Keane
+------------------------------------------------------------+
| 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/15/00 PST