diff --git a/src/game/engine/src/modules/combat/combat_utils.gd b/src/game/engine/src/modules/combat/combat_utils.gd index a6b56d18..66602f84 100644 --- a/src/game/engine/src/modules/combat/combat_utils.gd +++ b/src/game/engine/src/modules/combat/combat_utils.gd @@ -117,6 +117,8 @@ static func capture_city( city.owner = attacker.owner city.is_capital = false + if city._bridge.is_available(): + city._bridge._gd_city.call("mark_captured", GameState.turn_number) for tile_pos: Vector2i in city.owned_tiles: var layer: Dictionary = GameState.get_primary_layer() diff --git a/src/game/engine/src/modules/management/turn_processor.gd b/src/game/engine/src/modules/management/turn_processor.gd index f59f1192..bd581238 100644 --- a/src/game/engine/src/modules/management/turn_processor.gd +++ b/src/game/engine/src/modules/management/turn_processor.gd @@ -77,8 +77,11 @@ func _process_production(player: RefCounted) -> void: # Player if tile != null and tile.biome_id == "hills": building_prod += prod_hills var prod_pct: float = _sum_city_building_effect_float(c, "production_percent") + var occupation_mult: float = 1.0 + if c._bridge.is_available(): + occupation_mult = c._bridge._gd_city.call("get_occupation_production_mult", GameState.turn_number) var prod: int = int( - (yields.get("production", 1) + building_prod) * (1.0 + prod_pct) * prod_modifier + (yields.get("production", 1) + building_prod) * (1.0 + prod_pct) * prod_modifier * occupation_mult ) # Capture current item before apply_production pops it on completion. var current: Dictionary = (