Commit Graph
100 Commits
Author SHA1 Message Date
Jordan Atwood 1efdf4a6fd cluescrolls: Add X Marks The Spot quest solutions 2021-10-04 12:26:32 -04:00
Jordan Atwood bb7cd404a7 chat colors: Add engine message recoloring 2021-10-01 11:24:29 -07:00
Jordan Atwood ac8f778307 skill calculator: Add ItemSkillAction interface
This interface allows for drastically simplified skill actions, allowing
us to eschew their name entries in favor of looking up the item name
using the items' compositions (fetched from their IDs) at runtime.
2021-09-28 22:05:00 -04:00
Jordan Atwood 7b678b2afb skill calculator: Define actions and bonuses in Java
As the number of bonus types increases, the existing system of allowing
only a single type of bonus to be applied, and only allowing actions to
entirely opt out of having bonuses applied rather than more fine-grained
control, is showing its age. This commit redefines all bonus and action
entries in Java enums so that such systems can be better-defined.
Additionally, it comes with the benefit of easier change validation via
testing and enabling item and sprite ID referencing via runelite-api.
2021-09-28 22:05:00 -04:00
Jordan Atwood 6428a7af4f skill calculator: Code cleanup 2021-09-28 22:05:00 -04:00
Jordan Atwood 763db213a2 skybox: Show surface color while in Prifddinas 2021-09-19 15:10:12 -04:00
Jordan Atwood d27f5f9a76 api: Add getMirrorPoint to WorldPoint API 2021-09-19 15:10:12 -04:00
Jordan Atwood 847c44c44c status bars: Clean up rendering code 2021-09-16 15:35:49 -07:00
Jordan Atwood 3c009c8f54 status bars: Fix left bar Y offset
Due to an apparent typo, the wrong value was being referenced for the
left bar's Y offset specifically for the resizable viewport with bottom
line interfaces. This commit fixes this reference and the associated
value.
2021-09-16 15:35:49 -07:00
Jordan Atwood b1d5fa32a4 client: Support POH treasure chest inventory overlays 2021-09-14 21:34:35 -07:00
Jordan Atwood 006fd8c864 widgets: Add POH treasure chest widget IDs 2021-09-14 21:34:29 -07:00
d58cecdb8d idle notifier: Support filling water vessels, Shades of Mort'ton
LOOKING_INTO is a generic animation used for numerous activities, and
was previously used as an intermediate animation in a test case. Now
that it is used to trigger idle notifications, a dummy animation has
been inserted to ensure the affected test case will not be broken in the
same way in the future.

