city_action
Issue commands to cities: perform ranged attacks on targets within 2 tiles (requires walls), or handle captured/disloyal city decisions like keep, raze, or liberate.
Instructions
Issue a command to a city.
Args:
city_id: City ID (from get_cities output)
action: Currently supported: 'attack' (city ranged attack)
target_x: Target X coordinate (required for attack)
target_y: Target Y coordinate (required for attack)
For attack: city must have walls and not have fired this turn.
Range is 2 tiles from city center.
For captured/disloyal city decisions (city_id is ignored, uses pending city):
- 'keep': Keep the city (works for both captured and loyalty-flipped cities)
- 'reject': Reject/free a disloyal city (loyalty flip only)
- 'raze': Raze a captured city (military conquest only)
- 'liberate_founder': Liberate to original founder
- 'liberate_previous': Liberate to previous owner
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| city_id | Yes | ||
| action | Yes | ||
| target_x | No | ||
| target_y | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |