Here is your problem. You are missing the curly brackets around one of
your else blocks. The else that needs the curly brace is marked at the
beginning of the line with ">>{" and the line where the closing curly
brace is needed is marked with ">>}".
if (ch == victim)
{
sprintf (buf1, "$n's %s hits $m.", attack);
sprintf (buf2, "Your %s hits you.", attack);
}
else
{
if (dam == 0)
{
sprintf (buf1, "{g$n misses $N.{x");
sprintf (buf2, "{gYour %s misses $N.{x",attack);
sprintf (buf3, "{g$n's attack misses you.{x");
>>{ }else
if (IS_SET(ch->act, PLR_AUTODAMAGE) && dam >=1 )
{
sprintf (buf1, "{r$n's %s hits $N for {R%d{r hp
of damage.{x", attack,dam);
sprintf (buf2, "{rYour %s does {R%d{r hp of
damage to $N.{x", attack, dam);
sprintf (buf3, "{R$n's %s hits you for {y%d{R
hit points of damage.{x", attack,dam);
}
else
{
sprintf (buf1, "$n's %s hits $N.",attack);
sprintf (buf2, "Your %s hits $N.", attack);
sprintf (buf3, "$n's %s hits you.", attack);
}
>>}
}
Pretty sure the code is readint the code as:
if (dam == 0) { }
else if (IS_SET(ch->act, PLR_AUTODAMAGE) && dam >=1 ) {}
else {}
Regardless, I'm almost positive that if you add the curly braces to that
one else block, you problem will be cleared up.