Teleportation

There are hardly any dreams that don't have atleast one door or staircase and as such, teleportation (moving from one spot to the other) belongs to the basic skills of any Furcadian dream weaver. This tutorial will explain the basics of teleportation. It then shows a couple of examples of how some of the teleportation works in the sample dream that can be downloaded from this page as well.

Basics

The basics of teleportation are surprisingly simple: when somebody moves into a certain spot, move that furre to a different spot. Fortunately for us, Felorin designed dragonspeak in such a way that it reads much like normal english, so we just search the two lines of DS that look sort of like what we want to do. These are:

(0:7) When somebody moves into position (#,#),
(5:15) move the triggering furre to (#,#), or to someplace nearby if it's occupied.

All that is left is for us to tell Furcadia which spots we want to use. This is where the # characters fit in. Each # should be replaced by a number. In the case of (#,#) these numbers should be x- and y-coordinates respectively. But where to find these coordinates?

The dream-editor can tell us all we need to know. Whenever you move your mouse over squares in your dream, the dream-editor will update a small box at the bottom-left of the screen. In this box you'll see two values called "current X" and "current Y". These are the x- and y-coordinates you will need for your teleportation.

In the image above you can see how we hovered the mouse over a spot in the middle of the room. The box at the side tells us that this spot is at (16,34). So suppose we wanted to teleport to the middle of the room, we would have to fill in (16,34) in the dragonspeak above. Ofcourse, doing that would be plain silly, so we'll look at a more proper example now.

Doors

The sample dream that accompanies this tutorial has a pair of red doors that we're going to write DS for. We'll need two of the above blocks of DS, one to go from the room to the basement and one to go back up. First let's do the door leading down into the basement. Looking up the positions in the dream-editor gives us the following coordinates:

The first set of coordinates we'll need are those that we move into. These are the coordinates for the spot directly behind the door, as, when entering the door, we try to move from the spot in front of the door to the spot behind it (note that I turned off the walls for a moment to take the screenshot so that we could see the spot). The second set of coordinates is the spot we want to move to, which is directly in front of the basement door. This gives us the following block of DS:

(0:7) When somebody moves into position (14,22),
(5:15) move the triggering furre to (26,11), or to someplace nearby if it's occupied.

The trip from the basement to the main room is exactly the same, only this time we choose the spot behind the basement door and the spot in front of the other door respectively:

This gives us the following block of DS:

(0:7) When somebody moves into position (26,12),
(5:15) move the triggering furre to (16,23), or to someplace nearby if it's occupied.

And that's all there is to it. Those two blocks of DS allow us to walk back and forth through the red door.

Stairs

You might think that stairs are a whole different matter, but they're surprisingly similar. All that changes is that, instead of teleporting from door to door, you now teleport from the bottom of the stairs to the top and back.

Let's do the upstairs portion first. Once again we are looking for the coordinates for our DS in the dream-editor. This time we're looking for the spot directly behind the bottom of the stairs for our 'starting point' and the spot at the top of the stairs will be our landing spot.

Notice how this is really just the same as with the doors? All we need to do now is fill them out in our DS and voila: working stairs.

(0:7) When somebody moves into position (16,31),
(5:15) move the triggering furre to (14,26), or to someplace nearby if it's occupied.

When doing the DS to go downstairs, pay close attention to the spot we'll be using as our starting point. Though it may not look like it, the square shown in the picture below is the spot directly 'behind' the top of the stairs (or more precisely, the spot you'd move into if you didn't get teleported). The other spot is not particularly special, so let's have a look at the two locations:

And this leads to the following DS:

(0:7) When somebody moves into position (16,27),
(5:15) move the triggering furre to (16,32), or to someplace nearby if it's occupied.

Complications

Complications? What's this all about, you may ask? Well, as it turns out a bug crept into our dream when we made the stairs. Anyone who moves into position (16,27) is moved down the stairs, but it turns out there are two positions from where you can move into that spot. By moving southwest (down and to the left) from the spot shown below we move into (16, 27) as well, causing the DS to teleport us down the stairs.

What we need is some kind of line that allows us to specify that we should only be teleported if we move from the spot at the top of the stairs. Fortunately, dragonspeak has something for that situation as well:

(1:19) and the triggering furre (moved from/is standing at) position (#,#),

This line can be found under the 'additional conditions' tab. It's a line that can be put between the two lines we found above to make it a bit more specific. In our case we want to make sure that the triggering furre came from the spot at the top of the stairs, so we use the coordinates we determined earlier while writing the stair DS. Combined, this gives the following, correct block of DS:

(0:7) When somebody moves into position (16,27),
(1:19) and the triggering furre (moved from/is standing at) position (14,26),
(5:15) move the triggering furre to (16,32), or to someplace nearby if it's occupied.

With this block of DS, furres will only teleport if they moved from the top of the stairs at position (14,26).

Conclusion

The whole trick about teleportation is finding the correct starting and ending spots. Once you have those, the DS itself is easy to write. All that is left to say is that practice makes perfect, so go forth and create some doors and stairs for you to DS.