* Refactor combat level calculations to use closed-form formulas.
Also move most calculations to the Experience utility class.
Fixes#7411.
* Add new test for magic levels that barely reach the next combat level.
* Add another test that breaks on master.
- Add support fo specifying runelite.session.url java prop to be used
instead of RuneLite session base
- Add support fo specifying runelite.http-service.url java prop to be used
instead of RuneLite api base url
- Add support fo specifying runelite.ws.url java prop to be used
instead of RuneLite websocket url
- Add support for specifying runelite.static.url java prop to be used
instead of RuneLite s.r.n url
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Replaces various emoticons entered in public/friends/private chats with their corresponding emoji images.
Co-authored-by: Adam <Adam@sigterm.info>
Co-authored-by: Tomas Slusny <slusnucky@gmail.com>
Add more prayer level tests to expose a bug in which
needed prayer levels for next combat level was 0 instead of 2 in some
corner cases and implemented fixes.
For example: Let prayer level p be an odd number. The current combat level
is exactly same for p and p - 1. Therefore given n is the needed prayer
levels for a combat level with p - 1 prayer then n - 1 is the needed
prayer levels for a combal level with p prayer.
Further more the usage of Math.floor was incorrect in every cases so it is
changed to Math.ceil.
Add configurable option for on screen XP display mode, what now
includes:
- Actions done
- Actions left
- Xp gained
- Xp left
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
The server can resume party membership on handshake to parties other
than the current client party (eg. if the client is restarted or for any
other reason the current party changes). This desyncs otherwise if the
joins aren't checked to be in the current party.
Mark queued message type as non null because addChatMessage will throw
if it is. This was causing the client to get stuck trying to add the
same broken message each loop.
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.
Fixesrunelite/runelite#8806