propose_deal
Propose a trade deal to another civilization in Civilization V. For AI, it negotiates and reports effects; for humans, it presents the deal for acceptance or refusal.
Instructions
Offer a trade to another civ. With an AI: drives the game's real leader / trade screens, proposes, reads
the reply, closes them and reports measured effects (gold, gold/turn, happiness, per-resource
import/export before vs after): nothing to poll afterwards. With another human seat: puts the same table
on the PvP deal screen (pvp: true, pending: true); that seat answers with accept_deal / refuse_deal.
items: [{"type":"RESOURCES","resource":"RESOURCE_DYE","from_us":true,"amount":1},
{"type":"GOLD_PER_TURN","from_us":false,"amount":5}]
Types: GOLD / GOLD_PER_TURN (amount), RESOURCES (resource, amount), OPEN_BORDERS, ALLOW_EMBASSY,
DEFENSIVE_PACT, RESEARCH_AGREEMENT, TRADE_AGREEMENT (from_us picks the direction), CITIES (city_id),
VOTE_COMMITMENT (resolution_id, choice_id, repeal), THIRD_PARTY_WAR / THIRD_PARTY_PEACE (other: player
id), PEACE_TREATY (implied while at war: any deal then is peace with terms; or make_peace).
Read trade_catalog(player_id) first: what is legal, how much gold each side can put up, which cities may
be traded (capitals never), the vote and third-party rows. Lump-sum gold needs a Declaration of Friendship
(a Brave New World rule; trade_catalog's gold.note says so); gold per turn is not gated. Refuses without
opening a screen an amount that is not a positive whole number or beyond what that side has, a city
outside the catalog, or an item that does not land on the table at the requested amount. ask_counter=true
also returns the AI's counter-offer (counter.items), which can go straight back in. Timed items last the
game's deal length (30 turns). Item rules in full: how_to_play("propose_deal").
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| player_id | Yes | ||
| ask_counter | No |