Setting Seen Vicariously

I'd like to be able to set sections or passages as "seen" even if the player hasn't clicked on them:

[[Hive Quadrant 1]]:
There are a lot of [bees] here. Fly to the [[second quadrant]](Hive Quadrant 2).

[bees]:
{bees description}

[[bees description]]:
Striped. Yellow and black. If you've seen one, you've seen them all.

[[Hive Quadrant 2]]:
Even more {if seen bees description:[bees]}{else:bees} here, too.

[bees]:
{bees description}

So, I don't want the bees passage to show as a link in the second quadrant when the player has already seen it.

I can set a variable when the bees passage is clicked, but it seems more logical to use "seen" since Squiffy has a mechanism for registering clicked sections and passages already. It also seems better to keep things consistent, i.e., to always use "if seen ... " for this kind of thing. I've been trying to modify/use the built-in setSeen function but to no success.

Neil


Off the top of my head, I don't think seen works for passages which are embedded, only passages which have actually been clicked on.

This seems to work (I also renamed one of the "bees" passages to remove any ambiguity)...

[[Hive Quadrant 1]]:
There are a lot of [bees](bees1) here. Fly to the [[second quadrant]](Hive Quadrant 2).

[bees1]:
{bees description}

[[bees description]]:
Striped. Yellow and black. If you've seen one, you've seen them all.

[[Hive Quadrant 2]]:
Even more {if not seen bees1:[bees]}{else:bees} here, too.

[bees]:
{bees description}

Yes, in this simplified example this would work, but it becomes impractical in a more complex hive, with more quadrants:

[[Hive Quadrant 3]]:
The walls are covered in honey ... and even more {if not seen bees:[bees2]}
{else: {if not seen bees1:[bees2]}
{else: {if seen bees1:bees}
{else:{if seen bees1:bees}.
}}}.

[bees2]:
{bees description}

And adding fourth and fifth quadrants just gets ridiculous (even if there's a way to write "or ..." conditions that I'm missing). Re-using the same passage and passage name in different sections helps reduce the number of conditions. Is there another reason not to do this, besides reducing ambiguity? I was also thinking of the following situation:

[[Hive Quadrant 1]]:
[Charlie and Betty] make honey in the corner. No, they really are making honey. [[Fly off]](Hive Quadrant 2) and leave them alone.

[Charlie and Betty]:
{Charlie description}

{Betty description}

[[Charlie description]]:
You know he is a male because ... his stinger is bigger than Betty's?

[[Betty description]]:
Betty is the female, you assume, because she has a small stinger.

[[Hive Quadrant 2]]:
{if seen Charlie and Betty:Charlie}{else:[Charlie]} bumbles his way into the quadrant behind you. {if seen Charlie and Betty:[Betty]}{else:Betty} follows more gracefully.

[Charlie]:
{Charlie description}

[Betty]:
{Betty description}

Again, add a third quadrant with Charlie and Betty and the conditions begin to pile up. One solution would be to change the first sentence in the first quadrant and treat Charlie and Betty as individuals, but this wouldn't work if you want to minimize the number of links and text in a section. You could also group the quadrants into one big hive section, redirecting to it every time the player flies off to a different quadrant. The hive section text could get very complicated, though, depending on the number of quadrants.

I was hoping there would be a bit of JS that I could add to each bees passage that would register the bees descriptions as seen. Maybe setting a variable in each bee passage is the only sensible way to go.

Neil


In retrospect, I realize that Betty needs to be male, but this is just an example and not the real game I'm working on.


This topic is now closed. Topics are closed after 180 days of inactivity.

Support

Forums