city_action
Command a city to perform actions such as ranged attacks, or decide fate of captured or disloyal cities by keeping, razing, or liberating them.
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 |
|---|---|---|---|
| action | Yes | ||
| city_id | Yes | ||
| target_x | No | ||
| target_y | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |