Wiki

trigger · has_any_custom_difficulty_setting

Definition

  • Supported scope:any
  • Supported target:any

Description

Returns true if the game has any custom difficulty on

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

When creating custom difficulty systems or achievement unlock restrictions, you can use this trigger to detect whether the player has enabled any custom difficulty options, thereby deciding whether to disable specific events, achievements, or UI prompts. For example, blocking certain mod features with exploitative potential when the player modifies difficulty settings:

available = {
    NOT = { has_any_custom_difficulty_setting = yes }
}

Synergy

  • [has_custom_difficulty_setting](/wiki/trigger/has_custom_difficulty_setting): The former detects "whether any custom difficulty exists," while the latter detects a specific difficulty setting. Both are commonly used together for tiered judgment logic.
  • [game_rules_allow_achievements](/wiki/trigger/game_rules_allow_achievements): These two frequently appear together in achievement unlock conditions to ensure the player has not reduced challenge difficulty through any means.
  • [is_ironman](/wiki/trigger/is_ironman): Ironman mode is closely related to difficulty settings. Combined usage allows precise filtering of the "standard ironman challenge" player base.
  • [custom_effect_tooltip](/wiki/effect/custom_effect_tooltip): When certain features become unavailable due to custom difficulty settings, use this effect in conjunction to display user-friendly messages to the player.

Common Pitfalls

  1. Confusing the purpose of the two triggers: Beginners often mix up has_any_custom_difficulty_setting (detecting whether any custom difficulty exists) with has_custom_difficulty_setting (detecting a specific difficulty setting), resulting in condition judgment ranges that are either too broad or too narrow.
  2. Forgetting to negate the logic: This trigger returns yes when "custom difficulty is enabled." If you want to trigger effects under "vanilla difficulty," you must wrap it with NOT = { has_any_custom_difficulty_setting = yes }. Writing has_any_custom_difficulty_setting = no directly is incorrect usage.