Describe climbing

I’m trying to make a tree that goes from the top of the ravine to the bottom, like a ladder.

Climbing stars, in the example in documentation, is made to replicate doors. The climbing action redirects to entering. Entering redirects to going.

But when I try to report going down from the uppermost room, nothing prints.

Where do I describe climbing down the tree so it prints? Or is the enter routine trying silently to go, so nothing prints?

What code are you using? Which example from the documentation do you mean?

I gave an attempt at trying to code this (your mileage may vary) :slightly_smiling_face:.

Note: Hayseed

My approach was to treat the locations that the ladder spans as individual rooms and omit the staircase. I replaced it with ‘ladders that are fixed in place’. This gave me the opportunity for more descriptions and to be able to specify the action of going up or down from each room. I hope it will help!

The Bottom Of Ravine is below the Large Tree Trunk.  The Bottom Of Ravine contains a bottomladder.  The printed name of bottomladder is "tree trunk leading up".  The bottomladder is fixed in place.  

Before going from the Bottom Of Ravine to the Large Tree Trunk:
	say "You climb up the tree trunk.".

The Large Tree Trunk contains a midwayladder.  The printed name of the midwayladder is "tree trunk leading both up and down".  The midwayladder is fixed in place.

Before going from the Large Tree Trunk to the Bottom Of Ravine:
	say "You climb down the tree trunk.".
	
Before going from the Large Tree Trunk to the Top Of Ravine:
	say "You climb up the tree trunk.".

The Top Of Ravine is above the Large Tree Trunk.  The Top Of Ravine contains a topladder.  The printed name of the topladder is "tree trunk leading down".  The topladder is fixed in place.  

Before going from the Top Of Ravine to the Large Tree Trunk:
	say "You climb down the tree trunk.".

This is how the game play looked:

Bottom Of Ravine
You can see a tree trunk leading up here.

>u
You climb up the tree trunk.

Large Tree Trunk
You can see a tree trunk leading both up and down here.

>u
You climb up the tree trunk.

Top Of Ravine
You can see a tree trunk leading down here.

>l
Top Of Ravine
You can see a tree trunk leading down here.

>d
You climb down the tree trunk.

Large Tree Trunk
You can see a tree trunk leading both up and down here.

>l
Large Tree Trunk
You can see a tree trunk leading both up and down here.

>d
You climb down the tree trunk.

Bottom Of Ravine
You can see a tree trunk leading up here.

>l
Bottom Of Ravine
You can see a tree trunk leading up here.

I believe the relevant portion went like:

A staircase is a kind of door. A staircase is usually open. A staircase is seldom closed.
Instead of climbing a staircase, try entering.

Or something like that. Except in my case, I want special “staircases” that limit passage based on having free hands. If you’re scaling a cliff or climbing a rope you can’t be carrying anything in both arms. So I include a line like:

Instead of going down from Top of Ravine: say “(by climbing down the tree)”; try entering the twisted pine tree.

That way, it always performs the “hands free” check whether explicitly using the tree or not. It works, but I can’t figure out where to report the climbing action.

Hmmm, converting going down into entering a door that’s down from the location seems like it’s going to be unnecessarily complicated.

The way it ordinarily works is that entering a door gets converting into going with the door as the noun (by the “convert enter door into go” rule). Then going through a door does some stuff with the “standard set going action variables rule” that turns the “door gone through” into that door and the “room gone to” into the other side of the door. The “door gone through” and “room gone to” are action variables for going–those are variables that are set throughout the entire processing of the going variable.

In the meantime, if you go in a direction when a door is in the way, the standard set going action variables rule will do exactly the same thing to the door gone through and the room gone to. So converting going down into entering the twisted pine tree will lead you back pretty much to where you would’ve been if you didn’t intercept the going down action. (It doesn’t go into an infinite loop, I think, because the second time around the action is “going the twisted pine tree” instead of “going down,” so the “instead of going down from Top of Ravine” rule doesn’t fire.)

If you want to check for hands-free stuff whenever the player climbs a ladder, I’d suggest this:

Check going through a ladder:

This is essentially short for “Check going when the door gone through is a ladder.” That should capture entering a ladder and going down when a ladder is below you, since those both get turned into going actions where the door gone through is the ladder. And with your “Instead of climbing a staircase, try entering” rule, it will also catch climbing the ladder (or staircase, now I’ve confused myself about the terminology). And you get to use the usual going logic.

1 Like

The term I use is acclivity for all hands-limited (and bulk-limited) “doors.” I then define them as stairs, ladders, and ropes depending how many hands they require.

It sounds like “check going through” will work, and I needn’t intercept “going down from.” Hopefully then the traversing of the tree will produce a report.

1 Like

It works. I have to use “report going through the twisted pine tree when the location is…” in order to get the text to print both on going and on climbing.

2 Likes

FWIW there are more action variables for going that might help you with writing the rules, “the room gone to” and “the room gone from,” which can be abbreviated with “from” and “to.” So you could write “Report going through the twisted pine tree to the leafy tops” or “Report going through the twisted pine tree from the gnarled roots” if you want. (The particularly nice thing about using these is that they stay the same throughout the action, whereas “the location” is going to change as you move.)

1 Like