Rules ----- _Demands_on_new_quests_ * A nice and coherent background. * Random moment that prevents the use of scripts. * Testplay by fellow wizard. * Testplay by mortal, i.e NOT only your test char or 2nd. * Documentation (specifications and how to solve) for the game archive. * It must be approved before you open it. Beware, your area might be checked for Quality at this point. * The quest should be Nanny original, i.e. not be open on any other accessible Mud. * The quest should be coded in a way that keeps it alive, even after the creator has left Nanny. It should be easy to maintain and if the quest requires code from another wizard's area, the name of that wizard should be noted in a special file, together with the nature of the link and the names of the files used. Guide lines ----------- _Puzzles_ Puzzles are here to reward the player for doing things the first time they do it. Puzzles need no approval and aren't mandatory to solve to become wizard. There are two functions to remember in /obj/player.c: set_puzzle() and query_puzzles(). See puzzles.r for more information. _Quests_ A quest is a problem to solve for the mortals. NannyMUD have lots of quests and not only require the mortal to solve them to become wizard, but also to advance in levels. Any wizard may set up quests. _Multi_area_quests: To install a quest requiring code from several wizards areas, the responsible wizards have to consider the following things: * permission from the other wizards to use their code * control over the code used, or in some other way make the quest solvable even if one or more of the contributing wizards leave Nanny _Rewards_for_solving_a_quest_ A quest gives the player some quest points. You don't have to have any other reward. If you give a useful item, give it the first time only. If it's not useful, give it every time. _The_mechanics_of_making_a_quest_ 0/ Come up with a idea. Write a doc. Mai, the doc to the quest coordinator. 1/ Create the objects, random part, testplay it and assign quest points to it. 2/ Get it approved. 3/ Give the quest a unique name starting with your name, and write a hint that will be given to the players as information. 4/ In your castle, add code to put a quest object ("/obj/quest_obj") in the quest room ("/room/quest_room") once each reboot. _Functions_to_remember_ Here is a brief list of useful functions. Take a look in the files for more details. /obj/player.c : set_quest() query_quests() /obj/quest_obj.c : set_name() set_hint() set_short() set_points() query_points() /obj/quest_mailer.c : set_mailtext() set_other_wiz() _An_example:_padrone_ This example was written by Padrone once upon the time. It is still (February 6:th 1995) a valid piece of code, which shows that carefully written things will last longer. object qobj; qobj = clone_object("obj/quest_obj"); qobj->set_name("padrone"); qobj->set_hint("Padrone is sad. He built a beautiful walking castle,\n" + "but a gang of pirates stole it and now he cannot\n" + "find it any more. Help him to get it back!\n" + "You don't have to be big and dangerous to solve this quest,\n" + "but it's always a good idea to bring a weapon and some armour...\n"); qobj->set_short("Find Padrone's walking castle"); qobj->set_points(30); move_object(qobj, "room/quest_room"); To mark that a quest is solved, call the function "set_quest" in the player object. Example: if (this_player()->query_quests("padrone")) { write("Padrone says: What? Have you solved the quest again?\n"); write("Padrone says: But Ok, I won't be angry.\n"); } else { write("Padrone says: You found my castle! I am so happy!\n"); this_player()->set_quest("padrone"); } Historic note ------------- Below follow some of the NannyMUD history. Read it for your enjoyment; the parts that look like rules are either obsolete or covered above. The text was created by Padrone a long time (several years) ago. _Quest_points_ In the original LPmud, you had to solve all the quests (or all except some number, like 2) to become a wizard. All quests were considered equal. On NannyMUD, each quest gives a certain number of points. Angmar's quest is used as the "prototypical quest", and gives 100 points. Easier quests give less points, harder quests give more. The default, i. e. what you get if you don't set the quest points in your quest, is 50. To be able to advance to wizard, a player must - except from one million normal experience points - have collected a certain percentage, currently 70%, of the maximum number of quest points. This percentage is defined by the constant QUEST_POINTS_PERCENT_TO_WIZ in "/room/tune.h". But wait, it's more complicated than that! Earlier, many high-level players (on level 19 or so), used to be upset when new quests were added, since they then suddenly had to solve even more quests than they had thought they would. Because of that, each player will "remember" what the max number of quest points was when that player was created. To advance to wiz, he needs to have 70% of THAT number of quest points, instead of of the current max number. This means that the players will be happy instead of angry when a wizard installs a new quest, since they don't have to do more quests, they'll just have more of them to choose from! But wait (again), it's actually even more complicated than that! Since the max number quest points could decrease, for example if a wizard removes a quest or lowers the points for it, the player actually needs 70% of the smallest number of "max number when he was created" and "current max number". For players who - for some reason - don't want to kill a megapoint of monsters, there is an alternative: if you solve ALL the quests you can become immortal even without the experience points. As a "sanity check", this only works if the total number of quest points is at least 1000. _Deciding_how_many_quest_points_to_give_for_your_quest_ Each wizard must decide (in cooperation with the other wizards and the arch wizards) how many quest points a quest he has made should give. Angmar's quest is used as the "prototypical quest", and gives 100 points. *** ATTENTION! WARNING! READ THIS: Start with a very conservative estimate of the value of your quest, i. e. set the number of quest points very low! You can always raise it later. Players who have already solved it will get the extra points too, since a player's number of solved quest points is re-calculated every time it is needed. *** ATTENTION! WARNING! READ THIS: Before you install a quest, the number of quest points (and the quest itself!) must be approved (see above). Easier quests should give fewer points, harder quests give more. How difficult a quest is to solve is of course hard to judge, and it depends on many things, but here is a list with some suggestions on things to consider: + Trickyness ("yes, of course, if I give the bone to the dog it'll start eating and become my friend and I can pass it into the treasury...") + Fighting (how many monsters you have to kill, and how big they are) + Dispersal (how much you have to run around in different parts of the game) + Time (just how much time it takes - maybe this is a function of dispersal and fighting?) + Programmed variation -- that is, can you ask someone how to solve Korkbert's quest, and then write a macro "solve-korkberts-quest" in your client, or are labyrinths and spells different each time? ? Stupid difficulties ("sigh! - you have to write 'pull the big black longsword from stone' instead of 'get sword'") - but then again, maybe you shouldn't give points for things like that, just fix them? - Is it possible to cheat -- i. e. can you let someone else solve the quest, buy the magic sword from him for 100 kilogold, and then you just give it to the king and get the princess and half the kingdom? - Availability on other muds -- the orc_slayer quest, which is present on every LPmud in the world, and everyone can solve in his sleep, should maybe not give as many points as a quest that only exists on this one mud? + Special requirements on the player - ("to kill the demon you must use this magic sword, and then your alignment must be over 1000") ? Difficulties getting started (the hint in the guild?) Examples of points for some quests on NannyMUD: Orc slayer 10 Padrone's walking castle 30 Angmar's treasury 100 Padrone's chaosdemon 110 Kobayashi (by Chrisp) 200 - EOT -
Help topics available:
README | area.r | armour.r | behave.r | clubs.r |
container.r | debug.r | general.r | guilds.r | heal.r |
monster.r | paragon.r | pub.r | puzzles.r | quests.r |
room.r | shop.r | spells.r | testplaying.r | weapon.r |
word_list |
You are guest number 237 since November 2019.
This file was last modified: June 2000.