Co-authored-by: Nick Wolff <nickwolff2@gmail.com>
Co-authored-by: Arnaud Peralta <arnaud.peralta@gmail.com>
2021-09-13 23:33:03 -07:00
Jordan Atwood faf9e94a70 roof removal: Fix Ardougne monastery 2021-08-24 08:43:25 -07:00
Jordan Atwood 5df5abd50d clues: Support combat achievement slayer helms 2021-08-18 19:58:04 -04:00
Jordan Atwood 42d27d6786 slayer: Support combat achievement slayer helms 2021-08-18 19:58:04 -04:00
Jordan Atwood 1d870b3308 ItemMapping: Add combat achievement rewards variations 2021-08-18 19:58:04 -04:00
Jordan Atwood c1ad57b785 Revert "XpInfoBox: Give stats panel equal column widths"
This reverts commit e57f6d0d6e.
2021-07-23 19:22:19 -07:00
Jordan Atwood c64cb8e5f5 roof removal: Add overrides for Keldagrim 2021-07-20 16:34:34 -07:00
Jordan Atwood f07ae7ac9f roof removal: Fix and expand gnome stronghold overrides 2021-07-13 21:24:20 -07:00
Jordan Atwood 65563b595a CoordinateClue: Fix Isle of Souls enemies
The Isle of Souls only spawns an Armadylean guard at the western
location, and a Bandosian guard at the eastern location.
2021-07-13 19:48:54 -07:00
Jordan Atwood 583794a26a CoordinateClue: Fix Crabclaw isle location 2021-07-13 13:48:55 -07:00
Jordan Atwood 1ea92b03ef Remove unused Slf4j annotations and imports 2021-07-12 00:49:16 -07:00
Jordan Atwood 95f481a5ca discord: Identify corrupted gauntlet separately 2021-07-08 00:03:29 -07:00
Jordan Atwood c5e05889d8 CoordinateClue: Add South of Shayziens' Wall clue 2021-07-04 21:28:23 -07:00
Jordan Atwood a191600ac5 EmoteClue: Fix Shayzien war tent clue text 2021-06-22 20:41:42 -07:00
Jordan Atwood fc5d9745f5 agility: Fix Shayzien basic course total xp
The final obstacle of the Shayzien basic course grants 92.2xp, not a
flat 92.
2021-06-21 14:27:17 -07:00
Jordan Atwood b7cbdcdf51 clues: Fix clues changed with A Kingdom Divided update 2021-06-20 11:21:50 -04:00
Jordan Atwood ae9b7aee6b clues: Add new A Kingdom Divided update clues 2021-06-20 11:21:50 -04:00
Jordan Atwood da38684cac clues: Update and add clues for 6/16 Shayzien rework 2021-06-16 04:01:15 -06:00
Jordan Atwood fecd65e7e5 object indicators: add configurable border width 2021-06-14 22:44:44 -07:00
Jordan Atwood c60d714832 HotColdLocation: Add clue type field 2021-06-12 13:20:28 -04:00
Jordan Atwood d69a5ddd8b status bars: Add counter text drop shadow
This drop shadow was present prior to the plugin refactor in
1165780f42 which erroneously removed it.
2021-06-06 15:53:59 -04:00
Jordan Atwood 70dc7f56bc clues: Fix three step cryptic clue getLocations NPE
Prior to this commit, ThreeStepCrypticClue simply returned a
concatenation of the active step locations without filtering the mapped
locations in any way. This could lead to NPEs in the plugin as some
cryptic clues have null locations for steps which have no specific
location or have a variable location. This commit addresses this by
making CrypticClue's location field `@Nullable`, filtering null
locations from ThreeStepCrypticClue's getLocations stream, and by adding
a test to ensure ThreeStepCrypticClue's getLocations method cannot yield
any null entries in its return value.
2021-06-05 17:53:17 -04:00
Jordan Atwood b1dd93bb0b item identification plugin: Add item mapping test
This will ensure any ImmutableMap building errors are caught at test
time rather than at runtime.
2021-06-01 16:35:51 -04:00
Jordan Atwood 25ec5a7c5c ProgressBar: Fix center label centering
BorderLayout does not guarantee equal sizing of its children, so having
a component centered between two components of unequal sizes will leave
it centered relative to their sizes, such as the following:

```
|-----BorderLayout-------------------------------------------|
||----WEST----||------CENTER------||----------EAST----------||
||------------||------------------||------------------------||
|------------------------------------------------------------|
```

Conversely, GridLayout uses fixed, equal-width columns for its children,
ensuring the center component will always occupy the center third of the
parent's dimensions.

P.S. This change causes labels to truncate earlier as they do not expand
beyond a third of the parent container's dimensions. Because the use
case for this component is with small labels, I do not anticipate this
will cause breakage.
2021-06-01 12:15:49 -04:00
Jordan Atwood e57f6d0d6e XpInfoBox: Give stats panel equal column widths 2021-06-01 11:02:55 -04:00
Jordan Atwood 502895979d menu manager: add menu entries in insert order 2021-05-04 13:50:40 -04:00
Jordan Atwood e6d45bd67a HotColdLocation: Fix Seers' Village bank spot
Ref: #9601
2021-05-02 22:58:27 -07:00
Jordan Atwood 36ec314ab7 Revert "opponentinfo: Show health bar of actors attacking the player"
This reverts commit 48ea01dd28.
2021-03-09 21:30:58 -08:00
Jordan Atwood d26e3ec7b2 opponent info: Add simple interaction tests 2021-03-04 18:52:32 -05:00
Jordan Atwood bd67d82bbb Widget: Mark getChildren() as nullable 2021-02-27 10:54:29 -05:00
Jordan Atwood 7c59815869 npchighlight: Apply correct highlights to changed NPCs 2021-02-27 10:44:21 -05:00
Jordan Atwood e8fd08fa41 client: Remove shaded jar minimizing
After the addition of runelite-jshell, some of its dependencies are not
preserved during jar minimization, causing the shell dev tool to fail on
some systems. This change ensures all dependencies are preserved in the
resulting shaded jar. This change results in a roughly 2Mb larger output
shaded jar.
2021-02-26 19:05:20 -05:00
Jordan Atwood 11f32eb5ce HotColdLocation: Center some location spots
Center some hot-cold locations as reported and verified from the mega\
issue.

