#include "aClient.h"
#include "extern.h"
+#include "options.h"
#include "flags.h"
#include "level.h"
#include "player.h"
if (!(ni = find(u)))
{
- notice(s_GameServ, u, "Fatal error in do_attack. Contact a(n) %S admin for help.");
+ notice(s_GameServ, u, "Fatal error in do_attack. Contact a(n) <S admin for help.");
return;
}
else if (isIgnore(ni))
{
if (is_playing(battle))
{
- if (!isYourTurn(ni->stats))
+ if (!isYourTurn(ni->stats) && isYourTurn(battle->stats))
{
notice(s_GameServ, u, "Please wait until %s decides what to do!",
battle->stats->getName().c_str());
return;
}
- if (hit > 0)
+ else if (!isYourTurn(ni->stats) && !isYourTurn(battle->stats))
+ {
+ // If somehow the player vs. player fight hangs, give the turn to the first attacker
+ setYourTurn(ni->stats);
+ }
+ if (hit > 0)
{
notice(s_GameServ, u, "You attack \1f%s\1f for \ 2%d\ 2 points!", battle->stats->getName().c_str(), hit);
{
if (hit > 0)
battle->stats->subtractHP(hit);
+
clearYourTurn(ni->stats);
setYourTurn(battle->stats);
display_players(battle);