- Add formatting functionality to `TestMessenger` and ensure consistency across methods - Define `SimpleMessageSubstitution` class to modify player messages, with event handling and setup for unregistration - Refactor `MessageModificationTest` to use new substitution classes, enhance test coverage and readability - Create `SimpleArgsSubstitution` class for modifying message arguments, and improve event handling clarity - Enhance `EventModifiedMessenger` with new methods and helper function, improve message broadcasting flexibility
TTT
TTT (Trouble in Terrorist Town) is a game mode similar to Among Us where a group of players are attempting to survive while eliminating the traitors among them.
Features
- Unit Testing
- Basic Gameplay
- Traitors
- Detectives
- Innocents
- Shop
- Karma
- Statistics
Versioning
This project adheres to Semantic Versioning 2.0.0. The versioning scheme consists of three components:
- MAJOR version indicates incompatible API changes,
- MINOR version signifies the addition of functionality in a backwards-compatible manner, and
- PATCH version reflects backwards-compatible bug fixes.
Modules
TTT
You likely want to read the TTT README, which covers the structure of its own directory.
Versioning
To allow for MSBuild.GitVersion to be used on both Windows and Linux (specifically NixOS), this project manually
converts dotnet-gitversion to the GitVersionInformation that is used.
Locale
Due to this project being primarily developed with Counter-Strike 2 (and more specifically, CounterStrikeSharp) in mind, localization has been built with flat-file storage based around YML/JSON.
In short, we write our locales in en.yml, run Locale.csproj to convert and combine all **/Lang/en.yml -> a master
lang/en.json, and then run our tests / release pipeliens with it.
It is recommend to read the Locale README for more information on how to use it.
Development
git clone ...dotnet restoredotnet build- Convert all
lang/en.yml->lang/en.json(Required for testing, refer to Locale) dotnet test(Optional)