Merge pull request #6164 from deathbeam/fix-combat-brace-race-condition
Fix combat brace slayer task race condition
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -429,6 +429,7 @@ public class SlayerPluginTest
|
||||
slayerPlugin.onChatMessage(chatMessage);
|
||||
|
||||
assertEquals("Suqahs", slayerPlugin.getTaskName());
|
||||
slayerPlugin.killedOne();
|
||||
assertEquals(30, slayerPlugin.getAmount());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user