P I X I E O L C G U I D E  · Web...

65
Level HP/Mana Damage AC Exotic | Level HP/Mana Damage AC Exotic -----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054 5d10+22 -18 -40 2 2d2+12 1d3+1 9 95 | 57 6d81+1095 5d11+22 -18 -43 3 2d4+16 1d3+2 9 93 | 58 17d28+1136 5d11+23 -19 -45 4 2d6+21 1d4+2 8 90 | 59 18d27+1178 5d11+23 -19 -47 5 3d5+26 2d3+2 8 87 | 60 8d65+1221 5d11+24 -20 -50 | 6 4d5+35 2d3+3 7 85 | 61 9d59+1266 5d11+24 -20 -53 7 5d5+43 2d4+3 7 83 | 62 20d26+1313 5d12+25 -21 -55 8 5d6+51 2d4+4 6 80 | 63 13d42+1361 5d12+25 -21 -57 9 2d21+59 2d4+4 6 77 | 64 22d24+1418 5d12+25 -22 -60 10 5d8+67 2d5+4 5 75 | 65 23d24+1463 5d12+26 -22 -63 | 11 4d12+75 3d3+4 5 73 | 66 18d32+1516 5d12+26 -23 -65 12 7d7+82 3d4+5 4 70 | 67 24d24+1572 5d13+26 -23 -67 13 6d9+91 3d4+5 4 67 | 68 11d56+1629 5d13+27 -24 -70 14 6d10+99 3d4+5 3 65 | 69 22d27+1696 5d13+27 -24 -73 15 6d11+107 3d4+6 3 63 | 70 23d27+1752 5d13+28 -25 -75 | 16 7d10+116 3d4+7 2 60 | 71 20d32+1817 5d13+28 -25 -77 17 7d11+125 4d4+7 2 57 | 72 24d27+1884 5d13+29 -26 -80 18 8d10+135 4d4+7 1 55 | 73 10d69+1956 5d14+29 -26 -83 19 6d15+146 4d4+8 1 53 | 74 22d31+2029 5d14+30 -27 -85 20 9d10+157 4d4+8 0 50 | 75 14d51+2107 5d14+30 -27 -87 | 21 9d11+168 4d4+8 0 47 | 76 23d31+2188 5d14+30 -28 -90 22 3d39+181 4d5+9 -1 45 | 77 21d35+2272 5d14+31 -28 -93 23 10d11+194 4d5+9 -1 43 | 78 15d51+2361 5d15+31 -29 -95 24 6d21+208 4d5+10 -2 40 | 79 14d56+2454 5d15+31 -29 -97 25 7d19+223 4d5+10 -2 37 | 80 10d81+2552 5d15+32 -30 -100 | 26 6d24+238 4d5+10 -3 45 | 81 16d51+2654 5d15+32 -30 -103 27 11d13+254 4d5+10 -3 33 | 82 28d29+2762 5d15+33 -31 -105 28 7d23+271 4d6+11 -4 30 | 83 24d35+2874 5d16+33 -31 -107 29 7d24+289 4d6+11 -4 27 | 84 26d33+2992 5d16+33 -32 -110 30 12d14+307 5d5+12 -5 25 | 85 19d47+3117 5d16+34 -32 -113 | 31 7d27+327 5d5+12 -5 23 | 86 28d32+3247 5d16+34 -33 -115 32 4d51+347 5d5+16 -6 20 | 87 25d37+3384 5d17+34 -33 -117 33 14d14+367 5d5+16 -6 17 | 88 27d35+3527 5d17+35 -34 -120 34 13d16+389 5d6+17 -7 15 | 89 14d71+3678 5d17+35 -34 -123 35 7d33+411 5d6+17 -7 13 | 90 31d31+3848 5d17+36 -35 -127 | 36 8d30+434 5d6+18 -8 10 | 91 17d61+4003 5d17+36 -35 -130 37 14d17+458 5d6+18 -8 7 | 92 21d49+4190 5d17+37 -36 -133 38 9d29+482 5d7+19 -9 5 | 93 32d33+4361 5d18+37 -36 -135 39 16d16+508 5d7+19 -9 3 | 94 14d80+4553 5d18+37 -37 -137 40 15d18+534 5d7+16 -10 0 | 95 28d39+4767 5d18+38 -37 -140 | 41 13d22+561 5d7+16 -10 -3 | 96 25d45+4979 5d18+38 -38 -143 42 7d44+589 5d7+17 -11 -5 | 97 15d80+5187 5d19+39 -38 -145 43 14d21+623 5d7+17 -11 -7 | 98 30d39+5433 5d19+39 -39 -147 44 17d17+658 5d8+17 -12 -10 | 99 33d37+5662 5d19+39 -39 -150 45 5d65+687 5d8+18 -12 -13 | 100 18d71+5917 5d19+40 -40 -153 | 46 10d35+705 5d8+18 -13 -15 | 101 22d59+6184 5d20+40 -40 -155 47 10d36+737 5d9+19 -13 -17 | 102 28d47+6463 5d20+41 -41 -157

Transcript of P I X I E O L C G U I D E  · Web...

Page 1: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Level HP/Mana Damage AC Exotic | Level HP/Mana Damage AC Exotic-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054 5d10+22 -18 -40 2 2d2+12 1d3+1 9 95 | 57 6d81+1095 5d11+22 -18 -43 3 2d4+16 1d3+2 9 93 | 58 17d28+1136 5d11+23 -19 -45 4 2d6+21 1d4+2 8 90 | 59 18d27+1178 5d11+23 -19 -47 5 3d5+26 2d3+2 8 87 | 60 8d65+1221 5d11+24 -20 -50 | 6 4d5+35 2d3+3 7 85 | 61 9d59+1266 5d11+24 -20 -53 7 5d5+43 2d4+3 7 83 | 62 20d26+1313 5d12+25 -21 -55 8 5d6+51 2d4+4 6 80 | 63 13d42+1361 5d12+25 -21 -57 9 2d21+59 2d4+4 6 77 | 64 22d24+1418 5d12+25 -22 -6010 5d8+67 2d5+4 5 75 | 65 23d24+1463 5d12+26 -22 -63 |11 4d12+75 3d3+4 5 73 | 66 18d32+1516 5d12+26 -23 -6512 7d7+82 3d4+5 4 70 | 67 24d24+1572 5d13+26 -23 -6713 6d9+91 3d4+5 4 67 | 68 11d56+1629 5d13+27 -24 -7014 6d10+99 3d4+5 3 65 | 69 22d27+1696 5d13+27 -24 -7315 6d11+107 3d4+6 3 63 | 70 23d27+1752 5d13+28 -25 -75 | 16 7d10+116 3d4+7 2 60 | 71 20d32+1817 5d13+28 -25 -7717 7d11+125 4d4+7 2 57 | 72 24d27+1884 5d13+29 -26 -8018 8d10+135 4d4+7 1 55 | 73 10d69+1956 5d14+29 -26 -8319 6d15+146 4d4+8 1 53 | 74 22d31+2029 5d14+30 -27 -8520 9d10+157 4d4+8 0 50 | 75 14d51+2107 5d14+30 -27 -87 |21 9d11+168 4d4+8 0 47 | 76 23d31+2188 5d14+30 -28 -9022 3d39+181 4d5+9 -1 45 | 77 21d35+2272 5d14+31 -28 -9323 10d11+194 4d5+9 -1 43 | 78 15d51+2361 5d15+31 -29 -9524 6d21+208 4d5+10 -2 40 | 79 14d56+2454 5d15+31 -29 -9725 7d19+223 4d5+10 -2 37 | 80 10d81+2552 5d15+32 -30 -100 |26 6d24+238 4d5+10 -3 45 | 81 16d51+2654 5d15+32 -30 -10327 11d13+254 4d5+10 -3 33 | 82 28d29+2762 5d15+33 -31 -10528 7d23+271 4d6+11 -4 30 | 83 24d35+2874 5d16+33 -31 -10729 7d24+289 4d6+11 -4 27 | 84 26d33+2992 5d16+33 -32 -11030 12d14+307 5d5+12 -5 25 | 85 19d47+3117 5d16+34 -32 -113 |31 7d27+327 5d5+12 -5 23 | 86 28d32+3247 5d16+34 -33 -11532 4d51+347 5d5+16 -6 20 | 87 25d37+3384 5d17+34 -33 -11733 14d14+367 5d5+16 -6 17 | 88 27d35+3527 5d17+35 -34 -12034 13d16+389 5d6+17 -7 15 | 89 14d71+3678 5d17+35 -34 -12335 7d33+411 5d6+17 -7 13 | 90 31d31+3848 5d17+36 -35 -127 |36 8d30+434 5d6+18 -8 10 | 91 17d61+4003 5d17+36 -35 -13037 14d17+458 5d6+18 -8 7 | 92 21d49+4190 5d17+37 -36 -13338 9d29+482 5d7+19 -9 5 | 93 32d33+4361 5d18+37 -36 -13539 16d16+508 5d7+19 -9 3 | 94 14d80+4553 5d18+37 -37 -13740 15d18+534 5d7+16 -10 0 | 95 28d39+4767 5d18+38 -37 -140 |41 13d22+561 5d7+16 -10 -3 | 96 25d45+4979 5d18+38 -38 -14342 7d44+589 5d7+17 -11 -5 | 97 15d80+5187 5d19+39 -38 -14543 14d21+623 5d7+17 -11 -7 | 98 30d39+5433 5d19+39 -39 -14744 17d17+658 5d8+17 -12 -10 | 99 33d37+5662 5d19+39 -39 -15045 5d65+687 5d8+18 -12 -13 | 100 18d71+5917 5d19+40 -40 -153 |46 10d35+705 5d8+18 -13 -15 | 101 22d59+6184 5d20+40 -40 -15547 10d36+737 5d9+19 -13 -17 | 102 28d47+6463 5d20+41 -41 -15748 14d26+769 5d9+19 -14 -20 | 103 35d38+6755 5d20+41 -41 -16049 15d25+802 5d9+19 -14 -23 | 104 27d51+7060 5d20+42 -42 -16350 16d24+835 5d9+20 -15 -25 | 105 27d52+7380 5d21+42 -42 -165 |51 13d31+869 5d9+20 -15 -27 | 106 31d46+7713 5d21+42 -43 -16752 11d38+904 5d10+21 -16 -30 | 107 37d39+8061 5d21+43 -43 -17053 20d20+946 5d10+21 -16 -33 | 108 15d101+8425 5d21+43 -44 -17354 16d27+977 5d10+21 -17 -35 | 109 13d119+8804 5d22+43 -44 -17555 17d26+1015 5d10+22 -17 -37 | 110 39d39+9201 5d23+44 -45 -177-----------------------------------------+----------------------------------------------

Thief mobiles should read their hp and ac at one level lower, and damage at two lower

Page 2: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Mage mobiles read hp and ac at one level lower, and damage six levels lowerCleric mobiles read damage at three levels lowerWarrior mobiles read hit points one level higher

P I X I E O L C G U I D E

v1.1

W A T E R D E E PIntroduction

Welcome to the Pixie OLC guide! ;) From the start you should know exactly what this manual deals with so you don’t waste your time. First off, This manual will probably only apply to ROM or ROT. The manual was made generally for ROT muds but hey, this has some pretty valuable info for either. The Steps included are for both apprentice and advanced builders alike. What I have compiled in this manual are the steps on how to create Rooms, Objects, and Mobs, along with explaining all the commands used for each one. Now, for the people who already know that stuff, inside this manual are also statistics for just about everything. This includes: - suggested mob AC, damage, loot money, HP, etc. - suggested object values along with weapon stats and Armor values. - Some other commands and hints you might not have known

Anyway, that’s about it. The goal of this manual was to take information from all around and compile it into one manual. As a RoT builder, I found myself looking in dozens of places and printing out many different copies from places all over the web for information on RoT/ROM OLC. The problem was, it was all scattered, or in some cases, too specific for only one particular MUD. This can be confusing for the apprentice and advanced builder at times. So, hopefully this makes OLC easier. Enjoy! NOTE: Along with this manual I have included a Quick Reference Sheet for suggested values for mobs, objects, etc, etc, bla bla.

Hope that helps too! Happy building!

Credits

To protect my buns, and to give all those wonderful people who dedicated their time to explaining how to build areas, I have crammed this section in ;) Note that I do NOT claim all the text in this document as my own. Somethings were just so perfectly stated that I left them as is. Other things just needed a simple phrase for explanation that there was no other way to say it anyhow! Regardless, I did not write this document for fame, merely for the everyone to use and learn from so please be kind and don’t ruin something like this by trying to press legal matters on it :)

- Many thanks to DizzyMUD! Their Website is A W S O M E! As a learning builder, I got a lot of info from their website and have used what I learned there to help compile this document. Check them out at http!

- A lot of the statistic information and explanations of flags were taken by the RotArea.doc found in stock Rot MUD. So here I basically cut an paste what held true for this document as well.

“This file contains material and information from the Merc release 2.1 area help files (done by Furey, Hatchet, and Kahn), material from the merc Diku Mud code itself, as well as coding material that was adapted and modified by Alander for ROM1 and ROM2, and later by Madman for MadROM. It also contains information from Alander written for ROM 2.3 and ROM2.4x, from Zump for Rom 2.4x, and information from ozy.doc (in RoT /Rot/doc) by Ozymandias. It was compiled and rewritten by Satin for Tesseract (hypercube.org 9000), and then adapted by her to Rom 2.4x.”

and now for RoT 1.4 & 1.5!

Getting Started

Everyone has their own way of building, and I urge you to develop one that suits you as well. Just as a reference though, I will explain a couple ways that I have noticed many builders take to heart.

Page 3: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Almost every builder that *I* know of builds their skeletal structure first. What I mean by this is that they make the basic layout of rooms FIRST. No descriptions, no mobs, no objects. Just lots of rooms linked together in the way they have it designed. Ok, now let’s take this one step back. Before you go and build that skeletal structure it would be _wise_ to take out a sheet of graph paper apnd plot out the actual design of the area first. I’ve seen builders try make areas without planning it out first. It’s been a disater. I’ve yet to see an area built without planning look better than one that was planned.

Ok, next, after you’ve gotten your skeletal structure down, you have a couple options. Some go back and do the descriptions of all the rooms next. Some go around and do Mobs, and others go placing objects around. In my opinion, Mob placement and Room descriptions are fine to do first, but object placement usually needs a mobile first. Do as you wish of course. These are just suggestions.

If you decide to do descriptions first, again I stress that planning is the key. Some people just go all out and write the room descriptions on a whim. This is perfectly fine! However, sometimes descriptions come out choppy in this manner or don’t flow right, or totally lack life. Descriptions_ARE_Important! Never never let someone tell you otherwise! So, I suggest you try both. Of course, planning out descriptions and writing them on paper first takes more time, and yes it means you do more work. In the long run, I’m sure you won’t regret it.

Once descriptions are done you can give yourself a pat on the back! You have just done a major portion of you area! I myself have found that having descriptions done first makes mob and object generation a WHOLE lot easier. The reason for this is simple. You area now has a feel to it. It is alive with your wonderfully vivid and imaginative descriptions you spent Soooo much time on (I hope). From here I would think the rest is easily figured out. The rest of this document will help you with the rest. I hope that this section has given you a boost to Get Started! Sometimes building areas can be overwhelming. Just take a break if this happens and enjoy!

== A Few Words From The Author ==

Of course, as always, the values and charts presented in this manual may not be something you agree with. Feel-free-to-modify-them! Make your MUD unique. I will admit, the values displayed for AC, damage, and addaffects were generated, but not fully tested for fair roleplay. This is not hard to do on your own! It just takes time on your part to play a little with a small group of people, and see how easy/hard it is when you change things. Anywho, I included two sets of Weapon Damage charts for PC’s. The second one does more damamge, hence making it easier. Also, I compiled an addaffect point system (my own) that has not been tested thoroughly. It looks promising though, again, don’t be afraid to change it as long the intention is balance! On that note too, a lot of the values follow a ROM system (ick!). ROM stats are good, but they originally followed a 50 level mortal system.

Speaking about conversions, you should know a bit of history. A LOT of ROT code is from ROM. This is what causes a lot of problems in my mind. Remember, ROM was made and coded for 50 levels...and hence, so was the code for combat. Thac0 values (see the chapter on doodads), were made to suit 50 levels, not 101. AC values for mobs as well were made to suit mobs at no higher than level 60 (since there were only 50 mortal levels). In this case, the AC is signifigant up to level 50-60 or so, but after that, the AC does not change very rapidly. After about an ARMOR value of -200(level 60 mob or so, -20 AC), the progression is slow for AC. Actually, it really slows down after –150 Armor, or –15 AC, but when you read the dooodads section it should be a bit clearer. Anywho, this AC problem makes the game easier, because while AC is not changing much at higher levels, the Hit/Dam of the PC’s fluctuate rapidly due to stock Equipment, and the MUDs ways of determining Thac0s. It can be quite a mess.

If this seems confusing to you, skip it til you read the doodads section! Hehe, it probably is quite overwhelming for someone who doesn’t understand. All I can say is read the manual first, then come read this again if I’m not making sense :)

Enjoy!

Page 4: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

== AEDIT or AREA EDIT ==

This is the first step to making an area. Before you can do anything, you need to define yourself a range of virtual numbers (vnums) to use.

Now, to start a new area you need to see what numbers are available. Do this by typing ‘alist’ which will give you a list of all the areas. An alist will look like this:

[Num] [Area Name ] (lvnum-uvnum)[Filename ] Sec [Builders][ 0] Limbo (1 - 99) limbo.are [9] [None ][ 1] MoogleTown (100 - 199) moogle.are [9] [Mielikki][ 2] Plains (300 - 399) plains.are [9] [None ][ 3] New Ofcol (600 - 699) ofcol2.are [9] [None ][ 4] Olympus (900 - 999) olympus.are [9] [None ][ 5] In the Air (1000 - 1099) air.are [7] [None ]

So to make a new area you need to type:

Aedit create 6

What this will do is create an area AFTER the area called “In the Air”. Once that is done, type SHOW or hit Enter to see the statistics of the area you just created. You will see the following:

Name: [ 6] New areaRecall: [ 0] noneRealm: [None]File: area0.areVnums: [0-0]Age: [0]Players: [0]Security: [1]Builders: [None]Credits : [(null)]Flags: [added]

This is an example area:

Name: [ 79] Elemental ShrineRecall: [ 3001] Temple Of LifeRealm: FRFile: elemshri.areVnums: [24000-24250]Age: [1]Players: [1]Security: [7]Builders: [Mielikki]Credits : [<10 99> Miel Elemental Shrine]Flags: [none]

1) NAME Syntax: Name (Name) Example: Name The Dungeon of Drugath

This is purely for the builder’s use as a ‘tag’ for each area so you know what is what :) It will show up in the alist under ‘Name’.

2) FILE Syntax: File (filename) Example: File drugath

This also is purely for the builder’s use. This is the filename that gets Saved to the MUD when you save your area. ALWAYS save your area! If you forget to do this, you might lose everything you created since the last save! (We will talk about how to save in a bit)

3) VNUMS Syntax: vnum (lowervnum uppervnum) Example: vnum 300 399

Page 5: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Also known as virtual numbers. This is your range of numbers to use for Rooms, Mobs, and Objects. For example, if you range was [300-399], that means that you can make 99 rooms 99 mobs and 99 objects in your area. They MUST range between the numbers of 300 thru 399. For example, if I wanted to make an object in this area, its vnum could be 310, or 345 , or ANYthing from 300-399 , nothing more, nothing less!

4) RECALL Syntax: recall (vnum) Example: recall 3001

This is a special field for Waterdeep to suit our regional recalling. Whatever vnum you put in this slot, will be the room a person recalls to when typing the ‘recall’ command.

5) REALM Syntax: realm (FF or FR) Example: realm FF

This is another special field for Waterdeep too. It will be used by the code in the future to separate FF(Final Fantasy) from FR(Forgotten Realms). You MUST specify your area as FF or FR. FR areas are ONLY areas that follow the Forgotten realms world, if it doesn’t consider your area FF.

6) AGE Syntax: Age (number) Example: Age 1

This value has no meaning for ROT OLC. The explanation for Age is in the beginning of the Resets section. Check that out to grasp what Age does.

7) PLAYER Syntax: Player (number) Example: Player 1

Same as Age, no meaning for ROT OLC. Leave it as 1 and check out the RESETS section.

8) SECURITY and BUILDER | | | --------------> Syntax: Builder (name) Syntax: Security (number) Example: Builder Mielikki Example: Security 5

This is a security measure for limiting OLC access to areas which is quite useful. Each player Mortal and Immortal have a stat called security which you can only see if you stat them. By default, this value is 0 for everyone, and by default, each area already generated has a security of 9. By setting Immortals securtiy to higher values from 1-9 you can give them access to certain areas, but restrict them from others. 1 is the lowest OLC useable access, while 9 is the highest. So for example. If I made an area and set it’s security to 5, only people with a security of 5 or ABOVE may edit that area. There is only one exception to that though. The next stat on the Area file above is BUILDER. Anyone stuck into those parenthesis has access to editing that particular area REGARDLESS of the security level. This at first seems silly but its very useful if you want to keep other builders messing with each others areas. For example, I could set all the area securities to 9 and then make all my builders have a security of 2. Then for every area that a builder is creating, I stick their name in the BUILDER section. From that point on, only people with a security of 9 (usually the Head Builder and owners), and the person in the BUILDER section may edit that area.

9) CREDITS Syntax: Credit (Level Range) (Builder name) (Area name) Example: Credit <10 99> Miel Elemental Shrine

This is what is shown when a mortal or immortal type “AREA” to see the areas that are available in the MUD. Try to keep all the areas formatted and neat so it looks presentable :)

10) FLAGS From what I can see, this is just a field to let the builder know whats been done to the area. For example, if an area is untouched, the FLAG section will say --> Flags: [none]If the area has been edited it will say --> Flags: [changed]

SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! Hello! Hehe, I hope that got your attention. Remember to Save Often! The comand to save is called Asave. Asave can be used is a few ways:

Syntax: asave <vnum> - saves a particular area asave list - saves the area.lst file

Page 6: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

asave area - saves the area being edited asave changed - saves all changed zones asave helps - saves the help file asave world - saves the world! (db dump)

The most commonly used asave (and most practical) is asave changed. Upon using asave changed you will save all areas that have been changed within your security to do so. This helps cover other builders who sometimes forget to asave their areas ;) Oh, one special note about “ASAVE WORLD”. It has come to my attention that this isnt the greatest command to use. Why? I have no clue. One MUD admin says he uses it when linking two areas..another changed the syntax to asave world - DO NOT USE THIS COMMAND! So just to be on the safe side, Don’t use it unless you know what you are doing :)

Now you are ready to start using your area!

== REDIT or ROOM EDIT ==

There is only one way to start editing your area and to get into it. You cannot ‘goto’ it yet because it’s not really there! You still have to Create those rooms. To get to your First room, type: Redit create (vnum) Example: Redit create 300

Now you will automatically be transferred to room 300. You are in your area! Type ‘Show’ to see the stats of a room and continue reading.

1) SHOW Syntax: show ALSO: [return] (hitting return is an alias for typing show)

This command will show you the room statistics that you have been working on. Here is an example of what “show” or hitting enter will show you.

Description:The path ends here in a small clearing with a small shallow pool of crystal clear water. You feel strangely at ease here.Name: [End of the Path]Area: [ 108] MirkwoodVnum: [ 8818]Sector: [forest]Room flags: [none]Health recovery: [100]Mana recovery: [100]Clan: [0] noneOwner: []Characters: [mielikki]Objects: [pool]-east to [21020] Key: [21020] Exit flags: [door closed locked pickproof nopass]-west to [ 8817] Key: [ -1] Exit flags: [none]

Now we will go through the list and explain each statistic.

2) NAME: Syntax: name [name of room] Example: name The Frisky Pixie Tavern

This is pretty self-explanatory. The ‘Name’ is what you see at the top of each room. On this MUD, it is bright blue, on other MUDs it may be a different color. This is NOT your description for the room, so please keep it short. Sometimes a long title is in call. Generally, please keep your name titles small.

3) DESC Syntax: desc

This command will throw you into the description editor of the room. Note that you can not do anything other than the Description when in this mode. From here you will see the following editor.

-=======- Entering APPEND Mode -========- Type .h on a new line for help Terminate with a ~ or @ on a blank line.-=======================================-

>

Page 7: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

The > is the beginning of your prompt. Simply type out your room description...make sure its at least 4 lines long...(Travelling roads and hallways, and passages can be a bit shorter). Also, we do require that you put some depth in your areas. Using one description for many rooms OVER and OVER again is very sloppy, and unprofessional, and quite boring. Make each of your descriptions alive and with depth. Also try to avoid talking to the player in your descriptions…”You look around and see blood everywhere! You shiver at the sight of seeing cold blood and rotting flesh everywhere” – How do you know the player will react this way? I hope you see my point. Oh and a hint...Don’t write a long desc all at once, the editor cant handle it. Do about two lines at a time, hit enter, then continue on at the new ‘>’ prompt. When you finish your description, use the .f command to format the desc into a nice paragraph. When you’re done hit the ~ or @ on a line of its own – this will exit you out of the Desc mode. Here is the .h help file within the editor.

Sedit help (commands on blank line):.r 'old' 'new' - replace a substring (requires '', "").h - get help (this info).s - show string so far.f - (word wrap) string.c - clear string so far@ - end string

NOTE: The above line of help only works from insider the desc editor. Also you may notice, depending on your editor that when you try one of these Sedit commands, they don’t work. If this is the case, you need to turn off Parsing. This is probably somewhere in your Settings on your client. I suggest you keep parsing on though when not editing Descriptions.

4) AREA: You can not edit the area name here; this is done through a different command called Aedit. It is placed here for your convenience so you know what area you are in.

5) VNUM: This is the Vnum of the room that you are currently working on. This cannot be changed. It is just a label for room so you can link rooms together, ‘goto’ them, and keep track of where everything is on the whole mud. NEVER ever go out of your vnum range or use vnums that are not assigned to your area.

6) SECTOR: Syntax: (flag) Example: city

Most people never worry about the sector. But it is a very important piece of information. Naming a sector affects the movement it takes through there, and sometimes affects the area as a whole. Ex: noswim needs a boat, deserts make you thirsty, etc. Also, Sectors are used for online map making utilities where they label what type of area it is geographically. So please, use the sectors. Yes, that’s an Order :P To see a list of available sectors type ? sector. This will give you a list of all possible sector flags. To set this also just type the name of the sector you want at the prompt. Here is a current list of sector types and how many movement points it uses. Each should be self-explanatory.

Sector Move points Misc Info-------- ----------- ---------inside 1 Room is always lit(even at night) unless flagged ‘dark’city 2 Room is always lit(even at night) unless flagged ‘dark’field 2forest 3hills 4mountain 6swi 4 Swimmable (Not Implemented Yet)noswim - Boat requiredair - Fly spell requireddesert 9 Affects thirst and recovery.Garden - <Cavern - <Jungle - <Dungeon - < All these sectors to the side are currently justTemple - < sector flags for mappping, they will however, Guild - < affect movement rates in the future. Please useSwamp - < Them! (NOTE: these are not on stock ROT mud)Inn - <Road - <Shop - <

7) ROOM FLAGS Syntax: (the flag) Example: dark

Page 8: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Room flags are VERY important in making an area. All of them have special affects on the area. A special one to note is INDOORS. This room flag will prevent weather from entering the room…the sun, the rain…etc. NOTE: the sector flag inside does NOT set this option, the Room flag Indoors does. So please, if the room is inside, flag it indoors. To see a list of room flags type ‘? Room’

Here is a list of the room flags, and what they do, for your convenience:

Dark A light source must be carried to see in this room if it’s night time or inside.No_mob Monsters cannot enter this room, pets and charmies can though.Indoors Room is inside (i.e. not affected by weather)Private Room is limited to two charactersSafe Safe from pkilling and aggressive mobsSolitary One character only can enter this roomPet_shop This is for the builder, see Pet Shops to understand itNo_Recall Players cannot use ‘recall’ command to leaveImp_omly Only the implementer’s may enter this room Gods_only Only gods and immortals may enter this roomHeroes_only Only those of Hero status and above may enter.Newbies_only Only newbies (9 and below on RoT) and gods may enter.Law mobs in this room will attack twitsNowhere The where command will not show people in these rooms.

The following are not found on Stock RoT MUD:

Nogate Dimension Door and Relocate and Gate will not work in these roomsNomagic Magic spell abilities will fizzle and die in these roomsArena DO NOT use this command, you will screw up the arena if you do.Arena_wait DO NOT use this command, you will screw up the arena if you do.Freepk This is to make anyone susceptible to PK regardless of being PK or not DO

NOT use this command unless you speak to the head builder first.Mountx_shop This is what you flag a room for a mount shop, the procedure is EXACTLY

like a assigning a pet_shop.

8) MANA Syntax: mana [Amount] Example: mana 100

Now this command should ONLY be used sparingly! The default mana recovery rate is 100 (100%) (normal). However, you may adjust recovery of mana up or down to 1% or normal or 200% of normal. This makes the players recover mana either faster or slower depending on what you set it to. If it is higher than 100 they get it faster, if it is lower than 100 then they will recover mana more slowly. 100 is the SET rate to use, Only increase this rate for Special occasions, and make sure The head builder KNOWS that you changed it from the default amount so that it can be approved, if you do not tell anyone, you may be penalized.

9) Heal Syntax: heal [Amount] Example: heal 100

This command is almost the same as the mana command. Let’s repeat the rules for this. Now this command should ONLY be used sparingly! The default heal recovery rate is 100% (normal). However, you may adjust recovery of healing up or down to 1% or normal or 200% of normal. This makes the players recover hit points either faster or slower depending on what you set it to. If it is higher than 100 they get it faster, if it is lower than 100 then they will recover hit points more slowly. 100 is the SET rate to use, Only increase this rate for Special occasions, and make sure The head builder KNOWS that you changed it from the default amount so that it can be approved, if you do not tell anyone, you may be penalized.

10) CLAN Syntax: clan [clan name] Example: clan treehuggers

The clan statistic is made for privacy of clans and to restrict those not of the clan specified from entering the room. You do not need to use the command *Ever* unless you are making clan or are asked to use it. In the example above, only people clanned as Treehuggers would be able to enter this room.

11) OWNER Syntax: owner [owner’s name] Example: owner mielikki

I will start off in the beginning here. Do NOT use this command. Leave it blank. Using this command with someone’s name will make that room only usable by the person or persons listed in the Owner flags. In the example above, No One would be able

Page 9: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

to enter that room but Mielikki. Not even gods and goddesses. So do not use it, ever. It just causes frustration and will be deleted anyway.(Note: This maybe used for Personal rooms for builders, or even player housing. NOWHERE else).

12) CHARACTERS No Syntax Example: Characters: [mielikki mystra]

This is not an editable field or statistic. All this shows is the names of current mobs and players inside the room at that particular moment.

13) OBJECTS No Syntax Example: Objects: [mushroom pool]

This is not an editable field or statistic. All this shows is the names of current objects inside the room at that particular moment.

14) ED Syntax: Ed add [keyword] ed edit [keyword] ed delete [keyword] ed format [keyword]

What this command allows you to do is add hidden things in the room that you just wrote in. Let me rephrase that...lets say when you did a room description that you said something about a book. Now if you wanted a player to type look book to learn more about it, this is where this command will come into play. Here is an example of what happens when you type it.

<1000hp 1000m 1000mv> ed add book

-=======- Entering APPEND Mode -========- Type .h on a new line for help Terminate with a ~ or @ on a blank line.-=======================================-

> A fine and dusty looking book lies here.> @

Now when you type look book in the room you will see the description – “A fine and dusty looking book lies here.” The other commands are pretty self-explanatory, if you need help with them, please ask.

15) EXITS & DOORS

EXITS This is perhaps the hardest thing that people seem to mess up. In fact it is quite simple to understand. You first begin by typing out the direction in which you want an exit to go. (Example: north.) This is followed by different commands depending on what you want it to do. I will give an example of each kind, due to the fact that most people get confused here.