Ref: runelite/runelite#9601
2021-02-24 21:17:32 -08:00
Jordan Atwood 50c39164b7 item identification: Fix duplicate tree seed entries 2021-02-20 19:25:53 -08:00
Jordan Atwood d716503c04 menu entry swapper config: Fix formatting from previous commit 2021-02-20 15:03:06 -08:00
Jordan Atwood c92f835102 timers plugin: Improve imbued heart detection
As is the case with other graphics-based timers, the imbued heart timer
will not fire if other graphics animations are triggered (such as those
created when fighting the Dagannoth Kings). To add this timer more
reliably, this commit will add the timer when a Magic stat boost occurs
of the appropriate amount after recently clicking on an imbued heart.
Because the magic level boost, combined with an imbued heart click
check, is a reliable way to detect usage of an imbued heart, the
graphics check is removed.
2021-02-15 13:09:54 -05:00
Jordan Atwood 2cdfdf0284 cluescrolls: Re-check named object highlights after hopping 2021-02-13 13:35:25 -05:00
Jordan Atwood 0fa078d8f1 notifier: Add username to tray notification title
This also removes the player's ingame name from notifications which are
referring to the active player in favor of the title.
2021-02-13 10:36:12 -05:00
Jordan Atwood fadfc15cd0 cluescrolls: Fix beginner/master clue step reset
Commit 36bb7c8401 improved the clue scroll
plugin by resetting the active clue step when a beginner or master clue
item was displayed in the chat dialog when receiving a new step. This
commit caused a new bug, however, in that it became possible to click on
a new clue step while the new step dialog was open such that the new
step dialog persisted through a GameTick due to client-server delay,
causing the saved clue item ID to be lost. This commit fixes that issue
by resetting only the active clue object, but not the recorded clue item
ID, as beginner and master clues only use a single item ID.
2021-02-13 10:30:33 -05:00
Jordan Atwood aa6ac7cbc0 clues: Add Isle of Souls coordinate clues 2021-02-05 12:16:32 -05:00
Jordan Atwood bbfa08f8b7 MenuOptionClicked: Add selectedItemIndex field 2021-02-02 22:58:41 -05:00
Jordan Atwood e5ccde56ed HotColdLocation: Fix Pirates' Cove spot
Ref: #9601
2021-01-11 15:53:11 -08:00
Jordan Atwood 1f95987d1a ChatboxTextInput: Improve open selection left/right handling
Previously, when pressing left or right without Shift pressed, the
cursor would end up one character left or right of the start of the
selection, which is not expected behavior compared to how most programs
handle this case. This commit changes this behavior to place the cursor
at the start or end of the selection when pressing left or right,
respectively, when a selection is active.
2021-01-07 15:06:53 -08:00
Jordan Atwood ed1d47f283 ChatboxTextInput: Select full message on ctrl+a 2021-01-07 14:13:51 -08:00
Jordan Atwood ccc40e3eb4 Add support for trailblazer kit rewards 2021-01-07 13:55:43 -08:00
Jordan Atwood 7c98afb173 AnimationID: Remove incorrect trailblazer harpoon entry
This animation is not used for harpooning. It appears to be some kind of
obscure trailblazer mining animation.
2021-01-07 12:57:56 -08:00
Jordan Atwood ead554e23b itemstats: Add Darkmeyer foods 2020-12-31 12:39:50 -05:00
Jordan Atwood cb31e1ddd4 timers: Fix leagues area teleport bug
Teleporting using a trailblazer leagues area teleport previously caused
a home or minigame teleport timer to be created, depending on which of
the two was most recently stored as `lastTeleportClicked`. To avoid
this, a new TeleportWidget has been registered which does not follow any
code paths in the plugin.
2020-11-13 14:31:22 -05:00
Jordan Atwood 9479b23229 devtools: Render world map location above region overlay 2020-10-24 21:30:42 -07:00
Jordan Atwood 5e2946024b nightmarezone: Set absorption notification var on startup 2020-10-24 17:54:08 -07:00
Jordan Atwood 842749fe15 Move heart sprite recolors to public package 2020-10-24 06:08:28 +02:00
Jordan Atwood d0589c80b9 kourendlibrary: Don't reset state when not finding Varlamore Envoy
The Varlamore Envoy is a quest item which, while having a known location
in the library once a rotation is determined, cannot be found under
certain circumstances. (when the Depths of Despair quest has not been
started, has been collected while completing the quest, and after the
quest is completed) Previously searching a bookcase which could contain
this book and not finding it would cause a state reset. This commit
keeps those null finds from resetting the known library state.
2020-10-08 14:09:06 -07:00
Jordan Atwood d9876976d6 util: Remove unused and unneeded methods
ImageUtil had previously provided a number of image fill and outline
methods which accepted Predicates to control the fill and outline
behavior, but they are not used anywhere in the client or by external
plugins. This commit removes these methods and the
is(Not)?FullyTransparent ColorUtil methods which existed solely as
Predicate defaults for them.
2020-10-03 12:06:52 -04:00
Jordan Atwood 32638ccf63 KeyManager: Add debug logging
We receive numerous support queries regarding unknown or errantly-set
keybinds causing issues during normal gameplay for our users, especially
since the plugin hub has been released and more plugins are able to
register keybinds. This commit adds logging for keybind registration and
activation for ease of troubleshooting.
2020-10-01 18:31:12 -04:00
Jordan Atwood e4fe839efe EmoteClue: Fix Infernal max cape item ID
Two infernal max cape items exist: one being the item which players can
use, and another presumably being the item displayed in the dialog shown
when combining a max cape and an infernal cape. `INFERNAL_MAX_CAPE` is
the definition for the latter cape, and `INFERNAL_MAX_CAPE_21285` is the
real item players would have.
2020-09-14 17:17:30 -07:00
Jordan Atwood 754fbf2b13 HotColdLocation: Center some location spots
Center some hot-cold locations as reported and verified from the mega
issue.

