hiding
hide (hiding) uses position-shaped grammar: hide behind/under/on/in(side) X, duck behind/under/inside X, crouch behind/under X; bare hide does not parse. The target needs the
concealment trait (in a .story, the hiding-spot
adjective, bare for every position or with position <word> to narrow
to one) and must support the position you named (cant_hide_there
otherwise). Success slips the player into hiding (behind and friends)
by marking them with a dynamic concealed state that defeats NPC sight.
Getting out is its own tiny action: stand up, come out, unhide,
stop hiding (reveal, revealing).
The author writes:
create the Curio Shop
a room
Shelves of dubious antiques.
create the velvet curtain
aka curtain
scenery
hiding-spot with position behind
in the Curio Shop
A moth-eaten curtain across the back doorway.
create the wicker hamper
aka hamper
scenery
hiding-spot
in the Curio Shop
A hamper big enough for a person, currently full of crockery.
on hiding it
refuse hamper-crockery
end on
phrase hamper-crockery:
You lift the lid; the hamper is packed with crockery. No room for
you.
create the player
starts in the Curio Shop
The player sees:
> hide in the hamper
You lift the lid; the hamper is packed with crockery. No room for you.
> hide behind the curtain
You slip behind the velvet curtain.
> hide behind the curtain
You're already hidden.
> come out
You come out of hiding.
> come out
You're not hiding.
Two spots, two seams: the hamper's on hiding it guard refuses with its
own phrase, the curtain accepts exactly the position its adjective
declared, and the reveal action closes the loop with its own
not_hidden refusal when you try it standing in the open.
hide (hiding-*) | reveal (revealing-*) | |
|---|---|---|
| Refusals | nothing_to_hide · cant_hide_there · already_hidden | not_hidden |
| Success | behind / under / on / inside | revealed |
| Events | player_concealed | player_revealed |
Interceptors: the hiding spot's on hiding it clauses are consulted
(the hamper above); revealing has no interceptor surface (flagged as a
minor asymmetry).
Three more honest flags remain. The design puts every action outside a quiet
allowlist (look, examine, wait, listen, smell, inventory, and the metas)
down as silently breaking concealment before it runs, but in the
current build that break listener is never registered, so walking,
taking, and talking do not actually reveal you; only the
NPC-can't-see-you half is wired (flagged). cant_hide_there's current
rendering misplaces an article ("You can't hide an under …"; flagged).
And the trait's capacity field is dormant.