----------------------------------------------------------------------------- Here is the complete set of building DOCS for STRANGEMUD: Rev.4-9-1996 ----------------------------------------------------------------------------- Table of Contents ================= 1.0 Introduction 1.1 Creating the files 1.1.1. Get an idea. 1.1.2. Research your idea. (If necessary) 1.1.3. Map your area. 1.1.4. Write your area. 2.0 Area Building 2.1 Building the World File 2.2 Building the Mobile File 2.3 Building the Object File 2.3.1 Item Types Format 2.3.2 Spell Table 2.3.2.1 Important Notice about Spells 2.4 Building the Zone File 2.4.1 A First Look 2.4.2 A Second Look 2.5 Building the Shop File 2.6 Iggy's Quick Reference cards 2.6.1 MOB.REF 2.6.2 MOBSTDRD.REF - Mob Standards 2.6.3 MOB_PROG.REF 2.6.4 OBJ.REF 2.6.5 OBJ_TYPE.REF 2.6.6 SPEC_ATT.REF - Special Attacks for MOBs 2.6.7 SPELLS.REF 2.6.8 WEIGHTS.REF 2.6.9 WLD.REF 2.6.10 ZON.REF 2.6.11 FORMULAS - File format WLD/MOB/OBJ/ZON/MOB_PROG, ETC. 2.6.12 SAMPLES - File format samples. 3.0 Misc Tables 3.1 Weapons and Carrying Capacity (Weight) 4.0 MOBProgs 5.0 Common Questions 5.1 The World File 5.2 The Mob File 5.3 The Object File 5.4 The Zone File 5.5 Using MOBProgs 5.6 Submitting Your Area 5.7 General (Misc) 6.0 Closings ------------------------------------------------------------------------------ 1.0 Introduction ================ ------------------------------------------------------------------------------ "So I am now IMMortal, what do I need to know for building cool areas?" ===================================================================== First of all, you must know what goes into each area. There are FOUR different files that all relate to a certain area: WORLD FILE - A world file includes most everything about the rooms. It includes such things as a Room Number, a Room Title, a Room Description, all the Room flags [Such as: Does the room allow mobs to enter it. Or is the room a DT]. It also includes exits, doors, and extra descriptions of things that might be in the room. MOB(ile) FILE - This file includes the information about the MOBiles. Here you get to develop all those nasty MOBs that give mortals such a hard time. This file contains such things as the Mob Number, all the mob aliases, the MOB's actual name, the Description, how well he is armored, how many Hitpoints he has, how much damage he has, the amount of experience and gold, the number of attacks, etc. OBJECT FILE - This file contains all the cool stuff about Objects. It includes the aliases of that object, name, the description, flags, where it can be worn, and how it affects the owner. Because each object is different--food, verses a weapon, verses a container, etc.--there are four settings within each object. Those special settings define special things about each type of object. You will read more about those later. ZONE FILE - This file defines how the Zone is set up. Your area will have at least one zone, more depending on it's size. It is most easily though of that you will have 1 zone per every 100 rooms. However, you don't need a separate zone file for every zone, unless you wish each zone to act differently. Within a zone file it will include, the rooms that is inside of that zone, the life of that zone (in ticks before the zone resets itself), and special events within that zone. Such events are: It will place a MOBile in a certain room. It will place an object on that MOBile. It will also place an object in that room, as well as an object inside of an object. Another major part of the zone is that it sets the status of the doors, open, closed, and locked. 1.1 Creating the files ====================== ------------------------------------------------------------------------------- Oh, this is great, but how do I make my area? ============================================= Game plan for creating an area: ------------------------------- 1.1.1. Get an idea. ------------ An idea is a hard thing to come up with. Don't dare start building until you ask yourself a few simple questions: A) What is my point to this area? B) Will people really care about my area? C) Why would people want to come to my area? D) What does my area offer that no other area on this MUD offers? A good place to start when you come up with your idea is: * An incident in history (Rome, The holy land, Age of fatalism, etc.). * An actual place in the world (Past, Present, Future). * Some place creepy or daring. * Whatever else. 1.1.2. Research your idea. (If necessary) ------------------- Nothing is more of a pain in the ass then research. However, think of your area as if it were a movie. Don't you just hate going to a movie that is totally inaccurate? What is the point of going to a movie if the writers aren't even going to bother to make sure it is historically/scientifically/factually correct? It sure drags down the movie just the same as a poorly researched area would drag down the MUD. 1.1.3. Map your area. -------------- By all means....MAP your area in city-block format. What is the point of going from room to room if there distance has no measure. Areas are pointless if you are able to travel 1000 miles if you only move once the east. Like in most areas, there is some kind of grid. If you are on one path or street, the distance on that path should be the same as the same parallel path. For example (A correct map): [a. path] - [b. path] - [c. tree] - [d. path] | | [x. path] - [y. path] - [z. path] (An incorrect map): [a. path] - [b. path] - [c. tree] - [d. path] || [x. path] - - - - - - - [y. path] Distance needs to be true....once again in city-block format. The distance between all of the rooms are the same in the correct map; however, the distance is varied in the incorrect map. It is unrealistic to travel from room x to room y in just one move when traveling from room b to room d takes two moves. I am sure you can think of some poorly designed on StrangeMUD. We do not want these types of areas anymore. 1.1.4. Write your area. ---------------- Your area needs to be thoughtfully written. Why should people bother to come to your area if you do not write any decent room descriptions. Take your time and make room descriptions that tell a good story. Don't have a room that does nothing, try to make a purpose for every room...use your imagination....even for hallways. Make sure your room descriptions are ALL different too! Cutting and pasting your rooms is flat out wrong. How do you write the area.....Well, you type it in, in a wordprocessor. Just use the format as described in this kit and you will be set...it is easy as pie. The easiest way to create an area is using a simple wordprocessor. Use CURRIER FONT or some other FIXED LENGTH FONT. We use all fixed length fonts on StrangeMUD, so you have to make sure you do while making your area. Remember, when anything goes over 80 columns, it begins to look junky. It is up to you to make your area look as clean as possible. Take into considerate that some people might not be able to see what is after 80 columns. The rule of thumb, Don't make anything over 80 columns! ------------------------------------ You can also use a program for DOS (and UNIX) called DIKUED. I can't remember where you can get a copy of this program. Also, if you get a copy of this program the database will have to be fully modified for StrangeMUD. We no longer update Dikued for StrangeMUD. If you want to (or have) maintained the Dikued database for StrangeMUD, please let me know. ------------------------------------------------------------------------------- 2.0 Area Building =============================================================================== HOW TO BUILD A GOOD AREA ON STRANGEMUD or, HOW TO AVOID BECOMING COMPLETELY INSANE IN TRYING TO FIGGER THIS DAMN THING OUT. *** NOTICE *** Throughout this document, I will use the example of a wedding chapel I have built--7 simple rooms, but it encompasses just about everything you'll see when making a real area for StrangeMUD--or, really, any other MUD. The biggest thing to remember when building areas is that you really can't make a good area without thinking it out, mapping it, describing it, and figuring out what kind of heinous things you're going to do to the people who are luckless enough to enter it. I will define terms that I feel need defining as I go along here, so you won't feel totally lost. Much of the information here is technical; since I do my best to distance the builder from the actual chore of building(short of an online builder, which will hopefully be here soon), I try to make the tables that you will invariably have to use as simple as possible to understand. Above all, remember that the old phrase--KISS(Keep It Simple Stupid) does NOT apply to area building--that is, MUDS depend on a TEXT adventure--people need to SEE things to visualize them. Don't be skimpy with room descriptions, etc. Now, for the meat: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A Practical Guide to World Building Since I can only go by the way I make areas, I'll try to give you a step-by-step guide on building one. We'll start with the example of my chapel. The Wedding Chapel is built to make MUD marriages carry a degree of formality. It isn't meant to be a big mob-killing area, etc., so that eliminates a lot of the buggery that most have to go through in creating areas. However, it's a good beginning area to look at. 1) The first and foremost thing you should do when making an area is to MAP it. This should happen even before you actually describe the rooms. I often map before I even think of what the rooms might be. For me, pattern is necessary for a good area--though not required. The map of the wedding chapel is as follows. You'll understand the significance of the numbers later. (0) (4) N U CATHEDRAL | ..' OF RECEPTIONARY---KITCHEN (3)W --- (1)E STARS ' .. | BRIDE'S | ..' GROOM'S , S DRESSING----PARLOR----DRESSING D (2) ROOM .. ROOM (5) ' WINE CELLAR Not much, eh? But, as you can see, every direction Strange allows is utilized. The map is clear and concise. No descriptions, no extra little things to point out, just a small map that tells you where each room is in relation to the area. In fact, I had no room descriptions when I first made the map. Much like the architect doesn't know how the house s/he is building will be furnished, the builder of an area should pretend that s/he is the architect, not of a house, but of a world. 2) Once you have mapped out your area, give the general descriptions of each room. It is a good idea, especially if each room is different, to write this on paper where you can look at it at any given time without having to lose your place. Not only does this save time(in the long run)--it forces you to take several looks at your area, to edit it, and to look at your area as if it were a moving book. 3) Now, it's time to think of things like secret doors, one-way traps, etc. Death traps are especially fun (for you and the gods, not the players. ;) ) And all of these things need to be thought of... this is the "heinous trap" part, and one of my favorite aspects of the area. Don't get stuck in a rut--this kind of thing takes time... don't give yourself a real deadline, and don't rush it. A well-worked area that took 6 months to build is more satisfying both for the builder and the player than an area that took 6 weeks and is nothing but 300 rooms of dour repetition. 4) There are 4-5 files that you will be working with: The World file, the Mobile file, the Object file, and the Zone file, and perhaps the Shop file. The world file is where all your rooms are described. The mobile file is where you make the mobiles for your area. The object file is where you make the objects for your area. The zone file is where you define what goes where in your area. The shop file helps to make shops in your area. I will first cover the world file, and will go in the order listed above. This is a very detailed help manual, and goes right down the formats. Since this is my first time in writing docs, any help in pointing out typos or mistakes would be greatly appreciated. Thanks, Questor. Now you're ready to actually BUILD your area. This is TOUGH, but it's the necessary evil when dealing with text-based, stupid computers. As we say on strange, "Live with it--or fuck off." ------------------------------------------------------------------------------- BITSTRING SUBSTITUTIONS: ========================= In your files, there are FLAGS which decide how a mob is to act, there is a new way of posting these flags in the file, that was is called BITSTRING. StrangeMUD uses the bitvector for flags...if you don't know what that means...don't worry about it. You can probably just skip this short section cause you will learn it later on. Instead of adding the flag values up, you can just use BITSTRING format. It makes it MUCH easier to debug. If you are confused about this, don't worry, you will understand it when you continue to read the kit. You can use the bitstring on following flags: MOB : action flags, affection flags. OBJ : wear flags, extra flags. ROOM: room flags, door/direction flags. Normally (and it's still possible) you add the bitvalues together (1,2,4,8,16,32,etc...) and get a number.. Now you can do this : use a string of letters.. example : adf (that simple).. So this means that: a = 1, b = 2, c = 4, d = 8, e = 16, f = 32 all the way to z = 33554432. If we run out of letters, then continue with the CAPITAL LETTERS so A = 67108864, B = 134217728, etc. So 'adf' would be : 1+8+32 = 41 Remember!!!! There is a difference between 'a..z' and 'A..Z' Start with the small letters, and finish with the Capital letters. NOTE: If an illegal character is in the bitstring, then NOBITS will be set.. (Illegal characters is of course all beside 'a..z,A..Z') BITSTRINGING IS A VERY NICE ENHANCEMENT (Thanks to QUINT). PLEASE USE IT. IT MAKES DEBUGGING SO MUCH EASIER BECAUSE IT ELIMINATES THE USE OF THOSE VERY HIGHT NUMBERS. After you print this document out, go through each of the BITSTRINGABLE flags and mark them in order from 'a to z and A to Z'. ----------------------------------------------------------------------------- 2.1 Building the WORLD file =========================== ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "O no! what do I do now?" STARTING WITH THE BASICS "Is this where I begin? "This is a file, right?" THE WORLD FILE Where DO I begin?" The first thing, inevitably, that you have to have, is a general idea of what the text file looks like. So, here it is: KEY TERMS: Zone: the first two numbers of your room. It's a good thing at this point to help your imp out by giving it a nondescript number, or a % or something like that, because the imp will invariably change the number you choose. Flags: these are numbers that, when added up, form the "room flags" or other type flags that define special characteristics about a room. Tilde(~): This character signifies the new line...it should be typed exactly as it looks on the general file and descriptions. Anything in the <> brackets is meant to be substituted by the appropriate item it describes. The <> are not to be put in. Anything outside of these brackets is to be put in. Anything with the {} brackets is meant to be a comment, and should be omitted as well. GENERAL ROOM FORMAT: # ~ ~ {direction fields come next} D ~ ~ {there is a maximum of six exits per room(of course); each direction may appear only once.} {extra descriptions come next} E ~ ~ {any new extra descriptions must begin with the "E"...there is no real limit on extra descriptions, save memory requirements.} S I realize that this is a confused mess, but it should become clearer as you read on. I'll try to make each one understandable. ------ OK. From the first line: # This is the room number of your room. Seems simple enough, right? Well, there's still some simple rules to remember: 1) The first two or three numbers must always be your zone, whatever it is. Since I am the one that puts the files into Strange, I usually ask that you use either a % sign or something like that. 2) The bottom two numbers can be any number from 00 to 99. As in all computers, space is limited by numbers. GO IN CHRONOLOGICAL ORDER, DO NOT SKIP NUMBERS, AND START WITH 00. That is all I ask. SO, you would type: #%00 for your first room. This goes for objects and mobiles as well. This is called the VIRTUAL NUMBER. ------ ~ The next line is what people see when they are in BRIEF MODE, or type EXITS, or simply want to know the title of the room. This can be of any length, but 3 or 4 concise words is usually quite enough. For example: Temple Square~ Queen Spider's Lair~ Big Bird's House~ The Entrance to the Ethereal Web~ The Parlor~ Notice that the tilde always follows text that is to be seen by the player. For things like the virtual number, this is not necessary(and will cause an annoying error when I start to load it. Never forget the tilde, or put it in the wrong places.) _______ ~ After that is the room description. This is what people see when they really look at a room. This should be quite detailed, and should give a really sharp pictorial image to the reader. Be sure as you are writing this that you are thinking of key words that can be used later in extra descriptions, to add a state of realism to your room. The tilde is always followed on the next line of this section. _______ Now comes the three-number part of the room that really defines how it operates in the game. I'll outline each one for you: Zone number: put in a %, and I'll give it its zone number as I need it. This should save you a little effort. ;) Room flags: The room flags operate off of what is called a BIT system: that is, each number is a factor of two, and these numbers when added up allow one number to represent several different things. Here is the table, with extensive descriptions of what we know each room to do. We have omitted those numbers that you are not to modify as of now. _______________________________________________________________________________ FLAG | BIT # | DESCRIPTION ~~~~~~~~~|~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | A light must be held by at least one character, or all | | the person will see will be "It is pitch black", there DARK | 1(a) | will be no one in the "Who" listing, the player can only | | use the public channels, find exits, light something, or | | shout for help. .........|.........|........................................................... | | This room is a death trap. Players entering it will lose | | all their equipment, but no gold or experience. BEWARE: | | if you make a room a death trap, provide exits to the | | rooms leading to the death trap, and do NOT set the room DEATH | 2(b) | as Dark unless you have made more than adequate warning | | in room descriptions, direction descriptions, etc. | | StrangeMUD will NOT accept DTs that have not been | | properly marked. .........|.........|........................................................... | | This room will not let any mobiles(non player characters, | | otherwise known as NPCs) wander into it. IF YOU HAVE A NO_MOB | 4(c) | ROOM THAT IS A DT, SET THIS FLAG AS WELL. NPCs WILL walk | | into death traps, and WILL DIE if they do. It is NOT | | good building practice to allow this to happen. .........|.........|........................................................... | | This is simply inside. Its reasoning is unclear, but use INDOORS | 8(d) | it if it's inside a cave, or house, or building of some | | sort. .........|.........|.......................................................... | | This room will cause a 10-point-per-tick loss of mana, HOSTILE | 16(e)| move, and hit. The message "This place feels really | | unhealthy!" is printed every tick someone is in the room. .........|.........|.......................................................... | | NO_RECALL| 32(f)| A person may not recall out of this type of room. .........|.........|.......................................................... | | NO_SUMMON| 64(g)| One may not be summoned to this room. .........|.........|.......................................................... | | NO_MAGIC | 128(h) | No magic is allowed in this room. (spells, scrolls, | | staffs, POTIONS ARE ALLOWED) .........|.........|.......................................................... | | TUNNEL | 256(I) | The room is a tunnel -- room for only 1 person in this | | room! .........|.........|.......................................................... | | This room is impossible to teleport into by way of the | | mage spell Teleport...also, an immortal would not be able PRIVATE | 512(j)| to GOTO this room if 2 or more people were in it. IF YOU | | HAVE A ROOM THAT IS A DT, SET THIS FLAG AS WELL. You do | | NOT want a poor mage to teleport into a DT. .........|.........|........................................................... | | GODROOM | 1024(k)| Only the important people are allowed in these rooms =) .........|.........|.......................................................... | | NO_CAMP | 4096(m)| You are not allowed to go camping in this room. .........|.........|.......................................................... | | ROOM_HOT | 8192(n)| This room causes the person to get damage from the heat | | in it. Soon to have "protection from heat" spell .........|.........|.......................................................... | | ROOM_COLD| 16384(o)| This room causes the person to get damage from the COLD | | in it. .........|.........|.......................................................... | | ROOM_TP | 32768(p)| (Not yet implemented) | | Room acts as a Travel Point room. This was a way in the | | olden days to see if a mortal had explored enough to | | become an IMMortal when he reached level 31. When you | | enter this room for the first time, you get a travel | | point. No real need anymore....for now. | | Ask an IMP for INFO if you want to use this flag. .........|.........|.......................................................... | | ROOM_NO_ | 65536(q)| You are not allow to kill in this type of room (no KILL | | violence) .........|.................................................................... ROOM_NO- |131072(r)| You cannot track a path through this room. TRACK | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For example, if you wanted to make a DT, you would choose the flags DEATH+NO MOB+PRIVATE (2+4+512)=518. This is a common number. If there are no room flags, use the number 0. ------- Choose one of the following, whichever most applies to your room: FLAG Index Number(choose only one) ============================================== INSIDE 0 CITY 1 FIELD 2 FOREST 3 HILLS 4 MOUNTAINS 5 WATER_SWIM 6 WATER_NOSWIM 7 UNDERWATER 8 UNDERWATER_DEEP 9 UNDERWATER: This flag sets the room sector type to Underwater. There are two possible ways of navigating through these types of rooms. 1) Using the spell "Aqualung" which allows you to breath underwater. 2) Use Scuba Gear (see ITEM_SCUBA). UNDERWATER_DEEP: Sets the room sector type to Underwater_Deep. You can only navigate through this type of room with Scuba Gear on. You CANNOT navigate if only using Aqualung spell. (See ITEM_SCUBA). The ohers should be self-explanatory. If not, ask one of the imps, or another builder. -------- An example line altogether would look like this for a DT in the water where you might need a boat: % 518 7 -------- You should now have your basic room, minus extra descriptions and direction exits. ======== DIRECTIONS AND EXITS: as you remember, the format for a direction is: D ~ ~ The directions are found as on a compass rose, which I provide for you on the first few pages: NORTH 0 Each of these numbers goes in the place of ... EAST 1 For example, if you were to have an exit to the north, you SOUTH 2 would begin it with: WEST 3 D0 UP 4 DOWN 5 ---------- Next, you have the description of the exit. This would be something like "You see a green glob to the north." or "There's a pulsing red light to your north." or something equally descriptive. If you leave this field empty(that is, just put a tilde there without describing the direction, when the person looks in that direction they will see a phrase like "You see nothing special there..." This becomes monotonous, so I beg of you, whenever given the chance, describe each exit carefully. ----------- Here are the keywords, should you have a door. This is what the person uses when they operate the door, such as "close door" or "open grate" or "lock leaves"...remember that each side of a door has to be defined--if you make a door in one room, you also have to make it in the opposite direction in the next room. example: grate mound~ This person would type in "open grate" or "close mound" or vice versa or any combination of them, and the door would respond. This is NECESSARY if you are going to have a door. ----------- once again, you have a 3-number line you have to work with. I'll go through each one carefully: I am not sure what will happen if you enter in some stupid set of flags like c and d so don't do that, enter in real things like aef. You will probably crash the mud if you try to pull something cute =) FLAG WHAT CAN BE DONE TO THE DOOR ------------------------------------------------------------------------------- 0 | nothing can be done to the door. 1 a | door can be locked/unlocked/opened/closed/picked 2 b | door cannot be picked; all other commands work. 4 c | door is a medium difficulty pick-proof. 8 d | door is a hard difficulty pick-proof. 16 e | door is secret. 32 f | closed. This can also be set in the ZONE file. 64 g | opened. This can also be set in the ZONE file. 126 h | NO PEEK. Can't Peek in this direction. NOT REALLY A DOOR. 256 i | NO FLEE. Can't Flee in this direction. NOT REALLY A DOOR. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is the virtual number of an object you will have made; if the door flag is 0, this field is ignored, so just type a -1 for convention's sake. Of course, you'll continually use % as the zone number, so the key number might look something like this: %04 This is the virtual number of the room that the exit leads to. This is, of course, necessary. So, to summarize it all up, this line looks like this: Some examples: 0 -1 3001 (no door, no key, leads to temple of midgaard) 1 %07 %11 (anything-goes door, key object #%07, goes to room number #%11) etc., etc. ------------ As a final summary of descriptions, I'll use a little example: D1 (leads east) There's a brittle smell, as of cyanide, to the east. Perhaps you shouldn't go in there. It looks very like a gas room or execution chamber of some sort. ~ (notice that this is probably a death trap. cyanide, execution, etc.) black door metal~ (can use any of these three words to access the door) 2 5532 5509 (unpickable, key #5532, goes to room #5509) ------------- EXTRA DESCRIPTIONS you must have an E before each extra description. the format for Extra Descriptions is as follows: E keyword(S)~ -- This is what the person will use to "look at ". description ~ description is what the person will see when they "look at " rather straightforward, no? ------------------------------------------------------------------------------- Some Things(tm): o Don't make too many DT's...one per every 50 rooms or so is more than enough. o Don't make the area so impossible to map that people can't find their way around. Remember, this area isn't for you...it's for the players on Strange. ------------------------------------------------------------------------------ ==== ---ed. Don't make movement unrealistic. Remember, North, East, South, West, etc. mean just that. IT does not mean that those directions are suppose to transport you all over. You should really lay your area out in "city block" form. That way each movement is of equal distance, hence, more realistic. 1 movement west should not allow you to cross an ocean and it should not place you in some room that is actually to the east. --JAP ==== The following is the parlor from the Wedding Chapel...it has one of just about everything I've discussed above. Look to it often for an example of how to use everything. #4301 Parlor~ You stand in a comfortable room just outside the cathedral. Soft music wafts from the main room. Plush scarlet carpet softens your footfalls. A beautifully marbled wall glints in the light of a spectacular, huge chandelier. A mirrored, tiled ceiling reflects the glint of the chandelier, transforming a hundred candles into thousands. The architecture here is truly amazing--and awe-inspiring. ~ 43 520 0 ^^^--------------------------INSERT THE BITSTRING FORMAT HERE!!!! (THIS IS A COMMENT, DON'T INSERT THIS =) D0 You look through the entrance to a beautiful cathedral. ~ door~ 1 -1 4305 D1 You look into a sparsely furnished dressing room. ~ door~ 1 -1 4304 D2 To your south is the promenade. ~ door~ 2 4303 3102 D3 You see the bride's dressing room. ~ door~ 1 -1 4303 D4 Up the stairs you make out the reception room. ~ ~ 0 -1 4306 D5 You barely make out the tops of several barrels of booze. ~ ~ 0 -1 4302 E ceiling~ The ceiling is formed from hundreds of mirrored tiles, each angled so that they catch a portion of the chandelier's light. ~ E chandelier~ The chandelier hangs from the ceiling; thousands of shards of glass twinkle in the glint of hundreds of candles. ~ S ------------------------------------------------------------------------------- Changes, updates, things to keep in mind, and other spam. (No particular order.) ========================================================= [01] Death Traps (DT's) now always show the room description when entering them. [02] Make movement around your area REALISTIC. This means lay out your area in blocks. Like on a grid. Don't make movement suddenly too small, where it takes someone five rooms to get where 1 room will get you in other parts of your area. And also, don't make movement suddenly too large....where you go west and SUDDENLY are across the entire world. Movement should be realistic. "Spinners" and stuff is BAD. When you leave WEST, you expect to end up in a room to the WEST of you, not somewhere else in the area. If you area demands you to do these "bad" things...that is fine...just use your best judgment. ----------------------------------------------------------------------- =============================================================================== 2.2 Building the MOB file. ========================== ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "Okay, I have a world. Now MOVING ON "What the hell is thac0?" how do I make things to "What _is_ bare hand damage?" aimlessly kill?" THE MOBILE FILE "What is a 'detailed' description?" After the world file is done, you of course need things for the players to kill. Fact is, many people think of DIKUmuds as hack'n'slash...so your job is to both keep the MUD from being that kind of place while still allowing a lot of killing. :) KEY TERMS: Zone: the first two numbers of your room. It's a good thing at this point to help your imp out by giving it a nondescript number, or a % or something like that, because the imp will invariably change the number you choose. Flags: these are numbers that, when added up, form the "room flags" or other type flags that define special characteristics about a room. Tilde(~): This character signifies the new line...it should be typed exactly as it looks on the general file and descriptions. Anything in the <> brackets is meant to be substituted by the appopriate=20 item it describes. The <> are not to be put in. Anything outside of these brackets is to be put in. Anything with the {} brackets is meant to be a comment, and should be omitted as well. LAZYMOB, LEVELED MOB, GENERAL MOB FORMAT (simple, what you'll usually use) # ~ ~ ~ ~ ~ L (All this M optional) S <% chance> ~ ~ ~ W R ^^----USE THIS FORMAT ABOVE!!!------------------^^^ LAZY MOBS! ========== What is a LAZYMOB???? Whelp, it is easy....back in the olden days, StrangeMUD just had Standard mobs. Standard mobs were fine and everything, but they were a bitch to create. Before, we USED to have to figure out by ourselves the amount of Hitpoint, Hitroll, Damroll, THAC0, AC-APPLY, and Experience. It was a royal bitch. Now, thanks to the Happy-Fun-IMP, Questor, we have Lazymobs. And now when we build, we just have to put in the level of the mob, and all that other complex stuff is going to be generated for us by the MUD itself. You see, you just insert the LEVEL and you don't have to worry about giving the MOB: 1. Hitpoints 2. Hitroll 3. Damroll 4. Experience 5. THAC0 6. BareHandDammage 7. AC-APPLY If you use LAZY Mobs (And you SHOULD!!!), put the 'L' after . ......JUST like it is shown above. Enter the at the proper place. THAC0, EXPIRENCE, AC-APPLY, and BARE HAND DAMMAGE, etc. is figured for you automatically. This makes it MUCH MUCH easier to deal with. If you care to know how it is figure, the MOB GUIDELINES are in section 3.2 Mob Standards. USE LAZY MOBS AS MUCH AS POSSIBLE. But, remember, mobs that have VERY good equipment, should NOT use the LAZY MOB format. The reason for this is because LAZYMOB does not take in account the equipment. People who kill mobs should not be rewarded good equipment and experience so you should lessen the experience considerably. GENERAL MOB FORMAT (This is used if you have GOOD equipment on this mob.) # ~ ~ ~ ~ ~ S (All this M optional) S <% chance> ~ ~ ~ W R ^^------USE THIS FORMAT IF YOU NEED TO DETAIL VITALSTATS--^^^ If you use STANDARD mob format (which should only be used for mobs with good equipment and other things like that) Then check out section 3.2 MOB Standards elsewhere in the kit. Because the StangeMUD Standards don't account for specialized mobs (Mobs with good equipment, or mobs that should be harder for whatever reason) you can deviate from the MOB Standards. (i.e. mobs with good equipment should have a harder hit, maybe more Hitpoints, and also lower experience) -------- We'll discuss simple first, as it's the one most everyone uses. If you have a real need to use Detailed, you can use it in place, but most of the time the simple is the mob format of choice. Simple mobs have most of their stats determined for them. Their stats are as follows: /-----------------------------------------------------\ | FOR THOSE THAT CARE: | | ~~~~~~~~~~~~~~~~~~~~ | | | | INT, STR, DEX, CON, and WIS are all 11. | | Hitroll =3D 20 - Thac0 | | armor =3D 10 x AC | | hit =3D adb+c | | mana =3D 10 | | move =3D 50 | | bare hand damage(bhd) =3D adb+c | | weight =3D 200 | | height =3D 198 | | saving[x]=3D20-mob level or 2, whichever is higher.| \----------------------------------------------------/ Of course, you don't need to know any of that. It's just for those of you who have curious minds. :) Okay, I'll define all these strange things later on. You can be fairly sure though that the regular every-day mob won't have any need whatsoever for int, str, or the like...what really matters are the Hitroll, damroll, armor, hit, bare hand damage, and saving throws of the mobs. Now down to the nastiness. ----------------------------------------------------------------------------- # This is the mobile number. Seems simple enough, right? Well, there's still some simple rules to remember: 1) The first two or three numbers must always be your zone, whatever it is.=20 Since I am the one that puts the files into Strange, I usually ask that you=20 use either a % sign or something like that.=20 2) The bottom two numbers can be any number from 00 to 99. As in all computers, space is limited by numbers. GO IN CHRONOLOGICAL ORDER, DO NOT SKIP NUMBERS, AND START WITH 00. That is all I ask.=20 SO, you would type: #%00 for your first mobile. This goes for objects and rooms as well. This is=20 called the VIRTUAL NUMBER. ----------------------------------------------------------------------------- ~ (Aliases) This is what the player will use to type whenever they will use a command on the mobile...for example "slap Carter" or "kill slut"... an example could be: cowboy cow boy redneck red neck~ Always have the primary name at the beginning of your keyword list. You don't want the message "Trea looks at a red." whenever Trea looks at the cowboy.=20 don't do something like this: red redneck cow boy cowboy~ if you have any problems with this, ask me. :) ------------------------------------------------------------------------------ ~ Name of the mob I guess. ------------------------------------------------------------------------------ ~ This is what the game uses when sending fighting messages, or social messages. a good example would be: a midwife~ So, when killing a this midwife, everyone would see: You hit a midwife very hard. Questor hits a midwife extremely hard. et etceteras. ----------------------------------------------------------------------------- ~ This is what the user sees when they look at the room and see the mobile there. An example: The King of the World sits here, pompously giving decrees and proclamations. ~ if you looked at the room, you would see: The Throne Room You are in a big room with a throne, amazingly enough. The King of the World sits here, pompously giving decrees and proclamations. ----------------------------------------------------------------------------- ~ This is what the player sees when they look AT the mobile. an example: This ugly hag has a HUGE wart on the exterior of her face. She is SO UGLY you could puke! ~ when you "look hag", you'll see: This ugly hag has a HUGE wart on the exterior of her face. She is SO UGLY you could puke! ----------------------------------------------------------------------------- These are the flags that determine how a mobile acts in the world. The the following table shows the "flags" you will use. The numbers are what you add up to give multiple flags to a mobile. This is called a "bitvector" system. I only list those bits that you are allowed to set. NOTE: You will be using the BITSTRING format. Instead of adding up BitNUMBERs, you will simply write the BITSTRING character of the FLAG you wish to use. You can STRING these BITSTRINGs together if you wish to use more than one flag, just write them next to each other in any order with NO spaces. So a SCAVENGER AGRESSIVE mob will be written as: cf and not 36 See the following for the BITSTRING. BITSTRINGs values below: _______________________________________________________________________________ FLAG | BIT # | DESCRIPTION ~~~~~~~~~~~|~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | a | The mobile has a special procedure that is called at SPEC | 1 | various times in the game. YOU MUST SET THIS FLAG IF | | YOU WANT YOUR MOBILE TO DO ANYTHING OUT OF THE ORDINARY. ..........|.........|......................................................... | b | SENTINEL | 2 | The mobile will not leave the room it is loaded into. ..........|.........|......................................................... | c | SCAVENGER | 4 | This mobile will act like the janitor, picking up all | | items in the room that are dropped or left. | one-tracked. :) ) ..........|.........|......................................................... | m | HELPER | 4096 | The mobile will attack any PC that are attacking mobiles | | of its own alignment. ..........|.........|......................................................... | n | SWITCHING | 8192 | This flag makes the mobile switch targets once in a | | while. ..........|.........|......................................................... | o | VENGEFUL | 16384 | Mobile will summon person back if person flees during | | battle. ..........|.........|......................................................... | p | NOSUMMON | 32768 | Mobile can't be summoned. ..........|.........|......................................................... | q | EVIL_SCAV | 65536 | A mob with this flag is like a scavenger, but, instead | | of just picking up stuff, it also sacrifices it. ..........|.........|......................................................... | r | HUNTER | 131072 | A mob with this flag will try to track you down and kill | | you after you flee from it in battle. ..........|.........|......................................................... | s | MIME | 262144 | Mob will repeat socials done by players. ..........|.........|......................................................... | t | NO_SLEEP | 524288 | Mob can't be slept with the staff or sleep spell. ..........|.........|......................................................... | u | NO_TRACK | 1048576 | Mob cannot be TRACKed by thieves or warriors. ..........|.........|......................................................... | v | UNSEEN | 2097152 | Mob cannot be seen, Period. It is good for mobs that you | | don't want seen, but you do want to attach MOB_PROGS or | | SPECIAL_PROC. However, if you make a mob that isn't | | SENTINEL (Stationary), and you don't want him to be | | seen, then make him SNEAK too. | | This mob cannot be HIT if it ever attacks. | | Spells of any kind won't bother it, it can only | | be removed by PURGED or RAWKILLED by a god. ..........|.........|......................................................... AWARE | w | Mob is aware on hidden people. | 4194304 | ..........|.........|......................................................... | x | MAGIC | 8388608 | Mob acts like Aladdin I guess. Why not ask someone =) ..........|.........|......................................................... SEA_BOUND | y | Mob like water I guess. | 16777216| ..........|.........|......................................................... MOUNTABLE | z | You can rid the mob. Whooooooooe! | 33554432| ..........|.........|......................................................... MIST | A | Do not use this one....it is not yet in. We think it is | 67108864| just there for Roadkill's enjoyment. ..........|.........|......................................................... NO_CHARM | B | Mob cannot be charmed....thank God, this has been very |134217728| needed. ..........|.........|......................................................... GOLD_SCAV | C | Mob will scavenge gold only. | | ..........|.........|......................................................... HOARDE | D | Mob hoardes eq to a specified room (see a coder if | | you need to use this). ..........|.........|......................................................... NO_BLIND | E | Mob cannot be blinded. | | ..........|.........|......................................................... NO_FEAR | F | Mob cannot be moved with the fear spell. Use this | | sparingly. ..........|.........|......................................................... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Example: Angus is a HUNTER, he tracks down his enemies and kills him. He is also a HELPER and has a MEMORY. This flag will be written as: lmr ------------------------------------------------------------------------------- Affection flags determine what spells or skills your mobs are affected by. The following table should be used exactly the same way affection flags are used. NOTE: You will be using the BITSTRING format. Instead of adding up BitNUMBERs, you will simply write the BITSTRING character of the FLAG you wish to use. You can STRING these BITSTRINGs together if you wish to use more than one flag, just write them next to each other in any order with NO spaces. So an INVISIBLE DET_INVISIBLE mob will be written as: bd and not 10 See the following for the BITSTRING. BITSTRINGs values: _______________________________________________________________________________ FLAG | BIT # | DESCRIPTION ~~~~~~~~~~~|~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | b | INVISIBLE | 2 | The mobile is invisible. Can only be seen if there is a | | detect invisibility spell or it goes into battle. ..........|.........|......................................................... | c | DET_EVIL | 4 | The Mobile can detect evil. ..........|.........|......................................................... | d | DET_INVIS | 8 | The mobile can see invisible characters and mobs. ..........|.........|......................................................... | e | DET_MAGIC | 16 | The mobile can detect magic. ..........|.........|......................................................... | f | SENSE_LIFE| 32 | The mobile can sense hidden characters and mobiles. | | -The MOB can also see thieves who sneak into | | the room or attempt to hide. ..........|.........|......................................................... UNDERWATER| g | The mob can breathe underwater....like a fish. _BREATHING| 128 | ..........|.........|......................................................... | h | SANCTUARY | 128 | The mobile is affected by the sanctuary spell ..........|.........|......................................................... | k | INFRA | 1024 | The mobile can see in the dark. ..........|.........|......................................................... PROTECT_ | m | EVIL | 4096 | The mobile is protected from evil. ..........|.........|......................................................... | o | HAS_BOAT | 16384 | The mobile can walk on water. ..........|.........|......................................................... | p | FLY | 32768 | The mob can FLY...just like Superman! ..........|.........|......................................................... | r | DET_GOOD |131072 | The mobile can detect good. ..........|.........|......................................................... | s | SNEAK |262144 | The mobile is sneaking. It will not show " has ..........|.........|......................................................... | t | HIDE |524288 | The mobile is hidden--it cannot be seen without a | | sense life spell. ..........|.........|......................................................... | x | HAS_SCUBA |8388608 | The mob has scuba gear, so he can swim underwater. ..........|.........|......................................................... | y | RESIST_COLD|16777216 | The mobile is resistant to cold rooms (ROOM_COLD) ..........|.........|......................................................... | z | RESIST_HOT |33554432 | The mobile is resistant to hot rooms (ROOM_HOT) ..........|.........|......................................................... POLYMORPH | A | Not yet implemented....and I have no clue what it does. | 67108864| decided for you. We WANT you to use LazyMOBS!!!!! Please use it as much as possible This is the level of the monster. Some few things are decided by the level of the mob, ESPECIALLY thac0, as well as the spells. Follow StrangeMUD Guidelines (separate document) when determining levels, but basically the level is to be used at your whim. Example: A mid-level mob would be level 15. ------------------------------------------------------------------------------- (Skip when using Lazymobs!) To Hit Armor Class Zero (thac0) is a way of determining whether you actually hit a mob or not. It is basically determined by rolling a 20-sided die in the computer. Basing on armor and level as well as hitrolls of both sides, the chance of the player hitting the mob is determined. Once again, follow StrangeMUD guidelines. Example: A level 20 mob's thac0 would perhaps be 6. ------------------------------------------------------------------------------- (Skip when using Lazymobs!) Armor Class (AC) is a number from -10 to 10. -10 is the very best armor one can be (BATTLE TANK), and 10 is the very worst armor (Your protection wouldn't save you from a mosquito); however, it is very important that you follow StrangeMUD guidelines when determining armor class. A level 12 mob's AC apply would perhaps be 2. ------------------------------------------------------------------------------- (Skip when using Lazymobs!) Hit points are used with the adb+c style. adb is a dice. a is the number of dice being thrown; b is the sides on the dice. Therefore, a 5d300 die would have a range from 5 to 1500. c is the definite number of hit points...the mob will ASSUREDLY have this much, in ADDITION to the hits added from the bonus dice. Check the StrangeMUD guidelines. A level 25 mob could have a 5d20+400 hit point. BE SURE YOU USE A SMALL 'd' FOR THE HITPOINTS, THE MUD WILL NOT LOAD IF YOU USE A CAPITAL 'D' ------------------------------------------------------------------------------- (Skip when using Lazymobs!) Bare hand d damage is the damage a mob does WITHOUT A weapon. If the mob has no weapon, this will be what the game uses for damage. the dice are used just as hit points are -- adb+c, where a is the # of dice, where b is the # of side on the dice being thrown, and c is guaranteed damage. A level 4 mob would possibly have a 2d4+0 bare hand damage. ------------------------------------------------------------------------------- The amount of gold a mob is carrying. This is what the player gets when the mob dies. ------------------------------------------------------------------------------- (Skip when using Lazymobs!) The maximum amount of experience a mob can give. This is of course affected by the level of the player, as well as maxgain and a sundry of other things. Check the guidelines. ------------------------------------------------------------------------------- Position is the position it is loaded into the game at first. Default position is the position it is loaded after it is killed at least once. You may use these conditions: Other Positions: DEAD 0 SLEEPING 4 MORTALLYW 1 RESTING 5 INCAPACITATED 2 SITTING 6 STUNNED 3 STANDING 8 IF you load the mobile as dead, YOU MAY NOT PLACE ANYTHING IN THE CORPSE. Example: You want to load a king. At first you want him to be standing, but then you want him to be sleeping after he's killed at least once. The position would be as follows: 8 4 Remember, MOBs cannot do magic while sitting or sleeping, nor can they walk around. ------------------------------------------------------------------------------- This is the gender of the mobile. It may be one of the following: NEUTRAL 0 MALE 1 FEMALE 2 A female mob would have the number 2 for the sex. ------------------------------------------------------------------------------- DON'T EVEN BOTHER TRYING THIS FORMAT - It is assumed that you know what the hell you are doing if you try this format. [MOB] 'D'etailed MOBile Format # ~ ~ ~ ~ D {MOBile Programs(optional)} M {Multiple Attacks(optional)} S {Special Attacks(optional)} ~ ~ ~ W {Switching(optional)} ~ R {Races(optional)} ------------------------------------------------------------------------------- MULTIPLE ATTACKS (a new StrangeMUD Special) Multiple attacks allow the mob to attack more than once per round. This would make sense say, for a kraken or a tiger. Multiple attacks have a HUGE potential to be abused. The format is: M Mob_attacks is simply the number of attacks. Mob_percent is the FIRST percent chance of getting the first of mob_attacks. Mob_less is the decrement to mob_percent to each subsequent attack. So, M 12 100 8 Would have the following: 100% chance of the first attack 92% chance of second attack 86% chance of third attack and so on down the line. ------------------------------------------------------------------------------- SPECIAL ATTACKS Special attacks are new cool thinks you can do to make fighting more interesting. They are placed right after the MULTIPLE ATTACKS. They are very easy to implement. The format begins with the 'S' and is as follows: S <% chance> ~ ~ ~ 1 Acid Breath (Affects Worn OBJ_TYPE_ARMOR Only) Strength Affects Who What Equipment 1- 50 Random Player One Object per Attack 51-100 Random Player All Objects on Player 101-150 All Players One Object per Player 151-200 All Players All Objects on All Players For 101-200 STR; Chance of attempting breath is as follows: 50+(str_level-100) == Chance 2 Fire Breath (Affects Worn/Inventory POTIONS, SCROLLS, WANDS, STAVES) Strength Affects Who What Equipment 1- 50 Random Player One Object per Attack 51-100 All Players One Object per Attack 3 Frost Breath (Affects Worn/Inventory POTIONS, FOOD, DRINK_CONTAINERS) Strength Affects Who What Equipment 1- 50 Random Player One Object per Attack 51-100 All Players One Object per Attack 4 EQ Destruction (Affects Worn EQ Only) Strength Affects Who What Equipment 1- 50 Victim Only One Object per Attack 51-100 Victim Only All Objects on Victim 5 Lightning Breath (Affects Worn/Inventory LIGHTS, TREASURES, KEYS, BOATS, LOCKPICKS) Strength Affects Who What Equipment 1- 50 Random Player One Object per Attack 51-100 All Players One Object per Attack NOTE: Random Player means that it will attempt to use the special attack against any player in the room that is fighting the mobile. All Players means that it will attempt to use the special attack against all the players in the room that are fighting the mobile. [MOB] Special Attacks: Display Messages 1) Message displayed to other characters in the room when victim is hit by Special Attack. 2) Message displayed to other characters in the room when the victim makes a save for half damage against the Special Attack. 3) Message displayed to other characters in the room when victim's eq is destroyed by Special Attack. NOTE: The Special Attack Display Messages are only used in cases 1-3, and 5. Case 4 (Eq Destroying) does not use the user defined Attack Messages. Even though, in Case 4 you must include the 3 ~'s. [MOB] Special Attacks: Syntax Comes directly after Multiple Attacks in .MOB file. S <% chance> ~ ~ ~ Sample: S 2 30 30 $n melts $N as $e breaths fire on $S.~ $N dodges $n's fireball.~ $N loses $p as it melts from $n's fireball.~ All normal $ variables can be used. $n == actor short description $N == victim name $o == object name $p == object short description $a == object (a or an) $S == his/him/her/hers/whatever is right, the mud will put it in for ya. ------------------------------------------------------------------------------- SWITCHING FIELD The switching field goes hand_in_hand with the MOB_SWITCHING(8192) flag. The format is this: W Text written when mob switches~ means exactly that. How many rounds do you want the fight to last before the mob switches to another target in the room? ~ is what the players in the room will see when the mob switches to another player. The text written might look like this: Suddenly, $n begins to swing at $N!!!! $N = The MOB $n = The Victim ------------------------------------------------------------------------------- MOB RACES and STRIKE TYPES (OPTIONAL) You may give a mob one of the following races. In the format: R for example if you want a whipping giant: R 6 5 [MOB] Races [MOB] Strike Types Undefined/Other 0 HIT 0 Undead 1 Pound/Bludgeon 1 Humanoid 2 Pierce 2 Animal 3 Slash 3 Dragon 4 Blast 4 Giant 5 Whip 5 Plant 6 Claw 6 Demon/God 7 Bite 7 Insect 8 Sting 8 Fungus 9 Crush 9 Goblinoid 10 Mineral 11 ------------------------------------------------------------------------------- FORMAT OF THE MOBS IN THE MOB FILE: NOTE: (MOBPROGS ARE DISCUSSED IN SECTION 4.0 MOBprogs) --They are optional If you choose to use mobprogs within your mobs, you must place the mobprogs right after the mob. Then, you must place (if you choose to use them) multiple attacks right after the mobprogs, then the switching mobs after that. (What was covered in this section [2.2] (Optional) (Optional) (Optional) (Optional) (Optional) -------------------------------------------------------------------------- Mobs are the second-most difficult area file to make, but in many ways they're the most important. It's IMPERATIVE that you get this right!! ------------------------------------------------------------------------------- Changes, additions, and other spam: Here are some things to keep in mind with mobs: (Thank Iggy for this update) =============================================== [01] MOBs can not lift items over their weight limitations. So, in other words, if the item has a TAKE flag, and is of 9999 pounds in weight the mob can pick it up now. This does not apply to charmed mobs, they still have weight limitations. [02] MOBs can now remove NO_REMOVE items. This does not apply to charmed mobs, they still have no remove limitations. [03] MOBs can now drop NO_DROP items. This does not apply to charmed mobs, they still have no drop limitations. [04] MOBiles alignment does NOT change now when they kill a player. [05] If a mob is evil, it can not wear good items and vice-versa. =============================================================================== In the world and mob file: NOTE: All the text fields above may be left blank, but the '~' should always be there. ...If you choose to leave them blank for any reason, there will still be a blank line where that text is suppose to be. NOTE: These examples DO NOTE use BITSTRING format! You SHOULD use BITSTRING format. Example of a room entry is the database: ---------------------------------------- #2100 The Lego temple~ You stand in a tiny, red temple; built entirely from Lego bricks. It is, sadly, not a very interesting place, and perhaps you should leave through the portal which leads south to a sunny garden. ~ 21 12 0 D2 You see the grand portal of the Lego church. Beyond is an inviting garden. ~ portal grand~ 1 2102 2107 E portal~ The portal is high and arched, built out of lego bricks of the finest quality. ~ E brick~ The bricks are all in bright different colors. ~ S #2101 . . . Facts about this room is: Room number 2100 Zone number 21 Room Flags (8+4=12) INDOORS and NO_MOB Sector Type Inside One exit (D2) to the south with 'look south' description Door Flag 1 Key no. 2102 Leads to room 2107 Extra description for the portal and bricks. ---------------- Example of a MOB: NOTE: This example also DOES NOT use a LAZYMOB format! You SHOULD use a LAZYMOB format! #24915 wombat furry~ Wombat~ The Furry Wombat~ There is a cute little, furry wombat here. ~ This is no ordinary wombat. Yes... as you look at this small, cuddly, cute rodent you notice the bizarre deranged look in it's eyes. This wombat is utterly MAD! But, it's so cute, that you don't mind it biting you hands and continually scratching you, and possibly giving you rabies... you walk over and pet it anyway. ~ 16 128 0 S 41 0 -29 20d10+4000 2d12+20 100000 2200000 8 8 0 >rand_prog(3)~ MPECHO The Furry Wombat clings to your left Lag(tm). ~ | M 3 75 25 W 6 In a insane frenzy, $n starts to attack $N.~ === This mobile short Desc = The Furry Wombat Long desc = There is a cute little, furry wombat here. This mob has Sanctuary (128 bit) Align of 0 The mob has up to 3 attacks. the 1st has 100% chance to hit the 2nd has a 75%% chance to hit, and the 3rd has a 50%% chance. The mob will try to switch every 6 rounds of combat issuing the message "In a insane frenzy, The Furry Wombat starts to attack ." --------------------------------------------- 2.3 Building the OBJECT file: ============================= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The format is as follows: # ~ ~ ~ E ~ ~ E ~ ~ . . . E ~ ~ 'A' . . A L P # (Next mob) . . . #99999 $~ ----------------------------- Object fields description: ========================== ( = New line) # See rules for rooms above. ~: (Aliases) Same as for monsters above. ~ This string will be displayed when the object is used. For example if it is "a rubber raft", and a player drops it, then a message like: "Monthly drops a rubber raft." could be displayed. This description is displayed when the object is lying on the ground. For example, if it is "A furled umbrella lies here.~" then this message is displayed when the umbrella is lying on the ground. ~ [NL] This defines what kind of item you are defining, it can be one of: ITEM_LIGHT 1 Item is a light. ITEM_SCROLL 2 a scroll ITEM_WAND 3 a wand ITEM_STAFF 4 a staff (same as wand??) ITEM_WEAPON 5 Item is a weapon ITEM_FIREWEAPON 6 Not yet implemented ITEM_MISSILE 7 Not yet implemented ITEM_TREASURE 8 Item is a treasure (not money) ITEM_ARMOR 9 Item is armor. ITEM_POTION 10 a potion ITEM_WORN 11 you wear it (no AC Apply) ITEM_OTHER 12 Item is other ITEM_TRASH 13 Item is trash ITEM_TRAP 14 Item is a trap. ITEM_CONTAINER 15 Item is a container ITEM_NOTE 16 Item is a note that can be written upon ITEM_DRINKCON 17 Item is a drink container, for example a bottle or a barrel or a wine-skin. -------------------------------------------------------------- A drink container with contents must *always* have two names: 1. The name of the drink, 2. the name of the container, example: tea cup~ -------------------------------------------------------------- ITEM_KEY 18 Item is a key ITEM_FOOD 19 Item is food. ITEM_MONEY 20 Item is money. ITEM_PEN 21 Item is a pen. ITEM_BOAT 22 Item is a boat, which must be carried by a player if the player wishes to enter NOSWIM room sector types. ITEM_FOUNTAIN 23 Item is a fountain (characters can drink from it without having it in inventory). MUTER 24 (DON'T USE) LOCKPICK 25 Item can be used to pick locks. TACK 26 Used for mounting mobs. NARCOTIC 27 Fucks you up.... ITEM_SCUBA 28 Item is scuba gear. Works with UNDERWATER and mostly UNDERWATER_DEEP (To be worn on the FACE only!!!!) NOTE: You will be using the BITSTRING format. Instead of adding up BitNUMBERs, you will simply write the BITSTRING character of the FLAG you wish to use. You can STRING these BITSTRINGs together if you wish to use more than one flag, just write them next to each other in any order with NO spaces. So a GLOWING INVISIBLE object will be written as: af and not 37 See the following for the BITSTRING. BITSTRINGs values below: ---------------------------------------------------------------------------- GLOW | 1 | a | Object is glowing. ---------------------------------------------------------------------------- HUM | 2 | b | Object is "humming"/"buzzing" ---------------------------------------------------------------------------- DARK | 4 | c | Not used. ---------------------------------------------------------------------------- LOCK | 8 | d | Not used. ---------------------------------------------------------------------------- EVIL | 16 | e | Item is evil. (Can't be blessed) ---------------------------------------------------------------------------- INVISIBLE | 32 | f | Item is invisible. ---------------------------------------------------------------------------- MAGIC | 64 | g | Item is magic (Shows with detect magic) -------------------------------------------------- NODROP | 128 | h | Item can't be dropped (Cursed) ---------------------------------------------------------------------------- BLESS | 256 | i | Item is blessed. ---------------------------------------------------------------------------- ANTI_GOOD | 512 | j | Item can't be used by good people. ---------------------------------------------------------------------------- ANTI_EVIL | 1024 | k | Item can't be use ---------------------------------------------------------------------------- ANTI_NEUTRAL| 2048 | l | Item can't be used by neutral people. ---------------------------------------------------------------------------- NORENT | 4096 | m | Can't rent/camp with item. ---------------------------------------------------------------------------- NODONATE | 8192 | n | Can't donate item. ---------------------------------------------------------------------------- NOINVIS | 16384 | o | Can't turn item invisible. ---------------------------------------------------------------------------- LIMITED | 32768 | p | Item is limited. (Rent check) ---------------------------------------------------------------------------- NOREMOVE | 65536 | q | Item can't be removed from eq. pos. ---------------------------------------------------------------------------- DONATED | 131072 | r | Item has been donated. Can't be sold | | | in stores. Best not to use this. ---------------------------------------------------------------------------- POISONED | 262144 | s | Item poisons you when you use/wear it. ---------------------------------------------------------------------------- ENCHANTED | 524288 | t | Item is already enchanted. ---------------------------------------------------------------------------- CURSED | 1048576 | u | Item curses you. ---------------------------------------------------------------------------- 2_HANDED_ | 2097152 | v | Item is a two-handed weapon. WEAPON | | | ---------------------------------------------------------------------------- ANTI_MAGE | 4194304 | w | Item can't be used by a MAGE. ---------------------------------------------------------------------------- ANTI_CLERIC | 8388608 | x | Item can't be used by a CLERIC. ---------------------------------------------------------------------------- ANTI_THIEF | 16777216 | y | Item can't be used by a THIEF. ---------------------------------------------------------------------------- ANTI_WARRIOR| 33554432 | z | Item can't be used by a WARRIOR. ---------------------------------------------------------------------------- GOD_ITEM | 67108864 | A | Item can only be used by a level 32+ ---------------------------------------------------------------------------- HIDDEN |134217728 | B | Item can't be seen. Period. You can GET | | | it if you know what it is, but not with | | | the command: GET ALL. ---------------------------------------------------------------------------- This bitvector defines if items can be taken, and if they can be worn: ITEM_TAKE 1 Item is takeable. ITEM_WEAR_FINGER 2 Can be worn on a finger (rings usually) ITEM_WEAR_NECK 4 Can be worn around neck. ITEM_WEAR_BODY 8 Can be worn on body. ITEM_WEAR_HEAD 16 Can be worn on head. ITEM_WEAR_LEGS 32 Can be worn on legs. ITEM_WEAR_FEET 64 Can be worn on feet ITEM_WEAR_HANDS 128 Can be worn on hands (gauntlets, etc.) ITEM_WEAR_ARMS 256 Can be worn on arms. ITEM_WEAR_SHIELD 512 Can be used as a shield. ITEM_WEAR_ABOUT 1024 Worn around body ITEM_WEAR_WAISTE 2048 Can be worn around the waste (belt) ITEM_WEAR_WRIST 4096 Can be worn on wrist (bracelets) ITEM_WIELD 8192 Can be wielded and used as a weapon ITEM_HOLD 16384 Item can be held in a hand. ITEM_THROW 32768 Not yet implemented. Item can be thrown. ITEM_WEAR_FACE 65536 Item can be worn on the face. These values are very central. They define the ability of items based on the items . These values are defined in "values.doc". Note that if you define an item as being anything but a weapon, you shouldn't set the 'wield' flag. Many similar obvious rules apply. Example of 4 values: If the == ITEM_CONTAINER then the values are interpreted as: Value[0]: Maximum weight the container can contain. Value[1]: Container flags: CLOSEABLE 1 PICKPROOF 2 CLOSED 4 LOCKED 8 Value[2]: The item-number of the object which can open the object. -1 means no lockability. Value[3]: Internal use for Corpses that must "rot". [NL] The weight of the item in pounds. [NL] The value of the item if sold - see "defs.doc" for ideas on prices. The cost to store the item in the reception overnight. Several extra descriptions or none at all may appear. They follow the room format exactly. E ~ Exactly as in rooms. ~ Exactly as in rooms. Between zero and two "affect's" may be set on an item. The affects could for example modify a characters strength, height etc. The affect only goes into affect when the character wear, wield or hold the item. The affect is removed when the character removes the items. A When items are worn using wear/wield/grab/hold commands, the 'A' will allow the items to affect a characters various abilities. Currently a maximum of 2 'A' are allowed. [NL] is one of the below numbers, indicating which ability will be changed. APPLY_NONE 0 DO NOT USE. APPLY_STR 1 APPLY_DEX 2 APPLY_INT 3 APPLY_WIS 4 APPLY_CON 5 APPLY_SEX 6 DO NOT USE. APPLY_CLASS 7 DO NOT USE. APPLY_LEVEL 8 DO NOT USE. APPLY_AGE 9 APPLY_CHAR_WEIGHT 10 APPLY_CHAR_HEIGHT 11 APPLY_MANA 12 Adds to MAXIMUM mana APPLY_HIT 13 The MAXIMUM number of Hitpoints. APPLY_MOVE 14 Adds to MAXIMUM moves APPLY_GOLD 15 DO NOT USE. APPLY_EXP 16 DO NOT USE. APPLY_AC 17 APPLY_ARMOR 17 Same as APPLY_AC APPLY_HITROLL 18 The bonus/penalty to hit the opponent. APPLY_DAMROLL 19 The bonus/penalty to damage the opponent. APPLY_SAVING_PARA 20 These five are saving throws. APPLY_SAVING_ROD 21 APPLY_SAVING_PETRI 22 APPLY_SAVING_BREATH 23 APPLY_SAVING_SPELL 24 This is the most used saving throw. The modifier is added to the APPLY_XXX ability of the character when he uses an item, and is subtracted when he stops using it. Take great care when using this. This is an example of an item of improve strength and armor class. Example: A 1 2 A 17 -2 This adds +2 to the strength, and adds -2 to the AC (thus improving it). No more 'A'ffects is allowed at this time. ----------------------------------------------------------------- Changes, Additions, ideas, and other spam: ========================================== [01] Breakable keys have been added. Two possible ways of breaking a key are done by the following values; one value sets the chance of the key breaking and a percentage is used, the second way is by setting a specific number of times in which the key can be used and when it has hit its max_uses it will break. See below for more information and examples. [02] Revision to OBJect Reference sheet. See below for more reference. [03] OBJ_Type Light can now be set to any wearable position. In other words if you wanted to have a spelunker helmet that was a light as well you would just make it a LIGHT (OBJ Type 1), set it to Wear_Head Position and you could wear it on the head and it would light up the room. I am working on getting Position_Light being removed, so if you want to HOLD a light you would have to use your Wear_Hold Position. This will probably be implemented soon, I hope. **** MOST IMPORTANT!!!! [04] I realize you are working hard one your area. I know you want EVERYONE to visit it and you want EVERYONE to wear your object. HOWEVER, you cannot make YOUR objects the best of the best. In order to keep the balance of the mud follow these rules: -=> You make have one good object per every 100 rooms. -=> Any object that is remotely good has to be very very hard to get. -=> All good items must be LIMITED. -=> You decide how much you should LIMIT your object. A limit of 10 to 15 is good. You decide. -=> No weapon may go over: 5d6 with a +3 Hitroll. ----------------------------------------------------------------------- EXAMPLE: #20202 cloak billowing sticky~ A Billowing Cloak~ A gigantic cloak has been dropped here.~ ~ 9 322 1025 15 0 0 0 20 175000 5500 E cloak billowing sticky~ This humongous (sp?) cloak looks like it could encircle your body 5 times over. It's heavy fabric is oddly sticky, and oozy... yet it is warm. And for some bizarre reason it looks like it'd fit quite nicely about your shoulders. ~ A 13 +90 A 18 -3 ==== this item - is Armor (type 9) - Hums, Is Magic, and is Blessed (256+64+2 = 322) - can be Taken and Worn ABOUT (1 + 1024 = 1025) - it weighs 20 lbs. - it has an Extra description with keywords of : cloak, billowing, sticky - it adds 90 HIT points to the wearer - it reduces the wearer's TO_HIT by 3 --------------------------------------------------- 2.3.1 Item type formats ======================= These values are used, as illustrated below, with the different item types. The various item types are shown in dbsup.doc. ITEM_LIGHT (1) Value[0]: Not Used Value[1]: Not Used Value[2]: Number of hours the light can be used for. Zero hours means that the light has gone out. A negative number will create an eternal light source. Value[3]: Not Used ITEM_SCROLL (2) Value[0]: Level of the spell on the scroll. Value[1]: Which spell (see list somewhere around the end of file) Value[2]: Which spell Value[3]: Which spell The values(1-3) are three (or less) different spells, mixed 'on' the scroll. Unused spells should be set to -1. ITEM_WAND (3) Value[0]: Level of spell in wand. Value[1]: Max Charges (1..X) Value[2]: Charges Left Value[3]: Which spell in wand (see list somewhere around the end of file) ITEM_STAFF (4) Value[0]: Level of spell in staff. Value[1]: Max Charges (1..X) Value[2]: Charges Left Value[3]: Which spell in staff (see list somewhere around the end of file) ITEM_WEAPON (5) Value[0]: Level of enchantablility. -If you want to make your weapon cast random spells during fight, then set this value to be from 1 to 30. -Each number is the level of the spell. -So a level 1 enchantability will only cast magic missile and nothing much higher. -Level 0 will not cast any magic during fight. Value[1]: Number of dice to roll for damage Value[2]: Size of dice to roll for damage Value[3]: The weapon type. Type is one of: NUMBER CATEGORY Message type 2 : Slash "whip/whips" 3 : Slash "slash/slashes" 6 : Bludgeon "crush/crushes" 7 : Bludgeon "pound/pounds" 10 : Blast "blast/blasts" 11 : Pierce "pierce/pierces" 12 : Pierce "pierce/pierces" No backstabbing. New types can be added as needed. NOTE: Remember, Clerics can only wield BLUNT WEAPONS....That is numbers 2, 6, 7. ITEM_FIREWEAPON (6) Value[0]: - Fire Weapon Type (Number of missiles that can be loaded) Value[1]: - Number of dice to roll for damage. Value[2]: - Size of dice to roll for damage. Value[3]: - (Value[1])d(Value[2]) that is. ITEM_MISSILE (7) Value[0]: - Missile Type. Value[1]: - Number of dice to roll for damage. Value[2]: - Size of dice to roll for damage. Value[3]: - (Value[1])d(Value[2]) that is. ITEM_TREASURE (8) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_ARMOR (9) Value[0]: The effective AC. >0 enhances the armor class. <0 reduces the armor class (cursed armor for example). Value[1]: The amount at which the Armor can be repairable to. For example, if you set this value to 10 and the item becomes damaged it can be repaired up to 10 AC. Value[2]: - Value[3]: - ITEM_POTION (10) Value[0]: Level of the spell in the potion. Value[1]: Which spell (Listed elsewhere in this file) Value[2]: Which spell Value[3]: Which spell The values(1-3) are three (or less) different spells, mixed in the potion. Unused spells should be set to -1. E.g. Value 0 : 30 (Level) Value 1 : 27 (Harm) Value 2 : 17 (Curse) Value 3 : 4 (Blindness) (* Don't drink this - It's bad for your health! *) ITEM_WORN (11) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_OTHER (12) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_TRASH (13) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_TRAP (14) Value[0]: Type of Trap 1 == Pit (makes player fall into a different room) 2 == Spiked Pit (makes player fall into a spiked pit) 3 == Anti-Magic Field 4 == Sleep Trap 5 == Teleport Trap 6 == Landmine Value[1]: if value[0]=1; Room Player falls to (Pit) if value[0]=2; Same as above (Spiked Pit) if value[0]=3; N/A if value[0]=4; N/A if value[0]=5; N/A if value[0]=6; Number of Dice (d10) for Damage (Landmine) Value[2]: if value[0]=1; Length of Fall (Multiplier {higher the deadlier}) (Pit) Also, controls the %% of EQ dropped if value[0]=2; Same as above (Spiked Pit) if value[0]=3; N/A if value[0]=4; Duration of Sleep (in ticks) (Sleep Trap) if value[0]=5; N/A if value[0]=6; Strength of Blast (1-100 for Area Effect) (Landmine) Value[3]: if value[0]=1; Escape Multiplier (higher the less likely to fall) (Pit) 0 == Automatically fall 10 == Probably won't fall if value[0]=2; Same as above (Spiked Trap) if value[0]=3; Escape Multiplier (Anti-Magic Field) if value[0]=4; Escape Multiplier (Sleep Trap) if value[0]=5; Escape Multiplier (Teleport Trap) if value[0]=6; Escape Multiplier (Landmine) ITEM_CONTAINER (15) Value[0]: Maximum weight the container can contain. Value[1]: Container flags: CLOSEABLE 1 PICKPROOF 2 CLOSED 4 LOCKED 8 Value[2]: The item-number of the object which can open the object. -1 means no lockability. Value[3]: Internal use for Corpses that must "rot". ITEM_NOTE (16) Value[0]: Tongue (language of writing). Not yet used. Value[1]: - Value[2]: - Value[3]: - ITEM_DRINKCON (17) Value[0]: Maximum drink-units the drink-container can contain. Value[1]: Number of drink-units that are left in the container. Value[2]: The type of liquid in the drink-container, one of: Type nr. Effect Drunkenness Fullness Thirst LIQ_WATER 0 0 1 10 LIQ_BEER 1 3 2 5 LIQ_WINE 2 5 2 5 LIQ_ALE 3 2 2 5 LIQ_DARKALE 4 1 2 5 LIQ_WHISKY 5 6 1 4 LIQ_LEMONADE 6 0 1 8 LIQ_FIREBRT 7 10 0 0 LIQ_LOCALSPC 8 3 3 3 LIQ_SLIME 9 0 4 -8 LIQ_MILK 10 0 3 6 LIQ_TEA 11 0 1 6 LIQ_COFFE 12 0 1 6 LIQ_BLOOD 13 0 2 -1 LIQ_SALTWATER 14 0 1 -2 LIQ_CLEARWATER 15 0 0 13 LIQ_WATEROFLIF 16 0 0 5 The above values for drunkenness/fullness/thirst are used per four "units" drunk. The values are expressed in HOURS! Example: Dragon empties a bottle (say 7 units) of saltwater. His Drunkenness is not changed ((7/4)*0) His Fullness increases by ((7/4)*1) hours His Thirst increases by ((7/4)*-2) hours, thus making him More thirsty. The hours above are numbers between 0 and 24. 24 hours is maximum for drunkenness/fullness/thirst. When hours are zero for any drunkenness/fullness/thirst the person will be sober, hungry, or thirsty respectively. Value[3]: if this value is non-zero, then the drink is poisoned. ITEM_KEY (18) Value[0]: The key-type. This value must match the lock-type the door that the key can open. Breakable keys. If you want, you can have keys in your area that have a chance of breaking with each lock/unlock, and/or have a set number of uses before breaking. This is specified in the object file, for values 1, 2. The current values assignments for objects of type Key are: Value 1 : Breaking percentage if a positive number is put in here, that is the chance of breaking out of a hundred on each use. Putting in a value of 0 means it won't break for this reason Value 2 : Number of Uses (charges) if its a positive number, then the key will break after that number of uses. If its 0, or a negative number, it will not break from this cause. Value 3 : Undefined. so if you had a key with following values 13 3 20 0 every time you used it (lock or unlock), it would have a 3 percent chance of breaking. The maximum number of times it could be used before breaking would be 20 times. If you want to have unbreakable keys, just use 0's, like 13 0 0 0 ITEM_FOOD (19) Value[0]: The number of hours, that this food will fill the stomach Value[1]: - Value[2]: - Value[3]: If this value is non-zero, the food is poisoned. ITEM_MONEY (20) Value[0]: The number of gold coins "in the pile of coins". Value[1]: - Value[2]: - Value[3]: - ITEM_PEN (21) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_BOAT (22) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_FOUNTAIN (23) Value[0]: Maximum drink-units the drink-container can contain. Value[1]: Number of drink-units that are left in the container. Value[2]: The type of liquid in the drink-container; definitions are the same as for ITEM_DRINKCON. Value[3]: Drink is poisoned if non-zero. ITEM_MUTER (24) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_LOCKPICK (25) Value[0]: Amount it will increase skill at lock picking when help (0 - 100) Value[1]: Breaking Percentage if a positive number is put in here, that is the chance of breaking out of a hundred percent on each use. Putting in a value of 0 means it won't break for this reason. Value[2]: Number of Uses (Charges) if its a positive number, then the lock pick will break after that number of uses. If its 0, or a negative number, it will not break from this cause. Value[3]: - ITEM_TACK (26) Value[0]: Bonus to Mount Skill Value[1]: Bonus to Ride Skill Value[2]: Bonus to Joust Skill Value[3]: - Notes: ITEM_TACK only works on Hands/Feet or Face/Body. The Rider will gain a Bonus if the OBJect is worn on the rider's Hands or Feet. Or the Rider will gain a Bonus if the Mount wears the OBJect on it's Body or Face. All other Wear Positions will NOT give Bonuses. ITEM_NARCOTIC (27) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_SCUBA (28) Value[0]: - Value[1]: - Value[2]: - The amount of air left in the item (wich decreases every tick when worn). -1 means it is unlimited. Value[3]: - If you make SCUBA items they will only work if you make them WEAR_FACE. Any other body location will not work. Value[2] is the amount of air left in the item (which decreases every tick when worn). -1 makes it never run out of air. ----------------------------------------------------- Spell table 2.3.2 Spell Table for objects ============================= When using POTIONS, SCROLLS, STAFFS, WANDS, here is the table to follow. NOTE: If there is an '-' for the particular object, you CANNOT us that spell. DON'T Try because it WON'T work. Spell Potion Scroll Wand Staff Cast Spec 1 ARMOR Y Y Y Y Y - 2 TELEPORT Y Y Y Y Y - 3 BLESS Y Y Y Y Y - 4 BLINDNESS Y Y Y Y Y - 5 BURNING HANDS - - - - Y - 6 CALL LIGHTNING Y Y - Y Y - 7 CHARM PERSON - Y Y Y Y - 8 CHILL TOUCH - - - - Y - 9 CLONE - - - - Y - 10 COLOUR SPRAY - Y Y - Y - 11 CONTROL WEATHER - - - - Y - 12 CREATE FOOD - Y - - Y - 13 CREATE WATER - - - - Y - 14 CURE BLINDNESS Y - - Y Y - 15 CURE CRITICAL Y - - Y Y - 16 CURE LIGHT Y - - Y Y - 17 CURSE Y Y - Y Y - 18 DETECT EVIL Y - - Y Y - 19 DETECT INVISIBLE Y - - Y Y - 20 DETECT MAGIC Y - - Y Y - 21 DETECT POISON Y Y - Y - 22 DISPEL EVIL Y Y Y Y Y - 23 EARTHQUAKE - Y - Y Y - 24 ENCHANT WEAPON - Y - - Y - 25 ENERGY DRAIN Y Y Y Y Y - 26 FIREBALL - Y Y - Y - 27 HARM Y - Y Y Y - 28 HEAL Y - Y Y Y - 29 INVISIBILITY Y Y Y Y Y - 30 LIGHTNING BOLT - Y Y - Y - 31 LOCATE OBJECT - - - - Y - 32 MAGIC MISSILE - Y Y - Y - 33 POISON Y - - Y Y - 34 PROTECTION FROM EVIL Y Y Y Y Y - 35 REMOVE CURSE Y Y - Y Y - 36 SANCTUARY Y Y Y Y Y - 37 SHOCKING GRASP - - - - Y - 38 SLEEP Y Y Y Y Y - 39 STRENGTH Y Y Y Y Y - 40 SUMMON - - - - Y - 41 VENTRILOQUATE - - - - Y - 42 WORD OF RECALL Y Y Y Y Y - 43 REMOVE POISON Y - Y Y Y - 44 SENSE LIFE Y - - Y Y - 53 IDENTIFY - Y - - Y - 54 ANIMATE DEAD - Y Y - Y - 55 FEAR Y Y Y Y Y - 56 FIRE BREATH - - - - - Y 57 GAS BREATH - - - - - Y 58 FROST BREATH - - - - - Y 59 ACID BREATH - - - - - Y 60 LIGHTNING BREATH - - - - - Y 61 AIR SHIELD Y Y Y Y Y - 63 WATER OF LIFE - - - - Y - 64 METEOR SWARM - - - - Y - 65 MASS SANCTUARY - Y - Y Y - 66 FULL HEAL Y - Y Y Y - 67 GUST OF WIND (REVITALIZE) Y - Y Y Y - 68 BARKSKIN Y Y Y Y Y - 69 DETECT GOOD Y - - Y Y - 70 MASS RECALL Y Y - Y Y - 71 MASS TELEPORT Y Y - Y Y - 72 ICE BLAST - Y Y Y Y - 73 ICE STORM - Y Y Y Y - 74 WALK ON WATER Y Y Y Y Y - 76 STONE Y Y Y - Y - 77 (empty) ? ? ? ? ? ? 78 TIDAL WAVE - - - - - Y 82 PARALYZE Y Y Y Y Y - 83 PEACE - - - Y Y - 84 HASTE Y Y Y Y Y - 88 REGENERATE (FAST GAIN) Y Y Y Y Y - 92 METEOR BLAST - - - - Y - 93 SLAP - - - - Y - 94 FAERIE FIRE Y Y Y Y Y - 97 WEB Y Y Y Y Y - 98 ENCHANT ARMOR - Y - - Y - 99 TELEPORT BEHIND - - - - Y - 111-119 (empty) ? ? ? ? ? ? 122 CONJURE ELEMENTAL - Y Y - Y - 123 AURA BLAST - - Y Y Y - 124 DISPEL MAGIC Y Y Y - Y - 127 RESIST COLD Y Y Y Y Y - 128 RESIST HEAT Y Y Y Y Y - 131 RELOCATE - Y - - Y - 132 FLY Y Y Y Y Y - 133 RECHARGE - Y Y - Y - 134 SUNRAY - Y Y Y Y - 135 GROUP HEAL - Y Y Y Y - 136 ABEL PROTECTION Y Y Y Y Y - 138 PLANT DOOR Y Y Y Y Y - 139 SILENCE Y Y Y Y Y - 140 CHAIN LIGHTNING - - - - Y - 141 DEATH STARE - - - - Y - 142 DISPLACEMENT (MIRROR IMAGE) Y Y Y Y Y - 146 SPECTRAL FORM - - - - Y - 149 FLESH TO STONE Y - - - Y - 150 STONE TO FLESH Y - - - Y - 151 TELEPORT AWAY - - Y - Y - 152 SLOW Y - Y - Y - 155 FEEBLEMIND Y Y Y - Y - 156 WEAKEN Y Y Y Y Y - 157 POLYMORPH SELF Y - - - Y - 158 POLYMORPH OTHER - - - - Y - 159 FORCE BOLT - Y Y - Y - 162 FORTIFY Y - Y - Y - 163 BLUR Y - Y - Y - 164 CURE DISEASE Y Y Y Y Y - 165 SUPERNOVA - - - - Y - 166 CLOAK OF COLD Y Y - Y Y - 167 FLAME SHROUD Y Y - Y Y - 168 BIND - Y Y - Y - 169 DARKNESS - Y - Y Y - 170 LIGHT - Y - Y Y - 171 NIGHTVISION Y Y Y Y Y - 183 TRUESIGHT Y Y Y Y Y - 188 PROTECTION FROM GOOD Y Y Y Y Y - 189 AURA OF FEAR Y Y Y Y Y - 190 BLADE BARRIER - - - - Y - 191 WALL OF FORCE - - - - Y - 192 DOME OF PROTECTION - - - - Y - 193 MYSTIC WALL - - - - Y - 194 MAGIC DOOR - - - - Y - 195 WARD OF PROTECTION - - - - Y - 197 AID Y Y Y Y Y - 199 CHARM ANIMAL Y Y Y Y Y - 200 TURN UNDEAD - - - - Y - 201 CHARM PLANT Y Y Y Y Y - 203 SUMMON CORPSE - - - - Y - 204 FLAME STRIKE - - - Y Y - 205 AREA SPELL CONTROL ? ? ? ? ? ? 206 WIZARDS EYE - - - - Y - 207 GROUP INVISIBILITY Y Y Y Y Y - 208 IMPROVED INVISIBILITY Y - - - Y - 210 MAGICAL VESTMENT - - Y - Y - 217 CHARM MONSTER - Y Y Y Y - 218 BEWITCHING AURA - - - - Y - 220 ENLIGHTEN Y Y Y Y Y - 221 EMPOWER Y - Y - Y - 222 GROUP EMPOWER - - - - Y - 223 DAMNATION - - - - Y - 224 AID FROM BATS - - - - Y - 225 RAISE DEAD - Y - - Y - 231 AQUALUNG Y - - - Y - AQUALUNG: A new spell. Can only be cast upon self and ITEM_POTION usable. It allows for underwater breathing in sector type UNDERWATER. Does not allow for breathing in UNDERWATER_DEEP. If you don't know a spell, log onto the mud and to a HELP It should tell you. ----------------------------------------------------- IMPORTANT NOTICE!! 2.3.2.1 Important Notice about Spells ===================================== Since the level versus average damage calculations are performed as shown in "spell_info.doc" all the offensive spells are individually much stronger than higher level spells. For example: 1 fireball of level 15 gives more damage than one of level 16 which give more damage than level 17 which give more damage than level 18 which give more.... etc. Thus please make all offensive potions/scrolls/etc. as the basic level they are designed for. You can see the level below. You can see the spells average damage, by looking at the spell versus the level of the spell, divided by the number of spells learned at that particular level. Example: Level 9 Lightning bolt give (102/2) average damage. Divided by 2, because this is the level at which it is first learned (You can almost always cast two spells are first learned level). At level 10 it gives (120/3) average damage. Looking at the table in "spell_info.doc", you should know that each spell is designed so that it will kill a victim three levels below the mana user, if the manauser ONLY cast his spell.... 2.4 THE ZONE FILE: ================== The Zone file is the file that populates your area. It is pretty easy to create, but it is very hard to debug. To make it less painful for you, Make is as creative as possible by grouping together commands, or mobs, or rooms, etc. The general order is not important. Use returns and comments to make your file easily read. A good rule of thumb (I decided after I created Heaven) is to make this file so the average Joe (or JAP) can ready it. This means make it commented out the ass that explain what is happening on each line. 2.4.1 First Look: ================= Format of the file: ------------------- # ~ . . . S -------------- The zone-file ================== The zone-file contains the following information for each zone: a) The top room-number of the zone. A room belongs to a zone X if: zone[X-1].top < virtual_room_number <= zone[X] for X > 0. Rooms belong to zone 0 if their number is between 0 and the top of zone 0. b) The LIFESPAN of the zone. When the age of the zone (measured in minutes after last reset) reaches this number, the zone is queued for reset. The zone is then reset as soon as possible (more or less), depending on the value of the RESET_MODE-variable. c) The RESET_MODE. This may take on of three values: 0: Don't reset the zone at all. In this case, the age of the zone is never updated, and it will never be queued for reset. Thus, the value of the lifespan-field is effectively ignored. 1: Reset the zone as soon as it is deserted, i.e. as soon as there are no players located within the zone. 2: Reset the zone no matter who or what is in it. d) The COMMAND TABLE. This is a series of commands to execute at reset. The table is terminated by the pseudo-command 'S', and thus follows the following format: . . . 'S' Each command consists of a letter, identifying the command-type, followed by three or four arguments. The first argument, common to all the commands, is called the 'if-flag'. If it is true (nonzero), the command is executed ONLY if the preceding command was executed. If it is false (zero), the command is executed anyway. The commands: M (load a mobile): Format: 'M' mobile nr and room nr should be self-explanatory. The 'Max existing' parameter specifies the maximum permissible number of existing units. In other words: If you only want one manifestation of a given monster, you just specify the number '1'. If the Max number is about to be exceeded, the command won't be executed. O (load an object): Format: 'O' Load an object and place it in a room. (NOT -1) G (give object to mobile): Format: 'G' Loads an object, and gives it to the last monster referenced (i.e.. by the M-command). Of course, this command doesn't make sense if a new mobile+object pair has not just been created, which is where the if-flag comes in handy.:) E (object to equipment list of mobile) Format: 'E' Loads object and places it in the Equipment list of the last monster referenced. Note that it is NOT necessary to precede this command with a 'G' command. Equipment position is one of: WEAR_LIGHT 0 WEAR_FINGER_R 1 WEAR_FINGER_L 2 WEAR_NECK_1 3 WEAR_NECK_2 4 WEAR_BODY 5 WEAR_HEAD 6 WEAR_LEGS 7 WEAR_FEET 8 WEAR_HANDS 9 WEAR_ARMS 10 WEAR_SHIELD 11 WEAR_ABOUT 12 WEAR_WAISTE 13 WEAR_WRIST_R 14 WEAR_WRIST_L 15 WIELD 16 HOLD 17 P (put object in object): Format: 'P' Loads object1 and places it in object2. D (set state of door) Format: 'D' State being one of: 0: Open. 1: Closed. 2: Closed and locked. R (remove object from room) Format: 'R' F == Remove MOBile from Room F 2.4.2 The Second Look (AGAIN, cause it might be hard to understand) ===================== This is the last of the four files used to create an area. This is according to many, also the worst. The format of this file follows a code more cryptic than any of the other files. It is this file that determines what mobiles to be loaded where, and what equipment they should have, if they are to have any. Actually the zone file isn't that difficult to work with, if one knows the `trick' to it. The zone file follows this format: # ~ . . . S Explanation of the fields follows: # this is the number of the zone, usually the first number of the locations in the zone. I.e. location 2000 - 2099, belongs to zone 20. the name of the zone. This can be anything you like. the highest location number belonging to the zone. how long the zone exist without rebooting. This is a number of minutes. When the time is up, the zone is queued for reset. This depends also on the reset mode. This may take on three values: 0: Don't reset the zone at all. In this case, the age of the zone is never updated, and it will never be queued for reset. Thus, the value of the lifespan-field is effectively ignored. 1: Reset the zone as soon as it is deserted, i.e. as soon as there are no players located within the zone. 2: Reset the zone no matter who or what is in it. Each command consists of a letter, identifying the command-type, followed by three or four arguments. The first argument, common to all the commands, is called the 'if-flag'. If it is true (nonzero), the command is executed ONLY if the preceding command was executed. If it is false (zero), the command is executed anyway. The commands: M (load a mobile): Format: 'M' mobile nr and room nr should be self-explanatory. The 'Max existing' parameter specifies the maximum permissible number of existing units. In other words: If you only want one manifes- tation of a given monster, you just specify the number '1'. If the Max number is about to be exceeded, the command won't be executed. O (load an object): Format: 'O' Load an object and place it in a room. (NOT -1) G (give object to mobile): Format: 'G' Loads an object, and gives it to the last monster referenced (i.e.. by the M-command). Of course, this command doesn't make sense if a new mobile+ object pair has not just been created, which is where the if-flag comes in handy. :) E (object to equipment list of mobile) Format: 'E' P (put object in object): Format: 'P' Loads object1 and places it in object2. D (set state of door) Format: 'D' State being one of: 0: Open. 1: Closed. 2: Closed and locked. 3: Hidden and closed. 4: Hidden, closed and locked. R (remove object from room) Format: 'R' Example ======= Here is an example of a zone file. It is part of the Midgaard zone file. #30 Northern Midgaard Main City~ 3099 30 2 * M 0 3000 1 3033 The Wizard Shop Keeper G 1 3050 500 Give scroll of identify G 1 3051 500 Give potion of see invisible. G 1 3052 500 Give scroll of recall G 1 3053 500 Give wand of invisibility G 1 3054 500 Give staff of sleep * M 0 3064 3 3007 A Happy Drunk (at Inn) M 0 3065 2 3044 A Beggar in poor alley M 0 3065 2 3048 A Beggar in Grubby Inn * O 0 1212 5 3059 Bulletin board in Temple (limbo for starters) O 0 3098 1 3005 fountain in temple square O 0 3099 1 3062 Quest-board in Adventurers Club. * S The * in the file are comments. By putting a * at the start of a line the rest of the line is ignored. When the actual data has been written the rest of the line can be used for comments. =========================================================================== 2.5 The Shops File ================== So I lied =) There *IS* a 5th file in the sequence, BUT this is only if you plan to use a shop. (Treat the file as the other four, the extension of this file is .shp) In case you plan to make a city or village, or anything with shops, a fifth file is needed. This file follows a rather peculiar format which is shown here. #~ ~ ~ ~ ~ ~ ~ Price is %d ~ Price is %d