Check rule being ignored

Check going anywhere: if guitar is in case and case is open: say "The guitar falls out of the case and lands with a sickening thud."; stop the action.

Transcript:

get up
You get off the bed.

Bedroom
Your bedroom is stark, but otherwise not elegant. That’ll change someday. You can go east to the closet, southeast to the lavatory, southwest to the kitchen, or north to Union Street.

You can see a mirror, a bed, a small stand (on which are a trophy and a clock), a bedstand (in which is a drawer (closed)) and a leather case (closed) here.

OK, Witch Hazel, your broom has arrived. Now MOVE!

take case
Taken.

Get your gas in ear!

open case
You open the leather case, revealing a guitar.

Anticipatin’ your next move.

e

Closet
You can see a shirt, a pair of socks, a pair of shoes, a jacket and a pair of pants here.

Why didn’t the guitar fall out of the case?

This is tricky, but I think “anywhere” means effectively “any room.” But the going action doesn’t apply to rooms but to directions; the action is “going north” rather than “going closet.” So “going anywhere” never happens.

The word “to” has a special meaning for going, where you can say “going to” and then name the room. So I think “going to anywhere” would work. You could also try “Check going,” though that would have a subtly different meaning–“check going” would apply whenever the player tries going at all, “check going to anywhere” would only apply when there’s a room for them to go to in that direction. (Though I’m not sure it would make a difference, because if there isn’t a room in that direction the action will get stopped before it hits the “check going” rule.)

Warning: I haven’t tested this, so what I say could all be nonsense.

EDIT: also, you should probably add

now the guitar is in the location;

to your code–that will make the guitar actually fall out of the case.

Yeah, there’s five different ways to say “going”: going to, going from, going through (for doors), going in (for vehicles) and… that other one… for something… definitely five ways though. EDIT: Ah-ha, Going with (for pushing things).

Anyway, going from somewhere would probably be best, as I think that sets ‘the location’ to the room you start in. And unless you want a poltergeist moving an unattended guitar around, you should add something about the case being held.

Should the code read Check going from: ?

Check going from somewhere when the case is held: 

Should work. Should.

I don’t think you need to worry about “Check going to anywhere” or “Check going to a room” or anything like that changing the location–“the location” is the room where the player is, and at the time the Check going rules run the player will be in the original location. So “Check going from somewhere” will basically be the same as plain “Check going,” except that as a more specific rule it’ll wind up running before some other rules.

(Which could be bad–if there’s no east exit from a room, you probably want “go east” to result in “You can’t go that way” rather than get the guitar drop message. If the guitar dropping rule is last in the check going rulebook then it won’t run unless no other check rule has kept the player from going in that direction.)

Thanks, Unreluctance, it worked!
“Solid Gold” is now substantially complete! I will alpha test it tomorrow.
O happy day!