Ref: runelite/runelite#9601
2020-09-13 09:57:34 -07:00
Jordan Atwood a0acbb0f7b Move Experience tests to proper test class 2020-09-08 17:27:52 -07:00
Jordan Atwood a6628564f8 banktags: Don't lose scroll position when hiding separators 2020-09-07 00:40:24 -07:00
Jordan Atwood d1a765091a screenshot: Fix BA high gamble toggle
Because both level up dialogs and BA high gambles use the same widget
interface, commit 40f032bede caused BA
high gambles and some level up dialogs to trigger screenshots if either
config was enabled in the config, as that would set a flag to capture a
screenshot on the next game tick based on the widget text. This commit
adds config checks to the DIALOG_SPRITE_TEXT branch to ensure the
appropriate config flag must be set for a screenshot to be captured.
2020-08-30 13:14:06 -04:00
Jordan Atwood fb47850686 ItemIdentification: Fix target teleport definition 2020-08-24 13:11:57 -07:00
Jordan Atwood c9ef18b55e menuentryswapper: Prefer last-destination on Zanaris fairy ring 2020-08-21 16:10:47 -04:00
Jordan Atwood 105046b2f5 HotColdLocation: Fix Mos Le'Harmless southern bar spot
Ref: #9601
2020-08-15 18:31:33 -07:00
Jordan Atwood b16b3a8017 slayer: Fix slaughter bracelet proc text
After the 2020-08-06 game update[1] the Bracelet of slaughter gives a
slightly different text than before. This commit updates the slayer
plugin to identify that new text.

[1]: https://secure.runescape.com/m=news/pvp-changes?oldschool=1
2020-08-07 12:35:51 -04:00
Jordan Atwood 73b73a84c5 HotColdLocation: Center some location spots
Center some hot-cold locations as reported and verified from the mega
issue.

Ref: runelite/runelite#9601
2020-08-04 21:07:34 -07:00
Jordan Atwood 6bac3e81b8 OverlayRenderer: Fix overlay resizing logic
Prior to this commit, reducing the size of an overlay not attached to an
anchor point using the north or west edges and corners such that its
dimensions would be below the minimum overlay size would push that
overlay in that direction as it was dragged. This commit updates the
overlay resize logic to prevent "pushing" overlays when trying to reduce
the width or height below the overlay's minimum size.
2020-07-24 20:50:31 +02:00
Jordan Atwood 468d0a7967 EmoteClue: Specify uncharged glory amulet when needed 2020-07-16 00:35:52 -07:00
Jordan Atwood 16c78630fb xpdrops: Fix white xp drop text recolors
Selecting #FFFFFF as a prayer color yields an RGB value of -1. Since all
values will be negative numbers, 0 should be used as an "unset" value
instead.
2020-07-11 15:30:16 -07:00
Jordan Atwood cb4b7d42ea KeyListener: Add isEnabledOnLoginScreen() method
This commit moves login screen handling out of the KeyManager into the
KeyListener interface so it does not need any knowledge of
HotkeyListener's implementation.
2020-07-10 18:46:22 -04:00
Jordan Atwood 349efebd58 keyremapping: Remove vestigial LOGIN_SCREEN guard clause
Key remaps have been blocked at the KeyManager level as of commit
01bdbe5aab, so a LOGIN_SCREEN game state
check is no longer needed within individual KeyListeners.
2020-07-06 22:12:13 -07:00
Jordan Atwood 36e86c6619 TextComponent: Draw outline using one axis offset at a time
This commit prevents fonts with thin and angled glyphs from having gaps
between the characters and their outline by offsetting outline draws in
one direction exclusively.