A. Making an exit connect to a room that has not been created yet. ---------------------------------------------------------------

Step 1.) direction dig vnum Example: north dig 401

This creates room 401 as it links the room you’re working on to it. To be more precise...what this does is this...It makes a two way exit (north and south from the example I used) and creates a new room...*note-If the room on the other side already exists then DO NOT, I repeat, DO NOT use this command.... Only do this if the other room you are linking this one to hasn't been made yet ... otherwise you will see the following error...

REdit: Room vnum already exists.

If the command is successful you will get this on a line...

Room created.Two-way link established.

B. Making an exit connect to an already existing room. ---------------------------------------------------

Step 1.) direction link vnum Example: north link 401

Page 10: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

This will link the room you’re working on to room 401. For example...let’s say you have already made a room 401 and you are in room 400. All you have to do is use this command and the rooms will link...

C. Making a one way ONLY exit to a room. (use with caution.) ---------------------------------------------------------

Step 1.) direction room vnum example: north room 401

This will make a one way exit from the room you are working on to room 401. Be very careful with this one...This should be used sparsely...I will let you know if you are messing this command up...actually, let the Head builder know if you decide to do a one way link ever.

D. Making an exit that can be only exited with a key. --------------------------------------------------NOTE: you must set the room flag to door and closed. Also you must have created an object that is a key and have its vnum. All of this is discussed later.

Step 1.) direction key [insert object key vnum] Example: north key 400

This will make it so that no one can open the door without key number 400.

E. Naming a doorway. -----------------

Step 1.) direction name [insert doorname] Example: north name ‘glass doorway’

This gives the door a name. So if you want the players looking for that secret doorway use this command...For example instead of open door the player would have to type open glass to open this door. This is pretty cool because you can name the door whatever you want. You could even call it the ground or something so the player would have to type open ground. Note: If the name is longer than one word, put the phrase in quotes.

F. Describing the exit. --------------------

Step 1.) direction desc example: north desc

This will once again put you into an editor and allow you to describe your exit. This is a very fun to do and makes your area much more alive. This will be looked upon highly by the immortals ;) I urge you to do this to all your rooms

G. Deleting an exit. -----------------

Step 1.) direction delete example: north delete.

This will delete the direction's exit from the room you are currently editing.

H. Setting Exit Flags. -------------------

This is also a place where most people become extremely confused. In fact it is quite simple.

Step 1.) direction [insert flag or flags here.] Example: north door closed locked

This will set the door to the north to be closed, locked and a door. You can have all the flags on or you could have just one flag on. For a list of the exit flags type ? exit. For more information on exits see help exit.

Here is an explanation of the exit flags:

door set this with the following exits, you MUST include thisclosed Flags a door closed locked flags a door locked(note:door still needs to be flagged in

difficulty to pick its lock, and if its pickproof, a key must be defined.

pickproof Door cannot be picked by the ‘pick locks’ skill

Page 11: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

nopass Passdoor spell will not work on this door easy Used for difficulty level of pick lockhard Used for difficulty level of pick lockinfuriating Used for difficulty level of pick lock noclose Door cannot be closed nolock Door has no lock, and hence, cannot be lockedsecret Secret door:player will not see exit flagsecret_nobump Secret door, as above, except bumping into the direction will

not reveal a passage.

And don’t forget!SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE!(see AEDIT section on saving)

******* OBJECTS & OEDIT *******

Name: [sword excalibur]Area: [17] CatacombsVnum: [ 2005]Type: [weapon]Level: [47]Wear flags: [take wield]Extra flags: [glow magic antievil antineutral]Material: [oldstyle]Condition: [100]Weight: [150]Cost: [3400]Short desc: the sword ExcaliburLong desc: A sword gleams by the light of its magical silvery blade.Number Modifier Affects ------ -------- -------[ 0] 1 strength[ 1] 3 hitroll[v0] Weapon class: sword[v1] Number of dice:[5][v2] Type of dice: [4][v3] Type: slash[v4] Special type: none

I. COMMANDS AND HOW TO USE THEM.

1) CREATE Syntax: oedit create vnum Example: oedit create 400

This command will create the room vnum that you wish to make.

2) SHOW Syntax: show ALSO: [return] (hitting return is an alias for typing show)

This command is the same as the one in the ROOM EDITOR.

3) COMMANDS Syntax: commands

This command will show you the various commands of the editor that you are in. The example of this command is the line above, where all the commands are listed.

4) NAME Syntax: name [names] Example: name longsword sword

This sets the names of the objects. If you call it just a longsword then the players will have to type the whole word longsword to get it. It is always best to name it at least two things.

5) SHORT Syntax: short [desc]

Page 12: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Example: short a longsword.

This is what is displayed when you look at a character or look in your inventory to see what you have. In this example if you were to have this item in your inventory you would read ‘a longsword’.

6) LONG Syntax: long [long desc] Example: long The longsword is resting on the ground in front of you.

This sets the long description of the item. It is what the players see if they walk into a room and it is on the floor.

7) ED Syntax: ed add [keyword] ed edit [keyword] ed delete [keyword] ed format [keyword]

This command is the exact same as the ROOM EDITOR command of ED. The only difference of this ed is that you set it on objects. I HIGHLY suggest you use this for the following reasons. If I made a longsword, as stated above, I would see the descriptions for it on the ground and the short description for it in my inventory or if I held it. Now, if I wanted to LOOK at the item, I would see the long desc….which says… “ The longsword is resting on the ground in front of you.” Now, will it really be resting on the ground if you are holding it in your inventory? No. So this is where the ED command is useful. If I added some extra desc that was…”ed add longsword” and made the desc say “ An iron cast and finely crafted longsword shimmers before you”, then that’s what I would see instead of “The longsword is resting on the ground in front of you.” Get it? If not, contact a builder who does get it.

8) TYPE Syntax: type [type] Example: type weapon

The type is what kind of object the thing is. This is very important and it will determine what Values or (v0-v4) you will use. To see a complete list of types please type ? type. This will set the type of object it is. Here is a current list of types:

Types Explanation--------- -------------------------------------------light This flag lets an item light a dark roomscroll recite scrolls with spell affectsweapon This flag makes an object a wepontreasure furniture It’s furniture… trash default flag, no effect key a key to a door – will not save on quitting food nourishes hungernpccorpse fountain no_take object, nourishes thirstprotect Incomplete code. Don’t use itroomkey A test ‘type’ Don’t use itmap use this please to make mapswarp_stone makes a stone usable for portals wand A wand, uses the zap command staff a stave, uses brandish commandarmor potion quaff potions to gain spell effectscontainer money Money is only set in silverboat Used to cross NOSWIM sectorspill edible food with spell affects jukebox plays music, use bardportal transfer characters, make these no_take pit Don’t use this.Weed This is a little IMM delight and joke, keep it that way.Bong This is a little IMM delight and joke, keep it that way.gem jewelrydrink-container water containers, quenches thirst

NOTE: The jukebox type isn’t very RolePlayable. If you use it, please be creative. Many MUDs change a jukebox to a bard. So instead of a jukebox playing, a bard sings it. I suggest you do the same, unless you have a different role-playing idea.

9) LEVEL

Page 13: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Syntax: level [number]

This command sets the level of the object that you are making. Try to set the level of the object close to the mobs level you are giving the object to.

10) WEAR Syntax: wear [flags] Example: wear take wield

Wear flags determine where an object may be worn. Note that if you want the item to be able to be picked up that you MUST flag it as TAKE, as well as having a wear location flagged if the object is to be worn. Leaving off a take flag but flagging it wearable will make it impossible to pick up the object if the object is dropped. Also note that objects can NOT have multiple wear locations. (Take does NOT count as a wear location, it only determines if the item can be picked up). To see a complete list of flags for the wear command type ? wear. This will set the object if it is wearable or not. Here is an up-to-date list:

take finger neck bodyhead legs feet handsarms shield about waistwrist wield hold floatno_sac

Non Stock Wear flags:

Back tattoo ear surroundingAnkle lance clan relig(religious holy symbol)

NOTE: We are still debating the ‘back’ wear location. Be wary when you use it, because it might go byebye. Also, the Tattoo and Surrounding wear flags are for ROLEPLAY use only. In other words, do NOT add affects or AC to them. They are purely here for fun, and adding cool visual enhancements, not to pump up a character. Clan and Relig should not be used either by you. Clan are for clans only, and relig is for a deity worshipper, these are going to have specific objects, don’t use them please.

****The following may NOT be used as armor:Tatoo FingerSurrounding NeckEar ClanAnkle Relig

11) EXTRAS Syntax: extra [flag] Example: extra glow hum

This command sets the extra flag of the object. To see a complete list of extras type ? extra. So what exactly are extra flags? I am glad you asked. An extra flag is a visual effect and other controls on how the object may be used. A listing of extra flags are as follows:

Flag Explanation------------- -------------------------------------------------glow can use while blind dark makes object ‘hidden’evil hinders Remove curse magic hinders Enchant armor/weapon antievil evil players cannont usenouncurse prevents remove curse spellnoremove obj prevents being removed nopurge cannont be purged by immortalsvisdeath items stay invis til owner dies no_locate prevents “locate object” spellhadtimer not implemented *Don’t use* burnproof prevents acid/fire/cold/posion/shock/heathum obj. has a (humming) flag lock has no effectinvis Is invisiblenodrop prevents dropping/donating/transferingantigood good players cannot use antineutral neutral players cannot useinventory **Just Don’t Use This** rotdeath will rot after being taken from a corpserotdeathii same as rotdeath except it dissapears when PC is killednonmetal prevents heat metal spell

Page 14: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

melt_drop dissolves when droppedsellextract obj. always sold for valued price bless prevents poison/ hinders curse and acid, cold, fire, shock damage to object/ aids Echantments

12) MATERIAL Syntax: material [flag] Example: material wood

This sets what the object is made out of. Please choose from the list of materials listed below. As of now, only these affect an object in their own secret ways against mobs, players and their immunities and invulnerabilites.

13) CONDITION Syntax: condition [number] Example: condition 100 This part is not fully implemented into the code yet but go ahead and use this field. The number can range from 0 (ruined) to 100 (perfect).

14) WEIGHT Syntax: weight [number] Example: weight 10

This is really self-explanatory. It’s the item’s weight…but there is one catch. Objects registering on a character do not work in the same way. If you flag an object “Weight 10” it will weight 1 lb. on the player. An equation can be made to solve this. Weight/10.

Example: 20/10 = 2 where 20 is the object weight in the statistics, 10 is the variable that has to be divided, and 2 is the final weight of the object on a player.

15) COST Syntax: cost [silver] Example: cost 10000

This simply sets the amount of silver that the object is worth. Please do not go too high when using this. If it’s too high, the object will be deleted.

16) ADDAFFECT & DELAFFECT Syntax: addaffect [location] [#mod] Syntax: delaffect [#affect] Example: addaffect str +3 Example: delaffect 0

Here are where the modifications come into play. Let’s say you want to make that cool new item a +3 to strength and -1 to saves Vs spell. This is how you do it. Just remember that when using this command that you have a positive and a negative where it’s needed. Example: positive saves are bad whereas positive to attributes is good. Remember we are striving for balance here...

Current listing of things you can affect:

Strength Intelligence ConstitutionDexterity Wisdom sexmovement hitroll acdamroll mana hitpointssaves savingpara savingrod savingbreath savingspell savingpetri

*****NOTE: Please view the limits and rules on Adding Addaffects to objects, we strive for balance here. Not for popularity or the “Best of the Best” equipment and objects*****

If you goof up and addaffect that you didn't want simply do a show,(or hit return) look at the number For example :

Number Modifier Affects------ -------- -------[ 0] 1 strength

This would be in the list. To delete this simply use delaffect.Ex: delaffect 0 -would delete it

Page 15: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

*** ADD AFFECT GUIDELINES FOR ALL OBJECT TYPES. ***

The maximum allowable points are (by level of object):

Level range MAXPoints 1-15 2 16-20 3 21-29 4 30-39 5 40-49 6 50-59 7 60-69 8 70-79 9 80-89 10 90-99 11 100-101 12

***Skils & Spells*** All skills and spells are very rare on objects, and should not be on every object or even on 90% of the objects in the whole MUD. But alas, there are certain occasions where they are needed. Remember that we strive for balance here, not popularity. If you overuse these addaffects, you will probably not pass inspection of your area. Bummer huh? Please remember to be fair and balanced.

Skill/Spell Points Skill/Spell Points------------- ------ ------------ ------Detect Invis 8 Haste 11Detect Hidden 8 Flying 6 FarSight 6 PassDoor 8Infrared 6 Hide 9Sneak 9 Detect_Magic 5Dark_Vision 4 Detect_Good 5Prot_Good* 9 Detect_Evil 5Prot_Evil* 9 Invisibility 9IceShield Special FireShield SpecialShockShield Special

*Do NOT put protection good and protection evil together on one item. This will equal up to a permanent Sanctuary. Not to mention if they get sanctuary cast on them. This is very dangerous. Don’t do it.

Attributes Points------------ ------Strength 1Dexterity 2Intelligence 1.5Constitution 2Wisdom 1

**Attributes cannot exceed 1/20 of the object level. Example: A level 100 object can have no more than 5 points of attributes added to it. +5 Strength OR +3 Strength and +2 Constitution. For most cases you will get a decimal number, just round the decimal to the closer value. If the value is lower than 1 then round it to 1.

***Others***AddAffect Points--------- ------20 hp 1.520 mana 1.520 move 21 hitroll 21 damroll 1

** Affect of HP, MANA, and MOVE cannot exceed object level multiplied by 1.5. Example: A level 50 object cannot have Hp, Mana, or Move over 75 (50 x 1.5=75)** hitroll and damroll are still being reviewed, mostly Hitroll is a touchy subject. For now, the way it works is like so. Hitroll cannot be more than 1/20 of the level. Round up if value is less than 1. Damroll cannot be more than 1/10 of the level. Like hitroll, round up if value is less than 1.

NOTE: Hitroll and Damroll can only be assigned in certain occasions.

Damroll can only be added to:

Page 16: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Wielded weaponsHand gear (gloves)Any spiked/sharp gear

Hitroll may be added to:

Wielded weaponsHand gear(gloves)Head gear(helms)Armor (about)LeggingsLight sources

**IMMUNITIES, RESISTANCES, VULNERABILITIES**

For this section of abilites, no item may have more than one Res, Imm, or Vuln.

Affect Imm(Specials) Res Vuln--------- ---- ---- ----Summon n/a n/a n/aCharm 10 8 1Magic n/a n/a -3Weapons n/a n/a -3Bash n/a 3 -1Pierce n/a 6 -2Slash n/a 6 -2Fire QUESTS 5 -1Cold QUESTS 5 -1Lightning QUESTS 5 -1Acid QUESTS 5 -1Poison QUESTS 4 -1Negative n/a 10 -2Holy n/a 10 -2Energy 10 5 -1 Mental 10 5 -1Disease 12 10 -1Light 10 5 -1Sound 10 5 -1Wood 9 4 -1Silver n/a 6 -1Iron 10 6 -1

**Detriments**Affect Bonus Points----------- ------------Blind -3 Faerie Fire -2Curse -1Poisoned -1Sleep -1Calm -1Plague -1Weaken -2

**Saves & AC***Affect Points----------- ------AC 3Saves SpecialSavingspell 3Savingrod 3Savingpetri 3 Savingbreath 3

Saves: this adds a bonus to each saving throw, the max this value may ever be is 1. (unless approved by the head builder)

WARNING: When adding saves, you must be careful because they affect the success of spells drastically. For balance, and smooth play, you should not use save_spell or the saves_to_all. If you feel that you object needs these add affects, think about it again ;) If you still wish for the object to have them, do NOT make the value greater than –2!

Page 17: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

To control the usage of saving throws we have compiled the following:

Level Saves alloted1 - 40 -1 MAX41 - 100 -2 MAX101 -3 RARE!

And don’t forget!SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE!(see AEDIT section on saving)

VALUE GUIDELINES FOR SPECIFIC OBJECT TYPES

