The play_sfx() method incorrectly determines SFX looping based on the local player's currently selected character and emote (current_char, current_emote), rather than the appropriate data from the MS packet.
The sender hears correct SFX looping (their selected character matches the message), but other players hear incorrect looping based on their own selected character instead of the sender's.