(cherry picked from commit 8d1f028758)
2020-06-26 22:28:47 +02:00
Jordan Atwood e3056b8000 AnagramClue: Fix Cam the Camel elite step text 2020-06-26 00:13:51 -07:00
Jordan Atwood 7a500ebf1e widgets: Fix resizable minimap container ID
This also removes some unused and possibly outdated WidgetInfo entries
relating to resizable minimaps.
2020-06-25 10:10:52 -07:00
Jordan Atwood 8d1f028758 TextComponent: Draw outline using one axis offset at a time
This commit prevents fonts with thin and angled glyphs from having gaps
between the characters and their outline by offsetting outline draws in
one direction exclusively.
2020-06-24 21:01:34 -07:00
Jordan Atwood 6ccaf8876c bank plugin: Remove ContainerCalculation class
This commit removes the hashing feature from container calculation which
alone would make obsolete the ContainerCalculation class, so it
additionally inlines the `calculate()` method into the plugin class.

Additionally, this commit adds null handling for the items parameter of
`calculate()` to prevent NPEs.
2020-06-24 17:28:47 -07:00
Jordan Atwood 99afd3e0b7 ClientUI: Fix panel toggle after closing with click
This commit ensures the previously-active plugin panel can be reopened
with the plugin panel toggle hotkey after being closed via mouse click.
2020-06-24 17:01:52 -07:00
Jordan Atwood db917454e8 menuentryswapper: Fix birdhouse swap 2020-06-24 18:07:44 -04:00
Jordan Atwood 1dbf432377 slayer: Update initial amount if current amount is higher
Prior to this commit it was possible to receive a change or update in
task by playing on mobile or another client, log back in to RuneLite
with incorrect task information saved to config and, once updated via
checking a slayer gem or speaking with a slayer master, having a task
amount greater than the saved initial task length. This updates the
plugin to use the greater of these numbers so that case is no longer
possible.
2020-06-24 14:56:35 -07:00
Jordan Atwood b17ef5615b discord: Add Darkmeyer and Hallowed Sepulchre minigame 2020-06-23 23:30:33 -07:00
Jordan Atwood 1a7014a0f2 SkillChallengeClue: Fix "Mine a mithril ore" step 2020-06-23 16:18:51 -07:00
Jordan Atwood e4c818d4a5 worldmap: Add Daeyalt essence mine tooltip 2020-06-21 15:59:38 -07:00
Jordan Atwood 2ad0ea80dc worldmap: Add Drakan's medallion teleport locations 2020-06-21 15:59:37 -07:00
Jordan Atwood 8822ae0afd HotColdLocation: Center some location spots
Center some hot-cold locations as reported and verified from the mega
issue.

Ref: runelite/runelite#9601
2020-06-15 00:49:46 -07:00
Jordan Atwood fd517da9d4 HotColdLocation: Add new Darkmeyer master step
See: runelite/runelite#11713
2020-06-15 00:45:44 -07:00
Jordan Atwood b6204d0a44 ConfigPanel: Fix checkstyle violation 2020-06-10 10:53:03 -07:00
Jordan Atwood 4b4720751c infoboxmanager: Test infoboxes with same plugin and priority
See: 406c2bc7db
2020-06-09 12:51:01 -04:00
Jordan Atwood c2a9ac443b client: Simplify ItemContainer usage
Because itemManager#getItemPrice() canonicalizes the passed item ID, it
is no longer necessary to get noted items' base IDs or otherwise
canonicalize item IDs before interacting with the method.
2020-05-23 16:22:29 -04:00
Jordan Atwood f9d3647db1 itemmanager: Canonicalize price lookup item IDs 2020-05-23 16:22:29 -04:00
Jordan Atwood 39a2407b71 examine: Move price lookups off executor
Historically price lookup was done by sending a web request on price
lookups, which required calls to be done on an executor. As of
a1ae397e11, client prices are loaded periodically and cached, thus no
longer imposing any thread requirement on price lookup.
2020-05-23 16:22:29 -04:00
Jordan Atwood 116e1a0090 loot tracker: Use "an" prefix for monster names starting with vowels 2020-05-23 13:35:00 -04:00