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;
|
package net.runelite.client.plugins.slayer;
|
||||||
|
|
||||||
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.eventbus.Subscribe;
|
import com.google.common.eventbus.Subscribe;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
@@ -438,7 +439,9 @@ public class SlayerPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
final int taskAmount = Integer.parseInt(bracerProgress.group(1));
|
final int taskAmount = Integer.parseInt(bracerProgress.group(1));
|
||||||
setTask(taskName, taskAmount);
|
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)
|
if (amount == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -429,6 +429,7 @@ public class SlayerPluginTest
|
|||||||
slayerPlugin.onChatMessage(chatMessage);
|
slayerPlugin.onChatMessage(chatMessage);
|
||||||
|
|
||||||
assertEquals("Suqahs", slayerPlugin.getTaskName());
|
assertEquals("Suqahs", slayerPlugin.getTaskName());
|
||||||
|
slayerPlugin.killedOne();
|
||||||
assertEquals(30, slayerPlugin.getAmount());
|
assertEquals(30, slayerPlugin.getAmount());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user