****YOU MUST KNOW THE GUIDELINES NO EXCUSES***

A. Scrolls/Potions/Pills

i. The object level should be no less than the minimum level required to cast the spell normally. (i.e. a heal pill must be at least level 22 because that is the level at which clerics can cast it)

ii. The maximum level of the spell should not exceed the level of the object by more than 10 or 40%, whichever is GREATER. (I.e. A level 50 pill at 10 levels higher is 60, or 40% higher is 70. So the spell level could be 70.)

iii. The value of the item should reflect the power of the spell. The value should be NO LESS than twice the cost to create a homemade scroll or potion. (I.e. A heal potion should cost no less than 50 platinum and sanctuary no less than 150 platinum.) This value guide applies only if you are putting these items for sale, in a shop. On a side note…These should be rare anyhow..for example, I don’t want to see healing potions in very common town. If there are heal potions, there better not be more than 2 places in the WORLD that sell them.

Wands/Staves

i. The same level restrictions as Scrolls/Potions/Pills for both object level and spell level.

ii. The number of charges should be inversely proportional to the power of the spell. This also should be modified by the relationship of the level of the spell to the level of the object. (I.e. an level 40 object will have more charges of a level 35 spell than it would of a level 40 spell.)

iii. Here are some guidelines for some of the more powerful and popular spells.

Spell Max Charges Minimum item level.-------------- ----------- -------------------Mass Heal 1 88Mass Sanc 1 95Heal 2 41Sanc 3 40Acid Blast 2 67Chain Lightning 3 66

C. Weapons

i. For New format weapons, damage is calculated as a roll of dice (like 4d6) If you set a damage of XdY, you can calculate the following:

Minimum damage= X Maximum damage= X * Y Average damage= ((X * Y) + X)/2 NOT (X*Y)/2, be careful!

ii. Average Damage should NEVER exceed the level of the weapon.

We make this pretty simple. A weapon's AVG dam should be NO HIGHER than the level of the weapon. A level 76 sword should have NO MORE than an Avg dam of 76.

The only exception to this is if you give the weapon a weapon flag or two. If the weapon has any flags for weapon it's AVG dam MAX must be dropped by 5. EX: a level 70 weapon's avg dam, with weapon flags can be no higher than 65.

Lvl 101 (hero) av 126 - Joxtur OOC '17 d 14 or 18 d 13 or 21 d 11'

*** Special Weapon Types ***

Page 18: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

To view a list of the special weapon types, type ? wtype in oedit. Listed below are the flags and their restrictions.

flaming weapon is encased in fire, does damage, causes firebreathfrost weapon is encased in ice, does damage, causes chill affectvampiric weapon steal hotpoints from the victim sharp weapon is sharp, increases damagevorpal weapon is vorpal, increases damagetwohands weapon is two handed (a good disability for powerhitters)shocking weapon is encased electrically charged, does damagepoison weapon is poison tipped, does damage and cause poison affect negating weapon randomly casts dispel magic(spell is = to weapon lvl) phasing weapon bypasses Armor values

***NOTE: No weapon may have more than TWO weapon types MAX! I’d rather prefer to see just ONE flag, but some rare cases can have two... D. Armor

As you know, armor can be set up to have different wear locations. (feet, hands, finger, neck, etc.) What you might not have known, is that some wear locations have a better AC just due to where the location is. The adjustments are as follows.

Head gear = AC * 2 Wrist gear = AC * 1 Leg gear = AC * 1Body gear = AC * 3 Arm gear = AC * 1 Neck gear = AC * 1About gear = AC * 2 Foot gear = AC * 1 Waist gear = AC * 1Hold gear = AC * 1 Shield gear = AC * 1 Face gear = AC * 2Hand gear = AC * 1 Finger gear = AC * 1 Tattoo gear = AC * 0Ankle gear = AC * 0 Ear gear = AC * 0 Clan gear = AC * 0Relig gear = AC * 0

EXAMPLE:Name: [shield wear]Area: [ 0] LimboVnum: [ 61]Type: [armor]Level: [ 0]Wear flags: [take shield]Extra flags: [none]Material: [unknown]Condition: [ 100]Weight: [ 0]Cost: [ 0]Short desc: a spiked shieldLong desc: A dark shield with a spike protruding from it’s center is here.[v0] Ac pierce [2] <<<<< Take this number and plug it into where AC[v1] Ac bash [2] is listed above. AC=2. 2*1 =2. [v2] Ac slash [2] 2 is the AC value for this shield, for [v3] Ac exotic [2] piercing. Now take the value we multiplied, and minus that from the Player’s Armor score. That will be what

their AC will be if they wear this object. Remember, a negative AC on a PC is good. On an object, it is not;)

II. Armor Class Values

Level V0 V1 V2 V3------ ------------------------0-4 1 1 1 05-9 2 2 2 010-14 3 3 3 015-19 4 4 4 020-24 5 5 5 125-29 6 6 6 230-34 7 7 7 335-39 8 8 8 440-44 9 9 9 545-49 10 10 10 650-54 11 11 11 755-59 12 12 12 860-64 13 13 13 965-69 14 14 14 1070-74 15 15 15 1175-79 16 16 16 1280-84 17 17 17 13

Page 19: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

85-89 18 18 18 1490-94 19 19 19 1595-99 20 20 20 16100-101 21 21 21 17

= MOBILES =

Mobiles should be balanced: a fairly hard fight should harvest a player around 50 exp. A VERY tough fight might give the player from 80 to 120 exp. The experience that a player will get from a mobile is determined by the level of the player Vs the level of the mob, and the mobiles alignment. The amount of hitpoints the mob has, for example). A level 20 player will get around 50 exp for a level 20 mobile, and around 120 experience for a level 25 mobile, and higher if the mobile is oppositely aligned. The toughness of the fight is determined by the hitpoints, damage, hitroll, other flags, spec_functions, and the weapon the mob may or may not be carrying (which affects the mob's damage). When determining the hitpoint and damroll to put on your mobile, keep in mind how many IMMUNITIES and RESISTANCES you are also adding, and what ACT_FLAGS you are adding, as well as any spec_functions you might be giving that mobile. The more IMMUNITIES and RESISTANCES a mobile has, the tougher it is. If the mobile has a special combat function it is also tougher. If so, you might give it a hitpoint setting at the lower end of its level range. On the other hand, if the mobile has few IMMUNITES and RESISTANCES and no special function for combat, plus lots of VULNERABILITIES, you might give it hitpoints at the higher end of the hitpoint range.

Name: [moogle]Area: [ 1] MoogleTownAct: [npc stay_area wimpy thief]Vnum: [ 101]Sex: [male]Group: [ 0]Race: [human]Level: [ 1]Align: [ 100]Hitroll: [0]Dam Type: [none]Hit dice: [ 2d4 + 2]Damage dice: [ 1d2 + 0]Mana dice: [ 1d9 + 100]Affected by: [detect_invis detect_hidden]Shields : [none]Armor: [pierce: 100 bash: 100 slash: 100 magic: 100]Form: [edible sentient biped mammal]Parts: [head arms legs heart brains guts hands feet fingers ear eye]Imm: [none]Res: [none]Vuln: [none]Off: [backstab disarm dodge dirt_kick trip assist_vnum]Size: [medium]Material: [0]Start pos. [standing]Default pos [standing]Wealth: [ 10]Spec fun: [spec_thief]Short descr: A moogleLong descr:A moogle is dancing and chirping along.Description:A cute little white moogle with floppy ears and a red nose seems to be having a blast.

MOBPrograms for [ 101]: Number Vnum Trigger Phrase ------ ---- ------- ------[ 0] 104 GRALL 80

1) NAME

It's best to have more than one name per mobile. This stat value is will determine what the Player needs to type to so any action with the mob. Ex: look ‘snail’ kill ‘snail’

2) ACT FLAGS

- short for "action" Determines the in-game behavior of your mobile with ACT flags. Following is a listing of act flags:

Page 20: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

NPC Mobile is an NPC (set automatically by the game)Sentinel Mobile doesn't wanderScavenger Mobile picks up items on the floorranger Mobile has ranger skillsaggressive Mobile attacks any character in the same room (see the section dealing with aggression)stay_area Mobile will not leave a zone (this should be set)wimpy Mobile will flee when badly hurtpet Mobile is a pet (and hence safe from attack)train Mobile can train statisticspractice Mobile can help practice (guildmaster)druid Mobile has druid skillsno_body Mobile will not leave a corpse (shadows, wraiths, etc.)nobd_drop Mobile will drop everything at death (use with no body)undead Mobile has special undead powers (i.e. life draining)vampire Mobile has vampire skillscleric Mobile has cleric casting powersmage Mobile has mage casting powersthief Mobile has thief combat skills (backstab, etc.)warrior Mobile has warrior combat skills (disarm, parry, etc.)noalign Mobile is unaligned (unintelligent animals, golems, etc.)nopurge Mobile isn't removed by the purge commandoutdoors Mobile will not wander outside a buildingis_satan Mobile is Belan's Priestindoors Mobile will not wander into a buildingis_priest Mobile is Thoth's Priesthealer Mobile can heal characters (i.e. the heal command)gain Mobile can grant new skills (i.e. the gain command)update Mobile is always updated, even in idle zones (rarely needed)

*is_changer Mobile can change coins (i.e. Otho the Money Changer)* The changer flag is obsolete in RoT 1.4, since all money is now automatically converted.

Please use the ACT_CLASSES! Do not for common little things, but higher level mobs should all be some sort of class! See “Help Act” when in medit for mobs.

3) SEX

Mobile sex (as in gender, mobiles don't reproduce) can be none, male, female, or either (either will be set randomly for each mobile of that type which is loaded). It has no real game effects, but does add color. It's a good idea to make generic mobiles (i.e. rabbits) sex 'either', just for variety.

4) RACE

Every mobile should have a race, whether it be goblin, orc, troll, or whatever. See the list below for the races that already exist. If you feel your race is sufficiently distinct to merit creation of a new one, include a note containing the abilities the race should have to the immortals you are working with so that they may see if it’s needed to add to the list. The following is a list of acceptable races on any ROT. Each race specified also has a set list of their form and parts with them. I did not list them due to the fact that you can see them when you flag the mob a particular race.

***** This is subject to change for WD2, and are ********** probably not 100% accurate for WD1. *****

avian affect flags: flying, detect invis, detect hidden, farsight, infrared resistances: lightning vulnerabilities: disease, poison bat affect flags: flying, dark vision offensive flags: dodge, fast vulnerabilities: light bear offensive flags: crush, disarm, berserk resistances: bash, cold cat affect flags: dark vision offensive flags: fast, dodge

Page 21: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

centipede affect flags: dark vision resistances: pierce, cold vulnerabilities: bash dog offensive flags: fast doll immunities: cold, poison, holy, negative, mental, disease, drowning resistances: bash, light vulnerabilities: slash, fire, acid, lightning, energy draconian affect flags: flying immunities: poison, disease resistances: fire, cold vulnerabilities: slash, pierce, lightning dragon (NPC dragons will typically have some flags stripped) affect flags: infravision, flying resistances: fire, bash vulnerabilities: pierce, cold dwarf affect flags: infravision resistances: poison, disease vulnerabilities: drowning elf affect flags: infravision resistances: charm vulnerabilities: iron

fido offensive flags: dodge, assist race vulnerabilities: magic fox affect flags: dark vision offensive flags: fast, dodge giant resistances: fire, cold vulnerabilities: mental, lightning gnome affect flags: infrared resistances: mental vulnerabilities: drowning goblin affect flags: infravision resistances: mental vulnerabilities: silver, light, wood, holy halfelf affect flags: farsight halfling affect flags: pass door resistances: poison, disease vulnerabilities: light halforc affect flags: berserk resistances: magic, weapon vulnerabilities: mental

Page 22: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

hobgoblin affect flags: infravision resistances: disease, poison human No special affects

kobold affect flags: infravision resistances: poison vulnerabilities: magic lizard resistances: poison vulnerabilities: cold modron affect flags: infravision offensive flags: assist race, assist alignment immunities: charm, disease, mental, holy, negative resistances: fire, cold, acid orc affect flags: infravision resistances: disease vulnerabilities: light pig No Special Affects pixie affect flags: flying, detect magic, infrared resistances: charm, mental vulnerabilities: iron

rabbit offensive flags: dodge, fast

school monster action flags: no alignment immunities: charm, summon vulnerabilities: magic

snake resistances: poison vulnerabilities: cold

song bird affect flags: flying offensive flags: fast, dodge

troll affect flags: regeneration, infravision, detect hidden offensive flags: berserk resistances: charm, bash vulnerabilities: fire, acid

water fowl affect flags: swim, flying resistances: drowning

wolf affect flags: dark vision offensive flags: fast, dodge

wyvern affect flags: flying, detect invisible, detect hidden offensive flags: bash, fast, dodge immunities: poison vulnerabilities: light

Page 23: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

5) LEVEL

This is a very important statistic, as it determines the recommended values for your mobile's combat abilities. Try and make the level choice reasonable to believe. Just as a level 2 Ancient Blue Wyrm makes no sense, neither does a level 90 snail. Look over the recommended values for the level and please try to stay fairly close to them, otherwise your mobile may well be out of balance with the others in the game. It determines the mob’s thaco, hp, Ac, Exp given, and others. Please put much thought into this before making mobs. The mob levels range from 1 – 120. No higher or lower.

6) ALIGNMENT

Just like players, mobiles can have alignments from -1000 (satanic) to 1000 (angelic). Alignment-based coding in the game tends to put players in the -350 to 350 range into a 'neutral' category for spells. Alignment-based experience adjustment happens outside the -200 to 200 range. Anyway, 0 is neutral for sure. Really evil mobs give good players good exp, and really good mobs give evil players good exp. Nobody really likes neutral mobs. At low levels, say below 30, mob alignments should not hit the extremes, a few hundred either way is enough at these levels. Low level players gain so much exp from killing that it's OK to code 0 alignment mobs too. In all cases, remember to make the mob's alignment match its character and the role it plays in your 'story'. Assassins are usually evil and firemen are usually good. If you're clever, you could come up with reasons for coding either of these with the opposite alignment, but your area would have to contain a good story to make this plausible to the player.

7) HITROLL

This statistic is normally 0, but in mobiles with exceptional (and I do mean exceptional) combat abilities it may be higher. Clumsy mobiles may deserve a -1 or -2.****No more than 1 hitroll for every 10 levels****Example: A level 90 mob can have a MAX of 9 hitroll. Remember that this is only if the mobile is an exceptional fighter, otherwise the ACT_CLASS flag will take care of hitroll and ThacO.

8) DAMAGE TYPES (

A mobile's damage type defines three things:

1) What message is seen when it attacks in combat, 2) What armor class is used to defend against the attack3) What type of resistance or vulnerability affects the damage received from the attack.

The following damage types are supported, listed by the type of attack and the damage messaged sent (if a name follows the damage message, you should use that name in your area file, otherwise just use the message itself). Piercing attacks (pierce ac):bite pierce stingchomp scratch thrustpeck stab

Bashing attacks (bash ac):Beating crush smashBlast peck(peckb) suctionPound punch thwackCharge slap

Slashing attacks (slash ac):claw grep slicecleave slash whip

Acid attacks (magic ac):digestion slime acidic bite (acbite)

Cold attacks (magic ac):chill freezing bite (frbite)

Energy attacks (magic ac):magic wrath

Page 24: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Fire attacks (magic ac):flame flaming bite (flbite)

Holy attacks (magic ac):divine power (divine)

Lightning attacks (magic ac):shock shocking bite(shbite)

Negative attacks (magic ac):life drain (drain)

The acceptable kinds of damage (some with no damage messages as yet) are:bash disease lightpierce drowning lightningslash energy mentalacid fire negativecharm harm poisoncold holy sound

Harm, disease, and poison are generally used only on spells, but are included here on the outside chance that a mobile might need them.

9) HITPOINTS

Hitpoints are determined as a roll of the dice: e.g. 2d10+100 would give that mobile a hitpoint range, on reset, of 100 to 120 hitpoints.*Please view the Mob Stat Composer for their HP values*

10) DAMAGE

