Commit Graph
100 Commits
Author SHA1 Message Date
Jordan Atwood ae8379b08a xptrackerplugin: Add canvas menu options to skill tab
This commit adds a configuration option to display menu options to add
or remove a skill from the canvas from the skill tab.
2019-07-24 19:55:16 -04:00
Jordan Atwood c6149f0db0 overlaymanager: Add anyMatch method
This will help plugins make informed decisions when, say, displaying
different text when toggling an overlay on and off.
2019-07-24 19:52:06 -04:00
Jordan Atwood 6563ddaffe groundmarkers: Use "Unmark" menu option for marked tiles 2019-07-23 08:34:04 -07:00
Jordan Atwood de449113b5 objectindicators: Use "Unmark" menu option for marked objects 2019-07-23 07:59:21 -07:00
Jordan Atwood a57954a893 npcindicators: Use "Un-tag" menu option for tagged NPCs
Closes runelite/runelite#1177
2019-07-23 07:59:09 -07:00
Jordan Atwood 2ceb43ec4f timersplugin: Escape periods in teleblock patterns 2019-07-20 14:29:21 -07:00
Jordan Atwood 236d7331a3 groundmarkerplugin: Use RUNELITE menu action 2019-07-19 20:46:36 -07:00
Jordan Atwood 50dba92338 slayerplugin: Correct Jad and Zuk task tracking
This adds a field to Task which dictates the expected exp gain of the
task. When set to a non-zero value, it will prevent slayer exp gains
from registering as a kill unless they are of exactly that amount.

Closes runelite/runelite#1865
2019-07-13 00:26:55 -07:00
Jordan Atwood 1ba77fbc20 hotcoldclue: Display npc location before using device
Closes runelite/runelite#9219
2019-07-11 21:43:13 -07:00
Jordan Atwood 41968c725f Remove unused Slf4j annotations and imports 2019-07-11 00:33:00 -07:00
Jordan Atwood bb1379886c grounditemsplugin: Color telegrab menu entries
This patch will cause menu entries to have their options and/or targets
recolored in the same way as "Take" menu entries are already recolored
when telegrab menu entries are added.

Closes runelite/runelite#4930
2019-07-11 00:11:13 -07:00
Jordan Atwood 501df1e409 loottracker: Fix duplicate cox and tob chest loots
This prevents loot entries for Chamber of Xeric and Theatre of Blood
chests from being duplicated when viewed multiple times.

