Welcome to: /HHHHHHHHHHHHHHHHH\ /H/ |H| \H\ |H| |H| |H| \H\ |H| /H/ B A R R E N |HHHHHHHHHHHHHHHHH| R E A L M S /HH/ |H| \HH\ |HH' |H| `HH| |H| |H| |H| \HH\ |H| |H| \HHHHHHHHH| |HHH| BUILDERS GUIDE v1.4 KIRI Head Writer and Coordinator TEMPER * DELTON * MATAI * MAZRIM * BRAND * AHAB * KYTAR Contributors and Writers /|=========================================================|\ | | | | | | Original DIKU code by: Hans Henrik Staerfeldt, | | | | Katja Nyboe, Tom Madson, | | | | Michael Seifert, and | | | | Sebastian Hammer | | | | Original MERC code by: Kahn, Hatchet, and Furey | | | | BR Supplemental code by: The BARREN REALMS Coding Crew | | | | | | \|=========================================================|/ NOTE: After speaking heavily with both sides involved, I have had the random exits section edited by Kytar and reissued in this version of the guide. It is here to stay. There have been only slight changes other than that in the guide. Foreword: Writing an area is a time-consuming effort, but the rewards of seeing your world you have created practically alive is well worth it. I recommend you use Make Zones Fast, especially if you are a beginning area writer, and using the guide to explain what it is you are doing. The guide can also help you with tables, as well as helping people who would like to edit their areas by hand. BRAVO to you brave few (such as myself) who do it by hand.. Its truly painstaking, but remember errors are more likely that way. Email me your unfinished areas to check to barren@coredcs.com and I'll email/note you with any comments I have or suggestions. And once again, thank you for using my Builders Guide! -----------------------SPECIFICATIONS----------------------------- 1. We require that any area submitted is not of a modern theme. (Yes we know we have some modern themed areas, but they are being phased out slowly.) 2. All themes must be approved by Oakley or Kiri before you start building. 3. All shopkeepers and healers MUST BE level 99. 4. Every room (except randomized rooms) must have a different description. 5. Every room must have more than 2 - 3 sentences in its description. Use your imagination! 6. See http://www.coredcs.com/~barren to get a copy of Make Zones Fast, which is what we recommend building your area on. It simplifies much of what is explained here. Unless you are an experienced area builder I suggest you use MZF. There is also a Windows 95 version of it available. Its an easy point and click interface. For editing area files with a word processor (which you can use anything from Word to a dos editor for), you simply can open up the .are file that MZF creates and edit it by hand. 7. I have sample areas available for your use if you want to compare what you have done with a working area. Email barren@coredcs.com with your request if you would like this. 8. Certain things such as added code (like specs and specos, we do NOT use mob programs) can be written for you. Post me a note with any ideas and we will try to accomodate you. 9. If you are using MZF, you do not need VNUMS from me or Oakley until you are about 90% done. MZF automatically renumbers for you. However, if you are writing the area by hand, let me know and I'll give you VNUMS ahead of time. ______________________________________________________________________ To write an area the first thing you need to do is have your name at the top. Start by writing #AREA {the lowest mob levels highest mob levels} then your name then the name of the area. It will look like this: EX: #AREA {0 10} Anyone Anywhere~ Make sure you include the ~! The ~ is called a tilde and marks the end of a line for the mud. If you don't include it, the area will be buggy and won't run. ---------------------------HELPS------------------------------------ Next thing to work on is the helps section. You need to type #HELPS on a separate line, then the level of who you want to read the helps. If you want ANYONE to read it, you would type -0. If you want only level 52 or higher to read it, you'd put 52 on the second line. Then the next line has what keywords you would want people to find your help under. Here's an example of what it would look like: #HELPS -0 Kiri~ Kiri is a really nice person. She likes you a lot. ~ 0 $~ You must put a tilde on the line after the message that you want it to say when a player types help kiri. (or whatever your help would be on). After all of your helps, put this: 0 $~ That ends the helps section, so you have to put that. But ONLY after ALL of the helps are done in your area. ----------------------------MOBILES------------------------------------ PLEASE NOTE: Vnums are a set of numbers that are given usually right before you are finished with the area. Lets say you are given vnums 0 - 100. You can use the same numbers over in each section (mobiles, objects, rooms). For instance, you may use onums 0 - 15 in the objects section, 0-50 in the mobiles section, and 0-100 in the rooms section. You do NOT need to use then in succession, such as 0-50 mobiles, 50-65 objects, 65-165 rooms. The next part is how to write mobiles. You must put the mobiles after the helps, its the order of all area files. This will be a line by line explanation: First line: #MOBILES Type it exactly as it says. Second line: #mnum OK, what a Mnum is is this. When you have numbers to assign to your area (which either Oakley or Kiri can give you) you use these numbers as your VNUMS. An MNUM is a VNUM assigned to Mobiles. So lets say your VNUMs are 100-200. You would type this for this second line: #100 Third line: The name of the mob.~ This is what you named your mob. Remember you need the tilde after the name on this line! Don't use the words "a" "an" or "the" in this. EX: Kiri~ fourth line: the short name of the mob This is what the mob will be called when a player is fighting it. Make sure this has no period or is not a sentence! A good way to judge what a decent short is to make it as close to the name as possible. Ex: The Goddess Kiri~ Fifth line: this would be what it says when you type "look" in the room. Make sure you end this line ALWAYS with a period, or we'll send it back to you to redo! EX: The Goddess Kiri is here, watching you.~ Sixth Line: You need JUST a tilde alone here. Seventh line: This is the examine description, or what it says when you look at the mob. EX: Kiri is 5'4", has long flowing brown hair, and is grinning back at you as she prepares to kill you! Eighth line: you need a tilde alone on this line. Ninth line: Act bits(TABLE A) Affected bits (TABLE B) Align S OK..see the act and affect bits tables to find what each of these are. Make sure you keep the act bits and the affected bits separated and that you arrange them in correct numerical order. Separate them using the character "|". Then follow it by the alignment of the mob. Remember 0 is neutral, 1000 is angelic, and -1000 is demonic. On the end of this line, put a capital S. EX: 64 0 0 S This means the mob is stay area, affected by nothing, and neutral. Tenth line: Mob's level 0 0 0d0+0 0d0+0 EX: 10 0 0 0d0+0 0d0+0 You MUST include the numbers here. This means the mob is level 10. Eleventh line: 0 0 0 0 gender 0 is neuter, 1 is male, and 2 is female. EX: 0 0 0 0 2 This means the mob is female. Twelfth line: here you make start another mob with another MNUM and repeat the steps, or you may end the file with this: #0 Here is a whole mobile - just for you to see it one piece: #MOBILES #100 Kiri~ The Goddess Kiri~ The Goddess Kiri is here, watching you.~ ~ Kiri is 5'4", with long flowing brown hair. She sits here grinning at you as she prepares for your death. ~ 64 0 0 S 10 0 0 0d0+0 0d0+0 0 0 0 0 2 #101 etc etc :) #0 --------------------MOB TABLES-------------------------------------- A) ACT BITS FOR MOBS -------------------- _ACT_ _BIT_ _DESCRIPTION_ NPC (non-player-character) 1 /* Auto set for mobs */ SENTINEL 2 /* Stays in one room */ SCAVENGER 4 /* Picks up objects */ MEMORY 8 {this means that the mob will revenge on you and will attack you if you have attacked it and fled of recalled before it was dead} ILLITHID PRACTICE 16 /* Can practice Illithid skills */ AGGRESSIVE 32 /* Attacks PC's */ STAY AREA 64 /* Won't leave area */ WIMPY 128 /* Flees when hurt */ PET 256 /* Auto set for pets */ ENHANCE 512 /* Can train PC's */ ELF PRACTICE 1024 /* Can practice Elf skills */ HEALER 2048 /* Heals PC's levels 1-10 */ UNDEAD 4096 /* Undead Mobs rule */ {Undead is when you fight an undead, you lop off body parts that will attack you} DRUID PRACTICE 8192 /* Can prac Druid */ KENDER PRACTICE 16384 /* Can prac Kender */ HUMAN PRACTICE 32768 /* Can prac Human */ DWARF PRACTICE 65536 /* Can prac Dwarf skills */ IDENTIFY 131072 /* For the ID Shop */ REPAIR 262144 /* for repair shop */ SELL MID 524288 /* +10 */ SELL HIGH-MID 1048576 /* +20 */ SELL HIGH 2097152 /* +30 */ STAY TERRAIN 8388608 /* mob wander off terrain */ AVIAN PRACTICE 16777216 /* Can prac Avian */ ----------------------- B) AFFECT BITS FOR MOBS ----------------------- _AFFECT_ _BIT_ BLIND 1 INVISIBLE 2 DETECT EVIL 4 DETECT INVIS 8 DETECT MAGIC 16 DETECT HIDDEN 32 DARK 64 SANCTUARY 128 FAERIE_FIRE 256 INFRARED 512 CURSE 1024 POISON 4096 PROTECT 8192 SNEAK 32768 HIDE 65536 SLEEP 131072 FLYING 524288 PASS DOOR 1048576 PLAGUE 2097152 VISION 4194304 ----------------------------OBJECTS---------------------------------- First line: you type #OBJECTS at the beginning of the objects section. Second line: #onum - this is pretty much the same as the mobiles #mnum. You take the VNUMs assigned to you and use the first number in the sequence for the first number of your objects. Again, if you were assigned VNUMs 100 - 200, you'd do this here: EX: #100 Third line: Name~. In this spot you put the name of the object (what people have to call the object to pick it up). EX: gold ring~ this means people can call it gold or ring to pick it up. No "A", "An"s or "the"s here. Fourth line: short name~. This is the name people see when another person picks the object up or if you look at someone's inventory. EX: Kiri's Gold Ring~ Fifth line: long name~. This name is what people see if the object is laying on the ground and they type "look." EX: Kiri's Gold ring from Oakley is here.~ sixth line: You need a tilde alone here. Seventh line: ~ type(TABLE C) extra(TABLE D) wear(TABLE E) OK. The type of object means what type of thing it is, a scroll, a light, whatever. See the tables for what numbers are appropriate for each item. An extra is whether the object glows, hums, etc. This also is laid out in a table further on in this guide. Wear is where you wear the object, on your finger or head, or other spots. Again, there is a table here. EX: 9 1|256 1|2 Note I used the |s. Those separate each of the bits from each other. This translates to armor glow/bless take/finger wear. Eighth line: value0 value1 value2 value3 ( ALL OF THESE VALUES FOUND IN TABLE F ) OK these values are basically to set containers, wands, potions, staves, etc. The graph explains all. Follow it closely. EX: 0 0 0 0 Since my ring is armor, it has no extra values to be set. Ninth line: Weight(TABLE K) 0 0 Here you put the weight and follow it by two zeroes. EX: 1 0 0 ***NEW***: For potions and staves you MUST SET the second value of this line to be a price if you intend for someone to sell it, otherwise the shopkeeper you place it on will NOT sell it. For example, a potion could have the values 2 1000 0 Tenth line: E objectname~ This is not required. This line is ONLY for people who want to give an deeper description of a certain object. EX: E ring~ Eleventh line: The message from the extra. If you desired to add the extra in the ninth line, this is what people will see when they look at the word you specified. EX: This ring is lovely antique gold with a medium diamond. Twelfth line: ~ WARNING: this tilde is only if you did the extra. Thirteenth line: A apply(TABLE G) number OK, on these lines we add all those +hit, +dam, -mv and all that fun stuff. There is a suggested limit for each of these affects and also a balance we would like you to maintain. This is addressed later on. For now, here's how its done. The line starts with an A. Then you pick the number of the apply, such as mana or strength, from the affects table. After that, you put the number that you want the affect to affect the player by. EX: A 12 50 This means that my ring affects mana by adding 50 mana points. Fourteenth line: Here you either start a new object or end this section by typing : #0 Here is the whole thing for you to see: #OBJECTS #100 gold ring~ Kiri's gold ring~ Kiri's gold ring from Oakley is here.~ ~ 9 1|256 1|2 0 0 0 0 1 0 0 E ring~ This ring is lovely antique gold with a medium diamond. ~ A 12 50 #101 etc etc... #0 ***NEW***: We DO have the capability of having enterable objects on BR. Please contact Kiri online or in a note if you have an object that you would like to have enterable. I would prefer having them be no-take, but if you can tie a takeable object into your area theme, I'd be happy to accomodate you. ***NEW AND VERY COOL***: Yes, we have TRAPS for those Kender to disarm. :) The way to specify this would be to set a container's value3 to be a number of a spell (use the numbers for spells in the spell chart). You can use any spells from that list. When they open the trap without disarming it first, they would be hit will the spell. Please make these offensive spells only, if you would like to do otherwise, please check with Kiri first. --------------------------OBJECT TABLES--------------------------- ---------------------- C) TYPE BITS FOR ITEMS ---------------------- _TYPE_ _BIT_ LIGHT 1 SCROLL 2 WAND 3 STAFF 4 WEAPON 5 TREASURE 8 ARMOR 9 POTION 10 FURNITURE 12 TRASH 13 CONTAINER 15 DRINK CONTAINER 17 KEY 18 FOOD 19 MONEY 20 FOUNTAIN 25 PILL 26 BREATH WATER 27 FLY 28 QUIVER 29 PROJECTILE 30 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ----------------------- D) EXTRA BITS FOR ITEMS ----------------------- _FLAG_ _BIT_ GLOW 1 HUM 2 DARK 4 LOCK 8 EVIL 16 INVIS 32 MAGIC 64 NODROP 128 BLESS 256 ANTI GOOD 512 ANTI EVIL 1024 ANTI NEUTRAL 2048 NOREMOVE 4096 INVENTORY 8192 TIMED 16384 HOVER 32768 FLAME 65536 POISONED 131072 INVISIFY 262144 E) WEAR BITS FOR ITEMS ---------------------- _SLOT_ _BIT_ TAKE 1 FINGER 2 NECK 4 BODY 8 HEAD 16 LEGS 32 FEET 64 HANDS 128 ARMS 256 SHIELD 512 ABOUT 1024 WAIST 2048 WRIST 4096 WIELD 8192 HOLD 16384 TWO_HANDED 32768 TABLE F - Item Types ------------------------------------------------------------------------ Item Type# Value0 Value 1 Value 2 Value3 -------- ---- ------------ ------------ ------------ ------------------ LIGHT | 1 | 0 | 0 | hours | 0 ------------------------------------------------------------------------ SCROLL | 2 | level | spell 1 | spell 2 | spell 3 ------------------------------------------------------------------------ WAND | 3 | level | max charge | cur charge | spell ------------------------------------------------------------------------ STAFF | 4 | level | max charge | cur charge | spell ------------------------------------------------------------------------ WEAPON | 5 | 0 | 0 | 0 | hit type(TABLE I) ------------------------------------------------------------------------ TREASURE | 8 | 0 | 0 | 0 | 0 ------------------------------------------------------------------------ ARMOR | 9 | 0 | 0 | 0 | 0 ------------------------------------------------------------------------ POTION | 10 | level | spell 1 | spell 2 | spell 3 ------------------------------------------------------------------------ FURNITURE| 12 | 0 | 0 | 0 | 0 ------------------------------------------------------------------------ TRASH | 13 | 0 | 0 | 0 | 0 ------------------------------------------------------------------------ CONTAINER| 15 | max weight |state(TABLE H)| ONUM of key| 0 ------------------------------------------------------------------------ DRINK_CON| 17 | max capac. | cur capac. |liquid(TABLE L)| poison ------------------------------------------------------------------------ KEY | 18 | 0 | 0 | 0 | 0 ------------------------------------------------------------------------ FOOD | 19 | hours | 0 | 0 | poison ------------------------------------------------------------------------ MONEY | 20 | amount | 0 | 0 | 0 ------------------------------------------------------------------------ BOAT | 22 | 0 | 0 | 0 | 0 ------------------------------------------------------------------------ FOUNTAIN | 25 | 0 | 0 | 0 | 0 ------------------------------------------------------------------------ PILL | 26 | level | spell 1 | spell 2 | spell 3 ------------------------------------------------------------------------ BR WATER | 27 | 0 | 0 | hours | 0 ------------------------------------------------------------------------ FLY | 28 | 0 | 0 | 0 | 0 ------------------------------------------------------------------------ QUIVER | 29 | max weight | state | key ONUM | 0 ------------------------------------------------------------------------ THROW | 30 | 0 |0 | 0 | 0 ------------------------------------------------------------------------ KEY: NOTE: for all spells, see table J for the spell numbers. hours: number of hours it lasts Food: hours of nutrition max charge: maximum charges on magic pills, staves, wands, and potions. cur charge: current charges on magic items max cap: max capacity in drinks cur cap: current capacity of drinks max weight: maximum holding capacity in weight poison: 0 for fine, non-0 for poisoned Quiver : holds THROW type objects ----------------------- G) APPLY BITS FOR ITEMS ----------------------- _APPLY_ _BIT_ NONE 0 STR 1 DEX 2 INT 3 WIS 4 CON 5 MANA 12 HIT 13 MOVE 14 AC 17 HITROLL 18 DAMROLL 19 SAVING_PARA 20 SAVING_ROD 21 SAVING_PETRI 22 SAVING_BREATH 23 SAVING_SPELL 24 APPLY GUIDELINES - By Oakley ---------------------------- This is the system I follow when I edit areas to make sure that the objects will conform and not throw off the balance of the game. If you follow these to begin with, it will make my job easier, and get the areas in faster. For APPLIES to ATTRIBUTES: at most +1 for every 10 levels the object will load EX. at level 10, no more than +1, 20 +2, etc Please try not to affect by more than 8 attributes TOTAL on any one object EX. +5 str +1 wis +2 int For APPLIES to HITPOINTS, MANA and MOVES: No more than 15 for every 10 levels, 20 on RARE occasions EX. for a level 40 weapon, no more than 60 hp for a total of no more than 25 for every 10 levels EX. a level 10 weapon can affect hp by 15, mana by 5 and moves by 5 For APPLIES to HITROLL and DAMROLL: No more than 1 for every 10 levels on each no more than 7 total COMBINED on any one object EX. a level 30 weapon can have +3 hit +3 dam, but NO MORE A lot of areas have been coming in with +12 hitroll or damroll at LEVEL 10...this is a problem. For APPLIES to AC: No more than -10 for every 10 levels EX. level 20 armor should affect by no more than -20 in addition to the naturally assigned AC for the armor For APPLIES to SAVES: No more than -5 TOTAL for each save no matter what level, -5 is the MAX Above all, use some common sense... Don't have boots raising hit/dam, that doesn't really work No helmets that raise strength, or gloves that raise int Try and keep the +hit and +dam to WEAPONS or things worn on hands, helmets that raise hitroll are a bit rediculous and NO APPLIES on light sources, containers or wearable containers. Keep the applies to armor and weapons only, occasional hold items. Too many people have been sending in areas for the sole purpose of seeing other people wearing the armor they wrote. These areas will either not be accepted or I will personally reduce the affects to comply with these guidelines. -Oakley ---------------------------- H) CONTAINER BITS ---------------------------- _FLAG_ _BIT_ CLOSEABLE 1 PICKPROOF 2 CLOSED 4 LOCKED 8 Table I: Weapon Types ______________________________________________________ 0 | hit 1 | slice 2 | stab 3 | slash 4 | whip 5 | claw 6 | blast 7 | pound 8 | crush 9 | grep 10 | bite 11 | pierce 12 | suction ****NEW NUMBERS**** TABLE J: Spell Numbers ______________________________________________________ 0 | NULL 1 | acid blast 2 | armor 5 | bless 7 | blindness 9 | burning hands 10 | call lightning 11 | cause critical 11 | cause light 13 | cause serious 14 | change sex 15 | charm person 16 | chill touch 18 | colour spray 20 | continual light 21 | control weather 22 | create food 23 | create spring 23 | create water 25 | cure blindness 26 | cure critical 28 | cure light 29 | cure poison 30 | cure serious 31 | curse 32 | detect evil 33 | detect hidden 34 | detect invis 35 | detect magic 36 | detect poison 37 | dispel evil 38 | dispel magic 39 | earthquake 40 | enchant weapon 41 | energy drain 44 | faerie fire 45 | faerie fog 46 | fireball 47 | flamestrike 48 | fly NULL | gate 50 | giant strength 51 | harm 52 | heal 53 | identify 54 | infravision 55 | invis 57 | know alignment 59 | lightning bolt 60 | locate object 61 | magic missile 62 | mass invis 65 | pass door 68 | poison 70 | protection 72 | refresh 73 | remove curse 74 | sanctuary 75 | shield 76 | shocking grasp 77 | sleep 79 | stone skin 80 | summon 81 | teleport 83 | ventriloquate 84 | weaken 86 | word of recall 87 | acid breath 88 | fire breath 89 | frost breath 90 | gas breath 91 | lightning breath 3 | astral 6 | bamf 8 | buddha finger 17 | chin kang palm 19 | concentrate 49 | frenzy NULL | gate 56 | iron monk 58 | laughing buddha 64 | medicine 67 | prayer 71 | quivering palm TABLE K: Maximum Weight for weapons _____________________________________________________ Strength | Max Wieldable Weight 13 | 13 14 | 14 15 | 15 16 | 16 17 | 22 18 | 25 19 | 30 20 | 35 21 | 40 22 | 45 23 | 50 24 | 55 25 | 60 TABLE L: Liquids ----------------------------------------------------------------------------- 0. water 1. beer 2. wine ----------------------------------------------------------------------------- 3. ale 4. dark ale 5. whiskey ----------------------------------------------------------------------------- 6. lemonade 7. firebreather 8. local specialty ----------------------------------------------------------------------------- 9. slime mold juice 10. milk 11. tea ----------------------------------------------------------------------------- 12. coffee 13. blood 14. salt water ----------------------------------------------------------------------------- 15. cola 16. ice water 17. stagnant water ----------------------------------------------------------------------------- 18. sewer water 19. soda water 20. tonic water ----------------------------------------------------------------------------- 21. ginger ale 22. root beer 23. cherry cola ----------------------------------------------------------------------------- 24. orange soda 25. herbal tea 26. lemon juice ----------------------------------------------------------------------------- 27. pink lemonade 28. grapefruit juice 29. orange juice ----------------------------------------------------------------------------- 30. tomato juice 31. pickle juice 32. banana juice ----------------------------------------------------------------------------- 33. watermelon juice 34. cantelope juice 35. beet juice ----------------------------------------------------------------------------- 36. kraut juice 37. cranberry juice 38. pineapple juice ----------------------------------------------------------------------------- 39. cherry juice 40. grape juice 41. apple juice ----------------------------------------------------------------------------- 42. blueberry juice 43. blackberry juice 44. raspberry juice ----------------------------------------------------------------------------- 45. kiwi juice 46. mango juice 47. apple cider ----------------------------------------------------------------------------- 48. coconut milk 49. chocolate milk 50. chocolate milkshake ----------------------------------------------------------------------------- 51. vanilla milkshake 52. strawberry milkshake 53. pink goat milk ----------------------------------------------------------------------------- 54. buttermilk 55. clabbered milk 56. cream ----------------------------------------------------------------------------- 57. vanilla extract 58. tabasco 59. melted butter ----------------------------------------------------------------------------- 60. olive oil 61. barbecue sauce 62. gravy ----------------------------------------------------------------------------- 63. beef stew 64. vegetable stew 65. broth ----------------------------------------------------------------------------- 66. borscht 67. tomato soup 68. chicken noodle soup ----------------------------------------------------------------------------- 69. beet soup 70. mushroom soup 71. clam chowdere ----------------------------------------------------------------------------- 72. strange brew 73. Riesling 74. Chenin Blanc ----------------------------------------------------------------------------- 75. Gewurtztraminer 76. Pinot Blanc 77. Gris ----------------------------------------------------------------------------- 78. Trebbiano 79. Muscat 80. Semillon ----------------------------------------------------------------------------- 81. Chardonnay 82. Cabernet Franc 83. Sangiovese ----------------------------------------------------------------------------- 84. Tempranillo 85. Syrah 86. Grenache ----------------------------------------------------------------------------- 87. Zinfandel 88. Gamay 89. Nebbiolo ----------------------------------------------------------------------------- 90. Cabernet Sauvignon 90. Pinot Noir 91. Merlot ----------------------------------------------------------------------------- 93. Meritage 94. fermentation 95. house blend ----------------------------------------------------------------------------- 96. sparkling wine 97. sherry 98. port ----------------------------------------------------------------------------- 99. mead wine 100... stout 101. cream stout ----------------------------------------------------------------------------- 102. oatmeal stout 103. porte 104. honey porter ----------------------------------------------------------------------------- 105. lager 106. honey brown lager 107. summer brew ----------------------------------------------------------------------------- 108. winter brew 109. honey wheat 110. honey brown ale ----------------------------------------------------------------------------- 111. dark and dry cider 112. brown ale 113. chocolate amber ale ----------------------------------------------------------------------------- 114. stock ale 115. stock lager 116. pub draft ----------------------------------------------------------------------------- 117. pilsner 118. nut brown ale 119. mocha stout ----------------------------------------------------------------------------- 120. amber ale 121. triple malt ale 122. wicked ale ----------------------------------------------------------------------------- 123. pale ale 124. grain alcohol 125. vodka ----------------------------------------------------------------------------- 126. gin 127. rum 128. sloe gin ----------------------------------------------------------------------------- 129. dry vermouth 130. sweet vermouth 131. tequilla ----------------------------------------------------------------------------- 132. liquer 133. bitters 134. blended scotch ----------------------------------------------------------------------------- 135. single malt scotch 136. 15 year old single malt ----------------------------------------------------------------------------- 137. 50 year old single malt 138. bourbon ----------------------------------------------------------------------------- 139. sour mash 140. straight bourbon 141. bile ----------------------------------------------------------------------------- 142. grape slushee 143. cherry slushee 144. cola slushee ----------------------------------------------------------------------------- 145. pepsi 146. mountain dew 147. blood ----------------------------------------------------------------------------- 148. saliva ----------------------------------------------------------------------------- ------------------------------ROOMS----------------------------------- First line: to start the section itself, type #ROOMS Second line: #rnum This means the same as in all the other sections. If you were assigned VNUMs 100-200 you would type: EX: #100 Third line: This is name of the room. EX: Kiri's Room~ As usual, you must put a title at the end of names. Fourth (and continuing) lines: Room description This is where you write what your room says. Make it a paragraph, but no SO long as that people get spammed out walking into your room! EX: Kiri's room is very pretty. She has flowers here and pictures of all her friends...... Fifth line (Really whatever line after you finish your text): ~ MAKE SURE YOU HAVE THIS TILDE. :) Sixth line: 0 roomflags sector This means whatever room flags you have on your room, whether its dark or underwater, etc. See the table for these.(TABLE T) The sector means what kind of land are you on, outside, desert, inside...etc. There is also a table for this, See TABLE O. EX: 0 4|8 0 This means nomob/indoors and inside. Seventh line: D (# of direction) This is ONLY for doors. If you have no exits on this room, skip this. 0 is north, 1 is east, 2 is south, 3 is west, 4 is up, and 5 is down. See TABLE M. EX: D2 Eighth line: exit descrip~ This is what people see when they look in the direction of the the door you have made. EX: South of Kiri's Room~ Ninth line: ~ Tenth line: Locks key-ONUM Connect-RNUM Locks: 0 is no door, 1 is door, 2 is a pickproof door. See TABLE N. Key onum is the onum of the key that opens this door. If you have NO door here, use -1. Connect RNUM is what room number you want this exit to lead to. If none, type 1 for the void. EX: 1 100 101 This means there is a door, with a key onum 100, that leads to room 101. Eleventh line: E word~ This is a place to put extras in your room, which pretty much is what makes rooms interesting. THIS IS OPTIONAL. EX: E flowers~ Twelfth line: Extra message This is only if you chose to do an extra. This is what you want it to say when people look at your extra word. EX: These lovely peonies and roses bloom fragrantly is a blue vase. Thirteenth line: ~ ONLY if you did the extra! Fourteenth line: S Just this alone. Fifteenth line: Next RNUM and continue, or end this section with #0. IT ALL TOGETHER: #ROOMS #100 Kiri's Room~ ~ 0 4|8 0 D2 South of Kiri's Room~ ~ 1 100 101 E flowers~ Some peonies and roses bloom here fragrantly in a blue vase. ~ S #101 etc etc... #0 ---------------------------ROOM TABLES--------------------------- TABLE M ____________________ ________________ | Directions | Used in #ROOMS | |____________________|________________| | | | NORTH 0 | | EAST 1 | | SOUTH 2 | | WEST 3 | | UP 4 | | DOWN 5 | |_____________________________________| TABLE N ____________________ ________________ | Exit Flags | Used in #ROOMS | |____________________|________________| | | | DOOR 1 | | CLOSED 2 | | LOCKED 4 | | PICKPROOF 32 | |_____________________________________| TABLE O ____________________ ________________ | Sector Types | Used in #ROOMS | |____________________|________________| | | | INSIDE 0 | | CITY 1 | | FIELD 2 | | FOREST 3 | | HILLS 4 | | MOUNTAIN 5 | | WATER-SWIM 6 | | WATER-NOSWIM 7 | | AIR 9 | | DESERT 10 | | UNDERWATER 11 | |_____________________________________| T) ROOM FLAGS ------------- _FLAG_ _BIT_ DARK 1 /* Need a light to see anything */ NO_MOB 4 INDOORS 8 NO_MAGIC_TO 16 /* No teleport or astralling in */ NO_MAGIC_FROM 32 /* No summoning anything out */ ARENA 64 ANTI_MAGIC 128 PRIVATE 512 SAFE 1024 SOLITARY 2048 PET_SHOP 4096 NO_RECALL 8192 BANK 16384 N_CURRENT 32768 /* Water(etc) currents goes north */ E_CURRENT 65536 /* For area builders, currents will */ S_CURRENT 131072 /* Have a chance of pushing a char */ W_CURRENT 262144 /* In the direction specified by */ U_CURRENT 524288 /* by this flag */ D_CURRENT 1048576 --------------------------RANDOM ROOMS-------------------------------- Suppose you wanted to create a maze-type area similar to the Shadow Grove where it is extremely difficult to navigate through it because : a) All of the rooms have the same description b) The rooms use an infinite loop (i.e. say you are in room "A", that has a west exit to room "B", and room "B" has a west exit to room "A". This would create the illusion of having an area the goes endlessly west) c) The rooms have "randomized exits", so if a PC wants to go north, there's no telling whether they will actually go north or be sent in some other direction. This section will explain step by step the best approach to making an area (or a part of an area) like this. There are two types of random mazes you can use. Two dimensional, or a three dimensional randomized area. Simply put, this means that if you want to have an area where players can only walk north, west, south or east, you want a two dimensional area, if you want players to have the capacity to walk up and down in addition to the aforementioned four directions, you are looking to make a three dimensional area. The best way to start making this type of an area is to start with a graph, which will give you the basic structure of the area. If you want to make it harder to navigate through, you can edit the graph according to your own tastes. For a two dimensional area, a graph might look like this : (Let the letters "a" through "i" represent different rooms, and - represents a two way connection between the rooms) a - b - c | | | d - e - f | | | g - h - i Now that this is done, you will want to give the area a sense of being able to move "infinitely" in one direction like was mentioned earlier. To do this, you will have to make the following links : * Link room a's north exit to room g's south exit. (To do this, follow the normal pattern of adding exits to rooms, see earlier in the builder's guide for how to do that. Be sure that these links work both ways! If you go south from "g", it should take you to "a" the same way going north from "a" will take you to "g".) * Link room b's north exit to room h's south exit. * Link room c's north exit to room i's south exit. * Link room a's west exit to room c's east exit. * Link room d's west exit to room f's east exit. * Link room g's west exit to room i's east exit. By doing that, a player can wander around infinitely in any one direction, even though we only supply nine rooms! Now, you might want to think of where a the "starting point" and "ending point" might be. In other words, you need to have a place where players can enter your maze, and where wandering in the maze long enough might take them to. To do this, you will have to take out some of the exits you added. Lets look at this in your graph : (Let * represent the "start" and % represent the "finish") % | a - b - c | | | d - e - f | | | g - h - i | * It doesn't have to look like this, but this layout will make it easier to explain. Since merc code is lazy, it doesn't want to consider the possiblity of being able to go south from "i" into "c" and at the same time to be able to go to "%" north from "c". Merc wants everything to be nice and symmetrical, so whether you like it or not, going north from "c" would take you back to "i". So, to accomodate the code [who has the final word in every MUD decision ;)], we have to get rid of some of the exits we already established. I know, I know, I should have warned you earlier, but this way, it will be easier to explain. The exits you would have to remove in a situation like this are the exit north from "a" to "g", and the one south from "i" to "c". Now, that eliminates the ability to wander around in a loop in some places, but don't despair, what we do next will make up for that loss of challenge. Once this is done, you are ready to add the thing that makes players groan, the random set for the room! Since now, we are working with a two dimensional maze, it will have a random 3 reset. This will be explained shortly. Briefly, this means that no matter what direction is typed in, the actual direction the player is taken in is randomized (pretty sneaky, huh?). With this knowledge, it is easy to see how an area like this can get pretty confusing to a player! Being able to wander around in an infinite loop (mostly) without knowing what direction you are really moving in. The random set flag will look like this for a two dimensional room. ------ This is 3 because merc views north as exit 0. So, by | putting three, it really means that the random exit | will be any exit with numbers 0 to 3. #RESETS V R 1 9900 3 ; Randomize A room ^ ^ | | ----- This number is the This is just commentary made by vnum of the room Make_Zones_Fast which I used to that you want to get the right syntax for this randomize. example. It's not neccessary to have in your area file. Now, you're all set! All that's left is to give all your rooms the randomize reset, and give them all the same description, so no players can tell which room is which. Then, give yourself a pat on the back, read on to the next section of the guide! If you want to make a three dimensional randomized area, continue on. Three dimensional randomized areas add even more confusion to a player! But, the risk of making a mistake in the building of one of these areas is magnified too. Just follow the steps to making a two dimensional area, and make the appropriate modifications which will be mentioned here, and you will be well on your way to having players curse the day that your area was accepted, because now they have yet another randomized area to deal with. For those of you who can think back as far as I can, do any of you remember accidentally walking into "The void" in the mob factory as a newbie who didn't know any better? Well, a three dimensional randomized area will provide the same effect. We can do this by starting the same way, by making a graph, except this time, we will need more than one floors. The simplest way to do this is : (Again, let "a" through "f" represent rooms, and - will be the link between them) Level Level 1 2 a----b e----f a----b |\ |\ U N | | | | | \ | \ \| | | | | c----d \ W--+--E g----h c----d \ e-\--f |\ \ | \ | S D \| \| g----h Here's just a little diagram to explain what the different slashes mean. As you can see, in this diagram, it's as if levels one and two were placed one on top of the other. "A" connects to "e", "b" connects to "f" and so on. Now, to add the "loop" effect. To do this, you have to : * Link room a's up exit to room e's down exit. (Again, these must go both ways for now. Up from "e" should take you to "a") * Link room b's up exit to room f's down exit. * Link room c's up exit to room g's down exit. * Link room d's up exit to room h's down exit. * Link room b's east exit to room a's west exit. * Link room d's east exit to room c's west exit. * Link room a's north exit to room c's south exit. * Link room b's north exit to room d's south exit. Now, to add in the starting and ending points again, we should have a graph like this : Level Level 1 2 % % | | a----b e----f a----b |\ |\ | | | | | \ | \ | | | | c----d \ g----h c----d \ e-\--f | \ | \ | * \| \| g----h | * Now that this is done, we have to eliminate some of the exits we already created to allow for this to happen. The exits that need to go are : * North from "e" to "g" * South from "d" to "b" Finally, we need to declare rooms a through h random rooms in the #resets section. This is done almost the same way as we did for a two-dimensional area, except where we put a three, we now need to put a five. Why? Because since all the exits are viewed as numbers from 0 to 5, by putting a five there, we are telling the code to substitute any exit value from zero to five in place of what the player wants. The reset would look like this : #RESETS R 1 9900 5 ; Randomize A room <-- (Again, this is just ^ commentary) | ------ The vnum of the room to be randomized Be sure to have one of these resets for *every* room that you want to be randomized. All that's left is to add the room descs and that's it! If you want a more challenging maze, just be sure that all of the exits lead somewhere, the appropriate exits are eliminated (because as was said, Merc is very lazy and likes everything to be symmetrical) and each room has a randomized reset! Then, the only limit is your imagination, and how big an area Kiri and Oakley will accept (I mean really, who would want a 20 room X 20 room X 20 room randomized area anyway). :) ----------------------------RESETS------------------------------------ Resets are best explained by the graph below, so I will show that first and then how to write them. Make sure you start this sections first line with this: EX: #RESETS TABLE P #RESETS M |0|mnum..........|how many in|rnum.............|comment )| | | |whole mud | | | O |0|onum..........|0..........|rnum.............|comment )| | | | | | | P |0|contents onum |0..........|container onum...|comment )| | | | | | | G |0|onum..........|0..........|.................|comment )| | | | | Table Q | | E |0|onum..........|0..........|wear loc. |comment )| | | |Table R |Table S | | D |0|rnum..........|direction |door state ......|comment )| | | | | | | R |0|rnum..........|total_exits|.................|comment )| | | | | | | EX1(for mobs): M 0 100 1 100 ;loads Kiri to Kiri's room. NOTE: How many is how many of these mobs can be on the mud at one time. EX2(for objects): O 0 100 1 100 ;loads gold ring to Kiri's room. EX3(for contents of objects: P 0 103 0 104 ;Iced tea to Kiri's cup. EX4(For objects in mobile inventory): G 0 100 0 ;loads ring to kiri's inventory. NOTE: This "G" reset must follow the reset of the mob who you intend to have hold these objects. (the "M" reset of that mob). EX5(For equipment loaded onto mobs): E 0 100 0 1 ;ring onto kiri's left finger. NOTE: This "E" reset MUST follow the "M" reset of the mob you want the eq to load up on! EX6(For doors): D 0 100 2 1 ;loads Kiri's door south closed. EX7(For Random exits): R 0 101 2 ;randomizes exits for South of Kiri's room. NOTE: this is only for randomized exits. Total exits is how many exits the room has. * You can use this (AND IT IS STRONGLY RECOMMENDED) to Separate resets from each other. EX: O (reset) O (reset) O (reset) * D (reset) etc. You do NOT have to put an asterisk between EVERY reset, just where you think it would make it easier and clearer to read. MAKE SURE You put this at the end of your Resets section: EX: S ----------------------------RESET TABLES--------------------------- TABLE Q ___________________ _________________ | Equipment Wear | Used in #RESETS | |___________________|_________________| | | | NONE -1 | | LIGHT 0 | | FINGER_L 1 | | FINGER_R 2 | | NECK_1 3 | | NECK_2 4 | | BODY 5 | | HEAD 6 | | LEGS 7 | | FEET 8 | | HANDS 9 | | ARMS 10 | | SHIELD 11 | | ABOUT 12 | | WAIST 13 | | WRIST_L 14 | | WRIST_R 15 | | WIELD 16 | | HOLD 17 | | WEAR 18 | |_____________________________________| TABLE R: TABLE S: U(4) N(0) NORTH = 0 ^ / UNLOCKED = 0 SOUTH = 1 | / CLOSED = 1 EAST = 2 W(3)<----|---->E(2) LOCKED = 2 WEST = 3 / | UP = 4 / | DOWN = 5 S(1) D(5) Compass --------------------------SHOPS------------------------------------- First line: #SHOPS Second line: MNUM(of the shopkeeper) type0 type1 type2 type3 type4 %sells %buys houropen hourclose This line contains the types of items bought and sold. See TABLE F for these types. %sells means How much does the shopkeeper mark up what he/she/it sells. 100 is no profit, so it doesn't mark it up. %buys is how much the shopkeeper will pay for something. %100 is full price. Houropen goes from hours 0 - 23, on a 24 hour clock. Same as Hourclose. EX: 100 2 3 4 10 13 100 100 0 20 ;Kiri's magic shop This means Kiri will sell Scrolls, potions, staves, trash and wands. She buys at full price and doesn't mark up anything. She opens at 12 am and closes at 8 pm. IF you do not use all of the types, you must put zeros in to hold their place. For instance- EX2: 100 2 3 0 0 0 100 100 0 20 ;Kiri's magic shop This means Kiri will sell JUST Scrolls and wands. Line 3: Here you can write another reset OR you can end the section by typing zero alone. EX: 0 IMPORTANT NOTE: For pet shops, you MUST make a pet storage room that is the RNUM AFTER the RNUM of your petshop. This is a NO-EXIT room where the mobs that will be your pets will load up. Make sure you set your mobs to repop in this room and that it is the RNUM after your pet shop, or your pet shop WILL NOT work. -----------------------------SPECIALS------------------------------ Line 1: #SPECIALS Line 2: M MNUM spec ;comment Here is where you tell Merc to give your mob a special "extra". (TABLE U) EX: M 100 spec_align_change (TABLE T) This means that Kiri will change the player's align during fights. This must be written from Table T with the word spec before it and with _ between the words, such as spec_breath_any or spec_breath_acid. Line 3: #$ This ends the area file! --------------------------SPECIALS TABLE------------------------------ TABLE T: Specs align change | Can change PC's align in battle breath any | Casts: all breath spells breath acid | Casts: acid breath breath fire | Casts: fire breath breath frost | Casts: frost breath breath gas | Casts: gas breath breath lightning | Casts: lightning breath cast adept | Casts: armor, bless, cure blindness, cure poison, cure light, and refresh cast cleric | Casts: blindness, cause serious, earthquake, cause critical, dispel evil, curse, change sex, flamestrike, harm, dispel magic cast judge | Casts: high explosive cast mage | Casts: blindness, chill touch, weaken, teleport, color spray, change sex, energy drain, fireball, acid blast cast undead | Casts: curse, weaken, chill touch, blindness, poison, energy drain, harm, teleport, gate executioner | Pushes KILLER/THIEF out of the room, sucks up blood fido | Eats corpses guard | Attacks KILLER/THIEF, protects the innocent janitor | Picks up trash, mobs up blood trails poison | Poisonous bite thief | Robs PC's gold NOTE: make sure you write things in this format: spec_thief or spec_breath_frost DIKUMUD LICENSE: --------------- Copyright (C) 1990, 1991 All Rights Reserved *************** DikuMud License *************** ----------------------------- Program & Concept created by ----------------------------- ========================================= | Sebastian Hammer | | Prss. Maries Alle 15, 1 | | 1908 Frb. C. | | DENMARK | | (email quinn@freja.diku.dk) | ========================================= ========================================= | Michael Seifert | | Nr. Soeg. 37C, 1, doer 3 | | 1370 Copenhagen K. | | DENMARK | | (email seifert@freja.diku.dk) | ========================================= ========================================= | Hans Henrik St}rfeldt | | Langs} 19 | | 3500 V{rl|se | | DENMARK | | email bombman@freja.diku.dk | ========================================= ========================================= | Tom Madsen | | R|de Mellemvej 94B, 64 | | 2300 Copenhagen S. | | DENMARK | | (email noop@freja.diku.dk) | ========================================= ========================================= | Katja Nyboe | | Kildeg}rdsvej 2 | | 2900 Hellerup | | 31 62 82 84 | | DENMARK | | (email katz@freja.diku.dk) | ========================================= This document contains the rules by which you can use, alter or publish parts of DikuMud. DikuMud has been created by the above five listed persons in their spare time, at DIKU (Computer Science Institute at Copenhagen University). You are legally bound to follow the rules described in this document. ============== * Rules: * ============== ******************************************************************* !! DikuMud is NOT Public Domain, shareware, careware or the like !! ******************************************************************* You may under no circumstances make profit on *ANY* part of DikuMud in any possible way. You may under no circumstances charge money for distributing any part of DikuMud - this includes the usual $5 charge for "sending the disk" or "just for the disk" etc. By breaking these rules you violate the agreement between us and the University, and hence will be sued. You may not remove any copyright notices from any of the documents or sources given to you. This license must *always* be included "as is" if you copy or give away any part of DikuMud (which is to be done as described in this document). If you publish *any* part of DikuMud, we as creators must appear in the article, and the article must be clearly copyrighted subject to this license. Before publishing you must first send us a message, by snail-mail or e-mail, and inform us what, where and when you are publishing (remember to include your address, name etc.) If you wish to setup a version of DikuMud on any computer system, you must send us a message , by snail-mail or e-mail, and inform us where and when you are running the game. (remember to include your address, name etc.) Any running version of DikuMud must include our names in the login sequence. Furthermore the "credits" command shall always contain our name, addresses, and a notice which states we have created DikuMud. You are allowed to alter DikuMud, source and documentation as long as you do not violate any of the above stated rules. Regards, The DikuMud Group ------- Note: ------- ************************************************************************* We hope you will enjoy DikuMud, and encourage you to send us any reports on bugs (when you find 'it'). Remember that we are all using our spare time to write and improve DikuMud, bugs, etc. - and changes will take their time. We have so far put extremely many programming hours into this project. If you make any major improvements on DikuMud we would be happy to hear from you. As you will naturally honor the above rules, you will receive new updates and improvements made to the game. ************************************************************************* Subscribe to the barren realms newsletter by emailing contacting Kiri. For the builders forum, email barren@chaos.coredcs.com. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* | Barren Realms: barren.coredcs.com 8000 | *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*