The main goal was improving the readability of the original code however some ugliness remains.
- Swapped from pointer singleton to instance singleton
- Actually make use of the alpha logic that used to be present
- Added a counter to notifications to indicate if something is being spammed
- Notification timeouts reset if they're sent to the queue again
1. Allow interloper_reaction to use timeout.
2. Fix crash reaction(except TSE) cannot use announce in chat.
3. Allow all friends to bypass auto kick spammers, modder flag and reactions.
Provides an alternative for users who experience this weird bug https://github.com/YimMenu/YimMenu/issues/2266 . They can just trust their friends until someone provides valuable information for developers to fix.
4. Allow trusting specific players (bypass auto kick spammers, modder flag and reactions).
5. Trust the whole session temporarily (Avoid team members being kicked when in mission).
6. Remove duplicate logs when blocking crash (except for TSE crash)
7. remove unused gamer_instruction_kick in reaction list
8. Allow announce in team only chat
* Spoofs your local name by using natives and writing to a single struct (couldn't spoof name in chat otherwise)
* Add tooltip to IP spoofing to mention that it may cause you to get dropped from a session while connecting
* Expanded explanation in spoofing section to include that spoofing is server-side and not client-side.
* Add force session host and update protections
* Remove old popgroup protection
* Harden script patcher
* Replace looped options with script patches
* Missing break
* Use enums
* Forgot to break again...
* Add tooltip for force session host
Co-authored-by: user <email@hostname>