Fixes runelite/runelite#4754
2019-07-10 23:09:14 -07:00
Jordan Atwood 2c13816ca9 HotColdClue: Clear final location on clue reset
If the clue is being reset, say from a new clue being read and
initialized, we should not continue to use the old location.
2019-07-01 00:03:37 -07:00
Jordan Atwood 29d786b948 HotColdClue: Improve behavior on visibly shaking location
This change causes the locations list to be narrowed on all locator orb
checks, having the consequence of narrowing the list to the visibly
shaking location (for better display via `makeOverlayHint()'). The call
to `reset()' must be removed as it would re-add all locations to the
instance's solver when finding the dig location, which effectively
reverses the apparent narrowing the overlay displayed until that point.
2019-07-01 00:03:37 -07:00
Jordan Atwood 45e1441072 HotColdTemperature: Fix warm-but-colder temperature bug
Because the word "cold" is used both as a temperature ("The device is
cold"), and in a temperature change ("but colder than last time."),
HotColdTemperature tried to interpret COLDER temperature changes as a
COLD temperature match. By matching only the section of the temperature
string preceding the optional comma, this bug is avoided.
2019-07-01 00:03:36 -07:00
Jordan Atwood 76d4031445 cluescrolls: Add beginner hot-cold clues 2019-06-30 20:32:42 -04:00
Jordan Atwood e5d4e7a897 HotColdClue: Add hot-cold solver class
This adds a general hot-cold puzzle solver class and implements it in
HotColdClue.
2019-06-30 20:32:42 -04:00
Jordan Atwood 5a6b39036d HotColdClue: Refactor to use enums for temperatures 2019-06-30 20:32:42 -04:00
Jordan Atwood 1a7aa4666b npc indicators: Fix long respawn timer bug
By killing a monster which has a known respawn timer and leaving its
respawn area (by walking away or teleporting) and returning to it some
time after it has respawned, the plugin can erroneously overwrite its
respawn time with a much longer one. This commit fixes that issue by
assuming that the lower of the observed respawn time and the previously
recorded respawn time is the correct one.
2019-06-28 08:41:06 -07:00
Jordan Atwood 392c934393 EmoteClue: Add null checks for stashUnit
Some clues may have item requirements, but no STASH unit, which would
cause NPEs during rendering. This commit also marks stashUnit as
nullable so this issue can hopefully be avoided in the future.
2019-06-21 17:24:20 -07:00
Jordan Atwood b43b73f9cb HotColdLocation: Center northeastern Kharazi jungle location 2019-06-12 20:48:43 -06:00
Jordan Atwood df61aee09b cluescrolls: Fix Hosidius mess hall clue locations
After the Hosidius rework, the locations of the STASH unit and emote
location have moved slightly.

Fixes runelite/runelite#9073
2019-06-09 17:18:49 -07:00
Jordan Atwood a18c6282d0 PluginListItem: Reset label color on popup menu item click
Fixes runelite/runelite#9007
2019-06-02 23:55:07 -07:00
Jordan Atwood a96260056c HotColdLocation: Replace nbsp with normal spaces
The nbsp characters in this file seemed to be placed randomly, and not
for the intended purpose of preserving spaces across line breaks.
2019-06-02 18:59:28 -07:00
Jordan Atwood 81050f264a attack styles: Attach spec bar redraw listener to weapon text
This fixes a bug where the special attack bar would not be redrawn if
the combat tab was opened with any weapon equipped which did not have a
special attack bar. The weapon text widget is used because it is always
rendered with the combat tab widgets, and does not already have any kind
of listeners attached.

Fixes runelite/runelite#8946
2019-05-29 21:19:33 -04:00
Jordan Atwood 11ba76f5bc plugins panel: Add wiki link to name labels
This adds a hover color effect and a popup menu linking to the plugin's
wiki page to each plugin name label both in the plugin panel and
configuration panels. In the plugin panel, for plugins which have
configurable settings, it also adds a "Configure" menu item to the
added popup menu.

Fixes runelite/runelite#1518
2019-05-27 22:53:55 +02:00
Jordan Atwood e5e2abebbd PluginManagerTest: Ensure config keyNames are not duplicated
This adds a new test to ensure plugin configurations do not duplicate
the keyName annotation argument to prevent runtime errors.
2019-05-22 23:39:57 -07:00
Jordan Atwood bbb8cff0d5 game timers: Don't remove antipoison effects on death 2019-05-11 23:58:35 -07:00
Jordan Atwood d1c692e72e western diary: Fix elf pickpocket quest requirement
The requirement for pickpocketing an elf is to have started Mourning's
End Part I for access to Lletya, not to have completed Mourning's End
Part II.

Fixes runelite/runelite#8806
2019-05-11 14:46:45 -07:00
Jordan Atwood 789c89dcf2 ui: Add Table Component 2019-04-30 22:44:34 -07:00
Jordan Atwood 48d428edf5 Remove PVP references to HIGH_RISK world type
As described in 5bebd34bb, HIGH_RISK is not a PVP world type.

Note: this will not affect the world hopper plugin, as it both
explicitly references the high risk world type, and references the
http-api WorldType implementation, not the runelite-api WorldType which
is being modified in this commit.

Fixes runelite/runelite#8605
Fixes runelite/runelite#8624
2019-04-24 20:10:30 -04:00
Jordan Atwood 3be1c41cb9 WorldType: Fix HIGH_RISK world type name
This world type is not specifically a PVP world type; at the time of
this commit, world 365 is a non-PVP high-risk world, where the world is
the same as a regular members' world, except that the Protect Item
prayer is disabled.
2019-04-24 20:10:30 -04:00
Jordan Atwood 011791d823 Remove PVP references to HIGH_RISK world type
As described in 5bebd34bb, HIGH_RISK is not a PVP world type.

Note: this will not affect the world hopper plugin, as it both
explicitly references the high risk world type, and references the
http-api WorldType implementation, not the runelite-api WorldType which
is being modified in this commit.

Fixes runelite/runelite#8605
Fixes runelite/runelite#8624
2019-04-23 13:08:46 -07:00
Jordan Atwood 5bebd34bbf WorldType: Fix HIGH_RISK world type name
This world type is not specifically a PVP world type; at the time of
this commit, world 365 is a non-PVP high-risk world, where the world is
the same as a regular members' world, except that the Protect Item
prayer is disabled.
2019-04-23 13:03:41 -07:00
Jordan Atwood f7040d134b clue plugin: Add new coordinate clue descriptions
Ref: runelite/runelite#8504
2019-04-16 17:17:48 -07:00
Jordan Atwood ee402d5779 clue plugin: Add new cryptic clues
Ref: runelite/runelite#8504
2019-04-15 22:29:37 -07:00
Jordan Atwood 56e2e3ceab clue plugin: Add new cipher clues
Ref: runelite/runelite#8504
2019-04-15 20:05:35 -07:00
Jordan Atwood e78fe71892 boosts plugin: Fix overlay below-threshold color
This patch updates the boosts overlay to match the threshold color
comparison used in the plugin (for notifications) and in the indicator
infobox.
2019-03-15 17:08:42 -07:00
Jordan Atwood 2a57562022 combat level plugin: Add attack level range option
This commit adds a PVP-world-like combat level range text to the
wilderness level in non-PVP worlds, displaying the range of combats you
can attack at any given wilderness level.

Closes runelite/runelite#3103
Closes runelite/runelite#3318
2019-03-12 10:19:20 -07:00
Jordan Atwood 7a3b5dd3a9 Add pvp widget builder script 2019-03-12 10:19:20 -07:00
Jordan Atwood 54912ca31c widgetinfo: Fix wilderness level definition 2019-03-12 10:19:19 -07:00
Jordan Atwood 11b578b7c2 ground markers: Allow different colored markers
This adds a color indicator per marker, saved to config, allowing
multiple markers to be different colors. In addition, a configuration
option is added to switch between per-tile color display or current
configured color display. (that is, new or existing behavior)

This change will set a color in config for old markers with null colors
when those markers are loaded.

Fixes runelite/runelite#3395
2019-03-09 21:42:49 -05:00
Jordan Atwood 191feb94f6 worldpoint: Add getRegionX() and getRegionY() 2019-03-09 20:10:35 -05:00
Jordan Atwood a18827f929 worldpoint: Add static fromRegion method 2019-03-09 20:10:34 -05:00
Jordan Atwood 15fbbdd786 ground markers: Fix startup and shutdown bug
When logging in to the game with the plugin disabled, enabling it will
not cause points to be filled, as the game state trigger will not be
reached. This commit properly loads points on plugin startup and clears
them on shutdown.
2019-03-09 20:10:33 -05:00
Jordan Atwood 5420f874db ground markers plugin: Clean up legacy code
This includes various code quality improvements such as stronger access
control, enforcing newlines at EOF, naming magic numbers and strings,
and utilizing higher efficiency methods and class constructors.
2019-03-09 20:10:26 -05:00
Jordan Atwood 7e02694652 ground markers: Fix marking non-marked tiles
This fixes the bug introduced in runelite/runelite#5890 where attempting
to mark a non-marked tile while having the "Remember color per tile"
config disabled would prevent new tiles from being marked. Instead, it
properly ensures that unmarking tiles with that config disabled will not
re-mark it with an updated color, causing a second unmark to be needed.
2019-03-02 09:27:54 -08:00
Jordan Atwood ad65a9aad9 ground markers: Allow different colored markers
This adds a color indicator per marker, saved to config, allowing
multiple markers to be different colors. In addition, a configuration
option is added to switch between per-tile color display or current
configured color display. (that is, new or existing behavior)

This change will set a color in config for old markers with null colors
when those markers are loaded.

Fixes runelite/runelite#3395
2019-03-02 12:29:28 +01:00
Jordan Atwood 36fdb620fc ground markers: Fix startup and shutdown bug
When logging in to the game with the plugin disabled, enabling it will
not cause points to be filled, as the game state trigger will not be
reached. This commit properly loads points on plugin startup and clears
them on shutdown.
2019-03-02 12:23:15 +01:00
Jordan Atwood 285926924b ground markers plugin: Clean up legacy code
This includes various code quality improvements such as stronger access
control, enforcing newlines at EOF, naming magic numbers and strings,
and utilizing higher efficiency methods and class constructors.
2019-03-02 12:23:15 +01:00
Jordan Atwood 39bbf2f259 worldpoint: Add getRegionX() and getRegionY() 2019-03-02 12:23:15 +01:00
Jordan Atwood 1675a7e0a1 worldpoint: Add static fromRegion method 2019-03-02 12:23:15 +01:00
Jordan Atwood 2922a8b5f8 worldpoint: Fix plane value in toLocalInstance
Fixes runelite/runelite#7985
Fixes runelite/runelite#8045
2019-02-28 15:27:25 -08:00
Jordan Atwood b000818393 item stats: Represent boost data as ints
Particularly since exposing StatBoosts and StatChanges through the item
stats service, it has become evident that storing stat change data as a
human-readable string is not especially useful for consumers of the
service as they must handle string processing, particularly for special
cases such as range stat boosts or spicy stews. This patch changes
StatChanges to expose their relative, theoretical, and absolute change
values as ints instead for ease of consumption, and adds methods to get
human-readable versions of these relative and theoretical values for
display purposes.

Fixes runelite/runelite#6594
2019-02-07 23:14:33 -08:00
Jordan Atwood d1c11b675b Remove deprecated TileObjectQuery class 2019-02-01 21:44:13 -05:00
Jordan Atwood 9e67dcd39e Remove deprecated ActorQuery class 2019-02-01 21:44:13 -05:00
Jordan Atwood 3d3ec76af8 Remove deprecated InventoryItemQuery class 2019-02-01 21:43:48 -05:00
Jordan Atwood d4f51c4600 Remove deprecated GroundObjectQuery class 2019-02-01 21:43:47 -05:00
Jordan Atwood 732be4e90f Remove deprecated GameObjectQuery class 2019-02-01 21:43:47 -05:00
Jordan Atwood cec74c6652 Remove deprecated DecorativeObjectQuery class 2019-02-01 21:43:46 -05:00
Jordan Atwood b408a22d57 Remove deprecated PlayerQuery class 2019-02-01 21:43:46 -05:00
Jordan Atwood 35b7de7dd8 Remove deprecated WallObjectQuery class 2019-02-01 21:43:45 -05:00
Jordan Atwood 764cac7a09 Remove deprecated WorldPoint.toPoint() method 2019-02-01 21:43:44 -05:00
Jordan Atwood a5e72ea610 client: Use isEmpty() for all Collection emptiness checks 2019-02-01 16:50:54 -08:00
Jordan Atwood b559fd859b chat commands: Add test case for PB without trailing period 2019-01-30 09:13:26 +01:00
Jordan Atwood eb7ebddec3 player indicators: Add name position configuration
This allows players to select from a number of positions where they
would like highlighted player's names to be drawn relative to the
player's model.

Closes runelite/runelite#878
2019-01-29 16:29:19 -08:00
Jordan Atwood 201788847a actor: Mark getCanvasTextLocation as Nullable 2019-01-29 16:29:19 -08:00
Jordan Atwood dd84156dfc perspective: Allow empty text for getCanvasTextLocation
This is particularly useful for aligning text to a certain point such
that it would not be centered on that point, such as left or right
alignment.
2019-01-29 16:28:40 -08:00
Jordan Atwood 05473d2050 dev tools: Fix overlay layer
After the introduction of the new ABOVE_MAP layer, the dev tools overlay
was no longer able to draw above the map, which is needed for the widget
inspector.
2019-01-02 19:33:33 -08:00
Jordan Atwood 1369cfc914 Fix world map surface selector widget ID 2019-01-02 19:29:34 -08:00
Jordan Atwood 4f18a54c23 experiencedrop: Highlight only correct exp drops for prayer
Prior to this commit, hitpoints exp drops (and combined exp drops
containing hitpoints) would be highlighted for any combat prayer. This
commit corrects this behavior so combined drops will only be highlighted
when containing the proper combat style prayer, and split exp drops will
only highlight hitpoints when the correct prayer type was active for the
experience drops which precede it.

Fixes runelite/runelite#1697
2019-01-02 19:03:42 -08:00
Jordan Atwood f8c445a085 reportbutton: Add date time format
This matches the screenshot plugin's date formatter.

Closes runelite/runelite#1228
2019-01-02 17:16:41 -08:00
Jordan Atwood e8ee7478a0 reportbutton: Make time formatting methods static where possible 2019-01-02 17:16:16 -08:00
Jordan Atwood 414981372e itemprices: Add "tooltips" plugin tag 2019-01-02 16:38:10 -08:00
Jordan Atwood 5edeeb6633 combatlevel: Fix prayer level needed to next combat
This adds a test which exposes an edge case where the needed prayer
levels to next combat level had been calculated to be 3 instead of 1,
and fixes that calculation.

Fixes runelite/runelite#7103
2018-12-31 20:01:05 -08:00
Jordan Atwood 541ad1e26d combatlevel: Clean up plugin code
This commit moves constants from the test to the overlay, and replaces
instances of magic numbers with them. It additionally fixes the odd
check in `correctPrayer()` and fixes some minor whitespace issues.
2018-12-31 10:40:26 -08:00
Jordan Atwood 665d7130c6 experiencedrop: Maintain active prayer per tick
This commit fixes the occasional issue of xp drops not being highlighted
while flicking prayer from the prayer menu; that is, before this commit
it was possible to select or deselect a prayer between xp drop widgets
being spawned, causing different highlighting for them. This commit
saves the active prayer at the beginning of each tick and uses that
tick's prayer for all widgets unhidden during that tick.

Fixes runelite/runelite#1280
Closes runelite/runelite#6679
2018-12-31 08:53:24 -08:00
Jordan Atwood 7b7a0018b0 timers plugin: Update SDMM teleblock handling
[Per the updates for the upcoming
seasonal](https://www.runescape.com/oldschool/deadman/season), similar
to previous tournaments:

> Teleblock will now last for 150 seconds, or for 75 seconds with Protect from Magic active.
2018-12-08 18:03:43 -08:00
Jordan Atwood 374df55e41 Handle Deadman Tournament world type in plugins 2018-12-08 18:03:43 -08:00
Jordan Atwood 716144ff87 Add DMM Tournament world type 2018-12-08 18:03:43 -08:00
Jordan Atwood 14a4eacee3 WorldType: Make PVP_WORLD_TYPES final 2018-12-08 17:49:00 -08:00
Jordan Atwood 072452625a timers: Correctly add freeze timer upon frozen while moving
When becoming affected by an ice spell, such as Ice Barrage, when moving
prior to the effect's start, the previous code had a subtle bug where
the freeze timer would be applied in the chat message subscriber, but
the `client` would update the player's position before the onGameTick
subscriber was executed, meaning any movement on the same tick the
player became frozen would be registered as "movement", thus removing
that timer.

This fix sidesteps that issue by also ensuring that the client's tick
is different than the freeze tick, since that value appears to remain
unmodified between execution of these two methods.

Fixes runelite/runelite#6658
2018-11-26 15:12:07 -08:00
Jordan Atwood 32942fd645 attack styles: Fix style hiding after autocast selection
In side stones view, going through the spell autocast selection process
will cause the combat widget to become unloaded and reloaded, rather
than triggering the previous code path where the widget would change
hidden state. This commit adds a second subscriber to handle this path
as well.

Fixes runelite/runelite#6557
2018-11-20 17:34:28 -08:00
Jordan Atwood f8d1ef1ba1 wasdcamera: Fix chat text color on transparent chatbox
Fixes runelite/runelite#6288
2018-11-04 13:06:37 -05:00
Jordan Atwood 7aa5654488 Add JagexColors constants file, update Color uses
Fixes runelite/runelite#4073
2018-11-04 13:06:12 -05:00
Jordan Atwood 0a5e7d4b4b inventory tags plugin: Use MenuManager
This patch updates the inventory tags plugin to utilize the MenuManager
util to better add menu options to the inventory tab.

Fixes runelite/runelite#6132
2018-11-01 17:02:19 -07:00
Jordan Atwood 0d79490f6d inventory tags plugin: clean up plugin code
This includes various code quality improvements such as stronger access
control and removing redundant code.
2018-11-01 17:02:02 -07:00
Jordan Atwood 058e0351e2 mta telekinetic room: Fix finish point comparison
Fixes runelite/runelite#5948
2018-10-21 11:49:24 -07:00
Jordan Atwood 8594cd4a93 slayer: Add combat bracelet task update handling
Fixes runelite/runelite#4473
2018-10-12 14:35:24 -07:00
Jordan Atwood d0464f71b4 GameEventManager: Simulate Actor spawn events 2018-10-12 10:37:49 -07:00
Jordan Atwood 3fd8252cb7 time tracking: Remove deprecated config migration
Fixes runelite/runelite#5882
2018-10-11 14:33:44 -07:00
Jordan Atwood b5f534f9fe mouse tooltips: Don't add a tooltip if another is present
VarClientInt(2) is set to `1` whenever a tooltip is present, meaning we
should never render a tooltip when it is set that way. Some menu options
(world map dungeon links) have a null widget associated with them, and
do not utilize the TOOLTIP_TIMEOUT VarClientInt, so this check is
necessary to avoid adding a duplicate tooltip.

Fixes runelite/runelite#3278
2018-10-07 14:38:21 -07:00
Jordan Atwood 72f4875b22 Revert "Truncate NPC name instead of subtitle in Loot Tracker (#5740)"
This reverts commit 78e6dee8d0.
2018-10-03 22:48:39 -07:00
Jordan Atwood 2ff7357cd3 agility plugin: Highlight Meiyerditch entrance obstacles
Ref:
https://user-images.githubusercontent.com/2199511/46381920-eb02f100-c697-11e8-8f93-c629053eaa2b.png
https://user-images.githubusercontent.com/2199511/46381921-eb02f100-c697-11e8-827d-15868fdc32ae.png
https://user-images.githubusercontent.com/2199511/46381922-eb02f100-c697-11e8-8539-09590bde517c.png
https://user-images.githubusercontent.com/2199511/46381923-eb9b8780-c697-11e8-8565-268d1da409e9.png
https://user-images.githubusercontent.com/2199511/46381924-eb9b8780-c697-11e8-9ec1-dfb21c5f1409.png

Closes runelite/runelite#5771
2018-10-02 16:06:43 -07:00
Jordan Atwood cd18bed7d9 world map plugin: Update fairy ring icon
This updates the fairy ring icon to more closely resemble existing
travel icons and be less busy-looking than the current "sparkly" icon.

Closes runelite/runelite#2940
2018-10-01 17:58:49 -07:00
Jordan Atwood 4d2a962f54 corp plugin: Fix settings description typo 2018-10-01 13:03:21 -07:00
Jordan Atwood f8e91a1e2f wasd camera plugin: Use ColorUtil functions 2018-10-01 12:58:05 -07:00
Jordan Atwood 7f8404e328 player indicators plugin: Use ColorUtil functions 2018-10-01 12:57:34 -07:00
Jordan Atwood 03c643a18b slayer plugin: Use boss pets as slayer icons 2018-09-24 16:53:13 -07:00
Jordan Atwood 20922aea9a slayer plugin: Add parsing for boss task assignments
Ref: https://user-images.githubusercontent.com/2199511/45984305-f9c22600-c04f-11e8-8cda-a8f4ab40e678.png
2018-09-24 16:05:55 -07:00