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.
As is the case with other graphics-based timers, the imbued heart timer
will not fire if other graphics animations are triggered (such as those
created when fighting the Dagannoth Kings). To add this timer more
reliably, this commit will add the timer when a Magic stat boost occurs
of the appropriate amount after recently clicking on an imbued heart.
Because the magic level boost, combined with an imbued heart click
check, is a reliable way to detect usage of an imbued heart, the
graphics check is removed.
The replaced message has no rl-format tags, and using the rl-format message causes it to lose color whenever the message node is refreshed due to not containing any rl-format tags