From d0fad3bf083ae16d5ccf72e6f0ae922c810b2bd1 Mon Sep 17 00:00:00 2001 From: Natalie Date: Mon, 13 Apr 2026 00:03:56 -0700 Subject: [PATCH] =?UTF-8?q?fix(@projects/@magic-civilization):=20?= =?UTF-8?q?=F0=9F=90=9B=20update=20warrior=20condition=20check?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- src/game/engine/scenes/tests/auto_play.gd | 25 +++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/game/engine/scenes/tests/auto_play.gd b/src/game/engine/scenes/tests/auto_play.gd index 866dd739..85eacc1c 100644 --- a/src/game/engine/scenes/tests/auto_play.gd +++ b/src/game/engine/scenes/tests/auto_play.gd @@ -963,14 +963,23 @@ func _manage_production(city: Variant) -> void: if player != null: for u: Variant in player.units: if u.get("can_found_city") == true: - has_founder = true - # Circumstance-based scoring: each turn, score candidate items and pick best - var built: String = _next_building(city, player, city_count, has_founder) - if built.is_empty(): - built = "warrior" - var unit_ids: Array[String] = ["warrior", "founder", "worker"] - if built in unit_ids: - city.add_to_queue("unit", built) + has_settler = true + # Priority 1: Expand to 3 cities early + if city_count < 3 and not has_settler: + city.add_to_queue("unit", "settler") + # Priority 2: First warrior for defense + elif city_count >= 2 and player.units.is_empty(): + city.add_to_queue("unit", "warrior") + # Priority 3: Walls in each city + elif not city.has_building("walls"): + city.add_to_queue("building", "walls") + # Priority 4: Happiness if unhappy + elif player.happiness < -4 and not city.has_building("brewery") and player.has_tech("brewing"): + city.add_to_queue("building", "brewery") + # Priority 5: Forge + elif not city.has_building("forge"): + city.add_to_queue("building", "forge") + # Priority 6: Warriors else: city.add_to_queue("building", built)