Merge pull request #4255 from MagicfTail/kc-updater
ChatCommandsPlugin: Update boss kc when looking at RoW
This commit is contained in:
@@ -104,6 +104,7 @@ public class WidgetID
|
|||||||
public static final int CORP_DAMAGE = 13;
|
public static final int CORP_DAMAGE = 13;
|
||||||
public static final int DESTROY_ITEM_GROUP_ID = 584;
|
public static final int DESTROY_ITEM_GROUP_ID = 584;
|
||||||
public static final int VARROCK_MUSEUM_QUIZ_GROUP_ID = 533;
|
public static final int VARROCK_MUSEUM_QUIZ_GROUP_ID = 533;
|
||||||
|
public static final int KILL_LOGS_GROUP_ID = 549;
|
||||||
|
|
||||||
static class WorldMap
|
static class WorldMap
|
||||||
{
|
{
|
||||||
@@ -551,4 +552,12 @@ public class WidgetID
|
|||||||
static final int VARROCK_MUSEUM_SECOND_ANSWER = 30;
|
static final int VARROCK_MUSEUM_SECOND_ANSWER = 30;
|
||||||
static final int VARROCK_MUSEUM_THIRD_ANSWER = 31;
|
static final int VARROCK_MUSEUM_THIRD_ANSWER = 31;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static class KillLog
|
||||||
|
{
|
||||||
|
static final int TITLE = 3;
|
||||||
|
static final int MONSTER = 13;
|
||||||
|
static final int KILLS = 14;
|
||||||
|
static final int STREAK = 15;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -354,7 +354,12 @@ public enum WidgetInfo
|
|||||||
VARROCK_MUSEUM_QUESTION(WidgetID.VARROCK_MUSEUM_QUIZ_GROUP_ID, WidgetID.VarrockMuseum.VARROCK_MUSEUM_QUESTION),
|
VARROCK_MUSEUM_QUESTION(WidgetID.VARROCK_MUSEUM_QUIZ_GROUP_ID, WidgetID.VarrockMuseum.VARROCK_MUSEUM_QUESTION),
|
||||||
VARROCK_MUSEUM_FIRST_ANSWER(WidgetID.VARROCK_MUSEUM_QUIZ_GROUP_ID, WidgetID.VarrockMuseum.VARROCK_MUSEUM_FIRST_ANSWER),
|
VARROCK_MUSEUM_FIRST_ANSWER(WidgetID.VARROCK_MUSEUM_QUIZ_GROUP_ID, WidgetID.VarrockMuseum.VARROCK_MUSEUM_FIRST_ANSWER),
|
||||||
VARROCK_MUSEUM_SECOND_ANSWER(WidgetID.VARROCK_MUSEUM_QUIZ_GROUP_ID, WidgetID.VarrockMuseum.VARROCK_MUSEUM_SECOND_ANSWER),
|
VARROCK_MUSEUM_SECOND_ANSWER(WidgetID.VARROCK_MUSEUM_QUIZ_GROUP_ID, WidgetID.VarrockMuseum.VARROCK_MUSEUM_SECOND_ANSWER),
|
||||||
VARROCK_MUSEUM_THIRD_ANSWER(WidgetID.VARROCK_MUSEUM_QUIZ_GROUP_ID, WidgetID.VarrockMuseum.VARROCK_MUSEUM_THIRD_ANSWER);
|
VARROCK_MUSEUM_THIRD_ANSWER(WidgetID.VARROCK_MUSEUM_QUIZ_GROUP_ID, WidgetID.VarrockMuseum.VARROCK_MUSEUM_THIRD_ANSWER),
|
||||||
|
|
||||||
|
KILL_LOG_TITLE(WidgetID.KILL_LOGS_GROUP_ID, WidgetID.KillLog.TITLE),
|
||||||
|
KILL_LOG_MONSTER(WidgetID.KILL_LOGS_GROUP_ID, WidgetID.KillLog.MONSTER),
|
||||||
|
KILL_LOG_KILLS(WidgetID.KILL_LOGS_GROUP_ID, WidgetID.KillLog.KILLS),
|
||||||
|
KILL_LOG_STREAK(WidgetID.KILL_LOGS_GROUP_ID, WidgetID.KillLog.STREAK);
|
||||||
|
|
||||||
private final int groupId;
|
private final int groupId;
|
||||||
private final int childId;
|
private final int childId;
|
||||||
|
|||||||
@@ -42,8 +42,13 @@ import net.runelite.api.GameState;
|
|||||||
import net.runelite.api.ItemComposition;
|
import net.runelite.api.ItemComposition;
|
||||||
import net.runelite.api.MessageNode;
|
import net.runelite.api.MessageNode;
|
||||||
import net.runelite.api.events.ChatMessage;
|
import net.runelite.api.events.ChatMessage;
|
||||||
|
import net.runelite.api.events.GameTick;
|
||||||
import net.runelite.api.events.SetMessage;
|
import net.runelite.api.events.SetMessage;
|
||||||
|
import net.runelite.api.events.WidgetLoaded;
|
||||||
import net.runelite.api.vars.AccountType;
|
import net.runelite.api.vars.AccountType;
|
||||||
|
import net.runelite.api.widgets.Widget;
|
||||||
|
import static net.runelite.api.widgets.WidgetID.KILL_LOGS_GROUP_ID;
|
||||||
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
import net.runelite.client.chat.ChatColorType;
|
import net.runelite.client.chat.ChatColorType;
|
||||||
import net.runelite.client.chat.ChatMessageBuilder;
|
import net.runelite.client.chat.ChatMessageBuilder;
|
||||||
import net.runelite.client.chat.ChatMessageManager;
|
import net.runelite.client.chat.ChatMessageManager;
|
||||||
@@ -84,6 +89,8 @@ public class ChatCommandsPlugin extends Plugin implements ChatboxInputListener
|
|||||||
private final HiscoreClient hiscoreClient = new HiscoreClient();
|
private final HiscoreClient hiscoreClient = new HiscoreClient();
|
||||||
private final KillCountClient killCountClient = new KillCountClient();
|
private final KillCountClient killCountClient = new KillCountClient();
|
||||||
|
|
||||||
|
private boolean logKills;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
|
|
||||||
@@ -259,6 +266,56 @@ public class ChatCommandsPlugin extends Plugin implements ChatboxInputListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onGameTick(GameTick event)
|
||||||
|
{
|
||||||
|
if (!logKills)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
logKills = false;
|
||||||
|
|
||||||
|
Widget title = client.getWidget(WidgetInfo.KILL_LOG_TITLE);
|
||||||
|
Widget bossMonster = client.getWidget(WidgetInfo.KILL_LOG_MONSTER);
|
||||||
|
Widget bossKills = client.getWidget(WidgetInfo.KILL_LOG_KILLS);
|
||||||
|
|
||||||
|
if (title == null || bossMonster == null || bossKills == null
|
||||||
|
|| !"Boss Kill Log".equals(title.getText()))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget[] bossChildren = bossMonster.getChildren();
|
||||||
|
Widget[] killsChildren = bossKills.getChildren();
|
||||||
|
|
||||||
|
for (int i = 0; i < bossChildren.length; ++i)
|
||||||
|
{
|
||||||
|
Widget boss = bossChildren[i];
|
||||||
|
Widget kill = killsChildren[i];
|
||||||
|
|
||||||
|
String bossName = boss.getText();
|
||||||
|
int kc = Integer.parseInt(kill.getText().replace(",", ""));
|
||||||
|
if (kc != getKc(bossName))
|
||||||
|
{
|
||||||
|
setKc(bossName, kc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onWidgetLoaded(WidgetLoaded widget)
|
||||||
|
{
|
||||||
|
// don't load kc if in an instance, if the player is in another players poh
|
||||||
|
// and reading their boss log
|
||||||
|
if (widget.getGroupId() != KILL_LOGS_GROUP_ID || client.isInInstancedRegion())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
logKills = true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onChatboxInput(ChatboxInput chatboxInput)
|
public boolean onChatboxInput(ChatboxInput chatboxInput)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user