Book S - Properties of Objects
A thing can be substantial or insubstantial. A thing is usually substantial.
Definition: a room is substantial rather than insubstantial: yes. [Need to define the adjective here too, since a room is not a thing.]
Definition: a direction is substantial rather than insubstantial: no.
Precondition (this is the cannot touch insubstantial things rule):
let the item be nothing;
if the noun is insubstantial and the action requires a touchable noun, let the item be the noun;
if the second noun is insubstantial and the action requires a touchable second noun, let the item be the second noun;
if the item is not nothing:
say "[The item] [are] not solid enough.";
stop the action.
Check casting a spell at when the second noun is insubstantial (this is the can't cast at insubstantial things rule):
if the second noun is a direction:
let the block be the door (second noun) from the location;
if the block is a door:
say "([the block])[ccb]";
try casting the spell understood at the block instead;
say "[The second noun] [don't] have enough substance to be the target of a spell." instead.
A room can be passable or impassible. A room is usually passable.
Instead of going to an impassible room (this is the can't go to impassible rooms rule): say "You can't go that way any more."
Instead of someone going to an impassible room (this is the NPCs can't go to impassible rooms rule): stop the action.
Check an actor throwing something at to an impassible room (this is the can't throw to impassible rooms rule):
if the actor is the player, say "There's nowhere for [the noun] to go in that direction.";
stop the action.
A thing can be light or heavy. A thing is usually heavy.
A thing can be distant or non-distant. A thing is usually non-distant.
Precondition (this is the can't touch distant things rule):
let the item be nothing;
if the noun is distant and the action requires a touchable noun, let the item be the noun;
if the second noun is distant and the action requires a touchable second noun, let the item be the second noun;
if the item is not nothing:
say "[The item] [are] too far away.";
stop the action.
Check casting a spell at a distant thing (this is the cannot cast at distant things rule):
say "[The second noun] [are] too far away to enchant." instead.