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 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.
This commit adds a quest completion dialog parsing method which gives
proper quest screenshot filenames for all quests, including those with
unique/non-uniform completion texts such as "You have Made Friends with
My Arm" and "You have rebuilt The Giant Dwarf".
Splits the RUNELITE menu action into two actions:
RUNELITE - general menu items.
RUNELITE_PLAYER - menu items which target a player and have its identifier set to a player index.
Then the player indicators plugin is changed to only decorate RUNELITE_PLAYER menu items.
Fixes the !pb command to account for the new OSRS update. This does not include team size based pb's, just your best overall pb
Also adds the ability to look at adventure log to check your cox pb's.
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.
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.
One master clue step requires the player to wear "any full barrows set."
Previously the emote clue logic for this step allowed only levels of
degradation from 0-100, but not the non-degraded item (whose item ID is
disjoint from the others).
Wrap those item range checks with an 'any' clause which also allows the
non-degraded item.
Add tests for degraded and non-degraded barrows sets.
Since all of the keys we remap to (f/arrow/escape keys) do not have
associated characters, consume key typed events for the characters
associated to the original key press event.
This fixes entering bank pins with fkey remapping on both entering your
pin and changing your inventory tab, due to the client processing the
tab change on key press (which is remapped) and the bank plugin
processing the pin input on key typed.