## State: World vs Player **Global flags** (`set_global_flags`, checked with `global_flag`) are shared by every player on the server. A door opened by one player is open for everyone. A lever pulled once changes the world for all. Stored in memory (`GlobalFlagStore`) — **lost on server restart**. Numeric values are compared by coercion (int/int64/float64 are normalized), so a YAML-decoded `3` matches a code-set `int(3)`. **Player flags** (`set_player_flags`, checked with `player_flag`) are per-character. Quest progress, "has read the sign," "paid the toll" — these are different for each player. Saved to the character YAML and persist across logins. ### Triggers — flag-change events Any flag change (world or player) can activate a **trigger** — a timed sequence of messages, broadcasts, spawns, and further flag mutations. See `triggers.md` for the full system. This is how you turn "player looked at the sign" into "spaceship landed and stairs opened."