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.
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.
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.
this should fix the following known bugs:
- putting a U+2019 in the config causes it to become corrupted and
~double in size every launch
- scripts become assembled incorrectly and the nbsp after your name in
the chatbox becomes incorrect
- the feed panel doesn't show emoji
It modifies various fields in the ui and should be running on edt.
Additionally add a clear listener to reset the search state when the
input is cleared.
This requires changing the hiscore client to be async so that the
response can be properly applied on the edt
The Discord invites requires the party size to be >0 for invites to work.
Previously this was not updating the presence with the 1 (local) member
after joining due to the plugin event handler running prior to the
service adding the member to the party.
This also changes the party id to always be null when not in a party instead of
set to the special local party id. This simplifies the checks in the
plugins trying to differentiate being in your own party vs not being in
a party.
This is for tracking miscellaneous data with the loot records, such as
npc id and skill levels, for the wiki drop log project.
Co-authored-by: Adam <Adam@sigterm.info>
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
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.
Collections.binarySearch() does not guarantee which element is found if
there are multiple that compare equal, leaving the order of infoboxes
not necessarily in insertion order. This was an unintended side effect of
ba9ffb1d60 and
406c2bc7db.
The correct way to compute ha price is floor(storePrice * 0.6f). This
was being computed incorrectly everywhere except for the bank plugin.
THis is now being computed centrally via the api.
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.
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.
Prior to this change, an amulet of chemistry creating potions of any
dose amount less than four (by using it when mixing one-dose Stamina
potions, for instance) would not have its charge count updated.