From: "Peter A. Denitto" Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 1 Here is the complete set of building DOCS for STRANGEMUD: Rev4.1-15-95 ----------------------------------------------------------------------------- Table of Contents ================= 1.0 Introduction 1.1 Creating the Files 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 3.0 Misc Tables 3.1 Weapons and Carrying Capacity (Weight) 3.2 Mob Standards 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 ------------------------------------------------------------------------------ Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 2 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. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 3 1.1 Creating the files ====================== ------------------------------------------------------------------------------- Oh, this is great, but how do I make an area? ============================================= Well, you type it in, in a wordprocessor. The easiest way to create an area is using a simple wordprocessor. 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. The MUD doesn't care about extra returns between each room, mob, or object. You might want to put these in so they are more readable. 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. You can get a copy of the Dikued Database for StrangeMUD if you talk to Rosalinn. ------------------------------------------------------------------------------- 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. 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. 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 Captial letters. NOTE: Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 4 If an illegal character is in the bitstring, then NOBITS will be set.. (Illegal characters is ofcoz 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'. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 5 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 figgering 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 posible 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 visualise 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 alot 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 ' Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 6 .. | 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 favourite 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." Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 7 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 appopriate 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 realise 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? Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 8 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 pictoral 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 Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 9 | | the person will see will be "It is pitch black", there DARK | 1(a) | will be noone 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 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(l)| 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 Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 10 | | 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) | | 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) .........|.................................................................... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 FLYING 9 These 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: Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 11 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 monotonus, 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: FLAG WHAT CAN BE DONE TO THE DOOR(CHOOSE ONLY ONE!!!) ------------------------------------------------------------------------------- 0 | nothing can be done to the door. 1 | door can be locked/unlocked/opened/closed/picked 2 | door cannot be picked;all other commands work. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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: Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 12 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 chambre 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 movenment 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 marbelled 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 architectury here is truely amazing--and awe-inspiring. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 13 ~ 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 =============================================================================== Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 14 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 ^^----USE THIS FORMAT ABOVE!!!------------------^^^ LAZY MOBS! ========== If you use LAZY Mobs (And you SHOULD!!!), put the 'L' after . Enter the at the proper place. THAC0, EXPIRENCE, AC-APPLY, and BARE HAND DAMMAGE 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 elsewhere in this KIT. USE LAZY MOBS AS MUCH AS POSSIBLE. But, remember, mobs that have VERY good Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 15 equiptment, should NOT use the LAZY MOB format. The reason for this is because LAZYMOB does not take in account the equiptment. People who kill mobs should not be rewarded good equiptment and exprience so you should lessen the expirence considerablly. GENERAL MOB FORMAT (This is used if you have GOOD equiptment on this mob.) # ~ ~ ~ ~ S ^^------USE THIS FORMAT IF YOU NEED TO DETAIL VITALSTATS--^^^ 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. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 16 Now down to the nasties. ----------------------------------------------------------------------------- # 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. ----------------------------------------------------------------------------- ~ 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. :) ------------------------------------------------------------------------------ ~ 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 etcetera. ----------------------------------------------------------------------------- ~ This is what the user sees when they look at the room and see the mobile there. An example: Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 17 The King of the World sits here, pompously giving decrees and proclamations. ~ if you looked at the room, you would see: The ThroneRoom 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, pickingup all | | items in the room that are dropped or left. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 18 ..........|.........|......................................................... | e | Nice_THIEF | 16 | Mob won't attack if stolen from. ..........|.........|......................................................... | f | AGGRESSIVE | 32 | The mob will hit any player that it sees entering the | | room. ..........|.........|......................................................... | g | STAY_ZONE | 64 | The mobile will only travel in the rooms in your zone. ..........|.........|......................................................... | | | | 1. If there is no AGGRESSIVE flags set, the mobile will | h | flee if it gets below a certain percentage of its WIMPY | 128 | total hit points. | | 2. If there are any AGGRESSIVE flags set, the mobile | | will attack the player if he or she falls asleep. ..........|.........|......................................................... | i | AGGR_EVIL | 256 | The mobile will attack any evil players in the room. ..........|.........|......................................................... | j | AGGR_GOOD | 512 | The mobile will attack any good players in theroom. ..........|.........|......................................................... | k | AGGR_NEUT | 1024 | The mobile will attack any neutral players in the room. ..........|.........|......................................................... | | | | The mobile will remember if it has been attacked. THIS | l | LASTS PAST THE PERSON IT REMEMBER'S DEATH, and only =20 MEMORY | 2048 | stops after a certain number of ticks have gone by, or | | it is attacked by someone else. (they're very | | 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. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 19 ..........|.........|......................................................... | 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. ..........|.........|......................................................... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 invisibile 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. ..........|.........|......................................................... | h | Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 20 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. ..........|.........|......................................................... | n | DET_GOOD |131072 | The mobile can detect good. ..........|.........|......................................................... | s | SNEAK |262144 | The mobile is sneaking. It will not show " has | | arrived" when it enters a room. ..........|.........|......................................................... | t | HIDE |524288 | The mobile is hidden--it cannot be seen without a | | sense life spell. ..........|.........|......................................................... | u | FEAR |1048576 | The mobile cannot be scared with the cast 'fear' spell. ..........|.........|......................................................... | 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) ..........|.........|......................................................... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ example: You want an assassin. it would have the following flags: SENSE_LIFE, DET_INVIS, INFRA, NOTRACK, SNEAK, and HIDE. 32 + 8 + 1024 + 262144 + 524288 = 787496 f d k s t = fdkst You would use the BITSTRING format and write the flag as: fdkst ------------------------------------------------------------------------------- This is a number from -1000 to 1000. The alignment goes as follows: -1000 to -350 EVIL -349 to 349 NEUTRAL 350 to 1000 GOOD ------------------------------------------------------------------------------- This is where the MOB formats DIFFER, here, you would use Lazymobs (Or more genericly Levelled mobs.) All you have to do is write the Level of the mob and everything else will be decided for you. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 21 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 Guildelines (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 definate 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 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. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 22 ------------------------------------------------------------------------------- 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: DEAD 0 SLEEPING 4 RESTING 5 SITTING 6 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. ------------------------------------------------------------------------------- DETAILED MOB FORMAT (for specialized mobs) Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 23 These take place of everything after affection and action flags as well as alignment. ------------------------------------------------------------------------------- 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. ------------------------------------------------------------------------------- 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 Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 24 ------------------------------------------------------------------------------- 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!! ------------------------------------------------------------------------------- =============================================================================== Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 25 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 colours. ~ 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! Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 26 #24915 wombat furry~ 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 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 ." --------------------------------------------- Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 27 2.3 Building the OBJECT file: ============================= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The format is as follows: # ~ ~ ~ ~ 'E' ~ ~ 'E' ~ ~ . . . 'E' ~ ~ 'A' . . 'A' # . . . #99999 $~ ----------------------------- Object fields description: ========================== # See rules for rooms above. ~: 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: "Monthy drops a rubber raft." could be displayed. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 28 ~ 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. ~ Do not use. [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 armour. 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 Not yet implemented 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 drinkcontainer whit 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). [NL] This bitvector defines mostly special effects: 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. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 29 ---------------------------------------------------------------------------- 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 droped (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. ---------------------------------------------------------------------------- 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 waiste (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. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 30 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 interpeted 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. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 31 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 bouns/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 armour 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. ----------------------------------------------------------------- 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~ Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 32 This humongous 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 wieghs 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 --------------------------------------------------- Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 33 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]: Not Used 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" 11 : Pierce "pierce/pierces" New types can be added as needed. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 34 ITEM_FIREWEAPON (6) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_MISSILE (7) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_TREASURE (8) Value[0]: - Value[1]: - Value[2]: - Value[3]: - ITEM_ARMOR (9) Value[0]: The effective AC. >0 enhances the armour class. <0 reduces the the armour class (cursed armour for example). Value[1]: - 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. Eg. 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]: - Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 35 Value[2]: - Value[3]: - ITEM_TRAP (14) Value[0]: - Value[1]: - Value[2]: - Value[3]: - 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]: Tounge (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 Drunkness 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 The above values for drunkness/fullness/thirst are used per four "units" drunk. The values are expressed in HOURS! Example: Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 36 Dragon empties a bottle (say 7 units) of saltwater. His Drunkness 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 drunkness/fullness/thirst. When hours are zero for any drunkness/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. Value[1]: - Value[2]: - Value[3]: - 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 posioned if non-zero. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 37 ----------------------------------------------------- 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 'N' for the particular object, you CANNOT us that spell. DON'T Try because it WON'T work. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | SPELL Number | Potion | Scroll| Staff | Wand | Spell | |-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_| |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | UNDEFINED -1 | N | N | N | N | N | | | | | | | | | ARMOR 1 | Y | Y | N | Y | Y | | TELEPORT 2 | Y | Y | Y | Y | Y | | BLESS 3 | Y | Y | N | Y | Y | | BLINDNESS 4 | Y | Y | Y | Y | Y | | BURNING_HANDS 5 | N | N | N | N | Y | | CALL_LIGHTNING 6 | Y | Y | Y | N | Y | | CHARM_PERSON 7 | N | Y | Y | N | Y | | CHILL_TOUCH 8 | N | N | N | N | Y | | COLOUR_SPRAY 10 | N | Y | N | Y | Y | | CONTROL_WEATHER 11 | N | N | N | N | Y | | CREATE_FOOD 12 | N | Y | N | N | Y | | CREATE_WATER 13 | N | N | N | N | Y | | CURE_BLIND 14 | Y | N | Y | N | Y | | CURE_CRITIC 15 | Y | N | Y | N | Y | | CURE_LIGHT 16 | Y | N | Y | N | Y | | CURSE 17 | Y | Y | Y | N | Y | | DETECT_EVIL 18 | Y | N | Y | N | Y | | DETECT_INVISIBLE 19 | Y | N | Y | N | Y | | DETECT_MAGIC 20 | Y | N | Y | N | Y | | DETE | DISPEL_EVIL 22 | Y | Y | Y | Y | Y | | EARTHQUAKE 23 | N | Y | Y | N | Y | | ENCHANT_WEAPON 24 | N | Y | N | Y | Y | | ENERGY_DRAIN 25 | Y | Y | Y | Y | Y | | FIREBALL 26 | N | Y | Y | N | Y | | HARM 27 | Y | N | Y | N | Y | | HEAL 28 | Y | N | Y | N | Y | | INVISIBLE 29 | Y | Y | Y | Y | Y | | LIGHTNING_BOLT 30 | N | Y | N | Y | Y | | LOCATE_OBJECT 31 | N | N | N | N | Y | | MAGIC_MISSILE 32 | N | Y | N | Y | Y | | POISON 33 | Y | N | Y | N | Y | | PROTECT_FROM_EVIL 34 | Y | Y | Y | N | Y | | REMOVE_CURSE 35 | Y | Y | Y | N | Y | | SANCTUARY 36 | Y | Y | Y | N | Y | | SHOCKING_GRASP 37 | N | N | N | N | Y | | SLEEP 38 | Y | Y | Y | Y | Y | | STRENGTH 39 | Y | Y | Y | N | Y | | SUMMON 40 | N | N | N | N | Y | | VENTRILOQUATE 41 | N | N | N | N | Y | | WORD_OF_RECALL 42 | Y | Y | Y | Y | Y | | REMOVE_POISON 43 | Y | N | Y | Y | Y | | SENSE_LIFE 44 | Y | N | Y | N | Y | -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 38 Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 39 ==--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | SPELL Number | Potion | Scroll| Staff | Wand | Spell | |-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_| |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | IDENTIFY 53 | N | Y | N | N | Y | | ANIMATE_DEAD 54 | N | Y | N | Y | Y | | FEAR 55 | Y | Y | Y | Y | Y | | AIR_SHIELD 61 | Y | Y | Y | Y | Y | | WATER_OF_LIFE 63 | N | N | N | N | Y | | METEOR_SWARM 64 | N | N | N | N | Y | | MASS_SANCTUARY 65 | N | Y | Y | N | Y | | FULL_HEAL 66 | Y | N | Y | N | Y | | REVITALIZE 67 | Y | N | Y | N | Y | | BARKSKIN 68 | Y | Y | Y | Y | Y | | DETECT_GOOD 69 | Y | N | Y | N | Y | | MASS_RECALL 70 | Y | Y | Y | N | Y | | MASS_TELEPORT 71 | Y | Y | Y | N | Y | | ICE_BLAST 72 | N | Y | Y | N | Y | | ICE_STORM 73 | N | Y | Y | N | Y | | WALK_ON_WATER 74 | Y | Y | Y | Y | Y | | STONE 76 | Y | Y | N | Y | Y | | PARALYZE 82 | Y | Y | Y | Y | Y | | PEACE 83 | N | N | Y | N | Y | | HASTE 84 | Y | Y | Y | Y | Y | | REGENERATE 88 | Y | Y | Y | Y | Y | | METEOR_BLAST 92 | N | N | N | N | Y | | FAERIE_FIRE 94 | Y | Y | Y | Y | Y | | WEB 97 | Y | Y | Y | Y | Y | | ENCHANT_ARMOR 98 | N | Y | N | N | Y | | TELEPORT_BEHIND 99 | N | N | N | N | Y | | CONJURE ELEMENTAL 122 | N | Y | N | N | Y | | AURA BLAST 123 | N | N | Y | N | Y | | DISPEL MAGIC 124 | Y | Y | N | N | Y | | RESIST COLD 127 | N | N | N | N | Y | | RESIST HEAT 128 | N | N | N | N | Y | -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 40 ----------------------------------------------------- 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.... Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 41 2.4 THE ZONE FILE: ================== The Zone file is the file that populates your area. It is pretty easy to creat, but it is very hard to debug. To make it less painful for you, Make is as creative as possible by groupping 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' #99999 $~ -------------- 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 Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 42 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, ie 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 (ie. 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. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 43 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' Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 44 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, ie 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: Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 45 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 (ie. 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 Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 46 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. Jan 15 02:12 1995 StrangeMUD-Builders-Kit---Rev4 Page 47 =========================================================================== 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