trigger · deal_completion
Definition
- Supported scope:
PURCHASE_CONTRACT - Supported target:
none
Description
Check value of purchase contract completion. Example: deal_completition < 0.6
deal_completionPURCHASE_CONTRACTnoneCheck value of purchase contract completion. Example: deal_completition < 0.6
Hands-on notes are AI-generated and checked against the vanilla command vocabulary — treat them as a starting point, not authoritative reference. The definition above is the game's own documentation.
deal_completion is commonly used to monitor the fulfillment progress of arms trade contracts. Typical applications include triggering diplomatic penalties, canceling contracts, or other logic when a contract is nearing expiration or delivery is insufficient. The typical use case is within an event or decision in the PURCHASE_CONTRACT scope, where you check whether the buyer has received a sufficient percentage of ordered equipment to decide whether to allow contract renewal or force termination.
# Within a purchase contract scope, cancel the contract if completion is below 60%
cancel_purchase_contract = {
limit = {
deal_completion < 0.6
}
}
[cancel_purchase_contract](/wiki/effect/cancel_purchase_contract): When deal_completion detects insufficient completion, directly cancel the contract—this is the most straightforward follow-up action.[buyer](/wiki/trigger/buyer): Filter for a specific buyer before checking completion, avoiding blanket progress checks across all contracts.[seller](/wiki/trigger/seller): Combined with seller, allows you to distinguish contracts from different suppliers and precisely control completion checks for only a specific seller's contracts.[contract_contains_equipment](/wiki/trigger/contract_contains_equipment): First confirm the contract involves a specific equipment type, then use deal_completion to check delivery progress for that equipment type, resulting in more robust logic.deal_completion is only valid within the PURCHASE_CONTRACT scope. If written directly in a country scope (such as in the top-level trigger block of a country_event), it will silently fail or throw an error. You must first enter the correct scope using a contract iteration command.deal_completion < 60 with an integer, causing the condition to always be true or always false. Always use floating-point values in the 0.0–1.0 range.