diff --git a/src/client/GameModeSelector.ts b/src/client/GameModeSelector.ts index a3693eccc..6cf39a873 100644 --- a/src/client/GameModeSelector.ts +++ b/src/client/GameModeSelector.ts @@ -153,30 +153,35 @@ export class GameModeSelector extends LitElement {
- - ${ffa + + ${special ? html`` - : nothing} + : ffa + ? html`` + : nothing} - - ${teams || special - ? html`` - : nothing} + + - + +
+ ${special ? this.renderSpecialLobbyCard(special) : nothing} +
${ffa ? this.renderLobbyCard(ffa, this.getLobbyTitle(ffa)) @@ -187,9 +192,6 @@ export class GameModeSelector extends LitElement { ? this.renderLobbyCard(teams, this.getLobbyTitle(teams)) : nothing}
-
- ${special ? this.renderSpecialLobbyCard(special) : nothing} -
diff --git a/src/server/MapPlaylist.ts b/src/server/MapPlaylist.ts index 2cd9e0280..bb37e0d3c 100644 --- a/src/server/MapPlaylist.ts +++ b/src/server/MapPlaylist.ts @@ -109,14 +109,14 @@ type ModifierKey = // Each entry represents one "ticket" in the pool. More tickets = higher chance of selection. const SPECIAL_MODIFIER_POOL: ModifierKey[] = [ - ...Array(8).fill("isRandomSpawn"), - ...Array(16).fill("isCompact"), - ...Array(3).fill("isCrowded"), // should be quite rare as it causes max-size lobbies - ...Array(1).fill("isHardNations"), // should be quite rare because it's just for the PvPvE enjoyers - ...Array(16).fill("startingGold"), - ...Array(4).fill("startingGoldHigh"), // should be quite rare because it's very crazy - ...Array(6).fill("goldMultiplier"), - ...Array(1).fill("isAlliancesDisabled"), // should be quite rare because it removes a key element of OpenFront + ...Array(4).fill("isRandomSpawn"), + ...Array(8).fill("isCompact"), + ...Array(1).fill("isCrowded"), + ...Array(1).fill("isHardNations"), + ...Array(8).fill("startingGold"), + ...Array(1).fill("startingGoldHigh"), + ...Array(1).fill("goldMultiplier"), + ...Array(1).fill("isAlliancesDisabled"), ]; // Modifiers that cannot be active at the same time. @@ -515,16 +515,16 @@ export class MapPlaylist { count?: number, countReduction: number = 0, ): PublicGameModifiers { - // Roll how many modifiers to pick: 40% → 1, 40% → 2, 15% → 3, 5% → 4 - const modifierCountRoll = Math.floor(Math.random() * 100) + 1; + // Roll how many modifiers to pick: 30% → 1, 40% → 2, 20% → 3, 10% → 4 + const modifierCountRoll = Math.floor(Math.random() * 10) + 1; const k = Math.max( 0, (count ?? - (modifierCountRoll <= 40 + (modifierCountRoll <= 3 ? 1 - : modifierCountRoll <= 80 + : modifierCountRoll <= 7 ? 2 - : modifierCountRoll <= 95 + : modifierCountRoll <= 9 ? 3 : 4)) - countReduction, );