Map Editor:  The Quest Editor

Contents

Quest Tab

The Quest Tab on the Monster Editor looks like this:

Overview

You use this screen to make monsters part of a quest. They can either solve the quest, or help with it.

The key thing you need to know about this screen is that monsters/NPCs can be activated to do something. You can activate a monster in 2 ways;

  1. You can say a special password or passphrase.
  2. You can give the NPC a special item.

Once the NPC is activated, they can do any of the following things:

  1. Say something (for example, a quest hint).
  2. Do something (for example, move south).
  3. Give the player something.
  4. Let the player solve the quest.

You can use the Talk Editor to give your NPCs lots of things to talk about. Part of a quest should involve guessing the right things to talk to NPCs about, and they can give you hints.

Then you use the Quest Editor to handle the more important parts of the quest — getting passwords, giving items, and solving the quest.

Example

Let's say you've got an NPC who can help you with your quest, but he really likes French Fries. You have to give him some French Fries in order to get the password for the quest.

You should first use the Talk Editor to give him some subjects and responses. For example:

Topic/Keywords Response(s)
**nosubject What are you bothering me for?
quest I don't know nuthin' about no quest. All I wants is my fries.
fries, french fries I likes french fries!!!
**default Lea' me alone.

In this case, the NPC is pretending not to know anything about the quest, although you don't have to do it that way.

OK, the NPC's responses are set up, so you can use the Quest Editor to activate the NPC when he gets some french fries. To make some french fries, you create an archetype file that looks like this:

  <arch path="objects/food/food">
    <string name="short" value="french fries"/>
  </arch>
It should be called french_fries.arch, and you can put it anywhere in your wiz directory. Usually people create a subdirectory for their archetypes called "arch/" and put them there, like so:
  wiz/myname/arch/french_fries.arch

Let's say you want the NPC to give you a key when he gets his french fries. In fact, let's say you want it to work like this (and the NPC is named "ogre"):

(player): give fries to ogre
You give the fries to ogre.
Ogre says: Yum, fries!
The ogre eats the fries greedily. While he's eating, he drops a key, and you quickly pick it up.

You do this by filling out the following fields in the Quest screen for the ogre:

  • Item Arch: wiz/myname/arch/french_fries
  • Message: Yum, fries!
  • Perform Command: emote The ogre eats the fries greedily. While he's eating, he drops a key, and you quickly pick it up.
  • Give to Player: wiz/myname/arch/quest_key

You can ignore everything in "Voice Activation" and "Quest Solving" for this NPC.

What did we do here?

  1. we set the Item Arch, which is the archetype that the NPC wants to receive to be activated.

  2. we set the Message, which is the message the NPC emits when activated.

  3. we set the Perform Command, which tells the monster to emote a message. Monsters can emote, which makes it easy to have atmosphere messages like "The monster eats the fries" when the monster/NPC is activated.

  4. we set the Give To Player field, which says what to give the player when the NPC is activated. In this case, we assume you created a quest key.

Now you should have a pretty good idea how the dialog works, and we'll cover how the rest of it is used.

Voice Activation

This part of the Quest screen only has two fields:

  • Phrase: — this is the password or phrase that will activate the NPC when the player says it out loud. Example: player might type "say Aquator is Dead!" and it will activate the NPC.

  • Case Sensitive — check this box if the player has to type in the phrase with exactly the right capitalization. Example: if the phrase is "Big Time", and the player types "big time", it won't work. You usually shouldn't check this box.

You usually shouldn't use voice activation, for 2 reasons:

  1. It's not integrated with the Talk screen, so you can't type "chat Big Time" to activate the NPC. You have to say it out loud. This may change in the future.

  2. More importantly, people can learn the password and share it with other players. It's usually slightly better to make the player get some item to give to the NPC, which is covered in the next section.

Gift Activation

This part of the quest screen has 4 fields:

  • Item ID: — a special property that identifies the item to give to the NPC. We'll talk more about this below.

  • Item Arch: — a special item to give to the NPC.

  • Wrong-Item Msg: — what the NPC should say if you give him the wrong item, such as "Thank you", or "I don't want this."

  • Keep item in inv after receiving it — check this if you want the item to stay in the NPC's inventory. If you check it, the player will be able to kill the NPC and take the item back for next time.

