screenshot plugin: add tob story and hard mode screenshots
This commit is contained in:
@@ -139,7 +139,9 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
BARROWS,
|
BARROWS,
|
||||||
COX,
|
COX,
|
||||||
COX_CM,
|
COX_CM,
|
||||||
TOB
|
TOB,
|
||||||
|
TOB_SM,
|
||||||
|
TOB_HM
|
||||||
}
|
}
|
||||||
|
|
||||||
private KillType killType;
|
private KillType killType;
|
||||||
@@ -389,12 +391,12 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chatMessage.startsWith("Your completed Theatre of Blood count is:"))
|
if (chatMessage.startsWith("Your completed Theatre of Blood"))
|
||||||
{
|
{
|
||||||
Matcher m = NUMBER_PATTERN.matcher(Text.removeTags(chatMessage));
|
Matcher m = NUMBER_PATTERN.matcher(Text.removeTags(chatMessage));
|
||||||
if (m.find())
|
if (m.find())
|
||||||
{
|
{
|
||||||
killType = KillType.TOB;
|
killType = chatMessage.contains("Hard Mode") ? KillType.TOB_HM : (chatMessage.contains("Story Mode") ? KillType.TOB_SM : KillType.TOB);
|
||||||
killCountNumber = Integer.valueOf(m.group());
|
killCountNumber = Integer.valueOf(m.group());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -554,7 +556,7 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
case THEATRE_OF_BLOOD_REWARD_GROUP_ID:
|
case THEATRE_OF_BLOOD_REWARD_GROUP_ID:
|
||||||
{
|
{
|
||||||
if (killType != KillType.TOB)
|
if (killType != KillType.TOB && killType != KillType.TOB_SM && killType != KillType.TOB_HM)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -788,6 +790,12 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
return clueType;
|
return clueType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
KillType getKillType()
|
||||||
|
{
|
||||||
|
return killType;
|
||||||
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
int getKillCountNumber()
|
int getKillCountNumber()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import net.runelite.api.events.ChatMessage;
|
|||||||
import net.runelite.api.events.GameTick;
|
import net.runelite.api.events.GameTick;
|
||||||
import net.runelite.api.events.WidgetLoaded;
|
import net.runelite.api.events.WidgetLoaded;
|
||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.widgets.Widget;
|
||||||
|
import net.runelite.api.widgets.WidgetID;
|
||||||
import static net.runelite.api.widgets.WidgetID.DIALOG_SPRITE_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.DIALOG_SPRITE_GROUP_ID;
|
||||||
import static net.runelite.api.widgets.WidgetID.LEVEL_UP_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.LEVEL_UP_GROUP_ID;
|
||||||
import static net.runelite.api.widgets.WidgetInfo.DIALOG_SPRITE_TEXT;
|
import static net.runelite.api.widgets.WidgetInfo.DIALOG_SPRITE_TEXT;
|
||||||
@@ -68,6 +69,8 @@ public class ScreenshotPluginTest
|
|||||||
private static final String BARROWS_CHEST = "Your Barrows chest count is <col=ff0000>310</col>";
|
private static final String BARROWS_CHEST = "Your Barrows chest count is <col=ff0000>310</col>";
|
||||||
private static final String CHAMBERS_OF_XERIC_CHEST = "Your completed Chambers of Xeric count is: <col=ff0000>489</col>.";
|
private static final String CHAMBERS_OF_XERIC_CHEST = "Your completed Chambers of Xeric count is: <col=ff0000>489</col>.";
|
||||||
private static final String THEATRE_OF_BLOOD_CHEST = "Your completed Theatre of Blood count is: <col=ff0000>73</col>.";
|
private static final String THEATRE_OF_BLOOD_CHEST = "Your completed Theatre of Blood count is: <col=ff0000>73</col>.";
|
||||||
|
private static final String THREATRE_OF_BLOOD_SM_CHEST = "Your completed Theatre of Blood: Story Mode count is: <col=ff0000>73</col>.";
|
||||||
|
private static final String THREATRE_OF_BLOOD_HM_CHEST = "Your completed Theatre of Blood: Hard Mode count is: <col=ff0000>73</col>.";
|
||||||
private static final String NOT_SO_VALUABLE_DROP = "<col=ef1020>Valuable drop: 6 x Bronze arrow (42 coins)</col>";
|
private static final String NOT_SO_VALUABLE_DROP = "<col=ef1020>Valuable drop: 6 x Bronze arrow (42 coins)</col>";
|
||||||
private static final String VALUABLE_DROP = "<col=ef1020>Valuable drop: Rune scimitar (25,600 coins)</col>";
|
private static final String VALUABLE_DROP = "<col=ef1020>Valuable drop: Rune scimitar (25,600 coins)</col>";
|
||||||
private static final String UNTRADEABLE_DROP = "<col=ef1020>Untradeable drop: Rusty sword";
|
private static final String UNTRADEABLE_DROP = "<col=ef1020>Untradeable drop: Rusty sword";
|
||||||
@@ -158,10 +161,55 @@ public class ScreenshotPluginTest
|
|||||||
@Test
|
@Test
|
||||||
public void testTheatreOfBloodChest()
|
public void testTheatreOfBloodChest()
|
||||||
{
|
{
|
||||||
|
when(screenshotConfig.screenshotRewards()).thenReturn(true);
|
||||||
|
|
||||||
ChatMessage chatMessageEvent = new ChatMessage(null, GAMEMESSAGE, "Magic fTail", THEATRE_OF_BLOOD_CHEST, null, 0);
|
ChatMessage chatMessageEvent = new ChatMessage(null, GAMEMESSAGE, "Magic fTail", THEATRE_OF_BLOOD_CHEST, null, 0);
|
||||||
screenshotPlugin.onChatMessage(chatMessageEvent);
|
screenshotPlugin.onChatMessage(chatMessageEvent);
|
||||||
|
|
||||||
assertEquals(73, screenshotPlugin.getKillCountNumber());
|
assertEquals(73, screenshotPlugin.getKillCountNumber());
|
||||||
|
assertEquals(ScreenshotPlugin.KillType.TOB, screenshotPlugin.getKillType());
|
||||||
|
|
||||||
|
WidgetLoaded widgetLoaded = new WidgetLoaded();
|
||||||
|
widgetLoaded.setGroupId(WidgetID.THEATRE_OF_BLOOD_REWARD_GROUP_ID);
|
||||||
|
screenshotPlugin.onWidgetLoaded(widgetLoaded);
|
||||||
|
|
||||||
|
verify(drawManager).requestNextFrameListener(any(Consumer.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testTheatreOfBloodSmChest()
|
||||||
|
{
|
||||||
|
when(screenshotConfig.screenshotRewards()).thenReturn(true);
|
||||||
|
|
||||||
|
ChatMessage chatMessageEvent = new ChatMessage(null, GAMEMESSAGE, "Magic fTail", THREATRE_OF_BLOOD_SM_CHEST, null, 0);
|
||||||
|
screenshotPlugin.onChatMessage(chatMessageEvent);
|
||||||
|
|
||||||
|
assertEquals(73, screenshotPlugin.getKillCountNumber());
|
||||||
|
assertEquals(ScreenshotPlugin.KillType.TOB_SM, screenshotPlugin.getKillType());
|
||||||
|
|
||||||
|
WidgetLoaded widgetLoaded = new WidgetLoaded();
|
||||||
|
widgetLoaded.setGroupId(WidgetID.THEATRE_OF_BLOOD_REWARD_GROUP_ID);
|
||||||
|
screenshotPlugin.onWidgetLoaded(widgetLoaded);
|
||||||
|
|
||||||
|
verify(drawManager).requestNextFrameListener(any(Consumer.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testTheatreOfBloodHmChest()
|
||||||
|
{
|
||||||
|
when(screenshotConfig.screenshotRewards()).thenReturn(true);
|
||||||
|
|
||||||
|
ChatMessage chatMessageEvent = new ChatMessage(null, GAMEMESSAGE, "Magic fTail", THREATRE_OF_BLOOD_HM_CHEST, null, 0);
|
||||||
|
screenshotPlugin.onChatMessage(chatMessageEvent);
|
||||||
|
|
||||||
|
assertEquals(73, screenshotPlugin.getKillCountNumber());
|
||||||
|
assertEquals(ScreenshotPlugin.KillType.TOB_HM, screenshotPlugin.getKillType());
|
||||||
|
|
||||||
|
WidgetLoaded widgetLoaded = new WidgetLoaded();
|
||||||
|
widgetLoaded.setGroupId(WidgetID.THEATRE_OF_BLOOD_REWARD_GROUP_ID);
|
||||||
|
screenshotPlugin.onWidgetLoaded(widgetLoaded);
|
||||||
|
|
||||||
|
verify(drawManager).requestNextFrameListener(any(Consumer.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user