Affects how HARD the mobile will hit you. This value will be augmented by the average damage of the weapon the mobile is carrying if you use the Object Reset in the resets section to give the mobile a weapon.

*Refer to the Mob Stat Composer for this please*

11) MANA

Mana is also determined as a roll of the dice, and give it the amount of mana a cleric or warrior player (depending on the mobile) at that mobiles level, might have. Stat players on the mud for their mana stats. If you don't want to bother with this just put in 1d1+99 for all mobiles, in the mana section. But A mob should have mana if it’s supposed to! Just don’t disregard this section. Some spells deliberately sap a mob’s mana.

12) AFFECT FLAGS

Affect flags are used to assign various spell and spell-like effects toa mobile, such as hidden, or detections. The following list contains all usable affect flags:

detect_evil Mobile can sense evildetect_invis Mobile can see invisible. **detect_magic Mobile can see magicdetect_hidden Mobile can see hidden (sneaking/hiding) charactersdetect_good Mobile can sense goodfaerie_fire Mobile is surrounded by faerie fire (a hindrance)infrared Mobile can see heat sources in the darkfarsight Mobile has farsightsneak Mobile is sneaking (hard to detect while moving)hide Mobile is hiding (cannot be seen without detect hidden)flying Mobile is flyingpass_door Mobile can walk through closed doorshaste Mobile is affected by a haste spell Improves the mob's Dex Slows down the mob's regeneration. Increases hits per round for the mob. Makes it harder to hit the mob. Mob has a better chance of bashing and tripping. It is harder to bash or trip the mob.

Page 25: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

dark_vision Mobile can see in the dark without a light sourceswim Mobile is swimming (or capable of swimming)regeneration Mobile recovers hit points and mana faster than usualslow Mobile is affected by a slow spell Reduces or eliminates the effect of poison on the mob. Reduces the mob's chance of hitting in a fight. Prevents the mob from carrying out a third attack. Prevents the mob from fleeing.weaken Mobile is affected by a weaken spellberserk Mobile is berserk – same as frenzy spell Improves save vs spell.plague Mobile has the plague and can infect playerscalm Mobile is affected by a calm spellcharm Mobile is permcharmed unless dispelled makes mob ‘cute and cuddly’ and impossible to attacksleep Mobile is affected by a sleep spellpoison Mobile is infected with poison slows mob’s regeneration, does not do continuous damagecurse Mobile is cursed

** Detect Invis and Hidden is often overused, so please be careful with it. Not every mobile should be able to see invisible, or the spell is worthless. If a mobile has it, you better have a dern good reason for that mobile ;>

13) SHIELD FLAGS

Shield flags are used to assign various shield effects to a mobile, such as sanctuary. The following list contains all usable shield flags:

invisible Mobile is invisibleice Mobile has an ice shieldfire Mobile has a fire shieldshock Mobile has a shock shieldsanctuary Mobile is protected by a sanctuary spell. **protect_evil Mobile takes 1/4 less damage from evil characters Improves the mob's save vs spell by -1.protect_good Mobile takes 1/4 less damage from good characters Improves the mob's save vs spell by -1.imp_invis Mobile cannot be seen by a mortal (Don’t use please without consent from the head builder(s))

** Sanctuary is often overused, so please be careful with it. Not every hard mobile should have a sanctuary spell.

Example: a glowing ghost might have faerie fire, flying, and protectGood. There is no limit to the number of affect flags that may be set on a mobile.

14) ARMOR CLASS

Syntax: armor Example armor –200 –200 –200 -110

In order, the 4 armor class values for a mobile are piercing (i.e. daggers and spears), bashing (i.e. clubs, rocks), slashing (swords and axes), and magical (everything else). Usually the first three will be fairly close to each other (it's nice to have them be a little different, however), and the magical AC will be considerably weaker.This value is also affected by an armor you give your mobile to wear, using the Object reset to give eq to your mobile in the RESETS section. Don't make all values the same. Use the MobAC chart for these values NOTE: When building offline, the AC value must be divided by 10. Any AC value that gets sent to mud offline is multiplied by 10 by the mud. So a mobile with -60 AC in your area file will have around -600 AC. When using OLC do not worry about this, just follow the chart.

*SEE MOB TABLES* :) 15) FORM FLAGS

The forms flag is used to define a body form for your mobile and also related data like what happens to its corpse when it dies, and whether or not it is edible. A lot of these Form fields, as well as the Parts are pre-set when you select a pre-made race. If you decided not to pick a race, you should select Forms and Parts as you see fit. Much of the forms code is not yet implemented, but please be as thorough as possible when defining your mobile, as it will all be used at some future point in time. The acceptable flags for body form are as follows:

Corpse-related flags:

Page 26: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

edible Mobile can be eatenpoison Mobile is poisonous when eaten (should also be edible)magical* Mobile's magic nature causes strange effects when eatenvanishes* Mobile vanishes after death (i.e. a wraith)other* Mobile is not flesh and blood (defined by material type)

form-related flags:animal Mobile is a "dumb" animalsentient Mobile is capable of higher reasoningundead Mobile is an undead, and not truly alive at allconstruct Mobile is a magical construct, such as a golemmist Mobile is a partially material mistintangible Mobile is immaterial (like a ghost)biped Mobile is bipedal (like a human)centaur Mobile has a humanoid torso, but a beast's lower bodyinsect Mobile is an insectspider Mobile is an arachnidcrustacean Mobile is a crustacean (i.e. a crab or lobster)worm Mobile is a worm, that is a tube-shaped invertebrateblob Mobile is a formless blob (when used with mist, a cloud)mammal Mobile is a mammalbird Mobile is a birdreptile Mobile is a reptile (and should be cold-blooded)snake Mobile is a snake (and should be a reptile)dragon Mobile is a dragonamphibian Mobile is an amphibian (and should be able to swim)fish Mobile is a fish (and should be able to swim)cold blood Mobile is cold-blooded, cannot be seen with infravis.

* Not yet implemented

16) PARTS FLAGS

The body parts flag is used to detail what limbs and organs a creature has, and currently has no game effect beyond determining what hits the ground when you kill a monster. In the future, body parts may also determine what can be worn by the creature in question, and possibly special attacks (i.e. the tail attack) that the mobile may do, so please do try to be thorough in describing your mobile's body parts. I did not list the parts flags due to the fact that they were pretty self-explanatory. If you wish to see the list, type “? part” in MEDIT.

17) IMMUNITIES, RESISTANCES and VULNERABILITIES.

Mobiles have different immunities, resistances, and vulnerabilities both to better explain certain creatures (i.e. dragons) and to make fighting them take a little more strategy than just mindlessly pumping out damage. Most normal mobiles probably won't have much in the way of these flags, so don't add flags without sound reason. Choose a few that reflect the nature of the creature. It's important to make shopkeeper-type mobiles (as well as guild masters, healers, etc.) immune to summon, charm, magic, and weapons just to insure that they cannot be killed. Similarly, weak, low-level mobiles (goblins, for example) might be made vulnerable to magic just to accent their weakness. All three flags share the same fields, which are as follows:

**NOTE: For WD2, Flagging a mobile IMMUNE to anything but summon, charm, poison, and disease is NOT allowed. Yes, there can be exceptions, but it wont be likely we’ll approve of it.

summon Summoning and gating magiccharm Charm spells (the beguiling spell group)magic All magic (be very careful using this flag)weapons All physical attacks (be very careful using this flag)bash Blunt weaponspierce Piercing weaponsslash Slashing weaponsFire Flame and heat attacks and spellsCold Cold and ice attacks and spellsLightning Electrical attacks and spellsAcid Corrosive attacks and spellsPoison Venoms and toxic vaporsNegative Life draining attacks and spells, or unholy energiesHoly Holy or blessed attacksEnergy Generic magical force (i.e. magic missile)Mental Mental attacks (such as a mind flayer's mind blasts)Disease Disease, from the common cold to the black deathDrowning Watery attacks and suffocationLight Light-based attacks, whether blinding or cutting

Page 27: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Sound Sonic attacks and weapons, or deafening noisesWood Wooden weapons and creaturesSilver Silver or mithril weapons and creaturesIron Iron and steel weapons and creatures

Note: Resist the temptation to make "Achilles Heel" style mobiles, that is creatures that are immune (or almost immune) to all but a single attack type. Such mobiles are extremely boring to fight, and ultimately not very hard to defeat. Strive to make a balanced mobile, with no flags that aren't explainable by its nature.

Important Note: the two generic categories (weapon and magic) are merged with more specific flags, so that a mobile which is (for example) immune to magic but vulnerable to fire will take normal damage from fire.

Example: a fire demon might be immune to fire and negative energy, resistant to mental attacks and weapons, and vulnerable to holy attacks as well as cold.

18) OFFENSIVE FLAGS

Offensive flags control mobile behavior in combat -- allowing some variety in how your mobiles fight back against players. A typical mobile should have a few (2-3) attack abilities and one or none defensive abilities, more skilled mobiles may have more, but try not to make them too flexible.

The following offensive flags are available, although not all are currently active (please use them anyway if they are appropriate, as they will be enabled at some future date):

area attack Mobile hits all characters fighting against it. Very powerful.backstab Mobile can backstab to start a combatbash Mobile can bash characters off their feetberserk Mobile may go berserk in a fightdisarm Mobile can disarm _without_ a weapon wielded**dodge Mobile dodges blowsfade* Mobile can fade "out of phase" to avoid blowsfast Mobile is faster than most others, so has extra attackskick Mobile can kick in combat for extra damagekick dirt Mobile kicks dirt, blinding opponentsparry Mobile can parry _without_ a weapon wielded**rescue* Mobile may rescue allies in a fighttail* Mobile can legsweep with its tail or tentaclestrip Mobile trips in combatcrush* Mobile can crush opponents in its arms

* not yet enabled** warrior and thief mobs (see ACT flags) can disarm and parry with a weapon wielded automatically

***NOTE: Offensive flags and the mobile’s class should go hand in hand. A warrior mobile can probably disarm, bash, parry, etc, while a cleric should not have these flags…but maybe the cleric will have kick, while in conjunction with their cleric special function(explained later).

Offensive flags also control the assisting behavior of a mobile, byusing the following flags:

assist_all Mobile helps all other mobiles in combatassist_align Mobile assists mobiles of like alignmentassist_race Mobile will assist other mobiles of the same raceassist_players Mobile will assist players (by race/alignment)assist_guard Mobile assists as a cityguardassist_vnum Mobile assists mobiles of the same number only

Assisting by race and vnum are by the far the most common assist types.

Notes: The area attack and fast flags are quite powerful, and mustn't be overused. Only the most powerful mobiles should be capable of area attack, and only mobiles that really are faster than most should be fast. Proper assist flag setting can greatly enhance the cooperation within an area.

Example: An orc might have bash, kick, and kick dirt (it will probably be a warrior, so will parry and disarm if armed), and will assist by race and alignment. There is no limit to the number of offensive flags that may be set on a mobile.

19) SIZE

The size of the mobile has many game effects, and should be chosen carefully. The acceptable sizes are as follows:

Page 28: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

tiny: small birds and anything smallersmall: large birds (ducks and up) to halflingsmedium: elves and dwarves to humanslarge: ogres, gnolls, and other large humanoidshuge: giants, small dragons, and wyvernsgiant: for VERY large critters, i.e. dragons, titans, and the biggest giants

20) MATERIAL

The material type for mobiles is not currently supported. It should beleft blank (0) for flesh-and-blood creatures, or spirits, but golems and other animated beings should have a material appropriate to their body construction (i.e. stone, iron, diamond). Put the material in single quotes if it is longer than one word.

21) START and DEFAULT POSITION

The start position is the position a mobile will be loaded in, the default position is the position it returns to after a fight. These are often the same, but a sleeping mobile (for example) is not likely to go back to sleep. The acceptable positions are stand, sit, rest, and sleep.

22) SILVER

Don't load your mobile up with money. The code of ROT works with silver. A good rule of thumb is:

*A mob should have no more than 33 silver per level*

This should be the MAX a mob would have if they were rich. Also, if theMob is unintelligent, it is likely to have no valuables, and hence, not have any money to sack. Unintelligent mobs should have a money value of Zero!(Example: any common mammals, undead, etc.)

22) SPECIAL FUNCTIONS

Special functions for your mobile. Keeps in mind that giving your mobile special functions may make it anywhere from a little to a LOT tougher.

Of the combat special functions, the least nasty are the spec_breath ones. Harder yet is the special_cast_cleric function. Mobiles with special_cast_mage and spec_cast_undead are very tough!, and because of the possibility of players being drained, should be given these special functions only if they are a prize to fight..e.g. they hold the key to a treasure, or guard the gateway to an area, or wear powerful equipment. New specials can be requested, but don't rely on someone else being willing to code one for you. At this time, no mobile may have more than one special procedure. A list of special functions available, and what spells they contain is below:

spec_breath_acid Mobile breathes acid in combatspec_breath_fire Mobile breathes fire in combat (area attack)spec_breath_frost Mobile breathes frost in combat (area attack)spec_breath_ Mobile breathes poison gas in combat (area attack)spec_breath_lightning Mobile breathes lightning in combatspec_breath_any Mobile may use any breath weaponspec_cast_adept Mobile casts helpful spells on low-level playersspec_cast_cleric Mobile casts clerical spells (ALWAYS cleric act flag)spec_cast_judge Mobile fires bullets (for Mega-City One only)spec_cast_mage Mobile casts mage spells (ALWAYS set the mage act flag)spec_cast_undead Mobile casts spells appropriate for the undeadspec_executioner Mobile attacks Killers and Thievesspec_fido Mobile devours corpsesspec_guard Mobile protects good-aligned people from attackspec_janitor Mobile cleans up junk lying on the groundspec_poison Mobile has a poison attackspec_thief Mobile steals gold (ALWAYS set the thief act flag)spec_nasty_thief Mobile attacks, robs, and runs (ALWAYS set thief flag)spec_dog_pee Mobile will occasionally take a leak on someones leg.spec_attack_fled The Mobile will remember the PC who attacked them and will attack if the PC returns from fleeing.spec_assassin Mobile will backstab PC on sight. Player must be within 7 levels.

The following specials are coded, but should NOT be used because theyare tailored to specific mobiles. Check them out online for examples of unique or area-specific specials that can possibly be coded for your mobiles:

spec_cast_judge Mobile fires bullets (for Mega-City One only)spec_troll_member Mobile attacks ogre gang members (gangland mobs only

Page 29: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

spec_ogre_member Mobile attacks troll gang members (gangland mobs only)spec_patrolman Mobile tries to break up fights (gangland mobs only)spec_mayor The Westbridge mayor special(opens/closes city gates, etc.)

24) SHORT DESCRIPTION

The short description is seen when the mobile fights or performs actions. It should be kept fairly short, preferably 20 characters orless. Example: “The busy bee” hops up and down. Here in the quotes is what the short description is. “The busy bee”

25) LONG DESCRIPTION

The long description is seen whenever a character looks at the room amobile is in (provided, of course, that they can see the mobile in question).Example:

The busy bee flies around here happily.

Ideally it should be one line in length, but in some cases two line or longer long descriptions are justified.

26. MOBILE DESCRIPTION (look)

This is the equivalent of a character's description, and is seen whenyou look at a mobile. It can be as long as you like, but 1-5 lines isprobably best. Try and make it at least a little descriptive, players should feel rewarded for looking at a mobile.

27) SHOPS

A. Sale markup The percentage of the object's nominal value (as coded into the value field of the object) at which the shop will sell the item. Code 130 if you want the shop to make a 30 percent profit. A general guideline is that the sale markup should not be less than 125 percent. Note that the HAGGLE skill may allow some players to get better prices than those you establish here. Do not code a percent sign! And never code a value less than 100!

B. Buyback rate This is the percentage of the object's nominal value at which the shop will buy such an item if a player sells it to the shop. A general guideline is that the buyback value should not be more than 75 percent. Note that the HAGGLE skill may allow some players to get better prices than those you establish here. Do not code a percent sign! And never code a value greater than 100!

