v9.0.0-preview.1
Pre-release
Pre-release
MrDave1999
released this
22 Sep 18:20
·
429 commits
to dev
since this release
What's Changed
- Refactor (globals namespaces and file scoped namespaces) by @Ts-Pytham in #11
- restruct: Create new project structure by @MrDave1999 in #12
- cleanup: Remove Domain Project by @MrDave1999 in #13
- Implement the Result pattern by @MrDave1999 in #14
- Create resource file to save messages by @MrDave1999 in #15
- feat: Create the rank module by @MrDave1999 in #16
- ci: Create workflow by @MrDave1999 in #17
- feat: Create the weapon module by @MrDave1999 in #18
- feat: Create the account module by @MrDave1999 in #19
- feat: Get rank by required kills by @MrDave1999 in #20
- feat: Verify if a player has a lower role than X by @MrDave1999 in #21
- feat: Create the flag module by @MrDave1999 in #22
- refactor: Use ShowAsync instead of Show by @MrDave1999 in #23
- test: Use FakeCarrier in the tests by @MrDave1999 in #24
- feat: Create the Teams module by @MrDave1999 in #25
- test: Add missing tests to PlayerStatsPerRound type by @MrDave1999 in #26
- feat: Allow to set the team from the PlayerInfo type by @MrDave1999 in #27
- refactor: Convert types to public from the application layer by @MrDave1999 in #28
- feat: Check if the player has captured the opposing team's flag by @MrDave1999 in #29
- feat: Check if the player has not been assigned to a team by @MrDave1999 in #30
- BREAKING CHANGE: Remove AccountStatus type by @MrDave1999 in #31
- BREAKING CHANGE: Rename the property that gets the number of elements in a collection by @MrDave1999 in #32
- test: Use parameterized tests on types such as RankCollection and GtaWeaponsTests by @MrDave1999 in #33
- feat: Create the Maps module by @MrDave1999 in #34
- feat: Set the flag location of both teams (Alpha and Beta) by @MrDave1999 in #35
- feat: Create IPlayerRepository interface by @MrDave1999 in #36
- feat: Create a project called Persistence.InMemory by @MrDave1999 in #37
- feat: Choose database provider from a configuration file by @MrDave1999 in #38
- feat: Add service to encrypt passwords with bcrypt by @MrDave1999 in #39
- feat: Add support for streamer by @MrDave1999 in #40
- feat: Inject IPasswordHasher to encrypt passwords from FakePlayerRepository by @MrDave1999 in #41
- refactor: Rename property to PasswordHash in FakePlayer class by @MrDave1999 in #42
- test: Create unit tests for the SetValue method by @MrDave1999 in #43
- feat: Add login and signup system by @MrDave1999 in #44
- fix: Remove private field called
_connectedPlayer
from AccountSystem by @MrDave1999 in #45 - feat: Validate whether the player can move up in rank when killing a player by @MrDave1999 in #46
- feat: Add team sounds via OpenDrive to generate mp3 links by @MrDave1999 in #47
- feat: Execute the native function
gettime
from C# code by @MrDave1999 in #48 - feat: Add a command to show player statistics by @MrDave1999 in #49
- feat: Allow the player to change their name by @MrDave1999 in #50
- feat: Add support for auto-increment IDs in InMemoryDb provider by @MrDave1999 in #51
- feat: Allow the player to change their password by @MrDave1999 in #52
- BREAKING CHANGE: Remove 'EntityId' property from 'PlayerInfo' class by @MrDave1999 in #53
- feat: Add combos system by @MrDave1999 in #54
- refactor: Use GetInfo method instead of GetComponent by @MrDave1999 in #55
- fix!: Fix misspelling of SatchelChargesAmour and MolotovAmour by @MrDave1999 in #56
- refactor: Initialize dialog object in constructor to reduce memory allocations by @MrDave1999 in #57
- BREAKING CHANGE: Use ICombo interface instead of IBenefit by @MrDave1999 in #58
- feat!: Add new combos that improve the player's health and armour by @MrDave1999 in #60
- fix: Set new ammo to FlameThrower by @MrDave1999 in #61
- refactor: Improve test names by @MrDave1999 in #62
- feat: Implement class for upgrading player's rank by @MrDave1999 in #63
- feat: Implement killing spree system by @MrDave1999 in #64
- feat!: Update player's rank from the accounts module by @MrDave1999 in #65
- feat: Implement a service to create pickups for each team (Alpha and Beta) by @MrDave1999 in #66
- feat: Implement a service to create icons for each team (Alpha and Beta) by @MrDave1999 in #67
- feat: Enable team selection in class selection screen by @MrDave1999 in #68
- feat: Implement player spawn system by @MrDave1999 in #69
- BREAKING CHANGE: Rename class to PlayerDeathSystem by @MrDave1999 in #70
- fix: Add/remove players when spawned or disconnected by @MrDave1999 in #71
- fix: Verify if the entered password is null by @MrDave1999 in #72
- fix: Prevent the player from returning to class selection after death by @MrDave1999 in #73
- BREAKING CHANGE: Rename method to EnableClassSelection by @MrDave1999 in #74
- BREAKING CHANGE: Rename method to DisableClassSelection by @MrDave1999 in #75
- test: Add tests for flag counters by @MrDave1999 in #76
- Update team icons to Colored Square/Triangle by @MrDave1999 in #77
- feat: Load SA-MP server info from configuration file by @MrDave1999 in #78
- feat: Add textdraws to class selection screen by @MrDave1999 in #79
- feat: Create class selection module by @MrDave1999 in #80
- fix: Fix bug with outdated map information due to singleton registration by @MrDave1999 in #81
- feat: Update player's last connection when disconnected by @MrDave1999 in #82
- feat: Implement headshot system by @MrDave1999 in #83
- feat: Implement team text draw renderer by @MrDave1999 in #84
- feat: Implement map text draw renderer by @MrDave1999 in #85
- BREAKING CHANGE: Add “Renderer” suffix to follow project convention by @MrDave1999 in #86
- restruct: Move 'ClassSelection' submodule to 'Teams' for better organization by @MrDave1999 in #87
- refactor: Create 'ServiceCollectionExtensions' for Players and Maps modules by @MrDave1999 in #88
- BREAKING CHANGE: Minimize GameModeInit class dependencies by @MrDave1999 in #89
- feat: Implement a map rotation system by @MrDave1999 in #90
- BREAKING CHANGE: Increase map load time to 10 seconds by @MrDave1999 in #91
- BREAKING CHANGE: Inject an argument of type TimeLeft instead of a string by @MrDave1999 in #92
- BREAKING CHANGE: Modify UpdateMapName to accept a CurrentMap type argument by @MrDave1999 in #93
- feat: Allow moderators to set the time left by @MrDave1999 in #94
- test: Add new test cases for the 'HasLowerRoleThan' method by @MrDave1999 in #95
- feat: Allow moderators to change the map by @MrDave1999 in #96
- feat: Allow moderators to start/stop the map rotation timer by @MrDave1999 in #97
- BREAKING CHANGE: Rename rotation methods to clarify timer functionality by @MrDave1999 in #98
- feat: Reset player position to (0,0,0) if current map matches next map by @MrDave1999 in #99
- refactor: Fail fast when a player disconnects while the dialog is open by @MrDave1999 in #100
- fix: Avoid exception when player disconnects while dialog is open by @MrDave1999 in #101
- feat: Play intro music in class selection by @MrDave1999 in #102
- feat: Implement the main mechanics for Capture the Flag mode by @MrDave1999 in #103
- refactor: Use inferred member names by @MrDave1999 in #104
- refactor!: Rename property to IsFlagAtBasePosition for clarity in flag location by @MrDave1999 in #105
- refactor!: Rename enum member to BasePosition for better reflect its purpose by @MrDave1999 in #106
- feat!: Allow moderators to increase the round time up to 60 minutes by @MrDave1999 in #107
- feat: Implement a timer to apply automatic flag return by @MrDave1999 in #108
New Contributors
- @Ts-Pytham made their first contribution in #11
Full Changelog: 8.0.1...v9.0.0-preview.1