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.