C. First Open hour - Last Open hour The first and last hour of the day at which the shop is open. The shop will open at the beginning of the first open hour and close after the end of the last open hour. Legal values for both fields are numbers from 0 (midnight) to 23 (the last hour before midnight). For a shop to be open all the time, code 0 and 23, but really now, not many do that :P

28) MOBPROGS

Please see Kwirlie’s guide to mobprogs for this ;)

And don’t forget!SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE!(see AEDIT section on saving)

== RESETS ==

Ey yo.

This is the section that installs all the mobiles in their variouslocations and equips the mobiles.

To reset an area, the server executes each command in the list of resetcommands once. Each area is reset once when the server loads, and again periodically as it ages. An area is reset if it is at least 3 area-minutes old and is empty of players, or if it is 15 area-minutes old and has players in it.

An 'area-minute' varies between 30 and 90 seconds of real time, with anaverage of 60 seconds. The variation defeats area time-keepers.

Page 30: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

The RESETS section contains a series of single lines.

The reset commands are:

I. load a mobile into a roomII. load an object into a roomIII. put an object in an object (gold in a safe, bag, etc.)IV. give & equip an object to mobileV. Door resets (Offline only)VI. randomize exits (Offline only)

I. Loading a mobile into a room

Reset <number> mob <mobile vnum> <global mob limit> <local mob limit>

- Reset signifies that a mobile is being loaded. - <number> is the number that will appear on the reset list for that particular room. The numbers here will appear in ascending

order. - The name ‘mob’ signifies that we are loading a mob into the room.- The fourth slot is the vnum of the mobile to be loaded- The fifth slot <global mob limit>, is the total number of copies of that mobile that may exist in the game world- The sixth is the number of copies of that mobile that may exist in that room.

Example: Reset 1 mob 1000 6 1

Will reset mobile 1000 into the room you are in once, but allow you to place five other copies of that mobile in other rooms.

Note that if you wish to have multiple copies of the same mobile you must enter the local mobile limit as a greater number.

Example: Reset 1 mob 1000 6 3

Will reset the same as above, but instead of one in the room, 3 will appear with time.

II. Loading an object into a room

Reset <number> obj <object vnum> room

- Reset signifies that a mobile is being loaded. - <number> is the number that will appear on the reset list for that particular room. The numbers here will appear in ascending

order. - The name ‘obj’ signifies that we are loading an object into the room.- <object vnum> is the object vnum.- ‘room’ signifies that we are loading it into the room.

Example: Reset 1 obj 1000 room

That loads (Obj)ect 1000 once into the room you are in.

III. Putting an object into another object:

Reset <number> obj <object vnum> inside <container’s vnum>

- Reset signifies that a mobile is being loaded. - <number> is the number that will appear on the reset list for that particular room. The numbers here will appear in ascending

order. - The name ‘obj’ signifies that we are loading an object into the room.- <object vnum> is the object vnum.- ‘inside’ signifies that we are loading it into another object.- <container’s vnum> is the vnum of the object that is going to be the container, or hold the previous stated object. (NOTE! This

must be a container!)

Example: Reset 1 obj 1001 room <----the container. Reset 1 obj 1000 inside 1001 <----the object in the container

The following was in the RotArea.doc for explaining the weirdness with containers. I don’t think I could do a better job so here it is hehe.

Page 31: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

“If you wish to have multiple copies of a container resetting with things being Put into them, you are in fact having several identical container objects with different vnums for the things to be put into. If you have six backpacks with bread, cheese and water resetting into them, after it finds the first backpack to place the items into, the mud sometimes becomes confused and misplaces items. If you have different containers, the mud will not become confused. We are not sure what causes containers to become confused, and doubtless this attempt at explanation is confusing, but hopefully you get the idea.

You may use the same items *going into* the containers but *not* the same container item. Get it? Good. :)”

IV. Giving and Equiping an object to a mobile

Note! The give reset MUST be placed, in the reset ordering, DIRECTLY after the loading of the mobile that the object is being given to. Example:

reset 1 mob 1000 6 2 <resetting mob 1000 with a global limit of 6 and a local limit of 2>

reset 2 obj 1006 none <places object 1006 into the inventory of the most recently listed mobile above it in the RESET list>

If you want to EQUIP a mobile other than putting an object in it’s inventory you must specify the wear location and replace the ‘none’ in the example above with one of the following.

None light lfinger rfinger neck1 neck2 body head legs feet hands arms shield about waist lwrist rwrist wielded hold floating face tattoo back surrounding lance ear ankle religclan

To see the possible other wear locations at the MUD you are building on type ‘? wear-loc’ when in MEDIT.

V. Door resets (OFFLINE ONLY!!) – that means you as an olc builder cannot do this currently.

D 0 1000 1 2

D denotes that a door reset is being generated. 0 denotes a placeholder for an unused slot. The third slot is the vnum of the room that the door reset is being generated in. The fourth slot is the direction of the door reset is being generated in (since any room may have up to eleven doors) and the fifth is the condition that the door is being placed in. The above example shows the eastern door of room 1000 being set in a closed and locked position. The following list shows the correlating numbers for the door directions:

Good/Evil directions:0 North 1 East 2 South3 West 4 Up 5 Down

Evil only directions:6 North 7 East 8 South9 West 10 Up 11 Down

The following is a list of door flags that may be used:

0 -- Normal exit, no door1 -- door resets to closed2 -- door resets to closed and locked

Note! If you have a door going north from room 1001 to room 1002, you must also have a door going south from room 1002 to room 1001, unless you wish the door in 1001 to be ONE WAY ONLY.

VI. Random Exits. (OFFLINE ONLY!!)

R 0 1000 6

R denotes that the exits from a room will be randomized. 0 denotes a Placeholder for an unused slot. The third slot is the vnum of the room that the exits will be randomized in. The fourth slot is the maximum door number plus one that will be randomized, ie: to randomize exits 0-3, this should be set to 4. Only the normal directions may be randomized, the evil-only exits may not be randomized, so the maximum value for the fourth slot is 6. The above example would randomize exits 0-5 in room 1000.

And don’t forget!!!!!

Page 32: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE! SAVE!

----------------------------------------------------------------------- Setting Up A Pet Shop and/or Mount Shop -----------------------------------------------------------------------

Setting up a pet/mount shop can be quite confusing for a first attempt without having any idea about them. I hope to explain the process here.

First off, you should get the basic idea of what is to be done. You will need two rooms to successfully creat a pet/mount shop. One where the shopkeeper stands and players can go and visit, and the second room is the room where the pet/mounts are stored.

Making a pet/mount shop incorporates using room flags, as well as mob flags. To get yourself started, have two rooms ready, the room vnums (not the actual exit links) MUST be directly adjacent to each other (exampl: room 3030 and 3031 are fine, 3030 and 3040 are not). Then create the room where the shop will be, but this room MUST be the lower vnum of the two. Following the example, this shop room MUST be vnum 3030. This room is where the shopkeeper will sell the pets, and the place where players can visit. When it’s done, in redit, flag the room pet_shop or mountx_shop (whichever is needed), and place your shopkeeper there. (Note: the shopkeeper need not be assigned as an actual shop, but it is recommended you do so for shop hours and such.) Next, go into the later room vnum of the two rooms. This is where your pets/mounts will be stored. Simply create the mobiles that will be sold. If it will be a pet, set the mobile’s ACT flag to pet, if a mount, set the ACT flag to mountx. When the mobile is done, reset it into this room.

ASAVE!

And blamo, you have a pet/mount shop.

Note: In case you are wondering, the prices for pets and mounts cannot be changed by normal means. The prices are coded according to the mob’s level.

----------------------------------------------------------------------- Some Special Doo Dads I Bet You’d Like To Know -----------------------------------------------------------------------

Str Int Wis Dex Con Act_Cleric +1 +3 -1Act_Mage -1 +3 +1Act_Thief +1 -1 +3Act_Warrior +3 -1 +2Fast +2Tiny -2 -2Small -1 -1Medium 0 0Large +1 +1Huge +2 +2Giant +3 +3

********************Dex Effects on Armor value********************DEX Effect on Armor value 3 +40 4 +30 5 +20 6 +10 7-14 0 15 -10 16 -15 17 -20 18 -30 19 -40 20 -50 21 -60 22 -75 23 -90 24 -105 25 -120

Determining AC not Armor!

Page 33: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Ok, on the MUD, in the game, we see a value for Armor. This is not AC (armor class). The MUD takes this Armor value we see on the MUD and plugs it in to a formula to get the REAL AC that has meaning and is also used in the future to determine if a mob or players hit one another.So lets do an example. Lets say I am level 40 or so, and my Armor value is around –50. Then what? Ok, so the MUD takes this value and divides it by 10, and BAM! That’s your AC. In this case presented, my AC would be –5. (-50/10). Now this works up to a certain point *snicker*. After you hit –150 Armor value, a NEW NEW formula takes over to stop wild AC values. (this was made to fit that 50 mortal level for ROM). So, if my Armor value is –200, it obviously passes –150 ;). The mud notices this and plugs the Armor value into a new formula.

((Armor value/10) + 15)/5 –15 = AC-200/10 = -20 (As stated before)THEN((-20 + 15)/5) – 15Remember Algebra!! ;)((-5)/5) – 15(-1) – 15= -16 Done! You now are a guru in determining Armor Class!Did you know that you can make a permanent key?

1) Make an ordinary key2) Link the key to where it should open.3) Change the TYPE of the key to something else, like armor.4) And bam, you’ve got a permanent key. If you want to edit where the key fits though, you will need to turn key type back to Key first.

***********************SPECIAL COMMANDS IN OLC***********************

When you are building an area, it is always very good to know where you are at…what vnums you’ve used, and how much space you have left. A few commands have been made for this reason that I bet not every builder knows about! If you want to see what object, mobs, and rooms have been used and built in YOUR areas, first go into Redit mode. Then simply type ‘olist all’ to see ALL the objects in your area...or ‘Mlist all’ to see all the mobs, or ‘Rlist all’ to see all the rooms. It’s as simple as that!

Now, it is also good to know the technical stuff of all the areas on the mud you work at. Ya, sure, you could type ‘area’ to see all the areas built, but that’s not imformative enough for a professional builder like you ;) if you type ‘Alist’, no matter what mode you are in, you will get a list of all the areas on your MUD with important data such as their vnum range, the builder(s) working on each area, and a few other things. Here is an example of an Alist.

[Num] [Area Name ] (lvnum-uvnum) [Filename ] Sec [Builders][ 0] Limbo (1 - 99) limbo.are [9] [None ][ 1] MoogleTown (100 - 199) moogle.are [9] [Mielikki][ 2] Plains (300 - 399) plains.are [9] [None ][ 3] New Ofcol (600 - 699) ofcol2.are [9] [None ][ 4] Olympus (900 - 999) olympus.are [9] [None ][ 5] In the Air (1000 - 1099) air.are [7] [None ][ 6] Shire (1100 - 1199) shire.are [7] [None ]

========================================================================== IN CONCLUSION === =======================================================================

In Conclusion, Remember we are striving to make a fun, and playable place. The surroundings of a MUD (the areas) are so critical to what the MUD is that it must have special care and attention. If the areas are too easy, a MUD will attract a certain crowd…most of the time, a crowd that likes things handed to them on a silver platter..and get frustrated when they come in contact with something harder than usual (Trust me, I’ve seen it). Making a MUDs areas too complicated and hard is also not good as well. Some may believe that the harder you make an area, the better it is. This is not true either. Do not forget that we want a fun, fair, and playable atmosphere. If things are too easy, the fun dissipates because its boring. “Oh I got a new level.” Big deal if you can get another in the next 15 minutes. “I’ll be right back, I’m gonna go get me a new set of Equipment” Ummm, yeah. This shouldn’t be possible, although it is on some ROT based muds. Now you would say, ok so let’s make it harder. But the key here is HOW hard do you make a MUD so it’s still fair and not too complicated? If it’s too hard, people will become frustrated because they can’t kill a sparrow or dog that wanders aimlessly around town. Or perhaps you made the the money distribution in your game so limited but left the shop prices way way expensive. Things like this can ruin a MUD as well. So WHERE is this LINE between the two. Well, that depends on the MUD. And even then, no one really knows. Anyone who ever tells you they have the perfect system for this is wrong. Sorry to be judgmental but it’s true :). Even AD&D isn’t perfect. So in conclusion, I’d like to say that this manual in itself, is NOT perfect, and is most likely too hard in some areas...and too easy in others. So what do you do? As a builder you follow them ;). But, I will say suggestions are welcome, and testing these above rules and guidelines is definitely OK and is needed. Just be nice to me! Hehe, please don’t come up to me and say ‘this

Page 34: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

sucks’. We are a team, we work together. I am willing to hear your side of the story with an open mind. This does not mean I’ll agree and change my set of guidelines but it does mean I’ll listen. And if I feel your suggestion is right and that I am wrong I will happily change it! Just remember, being a good builder doesn’t just mean you are good at room descriptions and interesting objects and mobs. There are a lot of technical applications that you need to know! Aside from this, a good builder is also someone who is cooperative with other builders, and understands that teamwork is vital for growth and expansion! Two heads are always better than one. So have fun when you build, and if you don’t, perhaps you are putting your time into the wrong thing. Think about it :) Enjoy! Merry Part!

Mielikki, Lady of the ForestSandra Washerwing, SuperPixie!

Page 35: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Table of Contents 1. The Basic Idea 2. MOBPrograms Syntax 3. Linking MOBPrograms 4. Trigger Types 5. Variables 6. Operators 7. If_Checks 8. New Commands of Interest 9. Loading Mobiles and Objects10. Miscellaneous Information11. Quick Reference Information12. Examples

The Basic Idea_______________________________________________________________________

TRIGGERS and SCRIPTSA trigger is basically what activates a MOBProgram

VARIABLESA variable is a symbol that represents something else, where the variable is constant, yet what it represents could change. (i.e. $n is always someone's name, but WHOSE name it is can change all the time)

MOBPROGRAMS vs SPEC_PROCSA spec_proc is basically a premade, one-shot, mobprogram, with limited uses and situational uses. A MobProgram on the other hand, is custom made to do just what the builder want. Using various elements to each builder's own unique demands, he can use the mobprogram when he wants as well.

CODEThe code is the main body of a MOBProg. This is where all the actions are defined and included. The codeis entered on a small notepad built into the OLC itself. This is the same notepad used for entering descriptions in redit, medit, and oedit.

MobProgram Syntax______________________________________________________________________________

First, before you can use any MobProgram, you must have a mobile whom will of course use the MobProgram. We will assume you have your mobile, so we will start here showing you how to make a simple MobProgram. The best way to show how syntax is used is by giving examples , so lets start with one.

First, assign a Vnum to your MobProgram.For now, lets use #1000Type:

Mpedit create 1000

You now have an unused MobProgram with which to work. By hitting the Enter key by itself, you should get the following screen to appear:

VNUM: [1000]CODE:

The Vnum is the number you assigned to the MobProgram, and the Code is the section where your will include the commands that define the actions of the Mobile you select.

OK, lets assume you want to make the mobile say hi when someone enters the room. Its quite simple, in fact, you will be shocked at HOW simple it is;)Type:

Code{this will give you the following screen/message}

-======- Entering APPEND Mode -=======- Type .h on a new line for help

Terminate with a ~ or @ on a blank line.-=================================->

{this is the standard notepad for descriptions, so you may recognize this screen...do not format within mpedit however}Type:

say Hi@

that's it, you are done.

Page 36: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Type:done

this tells the Mpedit that you are finished editing the program, and wish to do something else.

Linking MobPrograms______________________________________________________________________________

In this section we go about linking MobPrograms to the Mobiles intended to use them.

now, you remember the mobile we assumed you had? we assume now that you still have it:) for this example, lets use vnum 2000.

Type:Medit 2000

you should know this, this is standard mobile editing screen. OK, you don't see any options for adding a mobprog, so lets tell you what and how now.

Type:AddMProg 1000 greet 100

AddMProg

vnum = this is the vnum of the mobprogram you are using, it changes for each mobprogram you usekeyword = this is function that tells the mobprogram when to activate the trigger. for now, all you need to know is that greet tells

the program to activate when someone enters the room.argument= this can be a number, or a string that provides more information regarding activating the trigger. In this case, 100 is a

