Merge pull request #6164 from deathbeam/fix-combat-brace-race-condition

Fix combat brace slayer task race condition
This commit is contained in:
Tomas Slusny
2018-10-29 12:23:24 +01:00
committed by GitHub
2 changed files with 7 additions and 2 deletions

View File

@@ -25,6 +25,7 @@
*/
package net.runelite.client.plugins.slayer;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides;
import java.awt.Color;
@@ -438,7 +439,9 @@ public class SlayerPlugin extends Plugin
{
final int taskAmount = Integer.parseInt(bracerProgress.group(1));
setTask(taskName, taskAmount);
return;
// Avoid race condition (combat brace message goes through first before XP drop)
amount++;
}
}
@@ -486,7 +489,8 @@ public class SlayerPlugin extends Plugin
}
}
private void killedOne()
@VisibleForTesting
void killedOne()
{
if (amount == 0)
{

View File

@@ -429,6 +429,7 @@ public class SlayerPluginTest
slayerPlugin.onChatMessage(chatMessage);
assertEquals("Suqahs", slayerPlugin.getTaskName());
slayerPlugin.killedOne();
assertEquals(30, slayerPlugin.getAmount());
}
}