Merge remote-tracking branch 'runelite/master'
This commit is contained in:
@@ -120,9 +120,6 @@ public class KaramjaDiaryRequirement extends GenericDiaryRequirement
|
||||
new CombatLevelRequirement(100),
|
||||
new SkillRequirement(Skill.SLAYER, 50),
|
||||
new QuestRequirement(Quest.SHILO_VILLAGE));
|
||||
add("Kill a metal dragon in Brimhaven Dungeon.",
|
||||
new SkillRequirement(Skill.AGILITY, 12),
|
||||
new SkillRequirement(Skill.WOODCUTTING, 34));
|
||||
|
||||
// ELITE
|
||||
add("Craft 56 Nature runes at once.",
|
||||
|
||||
@@ -168,6 +168,7 @@ public class CoordinateClue extends ClueScroll implements TextClueScroll, Locati
|
||||
.put(new WorldPoint(3051, 3736, 0), "East of the Wilderness Obelisk in 28 Wilderness.")
|
||||
.put(new WorldPoint(2316, 3814, 0), "West of Neitiznot, near the bridge.")
|
||||
.put(new WorldPoint(2872, 3937, 0), "Weiss.")
|
||||
.put(new WorldPoint(2835, 2998, 0), "Northeast corner of the Island of Stone.")
|
||||
// Master
|
||||
.put(new WorldPoint(2178, 3209, 0), "South of Elf Camp.")
|
||||
.put(new WorldPoint(2155, 3100, 0), "South of Port Tyras (BJS).")
|
||||
|
||||
@@ -312,7 +312,9 @@ public class ExaminePlugin extends Plugin
|
||||
|| WidgetInfo.CLUE_SCROLL_REWARD_ITEM_CONTAINER.getGroupId() == widgetGroup
|
||||
|| WidgetInfo.LOOTING_BAG_CONTAINER.getGroupId() == widgetGroup
|
||||
|| WidgetID.SEED_VAULT_INVENTORY_GROUP_ID == widgetGroup
|
||||
|| WidgetID.SEED_BOX_GROUP_ID == widgetGroup)
|
||||
|| WidgetID.SEED_BOX_GROUP_ID == widgetGroup
|
||||
|| WidgetID.PLAYER_TRADE_SCREEN_GROUP_ID == widgetGroup
|
||||
|| WidgetID.PLAYER_TRADE_INVENTORY_GROUP_ID == widgetGroup)
|
||||
{
|
||||
Widget[] children = widget.getDynamicChildren();
|
||||
if (actionParam < children.length)
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
*/
|
||||
package net.runelite.client.plugins.fishing;
|
||||
|
||||
import java.awt.Color;
|
||||
import net.runelite.client.config.Config;
|
||||
import net.runelite.client.config.ConfigGroup;
|
||||
import net.runelite.client.config.ConfigItem;
|
||||
@@ -76,7 +77,40 @@ public interface FishingConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 4,
|
||||
keyName = "overlayColor",
|
||||
name = "Overlay Color",
|
||||
description = "Color of overlays",
|
||||
position = 4
|
||||
)
|
||||
default Color getOverlayColor()
|
||||
{
|
||||
return Color.CYAN;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "minnowsOverlayColor",
|
||||
name = "Minnows Overlay Color",
|
||||
description = "Color of overlays for Minnows",
|
||||
position = 5
|
||||
)
|
||||
default Color getMinnowsOverlayColor()
|
||||
{
|
||||
return Color.RED;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "aerialOverlayColor",
|
||||
name = "Aerial Overlay Color",
|
||||
description = "Color of overlays when 1-tick aerial fishing",
|
||||
position = 6
|
||||
)
|
||||
default Color getAerialOverlayColor()
|
||||
{
|
||||
return Color.GREEN;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 7,
|
||||
keyName = "statTimeout",
|
||||
name = "Reset stats (minutes)",
|
||||
description = "The time until fishing session data is reset in minutes."
|
||||
@@ -87,7 +121,7 @@ public interface FishingConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 5,
|
||||
position = 8,
|
||||
keyName = "showFishingStats",
|
||||
name = "Show Fishing session stats",
|
||||
description = "Display the fishing session stats."
|
||||
@@ -98,7 +132,7 @@ public interface FishingConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 6,
|
||||
position = 9,
|
||||
keyName = "showMinnowOverlay",
|
||||
name = "Show Minnow Movement overlay",
|
||||
description = "Display the minnow progress pie overlay."
|
||||
@@ -109,7 +143,7 @@ public interface FishingConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 7,
|
||||
position = 10,
|
||||
keyName = "trawlerNotification",
|
||||
name = "Trawler activity notification",
|
||||
description = "Send a notification when fishing trawler activity drops below 15%."
|
||||
@@ -120,7 +154,7 @@ public interface FishingConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 8,
|
||||
position = 11,
|
||||
keyName = "trawlerTimer",
|
||||
name = "Trawler timer in MM:SS",
|
||||
description = "Trawler Timer will display a more accurate timer in MM:SS format."
|
||||
|
||||
@@ -27,6 +27,7 @@ package net.runelite.client.plugins.fishing;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.inject.Provides;
|
||||
import java.awt.Color;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
@@ -157,6 +158,12 @@ public class FishingPlugin extends Plugin
|
||||
private boolean showMinnowOverlay;
|
||||
private boolean trawlerNotification;
|
||||
private boolean trawlerTimer;
|
||||
@Getter(AccessLevel.PACKAGE)
|
||||
private Color overlayColor;
|
||||
@Getter(AccessLevel.PACKAGE)
|
||||
private Color minnowsOverlayColor;
|
||||
@Getter(AccessLevel.PACKAGE)
|
||||
private Color aerialOverlayColor;
|
||||
|
||||
@Override
|
||||
protected void startUp() throws Exception
|
||||
@@ -404,6 +411,7 @@ public class FishingPlugin extends Plugin
|
||||
if (regionID != TRAWLER_SHIP_REGION_NORMAL && regionID != TRAWLER_SHIP_REGION_SINKING)
|
||||
{
|
||||
log.debug("Trawler session ended");
|
||||
trawlerStartTime = null;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -477,5 +485,8 @@ public class FishingPlugin extends Plugin
|
||||
this.showMinnowOverlay = config.showMinnowOverlay();
|
||||
this.trawlerNotification = config.trawlerNotification();
|
||||
this.trawlerTimer = config.trawlerTimer();
|
||||
this.overlayColor = config.getOverlayColor();
|
||||
this.minnowsOverlayColor = config.getMinnowsOverlayColor();
|
||||
this.aerialOverlayColor = config.getAerialOverlayColor();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,9 @@ class FishingSpotMinimapOverlay extends Overlay
|
||||
continue;
|
||||
}
|
||||
|
||||
Color color = npc.getSpotAnimation() == GraphicID.FLYING_FISH ? Color.RED : Color.CYAN;
|
||||
Color color = npc.getSpotAnimation() == GraphicID.FLYING_FISH
|
||||
? plugin.getMinnowsOverlayColor()
|
||||
: plugin.getOverlayColor();
|
||||
|
||||
net.runelite.api.Point minimapLocation = npc.getMinimapLocation();
|
||||
if (minimapLocation != null)
|
||||
|
||||
@@ -107,15 +107,15 @@ class FishingSpotOverlay extends Overlay
|
||||
Color color;
|
||||
if (npc.getSpotAnimation() == GraphicID.FLYING_FISH)
|
||||
{
|
||||
color = Color.RED;
|
||||
color = plugin.getMinnowsOverlayColor();
|
||||
}
|
||||
else if (spot == FishingSpot.COMMON_TENCH && npc.getWorldLocation().distanceTo2D(client.getLocalPlayer().getWorldLocation()) <= ONE_TICK_AERIAL_FISHING)
|
||||
{
|
||||
color = Color.GREEN;
|
||||
color = plugin.getAerialOverlayColor();
|
||||
}
|
||||
else
|
||||
{
|
||||
color = Color.CYAN;
|
||||
color = plugin.getOverlayColor();
|
||||
}
|
||||
|
||||
if (spot == FishingSpot.MINNOW && plugin.isShowMinnowOverlay())
|
||||
@@ -161,7 +161,7 @@ class FishingSpotOverlay extends Overlay
|
||||
if (spot == FishingSpot.COMMON_TENCH
|
||||
&& npc.getWorldLocation().distanceTo2D(client.getLocalPlayer().getWorldLocation()) <= ONE_TICK_AERIAL_FISHING)
|
||||
{
|
||||
fishImage = ImageUtil.outlineImage(itemManager.getImage(spot.getFishSpriteId()), Color.GREEN);
|
||||
fishImage = ImageUtil.outlineImage(itemManager.getImage(spot.getFishSpriteId()), color);
|
||||
}
|
||||
|
||||
if (fishImage != null)
|
||||
|
||||
@@ -46,6 +46,7 @@ import javax.swing.ImageIcon;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JMenuItem;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JPopupMenu;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
@@ -90,6 +91,10 @@ class LootTrackerPanel extends PluginPanel
|
||||
|
||||
private static final String HTML_LABEL_TEMPLATE =
|
||||
"<html><body style='color:%s'>%s<span style='color:white'>%s</span></body></html>";
|
||||
private static final String SYNC_RESET_ALL_WARNING_TEXT =
|
||||
"This will permanently delete the current loot from both the client and the RuneLite website.";
|
||||
private static final String NO_SYNC_RESET_ALL_WARNING_TEXT =
|
||||
"This will permanently delete the current loot from the client.";
|
||||
|
||||
// When there is no loot, display this
|
||||
private final PluginErrorPanel errorPanel = new PluginErrorPanel();
|
||||
@@ -385,6 +390,18 @@ class LootTrackerPanel extends PluginPanel
|
||||
final JMenuItem reset = new JMenuItem("Reset All");
|
||||
reset.addActionListener(e ->
|
||||
{
|
||||
final LootTrackerClient client = plugin.getLootTrackerClient();
|
||||
final boolean syncLoot = client != null && config.syncPanel();
|
||||
final int result = JOptionPane.showOptionDialog(overallPanel,
|
||||
syncLoot ? SYNC_RESET_ALL_WARNING_TEXT : NO_SYNC_RESET_ALL_WARNING_TEXT,
|
||||
"Are you sure?", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE,
|
||||
null, new String[]{"Yes", "No"}, "No");
|
||||
|
||||
if (result != JOptionPane.YES_OPTION)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// If not in detailed view, remove all, otherwise only remove for the currently detailed title
|
||||
records.removeIf(r -> r.matches(currentView));
|
||||
boxes.removeIf(b -> b.matches(currentView));
|
||||
@@ -393,8 +410,7 @@ class LootTrackerPanel extends PluginPanel
|
||||
logsContainer.repaint();
|
||||
|
||||
// Delete all loot, or loot matching the current view
|
||||
LootTrackerClient client = plugin.getLootTrackerClient();
|
||||
if (client != null && config.syncPanel())
|
||||
if (syncLoot)
|
||||
{
|
||||
client.delete(currentView);
|
||||
}
|
||||
|
||||
@@ -703,6 +703,10 @@ public class LootTrackerPlugin extends Plugin
|
||||
eventType = "Kingdom of Miscellania";
|
||||
container = client.getItemContainer(InventoryID.KINGDOM_OF_MISCELLANIA);
|
||||
break;
|
||||
case (WidgetID.FISHING_TRAWLER_REWARD_GROUP_ID):
|
||||
eventType = "Fishing Trawler";
|
||||
container = client.getItemContainer(InventoryID.FISHING_TRAWLER_REWARD);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -28,10 +28,9 @@ package net.runelite.client.plugins.randomevents;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.inject.Provides;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import javax.inject.Inject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.runelite.api.Actor;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.MenuOpcode;
|
||||
@@ -39,10 +38,9 @@ import net.runelite.api.NPC;
|
||||
import net.runelite.api.NpcID;
|
||||
import net.runelite.api.Player;
|
||||
import net.runelite.api.events.ConfigChanged;
|
||||
import net.runelite.api.events.GameTick;
|
||||
import net.runelite.api.events.InteractingChanged;
|
||||
import net.runelite.api.events.MenuEntryAdded;
|
||||
import net.runelite.api.events.NpcSpawned;
|
||||
import net.runelite.api.events.NpcDespawned;
|
||||
import net.runelite.client.Notifier;
|
||||
import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.eventbus.EventBus;
|
||||
@@ -54,6 +52,7 @@ import net.runelite.client.plugins.PluginDescriptor;
|
||||
description = "Notify when random events appear and remove talk/dismiss options on events that aren't yours.",
|
||||
enabledByDefault = false
|
||||
)
|
||||
@Slf4j
|
||||
public class RandomEventPlugin extends Plugin
|
||||
{
|
||||
private static final Set<Integer> EVENT_NPCS = ImmutableSet.of(
|
||||
@@ -86,10 +85,8 @@ public class RandomEventPlugin extends Plugin
|
||||
);
|
||||
private static final int RANDOM_EVENT_TIMEOUT = 150;
|
||||
|
||||
private Map<NPC, Integer> spawnedNpcs = new HashMap<>();
|
||||
private NPC currentRandomEvent;
|
||||
// event npcs teleport to you to stay in range, we need to throttle spawns
|
||||
private int lastEventTick = -RANDOM_EVENT_TIMEOUT;
|
||||
private int lastNotificationTick = -RANDOM_EVENT_TIMEOUT; // to avoid double notifications
|
||||
|
||||
@Inject
|
||||
private Client client;
|
||||
@@ -132,73 +129,54 @@ public class RandomEventPlugin extends Plugin
|
||||
{
|
||||
eventBus.unregister(this);
|
||||
|
||||
lastEventTick = 0;
|
||||
lastNotificationTick = 0;
|
||||
currentRandomEvent = null;
|
||||
spawnedNpcs.clear();
|
||||
}
|
||||
|
||||
private void addSubscriptions()
|
||||
{
|
||||
eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned);
|
||||
eventBus.subscribe(InteractingChanged.class, this, this::onInteractingChanged);
|
||||
eventBus.subscribe(GameTick.class, this, this::onGameTick);
|
||||
eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded);
|
||||
eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
|
||||
}
|
||||
|
||||
|
||||
private void onNpcSpawned(NpcSpawned event)
|
||||
{
|
||||
NPC npc = event.getNpc();
|
||||
|
||||
if (!EVENT_NPCS.contains(npc.getId()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// only occasionally do event npcs spawn with non-null interacting
|
||||
if (npc.getInteracting() == client.getLocalPlayer())
|
||||
{
|
||||
if (client.getTickCount() - lastEventTick > RANDOM_EVENT_TIMEOUT)
|
||||
{
|
||||
currentRandomEvent = npc;
|
||||
lastEventTick = client.getTickCount();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
spawnedNpcs.put(npc, client.getTickCount());
|
||||
}
|
||||
}
|
||||
|
||||
private void onInteractingChanged(InteractingChanged event)
|
||||
{
|
||||
Actor source = event.getSource();
|
||||
Actor target = event.getTarget();
|
||||
Player player = client.getLocalPlayer();
|
||||
|
||||
if (spawnedNpcs.containsKey(source))
|
||||
// Check that the npc is interacting with the player and the player isn't interacting with the npc, so
|
||||
// that the notification doesn't fire from talking to other user's randoms
|
||||
if (player == null
|
||||
|| target != player
|
||||
|| player.getInteracting() == source
|
||||
|| !(source instanceof NPC)
|
||||
|| !EVENT_NPCS.contains(((NPC) source).getId()))
|
||||
{
|
||||
Player player = client.getLocalPlayer();
|
||||
if (player == target && client.getTickCount() - lastEventTick > RANDOM_EVENT_TIMEOUT)
|
||||
return;
|
||||
}
|
||||
|
||||
log.debug("Random event spawn: {}", source.getName());
|
||||
|
||||
currentRandomEvent = (NPC) source;
|
||||
|
||||
if (client.getTickCount() - lastNotificationTick > RANDOM_EVENT_TIMEOUT)
|
||||
{
|
||||
lastNotificationTick = client.getTickCount();
|
||||
|
||||
if (shouldNotify(currentRandomEvent.getId()))
|
||||
{
|
||||
currentRandomEvent = (NPC) source;
|
||||
if (shouldNotify(currentRandomEvent.getId()))
|
||||
{
|
||||
notifier.notify("Random event spawned: " + currentRandomEvent.getName());
|
||||
}
|
||||
notifier.notify("Random event spawned: " + currentRandomEvent.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void onGameTick(GameTick event)
|
||||
private void onNpcDespawned(NpcDespawned npcDespawned)
|
||||
{
|
||||
if (!spawnedNpcs.isEmpty())
|
||||
{
|
||||
// allow 2 ticks for interacting to get set
|
||||
spawnedNpcs.entrySet().removeIf(entry -> client.getTickCount() - entry.getValue() >= 2);
|
||||
}
|
||||
NPC npc = npcDespawned.getNpc();
|
||||
|
||||
if (client.getTickCount() - lastEventTick > RANDOM_EVENT_TIMEOUT)
|
||||
if (npc == currentRandomEvent)
|
||||
{
|
||||
currentRandomEvent = null;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/**
|
||||
* Copyright (c) 2018, Kruithne <kruithne@gmail.com>
|
||||
* Copyright (c) 2018, Psikoi <https://github.com/psikoi>
|
||||
* All rights reserved.
|
||||
@@ -132,6 +132,9 @@ class SkillCalculator extends JPanel
|
||||
// Clear the search bar
|
||||
searchBar.setText(null);
|
||||
|
||||
// Clear the combined action slots
|
||||
clearCombinedSlots();
|
||||
|
||||
// Add in checkboxes for available skill bonuses.
|
||||
renderBonusOptions();
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ public class TimersPlugin extends Plugin
|
||||
private static final String KILLED_TELEBLOCK_OPPONENT_TEXT = "<col=4f006f>Your Tele Block has been removed because you killed ";
|
||||
private static final String PRAYER_ENHANCE_EXPIRED = "<col=ff0000>Your prayer enhance effect has worn off.</col>";
|
||||
private static final Pattern DEADMAN_HALF_TELEBLOCK_PATTERN = Pattern.compile("<col=4f006f>A Tele Block spell has been cast on you by (.+)\\. It will expire in 1 minute, 15 seconds\\.</col>");
|
||||
private static final Pattern FULL_TELEBLOCK_PATTERN = Pattern.compile("<col=4f006f>A Tele Block spell has been cast on you by (.+)\\. It will expire in 5 minutes, 0 seconds\\.</col>");
|
||||
private static final Pattern FULL_TELEBLOCK_PATTERN = Pattern.compile("<col=4f006f>A Tele Block spell has been cast on you by (.+)\\. It will expire in 5 minutes\\.</col>");
|
||||
private static final Pattern HALF_TELEBLOCK_PATTERN = Pattern.compile("<col=4f006f>A Tele Block spell has been cast on you by (.+)\\. It will expire in 2 minutes, 30 seconds\\.</col>");
|
||||
private static final Pattern DIVINE_POTION_PATTERN = Pattern.compile("You drink some of your divine (.+) potion\\.");
|
||||
|
||||
|
||||
@@ -361,7 +361,7 @@ public class WikiPlugin extends Plugin
|
||||
}
|
||||
|
||||
if ((WidgetInfo.TO_GROUP(widgetID) == WidgetID.SKILLS_GROUP_ID && event.getOption().startsWith("View"))
|
||||
|| (WidgetInfo.TO_GROUP(widgetID) == WidgetID.DIARY_GROUP_ID && event.getOption().startsWith("Open")))
|
||||
|| (WidgetInfo.TO_GROUP(widgetID) == WidgetID.ACHIEVEMENT_DIARY_GROUP_ID && event.getOption().startsWith("Open")))
|
||||
{
|
||||
client.insertMenuItem(
|
||||
MENUOP_WIKI,
|
||||
|
||||
@@ -35,13 +35,13 @@ enum FarmingPatchLocation
|
||||
new WorldPoint(3793, 2836, 0),
|
||||
new WorldPoint(1269, 3730, 0)
|
||||
),
|
||||
ALLOTMENT_FLOWER("Allotment/Flower", new WorldPoint(3289, 6100, 0)),
|
||||
ALLOTMENT_HERB_FLOWER("Allotment/Herb/Flower",
|
||||
new WorldPoint(1809, 3490, 0),
|
||||
new WorldPoint(3598, 3524, 0),
|
||||
new WorldPoint(3052, 3309, 0),
|
||||
new WorldPoint(2810, 3462, 0),
|
||||
new WorldPoint(2663, 3375, 0),
|
||||
new WorldPoint(3289, 6100, 0)
|
||||
new WorldPoint(2663, 3375, 0)
|
||||
),
|
||||
ANIMA_HERB("Anima/Herb", new WorldPoint(1235, 3724, 0)),
|
||||
BELLADONNA("Belladonna", new WorldPoint(3084, 3356, 0)),
|
||||
|
||||
@@ -96,6 +96,7 @@ enum QuestStartLocation
|
||||
THE_FORSAKEN_TOWER(Quest.THE_FORSAKEN_TOWER, new WorldPoint(1484, 3747, 0)),
|
||||
THE_FREMENNIK_ISLES(Quest.THE_FREMENNIK_ISLES, new WorldPoint(2645, 3711, 0)),
|
||||
THE_FREMENNIK_TRIALS(Quest.THE_FREMENNIK_TRIALS, new WorldPoint(2657, 3669, 0)),
|
||||
THE_FREMENNIK_EXILES(Quest.THE_FREMENNIK_EXILES, new WorldPoint(2658, 3669, 0)),
|
||||
GARDEN_OF_TRANQUILLITY(Quest.GARDEN_OF_TRANQUILLITY, new WorldPoint(3227, 3477, 0)),
|
||||
GERTRUDES_CAT_RATCATCHERS(Quest.GERTRUDES_CAT, new WorldPoint(3150, 3411, 0)),
|
||||
GHOSTS_AHOY(Quest.GHOSTS_AHOY, new WorldPoint(3677, 3510, 0)),
|
||||
@@ -117,7 +118,7 @@ enum QuestStartLocation
|
||||
LEGENDS_QUEST(Quest.LEGENDS_QUEST, new WorldPoint(2725, 3367, 0)),
|
||||
LOST_CITY(Quest.LOST_CITY, new WorldPoint(3149, 3205, 0)),
|
||||
THE_LOST_TRIBE(Quest.THE_LOST_TRIBE, new WorldPoint(3211, 3224, 0)),
|
||||
LUNAR_DIPLOMACY(Quest.LUNAR_DIPLOMACY, new WorldPoint(2619, 3689, 0)),
|
||||
LUNAR_DIPLOMACY(Quest.LUNAR_DIPLOMACY, new WorldPoint(2618, 3691, 0)),
|
||||
MAKING_FRIENDS_WITH_MY_ARM(Quest.MAKING_FRIENDS_WITH_MY_ARM, new WorldPoint(2904, 10092, 0)),
|
||||
MAKING_HISTORY(Quest.MAKING_HISTORY, new WorldPoint(2435, 3346, 0)),
|
||||
MONKS_FRIEND(Quest.MONKS_FRIEND, new WorldPoint(2605, 3209, 0)),
|
||||
|
||||
@@ -49,6 +49,7 @@ enum TransportationPointLocation
|
||||
FISHINGPLAT_TO_ARDOUGNE("Ship to Ardougne", new WorldPoint(2779, 3271, 0), new WorldPoint(2722, 3304, 0)),
|
||||
HARMLESS_TO_PORT_PHASMATYS("Ship to Port Phasmatys", new WorldPoint(3682, 2951, 0), new WorldPoint(3709, 3497, 0)),
|
||||
ICEBERG_TO_RELLEKKA("Ship to Rellekka", new WorldPoint(2657, 3988, 0), new WorldPoint(2707, 3735, 0)),
|
||||
ISLAND_OF_STONE_TO_RELLEKKA("Ship to Rellekka", new WorldPoint(2470, 3994, 0), new WorldPoint(2621, 3692, 0)),
|
||||
ISLAND_TO_APE_ATOLL("Ship to Ape Atoll", new WorldPoint(2891, 2726, 0), new WorldPoint(2802, 2706, 0)),
|
||||
JATIZSO_TO_RELLEKKA("Ship to Rellekka", new WorldPoint(2420, 3780, 0), new WorldPoint(2639, 3710, 0)),
|
||||
KARAMJA_TO_PORT_SARIM("Ship to Port Sarim", new WorldPoint(2955, 3145, 0), new WorldPoint(3029, 3218, 0)),
|
||||
@@ -59,7 +60,7 @@ enum TransportationPointLocation
|
||||
NEITIZNOT_TO_RELLEKKA("Ship to Rellekka", new WorldPoint(2310, 3779, 0), new WorldPoint(2639, 3710, 0)),
|
||||
PESTCONTROL_TO_PORTSARIM("Ship to Port Sarim", new WorldPoint(2659, 2675, 0), new WorldPoint(3039, 3201, 0)),
|
||||
PIRATES_COVE_TO_LUNAR_ISLE("Ship to Lunar Isle", new WorldPoint(2223, 3796, 0), new WorldPoint(2137, 3899, 0)),
|
||||
PIRATES_COVE_TO_RELLEKKA("Ship to Rellekka", new WorldPoint(2212, 3794, 0), new WorldPoint(2656, 3680, 0)),
|
||||
PIRATES_COVE_TO_RELLEKKA("Ship to Rellekka", new WorldPoint(2212, 3794, 0), new WorldPoint(2620, 3695, 0)),
|
||||
PORT_PHASMATYS_TO_DRAGONTOOTH("Ship to Dragontooth Island", new WorldPoint(3703, 3487, 0), new WorldPoint(3791, 3561, 0)),
|
||||
PORT_PHASMATYS_TO_HARMLESS("Ship to Mos Le'Harmless", new WorldPoint(3709, 3497, 0), new WorldPoint(3682, 2951, 0)),
|
||||
PORT_PISCARILIUS_TO_PORTSARIM_LANDSEND("Ship to Port Sarim/Land's End", new WorldPoint(1823, 3692, 0)),
|
||||
@@ -70,11 +71,12 @@ enum TransportationPointLocation
|
||||
PORTSARIM_TO_PEST_CONTROL("Ship to Pest Control", new WorldPoint(3039, 3201, 0), new WorldPoint(2659, 2675, 0)),
|
||||
RELLEKKA_TO_JATIZSO_NEITIZNOT("Ship to Jatizso/Neitiznot", new WorldPoint(2639, 3710, 0)),
|
||||
RELLEKKA_TO_MISCELLANIA("Ship to Miscellania", new WorldPoint(2627, 3692, 0), new WorldPoint(2579, 3846, 0)),
|
||||
RELLEKKA_TO_WATERBIRTH("Ship to Waterbirth", new WorldPoint(2621, 3683, 0), new WorldPoint(2549, 3758, 0)),
|
||||
RELLEKKA_TO_PIRATES_COVE("Ship to Pirates' Cove", new WorldPoint(2620, 3695, 0), new WorldPoint(2212, 3794, 0)),
|
||||
RELLEKKA_TO_WATERBIRTH("Ship to Waterbirth", new WorldPoint(2618, 3685, 0), new WorldPoint(2549, 3758, 0)),
|
||||
RELLEKKA_TO_WEISS_ICEBERG("Ship to Weiss/Iceberg", new WorldPoint(2707, 3735, 0)),
|
||||
RELLEKKA_TO_UNGAEL("Ship to Ungael", new WorldPoint(2638, 3698, 0), new WorldPoint(2276, 4034, 0)),
|
||||
RIMMINGTON_TO_CORSAIR_COVE("Ship to Corsair Cove", new WorldPoint(2909, 3227, 0 ), new WorldPoint(2577, 2839, 0)),
|
||||
WATERBIRTH_TO_RELLEKKA("Ship to Rellekka", new WorldPoint(2549, 3758, 0), new WorldPoint(2621, 3683, 0)),
|
||||
WATERBIRTH_TO_RELLEKKA("Ship to Rellekka", new WorldPoint(2549, 3758, 0), new WorldPoint(2618, 3685, 0)),
|
||||
WEISS_TO_RELLEKKA("Ship to Rellekka", new WorldPoint(2847, 3967, 0), new WorldPoint(2707, 3735, 0)),
|
||||
UNGAEL_TO_RELLEKKA("Ship to Rellekka", new WorldPoint(2276, 4034, 0), new WorldPoint(2638, 3698, 0)),
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@ public class WidgetOverlay extends Overlay
|
||||
.put(WidgetInfo.PEST_CONTROL_INFO, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.ZEAH_MESS_HALL_COOKING_DISPLAY, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.PVP_BOUNTY_HUNTER_INFO, OverlayPosition.TOP_RIGHT)
|
||||
.put(WidgetInfo.PVP_KILLDEATH_COUNTER, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.SKOTIZO_CONTAINER, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.KOUREND_FAVOUR_OVERLAY, OverlayPosition.TOP_CENTER)
|
||||
.put(WidgetInfo.MULTICOMBAT_FIXED, OverlayPosition.BOTTOM_RIGHT)
|
||||
|
||||
Reference in New Issue
Block a user