Help with syntax of "If the rusty wheelbarrow has not been pushed it is undescribed."

I have a wheelbarrow I don’t want described until it has been moved or interacted with. Is there some way for it to be described only after it has been interacted with?

I believe If the wheelbarrow has not been handled: for anyone or If we have not handled the wheelbarrow: for the player.

You can also say If we have not examined the wheelbarrow: to include examining - I don’t know offhand if “examining” constitutes handling.

Thanks for the speedy reply @HanonO. My interpretation of what you wrote is letting me down. I have:

The rusty wheelbarrow is a wheelbarrow.
The rusty wheelbarrow is in the wrought iron gates.
If the rusty wheelbarrow has not been handled: it is undescribed.

Is that what you meant?

I don’t think you can base a property on another property like that. You have to toggle it in the description.

The description of the rusty wheelbarrow is "[if handled]You know the wheel is broken on this darned thing.[else]It's a wheelbarrow that seems to be in working order.[end if]"

Or possibly:

Rule for printing the name of the rusty wheelbarrow:
     if rusty wheelbarrow is handled:
          say "broken wheelbarrow";
     else:
          say "functioning wheelbarrow";

@HanonO oh, that’s a shame. It feels like a hint when it says "there is a wheelbarrow (empty). I don’t want to make it so it is never described though as the player could lose track of it as it can be pushed between rooms.

Is it possible to make it undescribed only when it is in a certain place as the description of the item is in the location description?

Another way is to use the initial description, which applies until the item is handled.

A broken wheelbarrow is here. "Ah, someone's left a perfectly good wheelbarrow here."

After it’s moved, it will print the locale description “You can see a broken wheelbarrow here.”

Perhaps I’m not catching what you’re meaning by “undescribed”. Can you explain the effect you want? You don’t want the wheelbarrow mentioned at all until it’s handled?

Yes, sorry.

I have wheelbarrow in a location and it has to be pushed to another location where it is used to lift a barrel. I don’t want the wheelbarrow to show up, as shown below, as an item in its initial room as it is already clearly there from the room description. I do, however, want it to be shown as present in all other rooms so the player doesn’t lose track of it.

You can see a rusty wheelbarrow (empty) here

If I write-
The Rusty Wheelbarrow is undescribed.
It is not described anywhere.

“Handled” doesn’t seem to apply to pushing. Would something like this work?

The Garden is a room. "This is a lovely landscaped garden. The garden continues to the west."

A rusty wheelbarrow is here. "[if the location is The Garden]Someone has left a rusty wheelbarrow here.[else]Here's that wheelbarrow you've been pushing around.[end if]". Rusty wheelbarrow is pushable between rooms.

Lower Garden is west of Garden. "The main garden is to the East."

Garden

This is a lovely landscaped garden. The garden continues to the west.

Someone has left a rusty wheelbarrow here.

push wheelbarrow west

Lower Garden

The main garden is to the East.

l

Lower Garden

The main garden is to the East.

Here’s that wheelbarrow you’ve been pushing around.

Rule for writing a paragraph about the unhandled wheelbarrow:
    now the wheelbarrow is mentioned.

How about this?

1 Like

That looks great for the initial garden. It looks like it’s doing the opposite of what I’m after though.

I want it to have the property undescribed whenever it is in its starting location location, but for it to be described normally anywhere else it is taken to.

I’ll have to look carefully at how and where to implement this. It seems efficient but I don’t understand all the syntax, and therefore implications, of it.

When you >LOOK, the internal process goes something like this:

  • Mark everything unmentioned
  • Print the name of the room in bold
  • Print the description of the room
  • Run through all visible objects, and call the “writing a paragraph about” activity on each of them—by default this does nothing
  • Run through all unmentioned visible objects, and mention them in a boring default style

With this new rule in place, by the time the process gets to the last step, the wheelbarrow is no longer “unmentioned”, so it gets skipped over in the boring default paragraph.

(Objects become “mentioned” every time you specifically print their name, so this flag is normally used to skip over objects that were already mentioned in the room description itself: “a [ladder] against one wall leads upwards”, for example, will make the ladder “mentioned”, so you won’t also see “There is a ladder here.” at the end. But it’s also useful to set it in a “writing a paragraph about” rule, for the same reason.)

That’s great information!

I’m still trying to successfully implement the rule, as opposed to just putting the item in brackets, but that’s really good to know.