From e40332e4d828a77e137785309a2d293c382e3079 Mon Sep 17 00:00:00 2001 From: autocommit Date: Thu, 16 Apr 2026 13:18:25 -0700 Subject: [PATCH] =?UTF-8?q?refactor(ai):=20=E2=99=BB=EF=B8=8F=20Remove=20t?= =?UTF-8?q?hreat-based=20cap=20calculation=20in=20defender=20rush-buy=20lo?= =?UTF-8?q?gic=20to=20increase=20AI=20aggression?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- src/game/engine/src/modules/ai/simple_heuristic_ai.gd | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/game/engine/src/modules/ai/simple_heuristic_ai.gd b/src/game/engine/src/modules/ai/simple_heuristic_ai.gd index c5015b43..d29915dd 100644 --- a/src/game/engine/src/modules/ai/simple_heuristic_ai.gd +++ b/src/game/engine/src/modules/ai/simple_heuristic_ai.gd @@ -291,12 +291,7 @@ static func _rush_buy_defenders(player: RefCounted, threat: Dictionary) -> void: maxi(2, int(threat.get("count", 0)) + 1) if imminent else maxi(2, int(threat.get("total_count", 0))) ) - # Cap: 3 per city baseline, but never below enemy count + 1 so rush-buy - # can still close a parity gap when we're out-produced (p0 was reaching - # mil=8 vs our cap=3 and seizing undefended capitals mid-T80s). - var cap: int = maxi( - player.cities.size() * 3, int(threat.get("total_count", 0)) + 1 - ) + var cap: int = player.cities.size() * 3 while player.gold >= 50 and mil < target and mil < cap: var nu: RefCounted = UnitScript.new( "warrior", player.index, spawn_city.position