slayer plugin: do not show task infobox on login

Co-authored-by: Jasper Ketelaar <Jasperketelaar@kpnmail.nl>
Co-authored-by: Jordan Atwood <nightfirecat@protonmail.com>
This commit is contained in:
Adam
2019-09-03 23:06:56 -04:00
committed by Adam
parent 030cbf6bfa
commit f6eac304c3
2 changed files with 33 additions and 5 deletions

View File

@@ -228,7 +228,7 @@ public class SlayerPlugin extends Plugin
streak = config.streak(); streak = config.streak();
setExpeditiousChargeCount(config.expeditious()); setExpeditiousChargeCount(config.expeditious());
setSlaughterChargeCount(config.slaughter()); setSlaughterChargeCount(config.slaughter());
clientThread.invoke(() -> setTask(config.taskName(), config.amount(), config.initialAmount(), config.taskLocation())); clientThread.invoke(() -> setTask(config.taskName(), config.amount(), config.initialAmount(), config.taskLocation(), false));
} }
} }
@@ -277,7 +277,7 @@ public class SlayerPlugin extends Plugin
streak = config.streak(); streak = config.streak();
setExpeditiousChargeCount(config.expeditious()); setExpeditiousChargeCount(config.expeditious());
setSlaughterChargeCount(config.slaughter()); setSlaughterChargeCount(config.slaughter());
setTask(config.taskName(), config.amount(), config.initialAmount(), config.taskLocation()); setTask(config.taskName(), config.amount(), config.initialAmount(), config.taskLocation(), false);
loginFlag = false; loginFlag = false;
} }
break; break;
@@ -559,7 +559,7 @@ public class SlayerPlugin extends Plugin
@Subscribe @Subscribe
private void onConfigChanged(ConfigChanged event) private void onConfigChanged(ConfigChanged event)
{ {
if (!event.getGroup().equals("slayer")) if (!event.getGroup().equals("slayer") || !event.getKey().equals("infobox"))
{ {
return; return;
} }
@@ -674,6 +674,11 @@ public class SlayerPlugin extends Plugin
} }
private void setTask(String name, int amt, int initAmt, String location) private void setTask(String name, int amt, int initAmt, String location)
{
setTask(name, amt, initAmt, location, true);
}
private void setTask(String name, int amt, int initAmt, String location, boolean addCounter)
{ {
taskName = name; taskName = name;
amount = amt; amount = amt;
@@ -681,8 +686,12 @@ public class SlayerPlugin extends Plugin
taskLocation = location; taskLocation = location;
save(); save();
removeCounter(); removeCounter();
addCounter();
infoTimer = Instant.now(); if (addCounter)
{
infoTimer = Instant.now();
addCounter();
}
Task task = Task.getTask(name); Task task = Task.getTask(name);
rebuildTargetNames(task); rebuildTargetNames(task);

View File

@@ -33,12 +33,14 @@ import javax.inject.Inject;
import net.runelite.api.ChatMessageType; import net.runelite.api.ChatMessageType;
import static net.runelite.api.ChatMessageType.GAMEMESSAGE; import static net.runelite.api.ChatMessageType.GAMEMESSAGE;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.MessageNode; import net.runelite.api.MessageNode;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ExperienceChanged; import net.runelite.api.events.ExperienceChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
@@ -703,4 +705,21 @@ public class SlayerPluginTest
assertEquals(34, slayerPlugin.getAmount()); assertEquals(34, slayerPlugin.getAmount());
} }
@Test
public void infoboxNotAddedOnLogin()
{
when(slayerConfig.taskName()).thenReturn(Task.BLOODVELD.getName());
when(slayerConfig.showInfobox()).thenReturn(true);
GameStateChanged loggingIn = new GameStateChanged();
loggingIn.setGameState(GameState.LOGGING_IN);
slayerPlugin.onGameStateChanged(loggingIn);
GameStateChanged loggedIn = new GameStateChanged();
loggedIn.setGameState(GameState.LOGGED_IN);
slayerPlugin.onGameStateChanged(loggedIn);
verify(infoBoxManager, never()).addInfoBox(any());
}
} }