.../sourceforge/kolmafia/session/PvpManager.java | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/src/net/sourceforge/kolmafia/session/PvpManager.java b/src/net/sourceforge/kolmafia/session/PvpManager.java index f0aa148..3d97f25 100644 --- a/src/net/sourceforge/kolmafia/session/PvpManager.java +++ b/src/net/sourceforge/kolmafia/session/PvpManager.java @@ -302,6 +302,7 @@ public class PvpManager int fightsLeft = 0; int stance = 0; + int failedAttempts = 0; if ( KoLCharacter.getBaseMuscle() >= KoLCharacter.getBaseMysticality() && KoLCharacter.getBaseMuscle() >= KoLCharacter.getBaseMoxie() ) { @@ -321,8 +322,13 @@ public class PvpManager ProfileRequest[] results = null; PvpRequest request = new PvpRequest( "", stance, mission ); - while ( !KoLmafia.refusesContinue() && fightsLeft != KoLCharacter.getAttacksLeft() && KoLCharacter.getAttacksLeft() > 0 ) + while ( !KoLmafia.refusesContinue() && failedAttempts < 5 && KoLCharacter.getAttacksLeft() > 0 ) { + if (fightsLeft == KoLCharacter.getAttacksLeft()) + failedAttempts++; + else + failedAttempts = 0; + fightsLeft = KoLCharacter.getAttacksLeft(); desiredRank = Math.max( 10, KoLCharacter.getPvpRank() - 50 + Math.min( 11, fightsLeft ) ); @@ -392,6 +398,10 @@ public class PvpManager } else { + if ( request.responseText.indexOf( "already won a fight today") != -1 ) + KoLmafia.updateDisplay( KoLConstants.ERROR_STATE, "Already defeated today"); + else if ( request.responseText.indexOf( "It might spoil new content") != -1 ) + KoLmafia.updateDisplay( KoLConstants.ERROR_STATE, "Ooops, that's a Devster, sorry!" ); Preferences.setString( "currentPvpVictories", Preferences.getString( "currentPvpVictories" ) + targets[ i ].getPlayerName() + "," );