Wiki

trigger · has_start_date

Definition

  • Supported scope:any
  • Supported target:none

Description

Compare the initial start date of current game.

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_start_date is commonly used in mods that need to distinguish between story branches based on the game's start date. For example, in multi-start mods, you might apply different initial effects or event triggers for 1936 versus 1939 start dates. It's also frequently seen in the available block of focuses/events to ensure certain national focuses or events can only be activated under specific historical starting points.

# Only trigger this event when starting in 1936
news_event = {
    id = my_mod.1
    trigger = {
        has_start_date < 1937.1.1
    }
}

Synergy

  • [date](/wiki/trigger/date): date checks the current in-game date, while has_start_date checks the game's starting date. These are often combined to simultaneously restrict both "which save file to begin from" and "whether we've reached a specific time point."
  • [has_game_rule](/wiki/trigger/has_game_rule): In multi-start mods, the start date is often tied to specific game rules. Using both together lets you precisely filter "a specific start date under a specific rule."
  • [or](/wiki/trigger/or): When a mod needs to support multiple valid start dates (such as both 1936 and 1939), wrap multiple has_start_date conditions in or to avoid overly restrictive logic.
  • [if](/wiki/effect/if): Within effect blocks, if combined with has_start_date allows you to apply differentiated handling for different start dates, avoiding duplicate logic for each scenario.

Common Pitfalls

  1. Confusing has_start_date with date: Newcomers often mistakenly use date to determine "is this a 1936 start," but date checks the current in-game time, which advances as the save progresses. Meanwhile, has_start_date always reflects the start date when the game was created. These have completely different semantics.
  2. Reversing comparison operator direction: This trigger supports comparison operators like <, >, =. Beginners sometimes reverse the comparison (for example, trying to filter "1936 starts" but mistakenly writing > 1936.1.1), resulting in conditions that never match or match incorrectly. Always double-check your logical direction.