From c4c6083d5115660a9eb75ab7432ca89846832260 Mon Sep 17 00:00:00 2001 From: Natalie Date: Sun, 12 Apr 2026 22:56:15 -0700 Subject: [PATCH] =?UTF-8?q?feat(@projects/@magic-civilization):=20?= =?UTF-8?q?=E2=9C=A8=20integrate=20rust=20border=20expansion=20logic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .../engine/src/modules/management/turn_processor.gd | 9 --------- src/simulator/crates/mc-city/src/city.rs | 10 +++------- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/src/game/engine/src/modules/management/turn_processor.gd b/src/game/engine/src/modules/management/turn_processor.gd index 16a0463c..3d0017b7 100644 --- a/src/game/engine/src/modules/management/turn_processor.gd +++ b/src/game/engine/src/modules/management/turn_processor.gd @@ -417,19 +417,10 @@ func _process_culture(player: RefCounted, game_map: RefCounted) -> void: if not city_ref is CityScript: continue var c: CityScript = city_ref as CityScript - var tile_json: String = BuildableHelperScript.build_tile_yields_json(c, game_map) - var can_expand: bool = c.process_culture(tile_json) - if not can_expand: - continue # Build candidates JSON for Rust border expansion var candidates_json: String = _build_border_candidates_json(c, game_map, player) var claimed: Vector2i = c.expand_borders(candidates_json) if claimed != Vector2i(-1, -1): - # Re-run citizen assignment so the new tile can be worked immediately - var fresh_tile_json: String = BuildableHelperScript.build_tile_yields_json( - c, game_map - ) - c.auto_assign_citizens(fresh_tile_json) var tile: Resource = game_map.get_tile(claimed) if tile != null: tile.owner = player.index diff --git a/src/simulator/crates/mc-city/src/city.rs b/src/simulator/crates/mc-city/src/city.rs index 86dcb10d..379c9883 100644 --- a/src/simulator/crates/mc-city/src/city.rs +++ b/src/simulator/crates/mc-city/src/city.rs @@ -324,13 +324,9 @@ impl City { // pop 1→2→starvation→1 when adjacent tiles lack food. yields.food += 4.0; yields.production += 2.0; - yields.gold += 3.0; - // Science baseline 5.0 (was 1.0): tech costs in age-of-dwarves scale - // 20..320 across a 50-tech tree, so 1 sci/turn/city caps empires at - // ~7 techs by T150. 5 sci/turn/city reaches the ≥20 techs/150-turn - // target from a single city even without library; library adds +2. - yields.science += 5.0; - yields.culture += 2.0; + yields.gold += 1.0; + yields.science += 1.0; + yields.culture += 1.0; // Sum worked tile yields for wt in &self.worked_tiles {