Can a backdrop be enterable?

I want The Light is an enterable backdrop. The light is not scenery. "A glimmering light exists in the corner of your vision. You can feel it beckoning."

Or something along those lines. But no way I phrase it will work, even though I also have The Pews are enterable scenery supporters in the Chapel. "Old wooden pews that haven't seen a soul in ages..."

Which compiles just fine

Only containers and supporters can be enterable afaIk. But you can capture “Entering the light…” with an Instead rule even if the light is not defined as enterable. So this:

Room1 is a room. Room2 is east of Room1. The Light is a backdrop. It is in Room1 and Room2. The light is not scenery. "A glimmering light exists in the corner of your vision. You can feel it beckoning." Instead of entering the light, say "This works!".

lets you enter the light from every room it’s in. Of course you’re not really “inside the light” afterwards but I don’t think this is what you wanted anyway…

What I want to happen when the player enters the light is for a scene to end, but I can’t do “Instead of entering the light, end Ghost Story sadly.” Because, from what I’ve seen so far, scene ending declarations need to come first.

That is true. But you can make the scene end when the player is in a specific room, and move the player there in the Instead rule.

That is actually my current workaround, but I don’t want it to print the name of the room when it enters, I want to to be all quiet like

[size=85]EDIT: this is what Draconis already said, I was just not fast enough[/size]

No, ending scenes manually does not work. Cheapest way would be to set a variable in the Entering the light rule and make that variable the condition for ending the scene. Or if the player starts the new scene in a new area of the map, move him in the Instead of entering the light rule and make that the condition for ending the scene.
Unfortunately something like this:

Scene XX ends when the player has entered the light for the first time.

does not work, because an Instead rule makes the Entering action technically unsuccessful thus not happened (I wish there was a way to override this manually).

Try “Instead of entering the light: move the player to Heaven, without printing a room description.”

Actually you can make this work by tacking “Rule succeeds” onto your Instead rule; this should still interrupt the action machinery, but the action will be logged as a success, so the scene will end the way you want it to. Also it has to be “we have” and not “the player has” I think (and that formulation will fire whenever an NPC does it too, I think).


[code]Sad room is a room. The light is a backdrop in the Sad room.

Overture is a scene. Overture begins when play begins. Overture ends when we have entered the light for the first time.

Afterlife is a scene. Afterlife begins when Overture ends. When Afterlife begins: say “Play Homage to Charles Parker here. Buy it! It’s the greatest jazz album of the seventies and it’s like two bucks for the MP3s! (Note: You may not share my taste.)”

Instead of entering the light:
say “You enter the light…”;
rule succeeds.

After entering: say “We want this rule not to fire.”[/code]

yields as we would hope:

Some egregious product placement found its way in there. I’m not sure why. Preview the track in question here (don’t try to put it on in the background if you’ve never heard it before, the first ten minutes are very quiet).

I didn’t know that, very helpful!

Yeah, sorry, I made that from memory and got it wrong obviously.

Playing it right know. I must admit, it’s… special. :wink:

Well, it’s some of my favorite music for entering the light. I was not in any way compensated for that ridiculous plug (paying me to flog products on the board would probably not be the best use of anyone’s promotional budget).

That’s really interesting Matt, thanks. Out of curiousity, why does it have to be “we have”?

It’s just a special syntax for that sort of thing. See sections 9.12 and 9.13 of Writing with Inform.