Merge pull request #438 from Sethtroll/fixscreenshot
Fix for screenshot HP level
This commit is contained in:
@@ -256,7 +256,8 @@ public class WidgetID
|
|||||||
|
|
||||||
static class LevelUp
|
static class LevelUp
|
||||||
{
|
{
|
||||||
static final int TEXT = 1;
|
static final int SKILL = 0;
|
||||||
|
static final int LEVEL = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static class QuestCompleted
|
static class QuestCompleted
|
||||||
|
|||||||
@@ -157,7 +157,8 @@ public enum WidgetInfo
|
|||||||
BA_DEF_ROLE_SPRITE(WidgetID.BA_DEFENDER_GROUP_ID, WidgetID.BarbarianAssault.ROLE_SPRITE),
|
BA_DEF_ROLE_SPRITE(WidgetID.BA_DEFENDER_GROUP_ID, WidgetID.BarbarianAssault.ROLE_SPRITE),
|
||||||
|
|
||||||
LEVEL_UP(WidgetID.LEVEL_UP_GROUP_ID, 0),
|
LEVEL_UP(WidgetID.LEVEL_UP_GROUP_ID, 0),
|
||||||
LEVEL_UP_TEXT(WidgetID.LEVEL_UP_GROUP_ID, WidgetID.LevelUp.TEXT),
|
LEVEL_UP_SKILL(WidgetID.LEVEL_UP_GROUP_ID, WidgetID.LevelUp.SKILL),
|
||||||
|
LEVEL_UP_LEVEL(WidgetID.LEVEL_UP_GROUP_ID, WidgetID.LevelUp.LEVEL),
|
||||||
|
|
||||||
QUEST_COMPLETED(WidgetID.QUEST_COMPLETED_GROUP_ID, 0),
|
QUEST_COMPLETED(WidgetID.QUEST_COMPLETED_GROUP_ID, 0),
|
||||||
QUEST_COMPLETED_NAME_TEXT(WidgetID.QUEST_COMPLETED_GROUP_ID, WidgetID.QuestCompleted.NAME_TEXT);
|
QUEST_COMPLETED_NAME_TEXT(WidgetID.QUEST_COMPLETED_GROUP_ID, WidgetID.QuestCompleted.NAME_TEXT);
|
||||||
|
|||||||
@@ -247,18 +247,20 @@ public class ScreenshotPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
case LEVEL_UP_GROUP_ID:
|
case LEVEL_UP_GROUP_ID:
|
||||||
{
|
{
|
||||||
Widget textChild = client.getWidget(WidgetInfo.LEVEL_UP_TEXT);
|
Widget skillChild = client.getWidget(WidgetInfo.LEVEL_UP_SKILL);
|
||||||
|
Widget levelChild = client.getWidget(WidgetInfo.LEVEL_UP_LEVEL);
|
||||||
|
|
||||||
if (textChild == null)
|
if (skillChild == null || levelChild == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// "Your Firemaking level is now 9."
|
// "Your Firemaking level is now 9."
|
||||||
String text = textChild.getText();
|
String skillText = skillChild.getText();
|
||||||
|
String levelText = levelChild.getText();
|
||||||
|
|
||||||
String skillName = text.substring(5, text.indexOf(" level"));
|
String skillName = skillText.substring(skillText.indexOf("a ") + 2, skillText.indexOf(" level."));
|
||||||
String skillLevel = text.substring(text.lastIndexOf(" ") + 1, text.length() - 1);
|
String skillLevel = levelText.substring(levelText.lastIndexOf(" ") + 1, levelText.length() - 1);
|
||||||
|
|
||||||
fileName = skillName + " (" + skillLevel + ")";
|
fileName = skillName + " (" + skillLevel + ")";
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -28,10 +28,17 @@ import com.google.inject.Guice;
|
|||||||
import com.google.inject.testing.fieldbinder.Bind;
|
import com.google.inject.testing.fieldbinder.Bind;
|
||||||
import com.google.inject.testing.fieldbinder.BoundFieldModule;
|
import com.google.inject.testing.fieldbinder.BoundFieldModule;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import static net.runelite.api.ChatMessageType.SERVER;
|
import static net.runelite.api.ChatMessageType.SERVER;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.events.ChatMessage;
|
import net.runelite.api.events.ChatMessage;
|
||||||
|
import net.runelite.api.events.WidgetHiddenChanged;
|
||||||
|
import net.runelite.api.widgets.Widget;
|
||||||
|
import static net.runelite.api.widgets.WidgetID.LEVEL_UP_GROUP_ID;
|
||||||
|
import static net.runelite.api.widgets.WidgetInfo.LEVEL_UP_LEVEL;
|
||||||
|
import static net.runelite.api.widgets.WidgetInfo.LEVEL_UP_SKILL;
|
||||||
|
import static net.runelite.api.widgets.WidgetInfo.PACK;
|
||||||
import net.runelite.client.Notifier;
|
import net.runelite.client.Notifier;
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.ui.ClientUI;
|
import net.runelite.client.ui.ClientUI;
|
||||||
@@ -40,7 +47,11 @@ import static org.junit.Assert.assertEquals;
|
|||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Matchers;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
import org.mockito.runners.MockitoJUnitRunner;
|
import org.mockito.runners.MockitoJUnitRunner;
|
||||||
|
|
||||||
@RunWith(MockitoJUnitRunner.class)
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
@@ -104,4 +115,48 @@ public class ScreenshotPluginTest
|
|||||||
|
|
||||||
assertEquals(310, screenshotPlugin.getBarrowsNumber());
|
assertEquals(310, screenshotPlugin.getBarrowsNumber());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testHitpoints()
|
||||||
|
{
|
||||||
|
Widget widget = mock(Widget.class);
|
||||||
|
when(widget.getId()).thenReturn(PACK(LEVEL_UP_GROUP_ID, 0));
|
||||||
|
|
||||||
|
Widget skillChild = mock(Widget.class);
|
||||||
|
when(client.getWidget(Matchers.eq(LEVEL_UP_SKILL))).thenReturn(skillChild);
|
||||||
|
|
||||||
|
Widget levelChild = mock(Widget.class);
|
||||||
|
when(client.getWidget(Matchers.eq(LEVEL_UP_LEVEL))).thenReturn(levelChild);
|
||||||
|
|
||||||
|
when(skillChild.getText()).thenReturn("Congratulations, you just advanced a Hitpoints level.");
|
||||||
|
when(levelChild.getText()).thenReturn("Your Hitpoints are now 99.");
|
||||||
|
|
||||||
|
WidgetHiddenChanged event = new WidgetHiddenChanged();
|
||||||
|
event.setWidget(widget);
|
||||||
|
screenshotPlugin.hideWidgets(event);
|
||||||
|
|
||||||
|
verify(overlayRenderer).requestScreenshot(Matchers.any(Consumer.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFiremaking()
|
||||||
|
{
|
||||||
|
Widget widget = mock(Widget.class);
|
||||||
|
when(widget.getId()).thenReturn(PACK(LEVEL_UP_GROUP_ID, 0));
|
||||||
|
|
||||||
|
Widget skillChild = mock(Widget.class);
|
||||||
|
when(client.getWidget(Matchers.eq(LEVEL_UP_SKILL))).thenReturn(skillChild);
|
||||||
|
|
||||||
|
Widget levelChild = mock(Widget.class);
|
||||||
|
when(client.getWidget(Matchers.eq(LEVEL_UP_LEVEL))).thenReturn(levelChild);
|
||||||
|
|
||||||
|
when(skillChild.getText()).thenReturn("Congratulations, you just advanced a Firemaking level.");
|
||||||
|
when(levelChild.getText()).thenReturn("Your Firemaking level is now 9.");
|
||||||
|
|
||||||
|
WidgetHiddenChanged event = new WidgetHiddenChanged();
|
||||||
|
event.setWidget(widget);
|
||||||
|
screenshotPlugin.hideWidgets(event);
|
||||||
|
|
||||||
|
verify(overlayRenderer).requestScreenshot(Matchers.any(Consumer.class));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user