Wiki

trigger · has_fuel

Definition

  • Supported scope:COUNTRY
  • Supported target:THIS, ROOT, PREV, FROM, OWNER, CONTROLLER, OCCUPIED, CAPITAL

Description

check amount of fuel
example:
has_fuel > 500

Hands-On Notes

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.

Hands-On Usage

has_fuel is commonly used in resource management mods to set fuel threshold events or decision triggers for players or AI. For example, you can restrict a large-scale armor offensive decision to only trigger when fuel reserves are sufficient. It can also be used in a focus's available block to force players to reach a certain fuel stockpile before unlocking specific national focuses.

available = {
    has_fuel > 1000
    has_war_support > 0.6
}

Synergy

  • [fuel_ratio](/wiki/trigger/fuel_ratio) — Complements has_fuel: the former checks absolute quantity while the latter checks fuel as a percentage of maximum capacity. Using both together constrains both "amount" and "fullness," preventing nations with enormous fuel capacity from triggering conditions with minimal reserves.
  • [add_fuel](/wiki/effect/add_fuel) — Used as a reward in effect blocks, forming a "check → reward" loop with has_fuel trigger conditions. Commonly seen in fuel supply events.
  • [has_country_flag](/wiki/trigger/has_country_flag) — Use flags to record when "fuel shortage" warnings have been triggered. Combined with has_fuel, this prevents the same condition from repeatedly firing the same event every tick.
  • [has_army_size](/wiki/trigger/has_army_size) — Large armies consume fuel at extreme rates. Combining both triggers enables logic like "allow advancement only when army size is large AND fuel is abundant."

Common Pitfalls

  1. Comparison operators cannot be omitted: has_fuel must be followed by > / < / = and a specific value. Writing has_fuel = yes directly is invalid; the game won't error but the condition will never evaluate correctly, causing silent logic failure.
  2. Scope mixing: This trigger only works in COUNTRY scope. If used directly in a STATE scope's limit block (such as inside every_owned_state without switching scope back to country), the condition will fail to be recognized. You must first switch back to country scope using OWNER or similar before calling the trigger.