number, read as a percent as the percent chance of a trigger activating when the keyword's requirements are met.

(as example - AddMProg 1000 greet 50 - tells the program that when a mobile enters the room, choose a random number, from 1 to 100. If that number is less than or equal to 50, the trigger will be activated)

*note: you can make different mobiles use the same mobprogram, using a different keyword and argument for each mobile, while leaving the MobProgram unchanged.

example: for the above example you enteredAddMProg 1000 greet 100

using the same mobprog, on a different mobile, you could enter the followingAddMProg 1000 speech hi

now, using the same mobprog, whenever a PC says he, the mobile with the mobprog attached will respond with the actions defined in the code of MobProg 1000

Trigger Types______________________________________________________________________________

OK, here is a list of triggers used in MobPrograms included are names, argument list syntaxes, and a brief explanation for each one.

ACT keyword - Actargument - string

the trigger is activated whenever the phrase in the argument is found by the mobile this is the most general trigger. it applies to almost every event which happens in the mud. Some things that do not trigger this to take place are 'say', 'shout', and 'emote'

SPEECH keyword - Speechargument - string

this trigger is activated only when a pc in the same room as the mobile uses the argument in a 'say' command. talking between 2 npc's is not possible in this manner to avoid possible infinite loops.

RANDOM keyword - randomargument - number

this argument is a number between 0 and 99 this will cause the trigger to check a random number from 1 to 100 after each mob_pulse (remind me to ask torm how often that is)to see whether or not the trigger is activated. This trigger is ONLY checked when there are players in the area, if you want this event to be triggered always, use the Update_Always flag found in Medit for the vnum.

Page 37: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

GREET/GRALL keyword - greet/grallargument - number

the argument here is again a number, or random percent chance of a triggered event occurring.

greet - when ever someone enters the room containing the mobile with the MobProg, and the mobile sees the person enter, this will check the number given as an argument. note-this will only activate when the mobile is not busy fighting, sitting, sleeping, etc.

grall - like greet, but is triggered even if the mobile does not witness the player enter or is busy.

ENTRY keyword - entryargument - number

hehe, argument here is a random percent number from 0 - 100(bet you would have never guessed by now, huh?). This is sort of the opposite of greet, whenever the mobile with the program enters a room, the argument is checked and possibly activates attached triggers.

note - you can only use random pc checks here when the mobile enters a room ($r), there is no way for the mobile to count or identify a particular PC when he enters a room.

EXIT/EXALL keyword - exitargument - number

the number for the argument is the exit number (0:North, 1:East, 2:South, 3:West, 4:Up, 5:Down). This is the opposite of the Entry trigger. When the PC tries to leave the room through and exit indicated by the argument, and the mobile sees the PC leave. An exit trigger, unlike an entry trigger, can refer to a specific PC rather than a random PC.

note- triggering this even will keep the PC from moving through the exit, you may have to move the PC out yourself (see mobtransfer/mob gtransfer).

note - this trigger is not activated when the PC flees, or when the mobile is not in the default position.

exall - same as exit, but can be triggered if the mobile does not see the PC or if the mobile is busy.

GIVE keyword - giveargument - string or object vnum

The argument here is either a string containing words to be matched against the keywords of the object, or the word 'all'. ex. argument 'long sword' with match 'long bow' and 'small sword'. Also the argument can be the virtual number of a single object. This trigger is activated anytime something is given to the mobile. Since the first successful trigger is the only one of this type processed, the 'all' argument at the end of the MOBProg list is just a default response.

BRIBE keyword - bribeargument - number

The argument is any positive integer number. The trigger is activated whenever money is given to the mobile. If the amount given exceeds the argument, then the trigger will activate successfully. If not enough money is given, the mobile will keep the money, and nothing will happen. (note about currency - the number given should be the value in silver coins, so you may have to do a simple conversion equation. i.e. 100 silver = 1 gold, 100 gold = 1 platinum)

KILL keyword - killargument - number

The argument here is a percentage check again. This trigger is checked whenever a PC attacks the mobile. The check occurs only once, in the beginning of combat. Useful for summoning assistance (see mob mload).

FIGHT keyword - fightargument - number

The argument here is a percentage.(what a shocker) This MobProg is checked every PULSE_VIOLENCE when the mobile is fighting.(i figured this out on my own, its each combat round really, PULSE_MOBILE i think means like each time the mob resets or something, anyway its longer than the PULSE_VIOLENCE, experiment so you don't go overboard:) Only the first successful command will be processed, so this can not be used to have the mobile perform several actions (ex. cast meteor, bash, circle, dirt_kick, and then flee......sorry it ain't happening).

Page 38: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

HIT POINT PERCENTAGEkeyword - hpcntargument - number

The argument here is again a percentage. During each PULSE_VIOLENCE, this checks the mobile's hit points. If the percent of mobile's hit points remaining are less than the number given, then the trigger is activated. Using several hpcnt triggers - you must remember to list them in increasing order of percentage, since a 40% trigger will be activated before a 20% trigger, etc.

DEATH keyword - deathargument - number

The argument (guess?) is a percentage. When the mobile dies, a check is made against the argument, if the random percentage generated is less than the argument, the trigger will be activated. This will be done before the corpse is made, so the command is basically the mobiles last words, actions, etc. However, even having the mobile restore itself to full hitpoints it will still die, no immortal mobiles:)

DELAY keyword - delayargument - number

The argument is a percentage chance. This trigger is activated when the delay of a mobile (set with MOB DELAY command) expires. A mobile can have several delay triggers, but every time the delay timer expires, all the triggers are checked and the first successful one is executed.

Variables_______________________________________________________________________

Variables are predefined symbols that are used to represent a changing value within the code of a MobProg. Basically, its a character used to represent a changing valuable so you don't have to write a MobProg for every different value. A good example is a name. Using the $n variable, you are telling the mobprog to identify the name of the person who activates the trigger. Each time the trigger is activated $n has a new value, and you don't have to change the code for every name.

Here is a list of variables and brief descriptions.

$i the first of the names of the mobile itself$I the short description of the mobile itself$n the name of whomever activated the trigger$N the name and title of whomever activated the trigger$t the name of a secondary character target (joe smiles at bill. joe = $n bill = $t)$T the short description(NPC), or name and title of a target(PC)$r the name of a random PC in the room with the mobile$R the short description (NPC), or name and title of the random PC$q the name of the MOBProgram target* (see MOB REMEMBER)$Q the short description of the MOBProgram target

$j he, she, it based on sex of $i$e he, she, it based on sex of $n$E he, she, it based on sex of $t$J he, she, it based on sex of $r

$k him, her, it based on sex of $i$m him, her, it based on sex of $n$M him, her, it based on sex of $t$K him, her, it based on sex of $r

$l his, hers, its based on sex of $i$s his, her, its based on sex of $n$S his, hers, its based on sex of $t$L his, hers, its based on sex of $r

$o the first of the names of the primary object (A drops B)$O the short description of the primary object$p the first of the names of the secondary object (A puts B in C)$P the short description of the secondary object

Page 39: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

If_Checks______________________________________________________________________________

Next is a list of if_checks, their categorization, and the syntax for using them. There are a few things to keep in mind when using if_checks.

1) any '==' operator can be replaced with ==, !=, >=,<=2) the argument $* means any of the variables listed earlier that would make sense in that location are valid (i.e. when talking

about a PC, you would not use a variable that refers to an item)3) a value type of 'string' does not need to be included in quotes

There are 5 different types of if_checks

type 1 - Keyword Value Explanation

rand num a random percentage less than or equal to num (a randomly generated percentage)mobhere vnum is a NPC with this vnum in the roommobhere name is a NPC with this name in the roomobjhere vnum is an object with this vnum in the roomobjhere name is an object with this name in the roommobexists name does NPC 'name' exist somewhere in the worldobjexists name does object 'name' exist somewhere in the world

type 2 -Keyword Comparison Value Explanation

People == integer Is the number of people in the room equal to integerplayers == integer Is the number of PC's in the room equal to integermobs == integer Is the number of NPC's in the room equal to integerclones == integer Is the number of NPC's in the room with same vnum as the NPC who activated the program

