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.
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>
This allows the other plugins which depend on the npc overaly to work
when npc highlight plugin is off, while still letting them use the
consistent highlight style of the central overlay.
The ChatPlayers do not implement equals or hashCode, making them
unsuitable as a hashmap key. Instead just use a linked list and compare
the members using the comparable interface.
turns out that thrall spells are seemingly the only arceuus spell with a
magic-level based duration that uses the boosted level, at least out of
the ones we have timers for
Setting the start time to null isn't necessary, since IN_MENU is marked
shouldRestart, it always resets the start time when the status is changed to
menu. This was clearing it, forcing a presence update, and then erroring when
trying to compute the original start time. It also would have never really unset,
even if it wasn't erroring later, due to IN_MENU also being unclearable, and
so would have never been removed in the first place.
Additionally the status reset test is also wrong since it is testing the end
timestamp which has never been used by us, making the test useless.
The non-items examine info has been broken for years, and the wiki already has item examines anyway, so we can use those in the future if we need them.