mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 16:20:32 +00:00
990eba6134
## Description: ### 1. `SPECIAL_MODIFIER_POOL` rebalanced Ticket weights adjusted to roughly track the community "favorite modifier" poll <img width="486" height="724" alt="Screenshot 2026-05-11 210740" src="https://github.com/user-attachments/assets/bb1d2461-beb3-41c0-8d7b-b604db5fc033" /> - `isRandomSpawn`: 2 to 4 - `goldMultiplier`: 4 to 6 - `isWaterNukes`: 3 to 4 - `startingGold25M`: 1 to 3 - `startingGold5M`: 5 to 4 - `startingGold1M`: 3 to 2 ### 2. New `SPECIAL_TEAM_MAPS` config Replaces the hardcoded per-map branches in `getTeamCount` and `buildMapsList`. Each entry maps a `GameMapType` to its preferred `TeamCountConfig`. Shared constants: - `SPECIAL_TEAM_FORCE_CHANCE = 0.75` (probability of overriding the random team weights roll) - `SPECIAL_TEAM_FREQ_MULTIPLIER = 2` (frequency boost in the team playlist) Current entries: Baikal (2), FourIslands (4), Luna (2). Behavior preserved for the existing maps, but adding another special team map is now a one-line entry. ### 3. New `FULL_LAND_MAPS` config (TheBox, Alps) - Water nukes forced on 75% of the time in the special rotation (overrides `WATER_NUKES_BOOSTED_MAPS`, which still applies its 50% boost to FourIslands, Baikal, Luna, ArchipelagoSea). Because they make a lot of fun on these two maps. - The `isPortsDisabled` modifier is excluded unless water nukes is boosted on, since ports are pointless on full-land maps. Because this happened: <img width="516" height="292" alt="image" src="https://github.com/user-attachments/assets/cd9ce31d-25d0-4b35-a8ba-bb3ec1c02b70" /> ### 4. Misc - Renamed `frequency` constant to `FREQUENCY` for consistency with other module-level constants. ### 5. Exclude `isNukesDisabled` on special team maps in team mode On `SPECIAL_TEAM_MAPS` (FourIslands, Baikal, Luna) in team mode, the `isNukesDisabled` modifier is now excluded from the pool. Otherwise an extreme warship spam will follow. ## Please complete the following: - [X] I have added screenshots for all UI updates - [X] I process any text displayed to the user through translateText() and I've added it to the en.json file - [X] I have added relevant tests to the test directory - [X] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced ## Please put your Discord username so you can be contacted if a bug or regression is found: FloPinguin
Gatekeeper
Security module for botting, rate limiting, fingerprinting, etc.