equal to integerorder == integer Is the order (of several similar NPC's) of the NPC who activated the program equal to integerhour == integer Is the hour (game time) equal to integer

type 3 -Keyword Actor Explanation

isnpc $* is $* an NPCispc $* is $* a PCisgood $* does $* have a good alignmentisneutral $* does $* have a neutral alignmentisevil $* does $* have an evil alignmentisimmort $* is $* an immortal (above level 101)ischarm $* is $* affected by the 'charm person' spellisfollow $* is $* a follower with their master in the roomisactive $* is $*'s position not sleepingisdelay $* does $* have a delayed mobprog pendingisvisible $* is $* visible to NPC who activated the programhastarget $* does $* have a mobprogram target in the roomistarget $* is $* the target of NPC who activated the program

type 4 -Keyword Actor Value Explanation

affected $* 'affect' is $* affected by 'affect'act $* 'act' is $*'s ACT bit 'act' setoff $* 'off' is $*'s OFF bit 'off' setimm $* 'imm' is $* IMM bit 'imm' setcarries $* 'name' is $* carrying object 'name'wears $* 'name' is $* wearing object 'name'has $* 'type' does $* have object of item_type 'type'uses $* 'type' is $* wearing object of item_type 'type'name $* 'name' is $*'s name 'name'pos $* 'position' is $*'s position 'position' (sleeping, standing, etc)clan $* 'name' does $* belong to clan 'name'race $* 'name' is $* of race 'name'class $* 'name' is $*'s class 'name'objtype $* 'type' is $*'s item_type 'type'

Page 40: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

type 5 -Keyword Actor Comparison Value Explanation

vnum $* == integer is $*'s vnum equal to integerhpcnt $* == integer is $*'s hitpoint percentage equal to integerroom $* == integer is vnum of the room $* is in equal to integersex $* == integer is $*'s sex equal to integerlevel $* == integer is $*'s level equal to integeralign $* == integer is $*'s align equal to integermoney $* == integer does $* have money (in silver) equal to integerobjval# $* == integer is $* - value[#] equal to integer(# from 0 - 4)

New Commands of Interest______________________________________________________________________________

Immortal commands

MPStat [mobile]Displays the triggers and MOBProgram vnums defined for the mobile

MPDump [vnum]displays the MOBProgram code of given vnum

Mob commands

Mobcommands are Immortal like actions within a mobprogram (like transfer, load, or echo) Most MOBcommands are wizcommands which have been changed to allow mobiles to perform them. all mobcommands are preceded withthe word 'MOB' on the command line

MOB Asound [string]Asound prints the text string to the rooms around the mobile in the same manner as a death cry. This is useful for powerful aggressives and is also nice for wandering minstrels or the like.

MOB Zecho [string]Zecho prints the string to all players in the same area with the mobile.

MOB Gecho [string]Gecho displays the string to all players in the game.

MOB Echo [string]Echo displays the string to everyone in the room.

MOB Echoat [victim] [string]Echoat displays the string to the victim only

MOB Echoaround [victim] [string]Echoaround displays the string to everyone except the victim

MOB Mload [vnum]Mload creates a mobile and places it in the same room with the mobile.

MOB Oload [vnum][level]['room'|'wear']Oload loads the object into the inventory of the mobile. Even if the item is non-takable, the mobile will receive it in the inventory. The optional 3rd parameter can be specified, 'room' means to load the object to the room, 'wear' means to force the mobile to wear the object loaded (useful for quickly equipping mobiles)

MOB Kill [victim]Kill lets a mobile kill a player without the 'murder' command. lots of mobprogs use mpkill $n commands, it works on both mobiles and players.

MOB Fleecauses a mobile to unconditionally flee from combat. Can be used for example with the hpcnt trigger to simulate a 'wimpy' flag

MOB Remove [victim] ['vnum'|'all']lets the mobile strip an object of given vnum from the victim. objects removed are destroyed. if the vnum is replaced with 'all', the whole inventory of the victim is destroyed. This command is most useful for extracting quest items from a player after a quest has been completed.

Page 41: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

MOB Junk [object]destroys the object referred to in the mobile's inventory. It prints no message to the world and you can do things like junk all.bread or junk all. This is nice for having janitor mobiles clean out their inventory if they are carrying too much (have a mobrogram trigger on the 'full inventory'

MOB Purge [argument]destroys the argument from the room of the mobile. without an argument the result is the cleansing of all NPC's and items in the room with the exception of the mobile itself. However mpurge $i will purge the mobile, but it MUST be the last command the mobile tries to do, otherwise the mud cant reference the acting mobile trying to do the commands and bad things happen

MOB AT [location] [command]performs the command at the designated location. very useful for doing magic slight of hand tricks that leaveplayers dumbfounded..such as morphing mobiles, guard summoning, and corpse vanishing.

MOB Goto [location]moves the mobile to the room or object requested. It makes no message of its departure or of its entrance, so these must be supplied with echo commands if they are desired.

MOB Transfer [victim|'all'][location]sends the victim to the destination or to the room of the mobile as a default. if the victim is 'all' then all the characters in the room of the mobile are transferred to the destination. Good for starting quests or things like that. there is no message given to the player that it has been transferred and the player doesn't do a look at the new room unless the mob forces them to.

MOB Gtransfer [victim][location]like transfer, except the group with the victim belongs to is transferred with the victim

MOB Otransfer [object][location]like transfer, but it transfers objects rather than pc's/npc's

MOB Force [victim|'all'][command]simply forces the victim to do the designated command. The victim is not told that they are forced, they just do the command so usually some mpecho message is nice. Players can be forced to remove eq, give eq, etc. The players see themselves removing the equipment however. Using the 'all' for a target refers to 'all' in the room with the mobile.

MOB Gforce [victim][command]gforce is like force, but it forces the target's entire group.

MOB Vforce [vnum][command]Vforce affects all mobiles of a certain vnum, this is useful for destroying large armies of mobiles to purge themselves.

MOB Cast [spell][victim]causes the mobile to cast the indicated spell. It allows any mobile to cast any spell, and uses no mana.

MOB Damage [victim|'all'][min][max][lethal]causes unconditional damage to the victim. specifying 'all' will cause damage to everything in the room with the mobile. Min and Max parameters indicate the minimum and maximum amounts of damage caused. By default damage is non lethal, but by adding the 'lethal' argument the damage can kill the victim.

MOB Cancel/Mob DelayMOB Delay sets the time in Pulse_mobile after which the mobile's delay trigger is activated. (again i think pulse_mobile is a tick) If the mobile has a program defined for delay trigger, the program is executed when the timer expires. MOB Cancel resets the delay timer

MOB Remember/MOB Forget [victim]This commands enables the mobile to remember a player for future reference in a MOBProgram. The player can subsequently be referred to as '$q' in programs activated by the mobile. MOB Forget clears the target. Note that if the first time the mobile runs a program, $q is automatically set to the player who triggered the event. Most commonly this command is used in delayed programs, where the mobile has to remember the player who triggered the original event, for the example to continue conversation.

MOB Call [vnum][victim][target1][target2]This command lets you call MOBPrograms from within a running one, i.e. to call a MOBProgram subroutine. The first parameter is the vnum of the program to execute, the second is the victim's name (example $n), and the third and fourth are optional object names. All other parameters except vnum can be replaced with the word 'null' indicating ignored parameter (note i think if it says you can add 'null' that you merely can leave it blank, 'null' is called from the shell, and not necessary in OLC). MobProgs can be called recursively, but as a safety measure, the parser only allows 5 recursions.

Page 42: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Loading Mobiles and Objects______________________________________________________________________________

When you use MOB Load, and MOB Oload, there are two things to remember. One is that loaded mobiles have no equipment, and the other is that it is difficult to keep track of loaded mobiles and objects.

If you want items or mobiles to appear as a result of a players' actions, create a storage room. Define resets for the mobiles as usual, and place them in the storage room. When you need to use the mobiles, just MOB Transfer them to the location you want. This is better than creating mobiles on the fly, since you don't have to worry about creating too many mobiles or equipping them, area resets take care of all that.

If you have a MOBProgram that makes a mobile, you might want to make the mobile 'self-destructing'. this is easier to do with a random trigger that checks if the mobile is doing anything useful and possibly does 'mib purge $i'.

Another possibility is the use a 'purgemaster'. Create a new storage room with a single mobile, attach a random trigger that does 'mob purge' to that mobile. Now, when you need to get rid of anything, just 'mob transfer' the mobile or item to the purgemaster, and it will be destroyed sometime later.

Miscellaneous Information______________________________________________________________________________

There really is no limit to the number of MOBPrograms a mobile can have, however the length of a single command block is limited by the value of max_string_length, which is about 100 lines or so. You can however get more out of mobprograms with clever usage of MOB Call.

It is possible to accidentally make mobiles which can trigger infinite loops. In the case of a loop, the mobile's behavior will be undefined.

Quick Reference Sheets______________________________________________________________________________

*************************************************************************************************trigger argument explanation--------act STRING to match from act() to mobilespeech STRING to match in dialogue (say, tell) to mobilerand PERCENT chance to check whenever a PC is in the mobile's zonebribe INTEGER minimum amount of silver coins given to mobilegive Obj name, Obj vnum, or All to match when obj is given to mobilegreet PERCENT chance to check if visible char enters mobile's roomgrall PERCENT chance to check when any char enters the mobile's roomentry PERCENT chance to check when mobile enters new roomexit Exit Number a visible character tries to exit mobile's roomexall Exit Number any char tries to exit the mobile's roomkill PERCENT chance to check when the mobile begins fightingfight PERCENT chance to check at fight_pulse (combat round) if mobile is fightinghpcnt PERCENT lower than mobile's hit points/ max hit points if mobile is fightingdeath PERCENT chance to check after mobile has been slain*************************************************************************************************$i the first of the names of the mobile itself$I the short description of the mobile itself$n the name of whomever activated the trigger$N the name and title of whomever activated the trigger$t the name of a secondary character target (joe smiles at bill. joe = $n bill = $t)$T the short description(NPC), or name and title of a target(PC)$r the name of a random PC in the room with the mobile$R the short description (NPC), or name and title of the random PC$q the name of the MOBProgram target* (see MOB REMEMBER)$Q the short description of the MOBProgram target

$j he, she, it based on sex of $i$e he, she, it based on sex of $n$E he, she, it based on sex of $t$J he, she, it based on sex of $r

$k him, her, it based on sex of $i$m him, her, it based on sex of $n$M him, her, it based on sex of $t$K him, her, it based on sex of $r

$l his, hers, its based on sex of $i$s his, hers, its based on sex of $n$S his, hers, its based on sex of $t

Page 43: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

$L his, hers, its based on sex of $r

$o the first of the names of the primary object (A drops B)$O the short description of the primary object$p the first of the names of the secondary object (A puts B in C)$P the short description of the secondary object*************************************************************************************************type 1 - Keyword Value Explanation

rand num a random percentage less than or equal to num (a randomly generated percentage)mobhere vnum is a NPC with this vnum in the roommobhere name is a NPC with this name in the roomobjhere vnum is an object with this vnum in the roomobjhere name is an object with this name in the roommobexists name does NPC 'name' exist somewhere in the worldobjexists name does object 'name' exist somewhere in the world

type 2 -Keyword Comparison Value Explanation

people == integer Is the number of people in the room equal to integerplayers == integer Is the number of PC's in the room equal to integermobs == integer Is the number of NPC's in the room equal to integerclones == integer Is the number of NPC's in the room with same vnum as the NPC who

activated the program equal to integerorder == integer is the order (of several similar NPC's) of the NPC who activated the

program equal to integerhour == integer Is the hour (game time) equal to integer

type 3 -Keyword Actor Explanation

isnpc $* is $* an NPCispc $* is $* a PCisgood $* does $* have a good alignmentisneutral $* does $* have a neutral alignmentisevil $* does $* have an evil alignmentisimmort $* is $* an immortal (above level 101)ischarm $* is $* affected by the 'charm person' spellisfollow $* is $* a follower with their master in the roomisactive $* is $*'s position not sleepingisdelay $* does $* have a delayed mobprog pendingisvisible $* is $* visible to NPC who activated the programhastarget $* does $* have a mobprogram target in the roomistarget $* is $* the target of NPC who activated the program

type 4 -Keyword Actor Value Explanation

affected $* 'affect' is $* affected by 'affect'act $* 'act' is $*'s ACT bit 'act' setoff $* 'off' is $*'s OFF bit 'off' setimm $* 'imm' is $* IMM bit 'imm' setcarries $* 'name' is $* carrying object 'name'wears $* 'name' is $* wearing object 'name'has $* 'type' does $* have object of item_type 'type'uses $* 'type' is $* wearing object of item_type 'type'name $* 'name' is $*'s name 'name'pos $* 'position' is $*'s position 'position' (sleeping, standing, etc)clan $* 'name' does $* belong to clan 'name'race $* 'name' is $* of race 'name'class $* 'name' is $*'s class 'name'objtype $* 'type' is $*'s item_type 'type'

type 5 -Keyword Actor Comparison Value Explanation

vnum $* == integer is $*'s vnum equal to integerhpcnt $* == integer is $*'s hitpoint percentage equal to integer

Page 44: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

room $* == integer is vnum of the room $* is in equal to integersex $* == integer is $*'s sex equal to integerlevel $* == integer is $*'s level equal to integeralign $* == integer is $*'s align equal to integermoney $* == integer does $* have money (in silver) equal to integerobjval# $* == integer is $* - value[#] equal to integer(# from 0 - 4)*************************************************************************************************MOBCommand arguments-------------------ASOUND [text_string]ECHO [text_string]GECHO [text_string]ZECHO [text_string]ECHOAT [victim][text_string]ECHOAROUND [victim][text_string]MLOAD [vnum]OLOAD [vnum][level]KILL [victim]FLEEREMOVE [victim][vnum]JUNK [object]PURGE [argument]AT [target|room][command]GOTO [target|room]TRANSFER [victim][target|room]GTRANSFER [victim][target|room]OTRANSFER [object][target|room]FORCE [victim][command]GFORCE [victim][command]VFORCE [vnum][command]CAST [spell][victim]DAMAGE [victim][min][max][lethal]DELAYCANCELREMEMBER [victim]FORGET [victim]CALL [vnum][victim]target1][target2]

*************************************************************************************************

Examples______________________________________________________________________________

These examples were written for Waterdeep (waterdeep.mudsrus.com 6660) by the immortal Beshaba

MOBPrograms for [ 1841]: Number Vnum Trigger Phrase ------ ---- ------- ------[ 0] 1805 KILL 100[ 1] 1807 FIGHT 60[ 2] 1800 ENTRY 100[ 3] 1800 GREET 100

Vnum: [1800]Code:if isevil $n 46 say Die $n! mob echo $I summons an eagle from out of the trees! mob transfer grugs mob kill $nendifif isgood $n smile $n say May Mielikki guide your path $n.endif

Vnum: [1805]Code:mob echo $I Has summoned an Eagle to fight with him!

Page 45: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

mob transfer grugsmob force grugs follow centaur

Vnum: [1807]Code:if isevil $n mob cast 'ray of truth' $nelse mob cast 'acid blast' $nendif

===================================================================================

MOBPrograms for [ 1800]: Number Vnum Trigger Phrase ------ ---- ------- ------[ 0] 1808 KILL 100[ 1] 1809 FIGHT 6[ 2] 1810 FIGHT 7

Vnum: [1808]Code:mob zecho A Great rumbling shakes the ground as a Dragon Roars!mob echo A THUNDEROUS ROAR nearly splits your ears!!!say YOU DARE DISTURB MY REST!?!?!? So be it...breakmob cast 'firebreath' $ryell GUARDS!! TO ME NOW!!

Vnum: [1809]Code:mob echo A Gnoll has entered from the west.mob mload 1803mob transfer commandermob force gnoll backstab $n

Vnum: [1810]Code:if isnpc $r mob echo $I swings her massive tail at $R mob echoaround $i has struck $R with her tail sending them FLYING OUT OF THE ROOM!! mob damage $r 300 1000 mob transfer $r 1867elseif ispc $r mob echo $i swings her massive tail at $r mob echoat $r You've been struck by $I sending you FLYING!! mob echoaround $i has struck $r with her tail sending them FLYING OUT OF THE ROOM!! mob transfer $r 1867endif

===================================================================================

MOBPrograms for [ 1806]: Number Vnum Trigger Phrase ------ ---- ------- ------[ 0] 1807 FIGHT 80[ 1] 1806 FIGHT 40

Vnum: [1807]Code:if isevil $n mob cast 'ray of truth' $nelse mob cast 'acid blast' $nendif

Vnum: [1806]Code:mob cast 'cure critical' littlelaughs

Page 46: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

say Lets roll the dice $n! HA! Snake-Eyes!mob cast 'acid blast' $nmob force sarquina backstab $n

===================================================================================

These examples were written for Waterdeep (waterdeep.mudsrus.com 6660) by the immortal Torm

MOBPrograms for [15001]: Number Vnum Trigger Phrase ------ ---- ------- ------[ 0] 15002 SPEECH done[ 1] 15001 SPEECH quest[ 2] 15000 SPEECH items[ 3] 15003 GRALL 100[ 4] 15004 BRIBE 5000

Vnum: [15002]Code:if carries $i 'red' if carries $i 'blue' if carries $i 'green' if carries $i 'black' if carries $i 'white' say Great! Now give me 50 platinum and I'll make your armor! else say You have not given me the White Dragon Scales! endif else say You have not given me the Black Dragon Scales! endif else say You have not given me the Green Dragon Scales! endif else say You have not given me the Blue Dragon Scales! endifelsesay You have not given me the Red Dragon Scales!endif

Vnum: [15001]Code:say If you bring me the following items I'll make you an armor of the finest quality!say A pile of scales from each color of the chromatic dragons.say When you have given me these items, say the word "done", and I will make your armor.say Good luck!

Vnum: [15000]Code:say You have given me the following items:if carries $i 'red' say Red dragon scalesendifif carries $i 'blue' say Blue dragon scalesendifif carries $i 'green' say Green dragon scalesendifif carries $i 'black' say Black dragon scalesendifif carries $i 'white' say White dragon scalesendif

Vnum: [15003]Code:say Hello, $n!

Page 47: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

say I have an idea for a fine piece of armor I'd be willing to make you, but

Page 48: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Vnum: [15004]Code:if carries $i 'red' if carries $i 'blue' if carries $i 'green' if carries $i 'black' if carries $i 'white' say Thank you! Here is your armor. mob echo Georn pounds on the scales on his forge for several minutes. mob oload 18215 give armor $n mob junk scales mob junk scales mob junk scales {these 5 lines could have been replaces with mob junk all.scales - mor} mob junk scales mob junk scales else say You have not given me the White Dragon Scales! endif else say You have not given me the Black Dragon Scales! endif else say You have not given me the Green Dragon Scales! endif else say You have not given me the Blue Dragon Scales! endifelsesay You have not given me the Red Dragon Scales!endif

===================================================================================

MOBPrograms for [18203]: Number Vnum Trigger Phrase ------ ---- ------- ------[ 0] 18202 EXALL 0

Vnum: [18202]Code:mob echo $I roars fiercly, shaking the ground!mob echo $I knocks you back the from with a fierce strike of their tail!

===================================================================================

MOBPrograms for [18208]: Number Vnum Trigger Phrase ------ ---- ------- ------[ 0] 18209 DEATH 100[ 1] 18208 FIGHT 20

Vnum: [18209]Code:mob echo The mighty Tchazzar screams in horrifying agony with all five heads,mob echo a cry so painful and horrifying that it burns you to the core!mob gecho BOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOM!mob echo A blinding FLASH of light explodes, sending fragments of flaming dragon fleshmob echo Raining down in all directions like a hail of bodies, gore covering everything..mob echo You fly back and slam hard into the wall, stunned in pain, unable to move...mob echo Through a haze of dizziness you look up..mob echo .mob echo .mob echo A most horrifying transformation takes place before you.mob echo .mob echo .mob echo The flesh catches fire on her dead body, burning quickly away to blackened bone.mob echo The bones grow with magic, it's eyes flare Red as the entire skeletonmob echo Rises from the ashes of death. With a sinister gaze, the new-bornmob echo DracoLich of Tchazzar utters arcane words of power, and turns to face you.

Page 49: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

mob echo You freeze in terror at the sight of the thing, momentarily frozen until themob echo realization of this extreme danger sinks in. You fight back the diziness.mob mload 18210{i find this example is a magnificent rendition of using the DEATH trigger for a spectacular scene - mor}

Vnum: [18208]Code:mob echo Tchazzar shrieks loudly!mob echo Tchazzar swings her tail around, crushing everyone in its way.mob damage all 1000 3000

===================================================================================

MOBPrograms for [18210]: Number Vnum Trigger Phrase ------ ---- ------- ------[ 0] 18211 FIGHT 5[ 1] 18210 DEATH 100

Vnum: [18211]Code:mob echo The mighty dracolich of Tchazzar shrieks in unholy glee and resurectsmob echo one of its dragon subjects to strike you down!mob echo A vampire of an ancient red wyrm rises from the dead!mob oload 18209

Vnum: [18210]Code:mob echo The dracolich howls and its bones collapse into a pile of dust,mob echo as Tchazzar dies for the last time.mob echo The key to her treasure vault slips from her claws, and clattersmob echo noisily to the ground.mob oload 18209drop key

===================================================================================

These examples were written for Waterdeep (waterdeep.mudsrus.com 6660) by the immortal Mielikki

MOBPrograms for [24019]: Number Vnum Trigger Phrase ------ ---- ------- ------[ 0] 24002 FIGHT 45[ 1] 24003 EXALL 2[ 2] 24004 DEATH 100

Vnum: [24002]Code:mob cast 'meteor swarm' $n

Vnum: [24003]Code:mob echo Teilmon's tail lashes out at you and blocks you from your escape!mob damage $n 50 200say NO ONE CAN LEAVE THE LAIR OF TEILMON ALIVE!

Vnum: [24004]Code:rem amuletdrop amuletmob mload 20 mob mload 21mob mload 22mob mload 23

===================================================================================

ok those were a selection of mobprogs written for the Waterdeep mud, and each is for use of that mud. obviously these can be rewritten, but are not intended for you to clone. Instead these examples are here to give you an idea of how some mobprogram commands are installed, executed, and scripted.

Page 50: P I X I E O L C G U I D E  · Web view-----------------------------------------+---------------------------------------------- 0 1d3+5 1d2+0 10 100 | 1 1d5+8 1d3+0 10 97 | 56 8d59+1054

Final Stuff - The Dreaded Last Page<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>< ><><><><><><>This is the first draft of what i hope to become a complete guide to writing MobPrograms for Rot Muds in general if you have any questions, comments, suggestions, or troubles, email me at [email protected]

I go by many names on the internet, but Kwirl Karphys is how i can most often be found. I have used a multitude of sources for this work, and i will give credit to them all as i remember. any exclusion is due to ignorance, and not disrespect, and should not be taken as such.

First i thank the staff of WaterDeep, for giving me a chance to learn this stuff, and to allow me to teach others. The implementors- Nisstyre, Teron, and Cyric, for putting up with me. My fellow builders- Mystra, Hojo, Mielikki, and Beshaba, for giving me countless pointers, and making me a part of their team.The Coder Torm - for showing me nifty shit, and helping me understand some of the code that this garbage was originally written The goddess Sune - in more ways than one for being supportive of me, and for just being there *hugs*

also, credit must be given to the original writers of the Rom offline building guides which i shredded and put back together with bubble gum

Robbie Roberts and Aaron Buhr, the original creators of this style of MobProgram codeNewt (no last name given) N'Atas-Ha, Kahn for their ROM guides and testing as stated earlier, unacknowladgement is faulted on

ignorance, if you deserve credits here, send me E-mail with some proof of what you have done, and i will see you credited in subsequent drafts.

If you are using this Guide, please, send me feedback, additions, and comments on Any of these articles mentioned here remember that this guide was written for ROT OLC, and in particular for WaterDeep itself, any inconsistencies due to such I can not be held responsible for.

Thank you for using this, and I welcome feed back and suggestions of all forms

Kwirl Karphys