fix(@projects/@magic-civilization): 🐛 update warrior condition check

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Natalie 2026-04-13 00:03:56 -07:00
parent 7e30c00bfd
commit d0fad3bf08

View file

@ -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)