The trickiest part about Gift Activation is that you have 2 ways to specify the item. They're almost the same, and you can use either one.

Item Arch was used in our French Fries example above. We created an archetype called wiz/yourname/arch/french_fries. This is probably the way you should specify the gift item.

Item ID means that instead of looking at the archetype for the item, the NPC should look at a property on the item instead. There are a few situations where you might want to do this:

  • the NPC can accept different kinds of items, so using a single archetype won't work. Example: the NPC wants some sort of fruit from the King's Orchards. You might have archetypes for apples, lemons and oranges, and using one archetype wouldn't (necessarily) work. You could have all the fruit in the King's Orchards set a property called, say "myname-orchards", or some unique identifier that shows they're from the orchards, and have Item ID look for that property.

  • you're writing some python code and you want to use a standard built-in game object, such as a lock pick, but it has to be the Quest lock pick, not just any lock pick. You can create a lock pick and set a unique ID on it that the NPC looks for.

It turns out that you don't ever actually need Item ID, since you can always create a parent archetype for your different items and use that for Item Arch. But that's a different tutorial; we're not going to cover it here.

In a nutshell, your best bet is to use Item Arch just like we did in the French Fries example.

Actions When Activated

This section of the Quest screen has the actions to perform when the player activates the NPC (by voice or gift), except for solving a quest, which is in the "Quest Solving" section.

You can do 4 things:

  1. Emit a message, such as "Thank you! This is just what I wanted!"

  2. Give something to the player — type in the name of an archetype to clone and give to the player, such as a quest item.

  3. Emit a "gift message", right after the first message (if you specified one), such as "In return, I will give you this Shardsword."

  4. Perform an arbitrary command, such as "move southeast".

You can set the NPC up to do any or all of these things when activated.

Give Count is how many times the NPC is allowed to give the item to the player. Usually it's only 1.

Perform Count is how many times the NPC will perform the Perform Command when activated, before just ignoring the player and not doing it anymore.

Quest Solving

This is for the very last NPC in a quest, the one who actually says you've solved the quest. There are several fields, all explained here.

Activating NPC solves a quest

Check this box to make the NPC let you finish a quest. The remaining fields ("Quest Points", etc.) will be ignored unless you check this box.

Game Driver shouts when quest is solved

Check this box for large quests that are listed on the website. The quest should *usually* be at least 5 points to be worth shouting about.

Quest Points

Type in how many quest points you think the quest should be worth. Talk to a senior wizard or higher if you're not sure. Here are some simple guidelines:

  1. a simple task such as "go find this item and bring it to me" should only be worth one point. It's called a mini-quest.

  2. a quest with 5 things to figure out (basically 5 mini-quests) is worth 5 points. 10 mini-quests would make a 10-point quest, and so on.

  3. if the quest involves an unusual amount monster killing, add 5-20 points, depending on how bad it is.

Another way to think about it is: every 5 quest points should require about 10 hours of game time. So one way to figure out how to assign quest points is to guess how many hours it'll take people to solve your quest, and divide by 2. Keep in mind that people are pretty clever, and the more hints you give, the easier it is.

Quest Short Name

This should be your wizard name plus a very short name for the quest, such as "legolas-oldmage", or "janica-aquator". It's a required field.

Quest Long Name

This is the real name of the quest, such as "Moon Quest" or "Cult of Aquator". Shouldn't be too long: 3 to 5 words, typically.

Solve Message

This is the message the NPC will say out loud when you finish the quest, such as "You've brought my crystal back! Congratulations, you've finished the Moon Quest!".

Quest Path

This field is optional. If your NPC is in the wrong map when the player solves the quest, the NPC can complain and not let you solve the quest. For instance, you might want to set up your quest so that:

  • the player first has to give the NPC some information, which will have the NPC teleport to another map. (You'd set the Perform Command to "teleport wiz/myname/some/map").

  • the player then has to go visit the NPC in that map, and give an item to the NPC.

You'd set the Quest Path to the map "wiz/myname/some/map", and set the Wrong-Map Msg to something like "I need to be in the Bank Vault!".

Realistically, this was put in to prevent players from using a monster suck-o-matic to take the NPC away and keep him or her handy until the player had the right quest item. You probably don't need to worry too much about filling out the last two fields.