Sharpee
Chord / The World / States

States

An entity (or trait, or the story itself) can declare named states with a states: line. The owner starts in the first state listed. States are the language's replacement for flags and ad-hoc booleans: they are declared, ordered, and visible to conditions (when it is still), select on dispatch, and change.

create the fountain
  scenery
  in the Orangery
  states, reversible: flowing, still

  A marble fountain in the middle of the floor.

  on touching it
    change it to still when it is flowing
    phrase fountain-stopped when it is still
  end on

State order is a promise. Without , reversible, a change back to an earlier state is a load error (analysis.irreversible-state): a marrow declared states: entire, sliced can never be un-sliced, and the compiler holds you to it. Add , reversible only when the story really does move both ways, as the fountain does.