From e9e2f06d69c6ca5a3d4e33b147a67434d537095d Mon Sep 17 00:00:00 2001 From: FloPinguin <25036848+FloPinguin@users.noreply.github.com> Date: Tue, 20 Jan 2026 19:43:48 +0100 Subject: [PATCH] =?UTF-8?q?Humans=20are=20severely=20skill=20issued=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F=20Change=20HvN=20difficulty=20to=20Medium=20?= =?UTF-8?q?(#2971)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description: For v29 HvN winrate is between 10 and 15%, but should be around 50%. 1. Change HvN difficulty to Medium 2. Little balance change in `NationAllianceBehavior` ## 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 --- src/core/execution/nation/NationAllianceBehavior.ts | 8 ++++---- src/server/MapPlaylist.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core/execution/nation/NationAllianceBehavior.ts b/src/core/execution/nation/NationAllianceBehavior.ts index cbf78304b..5743b6d67 100644 --- a/src/core/execution/nation/NationAllianceBehavior.ts +++ b/src/core/execution/nation/NationAllianceBehavior.ts @@ -240,13 +240,13 @@ export class NationAllianceBehavior { const { difficulty } = this.game.config().gameConfig(); switch (difficulty) { case Difficulty.Easy: - return false; // 0% chance to reject on easy + return this.random.nextInt(0, 100) < 25; // 25% chance to reject on easy case Difficulty.Medium: - return this.random.nextInt(0, 100) < 20; // 20% chance to reject on medium + return this.random.nextInt(0, 100) < 50; // 50% chance to reject on medium case Difficulty.Hard: - return this.random.nextInt(0, 100) < 40; // 40% chance to reject on hard + return this.random.nextInt(0, 100) < 75; // 75% chance to reject on hard case Difficulty.Impossible: - return this.random.nextInt(0, 100) < 60; // 60% chance to reject on impossible + return true; // 100% chance to reject on impossible default: assertNever(difficulty); } diff --git a/src/server/MapPlaylist.ts b/src/server/MapPlaylist.ts index 22b47c51b..6e05022d8 100644 --- a/src/server/MapPlaylist.ts +++ b/src/server/MapPlaylist.ts @@ -129,7 +129,7 @@ export class MapPlaylist { publicGameModifiers: { isCompact, isRandomSpawn, startingGold }, startingGold, difficulty: - playerTeams === HumansVsNations ? Difficulty.Hard : Difficulty.Easy, + playerTeams === HumansVsNations ? Difficulty.Medium : Difficulty.Easy, infiniteGold: false, infiniteTroops: false, maxTimerValue: undefined,