Update world types for seasonal deadman

This commit is contained in:
Adam
2021-08-25 08:06:40 -04:00
parent 76641df8af
commit 719022c044
13 changed files with 40 additions and 57 deletions

View File

@@ -32,8 +32,8 @@ public enum WorldType
SKILL_TOTAL, SKILL_TOTAL,
HIGH_RISK, HIGH_RISK,
LAST_MAN_STANDING, LAST_MAN_STANDING,
TOURNAMENT, NOSAVE_MODE,
DEADMAN, DEADMAN,
DEADMAN_TOURNAMENT, TOURNAMENT,
LEAGUE; SEASONAL;
} }

View File

@@ -34,10 +34,10 @@ enum ServiceWorldType
SKILL_TOTAL(WorldType.SKILL_TOTAL, 1 << 7), SKILL_TOTAL(WorldType.SKILL_TOTAL, 1 << 7),
HIGH_RISK(WorldType.HIGH_RISK, 1 << 10), HIGH_RISK(WorldType.HIGH_RISK, 1 << 10),
LAST_MAN_STANDING(WorldType.LAST_MAN_STANDING, 1 << 14), LAST_MAN_STANDING(WorldType.LAST_MAN_STANDING, 1 << 14),
TOURNAMENT(WorldType.TOURNAMENT, 1 << 25), NOSAVE_MODE(WorldType.NOSAVE_MODE, 1 << 25),
DEADMAN_TOURNAMENT(WorldType.DEADMAN_TOURNAMENT, 1 << 26), TOURNAMENT(WorldType.TOURNAMENT, 1 << 26),
DEADMAN(WorldType.DEADMAN, 1 << 29), DEADMAN(WorldType.DEADMAN, 1 << 29),
LEAGUE(WorldType.LEAGUE, 1 << 30); SEASONAL(WorldType.SEASONAL, 1 << 30);
private final WorldType apiType; private final WorldType apiType;
private final int mask; private final int mask;

View File

