Merge pull request #3362 from iguaan/slayer-fix
slayerplugin: fix expeditious bracelet counter and one charge issue
This commit is contained in:
@@ -90,9 +90,11 @@ public class SlayerPlugin extends Plugin
|
|||||||
private static final String CHAT_BRACELET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer";
|
private static final String CHAT_BRACELET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer";
|
||||||
private static final Pattern CHAT_BRACELET_SLAUGHTER_REGEX = Pattern.compile("Your bracelet of slaughter prevents your slayer count decreasing. It has (\\d{1,2}) charge[s]? left.");
|
private static final Pattern CHAT_BRACELET_SLAUGHTER_REGEX = Pattern.compile("Your bracelet of slaughter prevents your slayer count decreasing. It has (\\d{1,2}) charge[s]? left.");
|
||||||
private static final String CHAT_BRACELET_EXPEDITIOUS = "Your expeditious bracelet helps you progress your";
|
private static final String CHAT_BRACELET_EXPEDITIOUS = "Your expeditious bracelet helps you progress your";
|
||||||
private static final Pattern CHAT_BRACELET_EXPEDITIOUS_REGEX = Pattern.compile("Your expeditious bracelet helps you progress your slayer task faster. It has (\\d{1,2}) charge[s]? left.");
|
private static final Pattern CHAT_BRACELET_EXPEDITIOUS_REGEX = Pattern.compile("Your expeditious bracelet helps you progress your slayer faster. It has (\\d{1,2}) charge[s]? left.");
|
||||||
private static final String CHAT_BRACELET_SLAUGHTER_CHARGE = "Your bracelet of slaughter has ";
|
private static final String CHAT_BRACELET_SLAUGHTER_CHARGE = "Your bracelet of slaughter has ";
|
||||||
|
private static final Pattern CHAT_BRACELET_SLAUGHTER_CHARGE_REGEX = Pattern.compile("Your bracelet of slaughter has (\\d{1,2}) charge[s]? left.");
|
||||||
private static final String CHAT_BRACELET_EXPEDITIOUS_CHARGE = "Your expeditious bracelet has ";
|
private static final String CHAT_BRACELET_EXPEDITIOUS_CHARGE = "Your expeditious bracelet has ";
|
||||||
|
private static final Pattern CHAT_BRACELET_EXPEDITIOUS_CHARGE_REGEX = Pattern.compile("Your expeditious bracelet has (\\d{1,2}) charge[s]? left.");
|
||||||
|
|
||||||
//NPC messages
|
//NPC messages
|
||||||
private static final Pattern NPC_ASSIGN_MESSAGE = Pattern.compile(".*Your new task is to kill\\s*(\\d*) (.*)\\.");
|
private static final Pattern NPC_ASSIGN_MESSAGE = Pattern.compile(".*Your new task is to kill\\s*(\\d*) (.*)\\.");
|
||||||
@@ -337,16 +339,25 @@ public class SlayerPlugin extends Plugin
|
|||||||
|
|
||||||
if (chatMsg.startsWith(CHAT_BRACELET_EXPEDITIOUS_CHARGE))
|
if (chatMsg.startsWith(CHAT_BRACELET_EXPEDITIOUS_CHARGE))
|
||||||
{
|
{
|
||||||
expeditiousChargeCount = Integer.parseInt(chatMsg
|
Matcher mExpeditious = CHAT_BRACELET_EXPEDITIOUS_CHARGE_REGEX.matcher(chatMsg);
|
||||||
.replace(CHAT_BRACELET_EXPEDITIOUS_CHARGE, "")
|
|
||||||
.replace(" charges left.", ""));
|
if (!mExpeditious.find())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
expeditiousChargeCount = Integer.parseInt(mExpeditious.group(1));
|
||||||
config.expeditious(expeditiousChargeCount);
|
config.expeditious(expeditiousChargeCount);
|
||||||
}
|
}
|
||||||
if (chatMsg.startsWith(CHAT_BRACELET_SLAUGHTER_CHARGE))
|
if (chatMsg.startsWith(CHAT_BRACELET_SLAUGHTER_CHARGE))
|
||||||
{
|
{
|
||||||
slaughterChargeCount = Integer.parseInt(chatMsg
|
Matcher mSlaughter = CHAT_BRACELET_SLAUGHTER_CHARGE_REGEX.matcher(chatMsg);
|
||||||
.replace(CHAT_BRACELET_SLAUGHTER_CHARGE, "")
|
if (!mSlaughter.find())
|
||||||
.replace(" charges left.", ""));
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
slaughterChargeCount = Integer.parseInt(mSlaughter.group(1));
|
||||||
config.slaughter(slaughterChargeCount);
|
config.slaughter(slaughterChargeCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,17 +67,20 @@ public class SlayerPluginTest
|
|||||||
private static final String SUPERIOR_MESSAGE = "A superior foe has appeared...";
|
private static final String SUPERIOR_MESSAGE = "A superior foe has appeared...";
|
||||||
|
|
||||||
private static final String BRACLET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer count decreasing. It has 9 charges left.";
|
private static final String BRACLET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer count decreasing. It has 9 charges left.";
|
||||||
private static final String BRACLET_EXPEDITIOUS = "Your expeditious bracelet helps you progress your slayer task faster. It has 9 charges left.";
|
private static final String BRACLET_EXPEDITIOUS = "Your expeditious bracelet helps you progress your slayer faster. It has 9 charges left.";
|
||||||
|
|
||||||
private static final String BRACLET_SLAUGHTER_V2 = "Your bracelet of slaughter prevents your slayer count decreasing. It has 1 charge left.";
|
private static final String BRACLET_SLAUGHTER_V2 = "Your bracelet of slaughter prevents your slayer count decreasing. It has 1 charge left.";
|
||||||
private static final String BRACLET_EXPEDITIOUS_V2 = "Your expeditious bracelet helps you progress your slayer task faster. It has 1 charge left.";
|
private static final String BRACLET_EXPEDITIOUS_V2 = "Your expeditious bracelet helps you progress your slayer faster. It has 1 charge left.";
|
||||||
|
|
||||||
private static final String BRACLET_SLAUGHTER_V3 = "Your bracelet of slaughter prevents your slayer count decreasing. It then crumbles to dust.";
|
private static final String BRACLET_SLAUGHTER_V3 = "Your bracelet of slaughter prevents your slayer count decreasing. It then crumbles to dust.";
|
||||||
private static final String BRACLET_EXPEDITIOUS_V3 = "Your expeditious bracelet helps you progress your slayer task faster. It then crumbles to dust.";
|
private static final String BRACLET_EXPEDITIOUS_V3 = "Your expeditious bracelet helps you progress your slayer faster. It then crumbles to dust.";
|
||||||
|
|
||||||
private static final String CHAT_BRACELET_SLAUGHTER_CHARGE = "Your bracelet of slaughter has 12 charges left.";
|
private static final String CHAT_BRACELET_SLAUGHTER_CHARGE = "Your bracelet of slaughter has 12 charges left.";
|
||||||
private static final String CHAT_BRACELET_EXPEDITIOUS_CHARGE = "Your expeditious bracelet has 12 charges left.";
|
private static final String CHAT_BRACELET_EXPEDITIOUS_CHARGE = "Your expeditious bracelet has 12 charges left.";
|
||||||
|
|
||||||
|
private static final String CHAT_BRACELET_SLAUGHTER_CHARGE_ONE = "Your bracelet of slaughter has 1 charge left.";
|
||||||
|
private static final String CHAT_BRACELET_EXPEDITIOUS_CHARGE_ONE = "Your expeditious bracelet has 1 charge left.";
|
||||||
|
|
||||||
private static final String BREAK_SLAUGHTER = "The bracelet shatters. Your next bracelet of slaughter<br>will start afresh from 30 charges.";
|
private static final String BREAK_SLAUGHTER = "The bracelet shatters. Your next bracelet of slaughter<br>will start afresh from 30 charges.";
|
||||||
private static final String BREAK_EXPEDITIOUS = "The bracelet shatters. Your next expeditious bracelet<br>will start afresh from 30 charges.";
|
private static final String BREAK_EXPEDITIOUS = "The bracelet shatters. Your next expeditious bracelet<br>will start afresh from 30 charges.";
|
||||||
|
|
||||||
@@ -242,6 +245,11 @@ public class SlayerPluginTest
|
|||||||
|
|
||||||
assertEquals(12, slayerPlugin.getSlaughterChargeCount());
|
assertEquals(12, slayerPlugin.getSlaughterChargeCount());
|
||||||
|
|
||||||
|
chatMessageEvent = new ChatMessage(SERVER, "", CHAT_BRACELET_SLAUGHTER_CHARGE_ONE, null);
|
||||||
|
slayerPlugin.onChatMessage(chatMessageEvent);
|
||||||
|
|
||||||
|
assertEquals(1, slayerPlugin.getSlaughterChargeCount());
|
||||||
|
|
||||||
slayerPlugin.setSlaughterChargeCount(1);
|
slayerPlugin.setSlaughterChargeCount(1);
|
||||||
chatMessageEvent = new ChatMessage(SERVER, "", BRACLET_SLAUGHTER_V3, null);
|
chatMessageEvent = new ChatMessage(SERVER, "", BRACLET_SLAUGHTER_V3, null);
|
||||||
slayerPlugin.onChatMessage(chatMessageEvent);
|
slayerPlugin.onChatMessage(chatMessageEvent);
|
||||||
@@ -285,6 +293,11 @@ public class SlayerPluginTest
|
|||||||
|
|
||||||
assertEquals(12, slayerPlugin.getExpeditiousChargeCount());
|
assertEquals(12, slayerPlugin.getExpeditiousChargeCount());
|
||||||
|
|
||||||
|
chatMessageEvent = new ChatMessage(SERVER, "", CHAT_BRACELET_EXPEDITIOUS_CHARGE_ONE, null);
|
||||||
|
slayerPlugin.onChatMessage(chatMessageEvent);
|
||||||
|
|
||||||
|
assertEquals(1, slayerPlugin.getExpeditiousChargeCount());
|
||||||
|
|
||||||
slayerPlugin.setExpeditiousChargeCount(1);
|
slayerPlugin.setExpeditiousChargeCount(1);
|
||||||
chatMessageEvent = new ChatMessage(SERVER, "", BRACLET_EXPEDITIOUS_V3, null);
|
chatMessageEvent = new ChatMessage(SERVER, "", BRACLET_EXPEDITIOUS_V3, null);
|
||||||
slayerPlugin.onChatMessage(chatMessageEvent);
|
slayerPlugin.onChatMessage(chatMessageEvent);
|
||||||
|
|||||||
Reference in New Issue
Block a user