Section 10: Special Encounters
When you walk into a room and a description comes up, that was a special encounter (called a special, for short). When you enter a valley and monsters appear to attack you, that was a special too. When you reach a locked door, and it's unlocked if you have the right key, that is a special. In general, anything strange or out of the ordinary that happens is a special encounter.
You can create special encounters yourself, and can make them very simple or very elaborate. It can be as straightforward as a text description, or getting an item, or taking damage, or as complicated as a huge branching tree of results, which depends on what missions the party has completed so far (and thus what Stuff Done Flags have been set so far).
When a special encounter is run by the game (by, for example, the party stepping on a certain space) we say Blades of Exile has called the special. You can have Blades of Exile call a special in a variety of ways. It can happen when the party looks at a space, or steps on a space, or meets wandering monsters outdoors, or kills a certain monster, or even casts Ritual of Sanctification on an evil altar. No matter when or how the special is called, they are all created in the same way, and Blades of Exile runs through them in the same way. Before this will make much sense, though, there needs to be some background on how exactly special encounters work.
Special Nodes
The basic ingredient of a special encounter is called a special node. Each town and outdoor section has a list of special nodes, and the scenario itself has a bunch of them too. A special node is the basic building block of a special encounter.
What a special node is is an instruction. One sort of special node is Display Message, which flashes up some sort of text. Another special node is Damage Party, which does damage. There is a special node for poisoning the party, and another for giving the party an item.
When a special encounter is called, what happens is that Blades of Exile looks at a special node you create, and does the instruction in it (when this happens, we say Blades of Exile calls the special node). One thing that a special node can do is say do something, and then call another special node. This is called chaining. You can chain several special nodes together, to make a long, complicated special encounter. For example, suppose you want the party to be told they've been sprayed with poison gas, and then damage and poison all of them. In this case, you would have Blades of Exile call a special node which flashes up the message saying "You've been gassed!" and then calls another special node. This next special node will damage the party and then call a third special node. This third node will poison the party, and not specify any more nodes to be called. In this case, you have created a special encounter which is a chain of special nodes, three long.
Each town and outdoor section has its own set of special nodes. The scenario itself has a set of global nodes. This multitude of special nodes will be the clay with which you can sculpt a wild, elaborate adventure.
Pointers (Advanced)
Pointers are an advanced feature of the special node engine. A pointer is a negative number that references a Stuff Done Flag, allowing you to directly use the value of a Stuff Done Flag as a parameter to a special node.
When the game calls a special node, it looks at the values it has. If any of them are negative (more specifially, less than or equal to -10), the game checks to see if there is a pointer with that number. If there is, the game fetches the value of a Stuff Done Flag that the pointer points to, and substitutes that into the special node where the pointer was specified.
There are 100 mutable pointers available, which can be set using the Set Pointer special node. In addition, there are a number of reserved pointers that are set in certain circumstances. Rather than referencing a Stuff Done Flag, these refer to special values of the encounter itself. The reserved pointers are:
- This can be used anywhere a message number is expected to refer to the special string buffer. The contents of the special string buffer can be manipulated using the Clear Buffer special node and various Append To Buffer special nodes.
- This contains the X coordinate of the space the special node was triggered on.
- This contains the Y coordinate of the space the special node was triggered on.
- This contains the terrain type of the space the special node was triggered on.
- If the special node was called to determine the result of a custom trap effect, this pointer refers to the trap level.
- When a special node is called during an attack, this contains the number of the targeted creature, ready to be passed to a Select Target special node.
- When a special node is called during an attack, this contains the X coordinate of the targeted space.
- When a special node is called during an attack, this contains the Y coordinate of the targeted space.
Simple Examples
Confused yet? Understandable. Creating a special encounter is a lot like writing a short computer program. Writing computer programs is not incredibly difficult, but it does take time to learn how to do it. Time and practice. Making special encounters is not something you can learn to do overnight, but once you can do it, there is nothing that can stop you from creating a truly great scenario.
And it really isn't that difficult. Here are three simple, step by step examples (and there are several more examples in the appendices), which will show you much of the process. Load up a scenario, such as the very basic scenario you created in the introductory chapter. Select Edit Outdoor Terrain.
Example 1
First, we're going to create a simple text message, which will appear when a party steps on a space. The fourth button in the third row is the Create/Edit special encounter button. Press it, and then click on a spot of ordinary grass.
Wow. A pretty complicated dialog box just came up. This is the special encounter editing box. It's not as bad as it looks. For now, we're just creating a text message. Press General (a list of special node types will come up), select Display Message, and then press OK. There. You are now editing a node of type Display Message. Now you need to write the message. Notice that two of the fields below that buttons have changed to First Part of Message and Second Part of Message, and that there is a button to the right marked Create/Edit. Press it. This is where you edit the text that will come up. Type something, like "You feel very weak and tired". and press return. You will be back on the special editing window. Press OK.
That was it! Now, whenever a party steps on that space, they will see your text message. If they step on it again, they will see it again. Notice the space is marked with a small S icon. You can edit the encounter if you want. Press the same button (Create/Edit Special) you pressed to create the encounter, and then click on the space with the S icon. You will be editing the encounter again.
Example 2
Unfortunately, you probably don't want a message to keep reappearing every time they step on a space. It gets annoying. Fortunately, you can have a message only appear once, the very first time you step on it, and then never appear again. The way you do this is to use a Stuff Done Flag. Pick a Stuff Done Flag to be attached to your text message, such as, say, (3,4). This assumes you havent used (3,4) already.
You are going to create a special encounter which when it is first stepped on displays the text message and sets the Stuff Done Flag (3,4) to 250. The Stuff Done Flag being set to 250 tells Blades of Exile that this special encounter is dead and done and never comes back again.
To create the encounter, first click on the special spot button terrain (third row, sixth from left in the tools), and then place it on some grass. The white spot marks a special encounter. Press the Create/Edit Special button, and click on this spot.
Special encounters that only happen once are listed under One Shots, so press the One Shots button. Select One-Time Text Message and press OK.
This looks very similar to the earlier special editing window, with one addition: it now says Stuff Done Flag, First Part and Stuff Done Flag, Second Part by the top two text areas. This is where you enter the Stuff Done Flag this encounter will be linked to. Enter 3 in the first box and 4 in the second to indicate Stuff Done Flag (3,4). Then press Create/Edit to edit the message text, and finally press OK to finish editing the special.
You may want to run the game now to see what happens. Step on the encounter, and you'll see the text. After the encounter, notice that the white spot has disappeared. When you put a One Shot special on a space with a white spot, Blades of Exile will make the spot disappear after the special has been visited.
Third Example
Finally, we will create the earlier example of a chain of specials. This encounter will put up a text message, damage the party, and poison them as well.
Press Create/Edit Special again, and click on a spot of grass. Press General, select Display Message, press OK, and press Create/Edit to write some text. Write "You get hurt", or whatever. That was the first node in the chain.
Now, we want this special encounter to do several things. We want several encounters chained together. To do this, we need to tell this special node to call another node once it is done. That is what Jump To means, at the bottom of the window. The Jump To special is the special a node calls when it is done.
To make a special to be jumped to, press Create/Edit to the right of Jump To. The special editing window will reset itself. You are now editing a different special node. This special node will damage the party. Press Affect PCs, and select Do Damage. Now all of the text areas on the special editing dialog have labels, waiting for you to provide values.
For now, type 3 in Number of Dice, and 5 in Number of Sides on Dice. Put 2 in Extra Damage and 1 in Type of Damage. This node will add up 3 random numbers from 1 to 5, add 2, and do that amount of damage to each PC. The 1 indicates that the damage is fire damage (damage types are described later on).
Note that there is a Create/Edit button to the right of the text message area. You can press it to create another text message, which is displayed while the damage is being done. Many of the special nodes have a button of this sort, so that you can accompany the calling of the special node with text.
Now we need one more special node. To make the third node in the chain, we need to use the Jump To field again. Press the Create/Edit button to the right of Jump To. You will now be editing a third special node. Press Affect PCs again, and select Affect Status. New messages have appeared by the text areas, asking for different values. Put a 2 in the Amount (0 .. 8) field (for a small amount of poison), and 1 in the 0 - cure, 1 - inflict area (since we want to cause poison, not cure it). Put 2 in the Which Status field. (This means poison.) Press OK. Our special encounter is now complete.
Run the scenario again, and trigger this encounter. Your party will be damaged and poisoned, as promised.
This is only scratching the surface of special encounters and what they can do. There are If-Thens specials, which can call one of 2 or 3 different special nodes, depending on some sort of condition (such as whether a Stuff Done Flag is a certain value, or whether the party has enough gold). There are Town Specs: town specials, which can act as stairways to move the party from one level to another, or fill areas with fire barriers or ice walls. Read on, to find out the basics of special nodes, and how to work with them.
The Editing Dialog
There are almost 200 different sorts of special nodes. These nodes, their effects, and the values you need to give to determine exactly what they do are listed in the Special Nodes section in the appendices. Reading through these is a great way to determine how special encounters work and get ideas for things your scenario can do.
The special editing dialog has a number of fields and buttons on it, each of which determine the traits of your special encounter.
For nearly all of the nodes in the fields below, if you place a -1 or leave a -1, that means that there is no effect. If you leave -1s in the message areas for example, no message will be displayed. Sometimes, leaving a field at -1 will prevent anything from happening. Occasionally, -1 has a specific meaning other than "no effect".
Type Selection Buttons - These seven buttons each bring up a list of one of the different classes of special encounters. These classes, when they can be used (town nodes have no effect outdoors, for example), and what they do are described in the Appendix on special nodes.
Stuff Done flags - Many special nodes either change or examine a Stuff Done flag. Put the two parts of the required stuff done flag in these two text areas. Sometimes, when a node uses these fields for a different purpose, a small button will appear above the field. Click this button to choose the value from a list.
Message 1-3, Pict, Pict type - Some special nodes display a piece of text on the screen. Other special nodes display a dialog box, with text in the middle and a picture in the upper left corner. The numbers for these messages and the number of the picture to display can be put in these text fields. When attaching a simple text message (two strings) to some other type of node, keep in mind that the text will display after the main action of the node. For example, a Missile Animation node with attached text messages will show the missile, then display the text. Similarly, a Pause special node will display the text after the delay is complete.
Each picture and each text message has a number associated with it (for example, every town has 100 text messages, numbered from 0 to 99). Most of the time, you really don't want to have to worry about these. Fortunately, there is an easier way to deal with this. Press the Create/Edit button to create and edit text messages, and press Choose to the right of the picture text area to select a picture. These buttons only appear if you need to specify a value.
Extra 1a, 1b, 1c, 2a, 2b, 2c - Many special nodes require you to provide different values, such as the amount of health to heal or the value to set a Stuff Done Flag to or the number of an item to give. When you select a special node type, text will appear to the left of these text fields prompting you to enter a value. Often, there will be a Choose button to let you select the value from a list, or a Create/Edit button to let you edit a message or a special node to call.
Jump To - Some special nodes call a different special node which is specified in one of the other fields. If this doesn't happen, and a special node is given in Jump To (in other words, if the value there isn't -1), that special node will usually be called when this special node is through.
These meanings for the fields are not without exceptions. Some fields sometimes mean different things, and some nodes prevent the Jump To node from being called. These exceptions are detailed in the descriptions of the individual nodes in the node list in the appendices.
Inserting Special Nodes into a Chain - Suppose you create a chain of 3 special nodes, and then realize that you forgot something. Suppose you want to bring up a text message, damage the party, and give them experience. You create special node 16 to bring up a message, click on the Create/Edit button by the Jump To: slot to assign a new node (you get node 17), make node 17 give experience, and then realize that you forgot to include the Damage the Party node.
The Create/Edit button is to the right of a text field, in which you can enter the number of the next special node to be called. When you press the Create/Edit button to get a new special node, if the number in the text field is -1, you are assigned a new node. If the number is 0 or larger, you will start editing that node.
For the example above, you can place a new special node inbetween 16 and 17 to damage the party. Go to node 16 (of type Text Message). The Jump To is set to 17. Instead, set it to -1 (enter -1 in the Jump To text field). Then press the Create/Edit button, and you will be assigned a new node. Make that node the desired type (in this case, Damage the Party), and set the Jump To field in the new node to 17. Voila! The chain is now 3 nodes long.
Other Ways to Edit Specials
When you select Edit Special Nodes from the Scenario, Town, or Outdoor menus, you will see a list of all of the scenario, current town, or current outdoor section nodes. Click on a node to edit it. For some dialog boxes in which a special node is asked for (like Advanced Town Properties), there is not a Create/Edit button. To create a special encounter for these features, make a special encounter in the Edit Special Nodes window, remember the number of the first special node in the chain, and enter it into the appropriate place (such as Special To Call When Town Entered in the Advanced Town Properties window).
What Nodes are Called When
If you put a special encounter on the ground in town, it is called when the party walks onto it. If you put a special encounter on a space the party can't walk onto, it is called when the party searches that space (such as a Trap special node on a chest). If the special node is triggered in town, a town special node is called. If the special node is triggered while walking or searching outdoors, a special node from that outdoor section is called. There are some cases when attempting to walk onto an impassable space will trigger a special node: if the terrain on that space changes when stepped on (even if the terrain it changes to is also impassable); if the terrain on that space is set to call a special node when stepped on; or if the first node in the chain is a Prevent Action node.
Most of your special encounters will be called when the party walks onto a specified space outdoors or in town. In addition, when the party sails a boat onto a special encounter on the water, that encounter will be called.
Town special nodes can be called when entering town, when leaving town, when attempting to talk to someone, when killing a monster, when seeing a monster, when the town goes hostile (by stealing something or attacking someone), or when casting a spell on a space.
Outdoor special nodes can be called when encountering monsters, when winning a battle, or when fleeing from a battle.
Scenario special nodes are only called in a few different ways. You can use the General type special node Call Global Special to call a scenario special node. Also, when a special item is used, a Scenario special node is called. Other times when scenario special nodes might be called are when you use a space, as part of a monster's move, when attacking or being attacked, when purchasing something from a shop, or when dropping an item on the ground.
You can specify a town special node to be called every so many turns while the party is in a town (select Set Town Event Timers from the Town menu). You can also specify a scenario special node to be called every so many moves no matter where the party is in the scenario (select Set Scenario Event Timers from the Scenario menu).
Very importantly, you can have special nodes called during conversation. This is described in more detail in the chapter on dialogue.
Time Passing
When a party begins a scenario, the scenario will be set on day 1, and they won't have done anything or completed any quests. As time passes and the party does things, you might want the world and events to change in response to what the party does.
Every 3700 moves, the Day counter goes up by one. You can have If-Then special nodes call different nodes based on whether a day has been reached. You can also have characters appear or disappear based on what day it is. You set this on the Advanced Monster Settings Dialog, described in the chapter on Editing Towns.
You may not always want things to change based on just what day it is, however. You may want things to happen based on what the party actually does. In this case, you can use Events. You can have as many events as you want, starting with event #1. An event can be something like a town being reached, or a treasure being stolen, or a major creature being killed. When something happens you want to be an Event, call a special node of type Major Event Has Occured. For example, if you want the killing of the Goblin Chief to be Event 4, have a special node called when that creature is killed. That node should, of course, be of type Major Event Has Occured, set to Event 4.
The purpose of Events is determine whether things should happen in the scenario or not. The occurance of an Event can prevent bad things from happening. For example, suppose you want the goblin tribe to attack a town on day 90 and kill Fred, one of the characters in the town. This will be prevented if the Goblin Chief is killed before day 90 (killing the chief is Event 4).
When you place Fred in the town, bring up the Advanced Monster Settings Dialog, and set When Is Creature Here to Disappear On Given Day. In the Day Creature Disappears field, enter 90 (for Day 90), and for the Event Code which prevents the disappearance (the second field), enter 4. This character will disappear on day 90 unless Event 4 happens to prevent it.
Similarly, when talking to characters, you can have their responses depend on whether events have happened or not. Suppose Sue, in the same town, talks about Fred. Before Fred dies, she says something nice about him. After he dies, she says he died. When writing Sue's dialog, give her a dialogue node of type Depends On Time (and event). Set the day the response changes (the first field) to 90, and the Event which prevents the change (the second field) to 4. If Fred was killed (i.e. if the Goblin Chief was not killed before Day 90), she will respond with the second text field. Otherwise, she will respond with the first.
Finally, you can use the If-Then Special Node Type 150: Special Thing happened?, which calls different special nodes depending on whether a day has been reached and whether an Event has happened before that day or not.
Using Events is a good way to spice up your scenario. By picking things that will disappear and people that can die and Events to prevent those occurances, you can create the feeling of the passing of time. This can create a real feeling of urgency in the player!