@@ -26,10 +26,12 @@ package net.runelite.api;
import java.util.Collection; import java.util.Collection;
import java.util.EnumSet; import java.util.EnumSet;
import lombok.AllArgsConstructor;
/** /**
* An enumeration of possible world types. * An enumeration of possible world types.
*/ */
@AllArgsConstructor
public enum WorldType public enum WorldType
{ {
/** /**
@@ -57,29 +59,24 @@ public enum WorldType
*/ */
LAST_MAN_STANDING(1 << 14), LAST_MAN_STANDING(1 << 14),
/** /**
* Tournament world type. * Beta worlds without profiles that are saved.
*/ */
TOURNAMENT(1 << 25), NOSAVE_MODE(1 << 25),
/** /**
* Deadman Tournament world type. * Tournament world type
*/ */
DEADMAN_TOURNAMENT(1 << 26), TOURNAMENT_WORLD(1 << 26),
/** /**
* Deadman world type. * Deadman world type.
*/ */
DEADMAN(1 << 29), DEADMAN(1 << 29),
/** /**
* League world type * Seasonal world type for leagues and seasonal deadman.
*/ */
LEAGUE(1 << 30); SEASONAL(1 << 30);
private final int mask; private final int mask;
WorldType(int mask)
{
this.mask = mask;
}
private static final EnumSet<WorldType> PVP_WORLD_TYPES = EnumSet.of( private static final EnumSet<WorldType> PVP_WORLD_TYPES = EnumSet.of(
DEADMAN, // dmmt worlds are also flaged as DEADMAN DEADMAN, // dmmt worlds are also flaged as DEADMAN
PVP PVP

View File

@@ -35,10 +35,10 @@ import net.runelite.api.WorldType;
public enum RuneScapeProfileType public enum RuneScapeProfileType
{ {
STANDARD(client -> true), STANDARD(client -> true),
BETA(client -> client.getWorldType().contains(WorldType.TOURNAMENT)), BETA(client -> client.getWorldType().contains(WorldType.NOSAVE_MODE)),
DEADMAN(client -> client.getWorldType().contains(WorldType.DEADMAN)), DEADMAN(client -> client.getWorldType().contains(WorldType.DEADMAN)),
TRAILBLAZER_LEAGUE, TRAILBLAZER_LEAGUE,
DEADMAN_REBORN(client -> client.getWorldType().contains(WorldType.DEADMAN_TOURNAMENT)) DEADMAN_REBORN(client -> client.getWorldType().contains(WorldType.SEASONAL))
; ;
private final Predicate<Client> test; private final Predicate<Client> test;

View File

@@ -1738,12 +1738,12 @@ public class ChatCommandsPlugin extends Plugin
return new HiscoreLookup(localPlayer.getName(), hiscoreEndpoint); return new HiscoreLookup(localPlayer.getName(), hiscoreEndpoint);
} }
// Public chat on a leagues world is always league hiscores, regardless of icon
if (chatMessage.getType() == ChatMessageType.PUBLICCHAT || chatMessage.getType() == ChatMessageType.MODCHAT) if (chatMessage.getType() == ChatMessageType.PUBLICCHAT || chatMessage.getType() == ChatMessageType.MODCHAT)
{ {
if (client.getWorldType().contains(WorldType.LEAGUE)) // Public chat on a seasonal world is always seasonal or tournament hiscores, regardless of icon
if (client.getWorldType().contains(WorldType.SEASONAL))
{ {
return new HiscoreLookup(player, HiscoreEndpoint.LEAGUE); return new HiscoreLookup(player, HiscoreEndpoint.TOURNAMENT);
} }
} }
@@ -1789,9 +1789,9 @@ public class ChatCommandsPlugin extends Plugin
private HiscoreEndpoint getLocalHiscoreEndpointType() private HiscoreEndpoint getLocalHiscoreEndpointType()
{ {
EnumSet<WorldType> worldType = client.getWorldType(); EnumSet<WorldType> worldType = client.getWorldType();
if (worldType.contains(WorldType.LEAGUE)) if (worldType.contains(WorldType.SEASONAL))
{ {
return HiscoreEndpoint.LEAGUE; return HiscoreEndpoint.TOURNAMENT;
} }
return toEndPoint(client.getAccountType()); return toEndPoint(client.getAccountType());

View File

@@ -479,9 +479,9 @@ public class GrandExchangePlugin extends Plugin
private WorldType getGeWorldType() private WorldType getGeWorldType()
{ {
EnumSet<net.runelite.api.WorldType> worldTypes = client.getWorldType(); EnumSet<net.runelite.api.WorldType> worldTypes = client.getWorldType();
if (worldTypes.contains(net.runelite.api.WorldType.DEADMAN_TOURNAMENT)) if (worldTypes.contains(net.runelite.api.WorldType.SEASONAL))
{ {
return WorldType.DEADMAN_TOURNAMENT; return WorldType.SEASONAL;
} }
else if (worldTypes.contains(net.runelite.api.WorldType.DEADMAN)) else if (worldTypes.contains(net.runelite.api.WorldType.DEADMAN))
{ {

View File

@@ -265,7 +265,7 @@ public class HiscorePlugin extends Plugin
{ {
EnumSet<WorldType> wTypes = client.getWorldType(); EnumSet<WorldType> wTypes = client.getWorldType();
if (wTypes.contains(WorldType.DEADMAN_TOURNAMENT)) if (wTypes.contains(WorldType.SEASONAL))
{ {
return HiscoreEndpoint.TOURNAMENT; return HiscoreEndpoint.TOURNAMENT;
} }
@@ -273,10 +273,6 @@ public class HiscorePlugin extends Plugin
{ {
return HiscoreEndpoint.DEADMAN; return HiscoreEndpoint.DEADMAN;
} }
else if (wTypes.contains(WorldType.LEAGUE))
{
return HiscoreEndpoint.LEAGUE;
}
} }
return HiscoreEndpoint.NORMAL; return HiscoreEndpoint.NORMAL;
} }

View File

@@ -116,7 +116,7 @@ public class OpponentInfoPlugin extends Plugin
} }
final EnumSet<WorldType> worldType = client.getWorldType(); final EnumSet<WorldType> worldType = client.getWorldType();
if (worldType.contains(WorldType.DEADMAN_TOURNAMENT)) if (worldType.contains(WorldType.SEASONAL))
{ {
hiscoreEndpoint = HiscoreEndpoint.TOURNAMENT; hiscoreEndpoint = HiscoreEndpoint.TOURNAMENT;
} }
@@ -124,10 +124,6 @@ public class OpponentInfoPlugin extends Plugin
{ {
hiscoreEndpoint = HiscoreEndpoint.DEADMAN; hiscoreEndpoint = HiscoreEndpoint.DEADMAN;
} }
else if (worldType.contains(WorldType.LEAGUE))
{
hiscoreEndpoint = HiscoreEndpoint.LEAGUE;
}
else else
{ {
hiscoreEndpoint = HiscoreEndpoint.NORMAL; hiscoreEndpoint = HiscoreEndpoint.NORMAL;

View File

@@ -62,7 +62,7 @@ class WorldTableRow extends JPanel
private static final Color TOURNAMENT_WORLD = new Color(79, 145, 255); private static final Color TOURNAMENT_WORLD = new Color(79, 145, 255);
private static final Color MEMBERS_WORLD = new Color(210, 193, 53); private static final Color MEMBERS_WORLD = new Color(210, 193, 53);
private static final Color FREE_WORLD = new Color(200, 200, 200); private static final Color FREE_WORLD = new Color(200, 200, 200);
private static final Color LEAGUE_WORLD = new Color(133, 177, 178); private static final Color SEASONAL_WORLD = new Color(133, 177, 178);
static static
{ {
@@ -253,11 +253,11 @@ class WorldTableRow extends JPanel
{ {
activityField.setForeground(DANGEROUS_WORLD); activityField.setForeground(DANGEROUS_WORLD);
} }
else if (world.getTypes().contains(WorldType.LEAGUE)) else if (world.getTypes().contains(WorldType.SEASONAL))
{ {
activityField.setForeground(LEAGUE_WORLD); activityField.setForeground(SEASONAL_WORLD);
} }
else if (world.getTypes().contains(WorldType.TOURNAMENT)) else if (world.getTypes().contains(WorldType.NOSAVE_MODE))
{ {
activityField.setForeground(TOURNAMENT_WORLD); activityField.setForeground(TOURNAMENT_WORLD);
} }

View File

@@ -50,7 +50,6 @@ import lombok.Getter;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Experience; import net.runelite.api.Experience;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.WorldType;
import net.runelite.client.game.SkillIconManager; import net.runelite.client.game.SkillIconManager;
import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.DynamicGridLayout; import net.runelite.client.ui.DynamicGridLayout;
@@ -125,7 +124,7 @@ class XpInfoBox extends JPanel
// Create open xp tracker menu // Create open xp tracker menu
final JMenuItem openXpTracker = new JMenuItem("Open Wise Old Man"); final JMenuItem openXpTracker = new JMenuItem("Open Wise Old Man");
openXpTracker.addActionListener(e -> LinkBrowser.browse(XpPanel.buildXpTrackerUrl( openXpTracker.addActionListener(e -> LinkBrowser.browse(XpPanel.buildXpTrackerUrl(
client.getLocalPlayer(), skill, client.getWorldType().contains(WorldType.LEAGUE)))); client.getLocalPlayer(), skill)));
// Create reset menu // Create reset menu
final JMenuItem reset = new JMenuItem("Reset"); final JMenuItem reset = new JMenuItem("Reset");

View File

@@ -41,7 +41,6 @@ import javax.swing.border.EmptyBorder;
import net.runelite.api.Actor; import net.runelite.api.Actor;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.WorldType;
import net.runelite.client.game.SkillIconManager; import net.runelite.client.game.SkillIconManager;
import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
@@ -84,7 +83,7 @@ class XpPanel extends PluginPanel
// Create open xp tracker menu // Create open xp tracker menu
final JMenuItem openXpTracker = new JMenuItem("Open Wise Old Man"); final JMenuItem openXpTracker = new JMenuItem("Open Wise Old Man");
openXpTracker.addActionListener(e -> LinkBrowser.browse(XpPanel.buildXpTrackerUrl( openXpTracker.addActionListener(e -> LinkBrowser.browse(XpPanel.buildXpTrackerUrl(
client.getLocalPlayer(), Skill.OVERALL, client.getWorldType().contains(WorldType.LEAGUE)))); client.getLocalPlayer(), Skill.OVERALL)));
// Create reset all menu // Create reset all menu
final JMenuItem reset = new JMenuItem("Reset All"); final JMenuItem reset = new JMenuItem("Reset All");
@@ -147,18 +146,16 @@ class XpPanel extends PluginPanel
add(errorPanel); add(errorPanel);
} }
static String buildXpTrackerUrl(final Actor player, final Skill skill, boolean leagueWorld) static String buildXpTrackerUrl(final Actor player, final Skill skill)
{ {
if (player == null) if (player == null)
{ {
return ""; return "";
} }
final String host = leagueWorld ? "trailblazer.wiseoldman.net" : "wiseoldman.net";
return new HttpUrl.Builder() return new HttpUrl.Builder()
.scheme("https") .scheme("https")
.host(host) .host("wiseoldman.net")
.addPathSegment("players") .addPathSegment("players")
.addPathSegment(player.getName()) .addPathSegment(player.getName())
.addPathSegment("gained") .addPathSegment("gained")

View File

@@ -70,12 +70,10 @@ enum XpWorldType
{ {
switch (type) switch (type)
{ {
case TOURNAMENT: case NOSAVE_MODE:
return TOURNEY; return TOURNEY;
case DEADMAN: case DEADMAN:
return DMM; return DMM;
case LEAGUE:
return LEAGUE;
default: default:
return NORMAL; return NORMAL;
} }

View File

@@ -143,9 +143,9 @@ public class XpUpdaterPlugin extends Plugin
private void updateCml(String username, EnumSet<WorldType> worldTypes) private void updateCml(String username, EnumSet<WorldType> worldTypes)
{ {
if (config.cml() if (config.cml()
&& !worldTypes.contains(WorldType.LEAGUE) && !worldTypes.contains(WorldType.SEASONAL)
&& !worldTypes.contains(WorldType.DEADMAN) && !worldTypes.contains(WorldType.DEADMAN)
&& !worldTypes.contains(WorldType.TOURNAMENT)) && !worldTypes.contains(WorldType.NOSAVE_MODE))
{ {
HttpUrl url = new HttpUrl.Builder() HttpUrl url = new HttpUrl.Builder()
.scheme("https") .scheme("https")
@@ -168,9 +168,9 @@ public class XpUpdaterPlugin extends Plugin
private void updateTempleosrs(String username, EnumSet<WorldType> worldTypes) private void updateTempleosrs(String username, EnumSet<WorldType> worldTypes)
{ {
if (config.templeosrs() if (config.templeosrs()
&& !worldTypes.contains(WorldType.LEAGUE) && !worldTypes.contains(WorldType.SEASONAL)
&& !worldTypes.contains(WorldType.DEADMAN) && !worldTypes.contains(WorldType.DEADMAN)
&& !worldTypes.contains(WorldType.TOURNAMENT)) && !worldTypes.contains(WorldType.NOSAVE_MODE))
{ {
HttpUrl url = new HttpUrl.Builder() HttpUrl url = new HttpUrl.Builder()
.scheme("https") .scheme("https")
@@ -192,9 +192,9 @@ public class XpUpdaterPlugin extends Plugin
private void updateWom(String username, EnumSet<WorldType> worldTypes) private void updateWom(String username, EnumSet<WorldType> worldTypes)
{ {
if (config.wiseoldman() if (config.wiseoldman()
&& !worldTypes.contains(WorldType.LEAGUE) && !worldTypes.contains(WorldType.SEASONAL)
&& !worldTypes.contains(WorldType.DEADMAN) && !worldTypes.contains(WorldType.DEADMAN)
&& !worldTypes.contains(WorldType.TOURNAMENT)) && !worldTypes.contains(WorldType.NOSAVE_MODE))
{ {
HttpUrl url = new HttpUrl.Builder() HttpUrl url = new HttpUrl.Builder()
.scheme("https") .scheme("https")