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.
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.
FriendsChatManager predates the api having an ability to look up clan
members by name, without doing string matching, hence the caching. This
is no longer necessary as we can do efficient lookups of players by name
now.
Also remove the old isMember utility function which is just duplicated
from the friends chat manager.
This looks at the worn items and matches them to known items with
charges, instead of checking the worn items for each known item with
charges. Additionally it associates guthix rest to potions, because
previously they did not have a config option, and adds an infobox for
the chronicle.
This allows the config value for friends chat notifications to just
default to null, allowing plugins to detect whether or not we want to
override the default color for friends chat notification messages.