fix(@projects/@magic-civilization): 🐛 update warrior condition check
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
7e30c00bfd
commit
d0fad3bf08
1 changed files with 17 additions and 8 deletions
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue