Discord avatarId can contain underscores when the image is animated (it
has prefix a_ when that happens).
Fixes#14594
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This allows different final messages being built for split chat vs
normal chat, fixing <colNORMAL> incorrectly applying the default chatbox
color to split chat.
Searching the replacement isn't necessary since it won't ever have any
additional col tags except for the ones identified by getLastColor, which
would be identified even when searching the original message. Instead,
just search the original message up to and including the match.
This was an issue with multiple name matches, since it was applying the
replacement with its close color to all matches, even though only
scanning the message for the last color up until the first match
It is possible a clientscript can update the energy in between the last
game tick and the current frame, causing the text to flicker between run
energy and our replacement. This just sets the text before each frame.
if you started 2 clients with different configs at the same time one
client could delete files out from under the other while it was trying
to load them, causing them to fail to load
The quest icons are also loaded on world map open, so all this has to do is
load the icons if the player is logged in with the map open at the time the
plugin is started.
This has not worked in the past, since the Examine option is not an inventory
action and so cannot ever be shift-click swapped, and causes a crash now if
set due to it subtracting the Examine menu op from ITEM_FIRST_OPTION.
This was queueing potentially multiple tasks if the config was changed on the
login screen, all waiting for the player to be logged in. Instead, use the game
state change event to load the icons.