pushing, pulling, touching
push (pushing) covers the verbs push, press, shove,
move, each with or without a direction (push X north, shove X east,
move X up). Needs the pushable trait; pushing anything else gets
fixed_in_place (scenery) or pushing_does_nothing. With no direction
the push is a press: if the thing is also switchable, pushing toggles
it (button_clicks when it is a button, switch_toggled otherwise), and
anything else just takes the push (button_pushed) and lets its
on the player pushing clause say what happened. With a direction the
push moves the thing through the room's exit into the next room, with the
player, when the way admits pushing (ADR-378): admits pushing on the exit
line or the room's admits: list for any pushable thing, or the thing's own
pushing block of room pairs for that one thing. The player's own step is the going
action's, so every refusal going knows refuses the push in going's words —
no exit, a hidden way, the room's blocked phrase, a closed or locked door,
a vehicle the player is riding — and both on the player pushing on the
thing and on the player going on the room fire. A way that exists but
does not admit pushing refuses cannot_push_that_way; a carried thing
refuses carrying_it. On success pushed_direction prints, then the new
room's description with the thing in it. The trait carries no fields: the
thing says it can be pushed, the way says whether a push moves it.
pull (pulling) covers the verbs pull, drag, yank,
tug. Needs pullable. A successful pull sets the trait's state to
pulled (a second pull refuses already_pulled) and bumps its
pullCount; a worn item refuses worn. Everything a pull means (the
lever opens the sluice) is story logic reacting to pulled or
written as an on the player pulling / after the player pulling clause.
touch (touching) covers the verbs touch, feel, rub,
pat, stroke, poke, prod. No trait needed, no state changed; the
reply is inferred from what the thing is: a lit light source feels_hot,
a running device feels_warm (or device_vibrating), wearables
feels_soft, doors feels_smooth, containers and supporters feels_hard
(a container with drink in it sloshes, liquid_container), drinkables
feels_wet, scenery immovable_object. Otherwise the verb itself
answers (poked, patted, stroked, touched_gently, touched).
The author writes:
create the Signal Box
a room
A cramped cabin of levers and brass above the junction.
create the signal lever
aka lever
a thing, pullable
scenery
in the Signal Box
A tall iron lever, worn bright at the grip.
after the player pulling
phrase lever-thrown
end after
phrase lever-thrown:
Somewhere down the line, the semaphore arm clanks to clear.
create the brass button
aka button
a thing, pushable
scenery
in the Signal Box
A brass button labelled BELL.
create the iron stove
aka stove
a thing, scenery
in the Signal Box
A squat iron stove, cold since spring.
create the stationmaster's cap
aka cap
a thing, wearable
in the Signal Box
A red wool cap with a shiny peak.
create Alex
a person
playable
starts in the Signal Box
before the game starts
change the player to Alex
end before
The player sees:
> push the stove
The iron stove is fixed in place.
> move the button north
You push the brass button.
> pull the lever
You pull the signal lever.
Somewhere down the line, the semaphore arm clanks to clear.
> pull the lever
The signal lever has already been pulled.
> touch the cap
The stationmaster's cap feels soft.
> touch the stove
The iron stove is solid and immovable.
The platform owns everything stateful here (the scenery refusal, the
button push under move's manipulation channel, the already_pulled
gate, the wool and iron inferences), and the one line that changes
anything beyond the signal box is the story's after the player pulling reaction.
push (pushing-*) | pull (pulling-*) | touch (touching-*) | |
|---|---|---|---|
| Refusals | no_target · fixed_in_place · pushing_does_nothing · cannot_push_that_way (the way does not admit pushing) · carrying_it · wearing_it · going's own lines for the step (no_exit_that_way, door_closed, door_locked, movement_blocked, vehicle_ride) | no_target · cant_pull_that · already_pulled · worn | no_target (touch refuses almost nothing) |
| Success | button_pushed · button_clicks · switch_toggled · pushed_direction (then the new room's description) | pulled · nothing_happens | feels_hot · feels_warm · device_vibrating · feels_soft · feels_smooth · feels_hard · liquid_container · feels_wet · feels_normal · immovable_object · touched · touched_gently · poked · prodded · patted · stroked |
| Events | pushed | pulled | touched / touch_blocked |
Interceptors: on/after the player pushing, pulling it, touching it on the
target. Touching, with no state of its own, is a favorite probe to hang
flavor on (on the player touching). Listening plays the same role for sound.