There are sometimes situations in which you might want to have several Actors reacting to an Event. Sometimes you'll want them all to act, but sometimes you'll want the action of one Actor to block the actions of others. For example, if somebody shouts, "There's fire in the kitchen!" and John reacts to the Event by dousing the fire, you don't want somebody else to douse the fire as well; one dousing will do.
To demonstrate this, we need a third Actor. Go to the Actor Editor and create a new Actor, Mary. Set her location to Joe's Bar, then return to the Verb Editor. Let's say that Mary is your (Tom's) girlfriend, and she doesn't like to see people beat you up. So, if somebody (say, Fred) uses "hit with" on Tom, then Mary should intervene by pleading with Fred to desist.
So first we must create the Verb "plead to desist." Click on the "your first category," then click the Verbs tab and choose "New Verb." (You can also right-click, or control-click on Mac, anywhere in the pink column.)
In the Properties box, add a
3Actor WordSocket for the DirObject. Now go back to "hit with" and create a new Role; let's call it "girlfriend." Now, we could get clever here and create an Actor Attribute that specifies just who is hitched up with whom, but in this case, there's a shortcut: Mary is the only female here, so let's take advantage of that. However, there's another problem: we don't want Mary to plead with Fred if Joe hits Tom; we want her to plead with Fred if Fred hits Tom. For the AssumeRoleIf Script, just use:
AND
NOT
Male
ReactingActor
AreSameActor
ThisSubject
Fred
"Male" is found in the Actor menu.
Now let's give Mary the Option to plead with Fred. Click once on the Verb "plead to desist" in the left column and then click the green "+" plus button next to the Options box. That adds "plead to desist" to the Option list for the Role "girlfriend."
Next fill in the two Scripts for the DirObject WordSocket. They're quite simple; you want Mary to plead with the Subject of "hit with"—whomever did the hitting:
Acceptable
AND
AreSameActor
ThisSubject
CandidateActor
AreSameActor
ThisDirObject
Tom
Note the second comparison, establishing that Tom is the one who was hit. If we left this out, Mary would plead with Fred if he hit anyone, not necessarily Tom. Right now we only have Tom, Fred, and Mary in the storyworld, but we might add other actors later, and this script will make sure that Mary only pleads on behalf of Tom.
The Desirable script can remain at 0.0.
We also need to assign an Inclination value. Use 0.0 for this as well.
Finally, we don't want Mary ever responding with a simple "OK," so delete that Option.
There's just one last step to take here: we need to engage the hijacking feature. To do that, click once on the "Properties" button, and check the checkbox marked "Hijackable."
You're all set. Run Storyteller and see what happens.
Previous tutorial: Consequences
This is the last tutorial in group 1,
Creating a Storyworld Walkthrough.
Group 2,
Tools, begins with:
Properties Box