[Herne's SMAUG Building Guides]
  [Introduction] [Building Rooms] [Making Resets]
  [FAQ] [Building Objects] [Making Programs]
  [Some of Herne's Ideas] [Building Mobs] [OLC Resources]
 
 

I am also working on making a PDF Version of this page.

This page last updated: Oct 2002
 
 

A Guideline for Building Mobs

This is intended as a set of guidelines to those who are just beginning as Builders. Nothing here is written in stone, this file is based on my experience and the online help files.

Herne the Hunter

Remember that most important command: SAVEAREA

Please Note: Many of these help files have been written or rewritten by the various hard-working Immortals of the Realms of Despair. Without these people, there would be no need for these guides, nor would they be nearly as comprehensive as they are now.

Table of Contents:

1. In the Beginning
2. How to get Started
  •  Mcreate — Creating New Mobs •  Mset — Modifying Mobs
  •  Mstat — Viewing a Mob's Statistics •  Mlist — Listing your Mobs
3. Advanced Mob Making - My Method
4. An Example of the Advanced Method
5.

The Help Files in Detail

  •  NPC_Class — Mob Classes •  HP_Guidelines — How many HPs?
  •  DMG_Guidelines — Damage Guidelines •  NPC_Races — Mob Races
  •  LANG_Guidelines — Mob Languages •  Savingthrows — Mob Saves
  •  Actflags — How will your mob act? •  Specfuncs — Mob Special Functions
  •  Affected_By — Permanent Spell Effects •  Bodyparts — Hack 'em to bits!
  •  RIS — Resistances, Immunities, Suscepts •  Attacks — Setting Mob's Attack Types
  •  Defenses — Setting Mob's Defense Types  
6. Special Mobs — Shops
  •  Makeshop — Creating a Shop •  Shopset — Modifying a Shop
  •  Shopstat — Viewing the Shop Stats •  Shopvalues — What will you Buy or Sell?
7. Special Mobs II — Repair Shops
  •  Makerepair — Setting up the Repair Shop •  Repairset — Modifying your Repair Shop
  •  Repairstat — Viewing the Repair Shop Stats  
8. Mobs in Relation to Experience Points — Based on notes by Edmond on RoD


Populating Your World

I've been told that Mob-making isn't an exact science. There are no hard and fast rules for making mobs, one must use what resources s/he has to find a good balance. Using equal amounts of research into existing mobs, imagination, and common sense, one can come up with some pretty decent mobs that will provide hours of enjoyment and adventure.

You can't go at mob-making by thinking things like "I'm gonna murder those Av's!", those kind of mobs hardly ever work and more often than not you will be asked to downgrade them to something sensible. Mob strength should be based on the level of the area, and the theme of the area, keeping in mind what kind of damage a player of the same level could inflict on the mob. A "Newbie Area" type mob may have only 100 HPs and do only 5-10 HPs of damage per attack, while a "Super Av" type mob may have 30000 HPs and do 75-100 points of damage, the trick is to find a nice balance.


Where to Start

As with objects, it is a good idea to keep a scratch list of the vnums you've been assigned so that you can cross off those numbers that you've already used. The MUD won't let you create a new mob over an existing vnumber, but you can completely modify a mob once you've created it.

To begin making mobs, you should read and understand the following three help files; MCREATE, MSET, and MSTAT. Once you have read these files and understand the workings of them, you are ready to create your first mob and begin populating your areas.

[Back to Top]

Step 1: Making a Mob.

MCREATE — (Shortform: MCR)

Syntax: mcreate {vnum} (keywords)
Syntax: mcreate {vnum} [cvnum] (keywords)

Creates a new mobile. A prototype monster will be created with the selected vnum, and set up with the plainest of default values. A material image of the magical prototype will appear before you, for you to further modify with MSET.

You can also use MCREATE to copy an existing mob to a new vnumber. Example: mcr 1001 1000 man guard kings

This will create a new mob with the vnumber of 1001 with the same stats as the mob with the vnum 1000, and the keywords of 'man guard kings'.

[Back to Top]

Step 2: Modifying Your Mob.

MSET

Syntax: mset (victim) [field] {value}

Field being one of:
str int wis dex con cha lck sex class
gold hp mana move practice align race
hitroll damroll armor affected level
thirst drunk full blood flags
pos defpos part (see BODYPARTS)
sav1 sav2 sav3 sav4 sav5 (see SAVINGTHROWS)
resistant immune susceptible (see RIS)
attack defense numattacks
speaking speaks (see LANGUAGES)
name short long description title spec clan
council quest qp qpa favor deity

For editing index/prototype mobiles:
hitnumdie hitsizedie hitplus (hit points)
damnumdie damsizedie damplus (damage roll)
To toggle area flag: aloaded (Imm chars only)
To toggle pkill flag: pkill

MSET sets the properties of mobiles.

If a mobile has the PROTOTYPE flag, modifying an instance of the mobile will also modify the index mobile, which all other instances of the mobile are based on. (In other words, if a mob is prototype, anything you do to one copy will affect all other copies with the same vnum.)

[Back to Top]

Step 3: Checking up on your Mobs

MSTAT

Syntax : mstat {mob or mobvnum}
Example: mstat stag
Example: mstat 1000

MSTAT shows you statistics on a character or mobile. If a copy of the mobile is present in the game, you can access it using its vnum. MSTAT defaults to the mob in the room with you (assuming it matches the mob you're searching for).

[Back to Top]

Step 4: Listing your Mobs

MLIST — (Shortform: MLI)

Syntax: mlist  
Syntax: mlist (first mob) Example: mlist 1000
Syntax: mlist (first mob) (last mob) Example: mlist 1000 1025

This command will list all of the prototype mobs in your area, when used with no arguments. When used with a single argument it will list all mobs including and after the argument, and when used with two arguments, it will list all mobs including and between the two.

[Back to Top]

The Advanced Way of Mob Making

When I make mobs, I take the template that follows and make an ASCII file for each mob I create. Then I can upload the file 1 line at a time with an ASCII uploading-type terminal program or a cut-and-paste will work. There is no need to send the entire template every time you make a mob, only send the parts of the mob that you wish to modify.

(I've included a sample mob-file at the end of this file.)

-----TEMPLATE START-----  
mcr {vnum} (keywords) [At least 3 words, 1 unique keyword]
mset (keyword) short (short desc) [Mob's short desc, seen when acting]
mset (keyword) long (long desc) [Mob's long desc, seen in room]
mset (keyword) sex # [0 is Neutral, 1 is Male, 2 is Female]
mset (keyword) level # [Based on your area]
mset (keyword) class # [See NPC_CLASS]
mset (keyword) race (race) [See NPC_RACES]
mset (keyword) str 13 [Default Value, be sure to set these]
mset (keyword) int 13 [Default Value]
mset (keyword) wis 13 [Default Value]
mset (keyword) dex 13 [Default Value]
mset (keyword) con 13 [Default Value]
mset (keyword) cha 13 [Default Value]
mset (keyword) lck 13 [Default Value]
mset (keyword) gold # [Based on Area Level]
mset (keyword) align # [>-350=E, -350—350=N, +350<=G]
mset (keyword) hitroll # [+/- to Mob's HR]
mset (keyword) damroll # [+/- to Mob's DR]
mset (keyword) hitdie #d#+# [See HP_GUIDELINES]
mset (keyword) damdie #d#+# [See DAMAGE_GUIDELINES]
mset (keyword) numattacks # [Number of attacks/round]
mset (keyword) sav1 0 [See SAVINGTHROWS]
mset (keyword) sav2 0 [See SAVINGTHROWS]
mset (keyword) sav3 0 [See SAVINGTHROWS]
mset (keyword) sav4 0 [See SAVINGTHROWS]
mset (keyword) sav5 0 [See SAVINGTHROWS]
mset (keyword) flags (act flags) [See ACTFLAGS]
mset (keyword) spec (specfuncs) [See SPEC_FUNCTIONS]
mset (keyword) affected (affects) [See AFFECTED_BY]
mset (keyword) speaks (languages spoken) [See LANG_GUIDELINES]
mset (keyword) speaking (language speaking) [See LANG_GUIDELINES]
mset (keyword) part (bodyparts) [See BODYPARTS]
mset (keyword) resistant (resists) [See RESISTANCES]
mset (keyword) immune (immunes) [See IMMUNES]
mset (keyword) susceptible (suscepts) [See SUSCEPTS]
mset (keyword) attack (attacks) [See ATTACKS]
mset (keyword) defense (defenses) [See DEFENSES]
mset (keyword) armor (AC) [Mob's AC without Armor]
mset (keyword) description [Mob's Description]

(When you mset a mob's description, you are put into a text editing buffer which acts the same as the room editor or the note editor. Be sure to wrap your lines at 75 characters.)

-----END OF TEMPLATE-----  
[Back to Top]

The Help Files

NPC_CLASS

Classes are represented by their numerical value when using MSET.

Value NPC Class
0 Mage
1 Cleric
2 Thief
3 Warrior
4 Vampire
5 Druid
6 Ranger
7 Augurer
8 Paladin
9 Nephandi
10 Fathomer
11 Bladesinger
Value NPC Class
20 Baker
21 Butcher
22 Blacksmith
23 Mayor
24 King
25 Queen
[Back to Top]

HP_GUIDELINES

One of the hardest decisions when making a mob. A mob can have as many or as few HPs as you want it to, depending on what you're trying to accomplish with it. The following table is what *I* use as a guideline when I'm making mobs:

Mob
Level
Minimum
HPs/Lvl
   1-10 10 - 25
11-20 25 - 50
21-30 50 - 100
31-40 100 - 200
41-50 200+

HPs are expressed as a #d#+# value so that when the mob repops, the MUD can generate a random level of HPs. What this means is; (number of dice) x (dice size) + (number). So a L1 mob might have 1d10+90 HPs or a range of 91-100 HPs depending on how it repops.

If you wish to generate a specific level of HPs, say 500 HPs, it would translate to: 1d1+499.

The amount of HPs a mob has affects the amount of experience that the mob gives to the players — Too few HPs, and the mob will give the maximum amount of experience or "power-level" the player, too many HPs and the mob will be ignored by the players as "too hard."

It has been suggested that mobs should have no fewer than 100 HPs per level. So using the guidelines I set out above, mobs with levels 1 through 20 will give players more experience or level them faster than mobs from 21 and up. This could be construed as a good thing or a bad thing depending on how you view it — The amount of HPs you give your mob is ultimately up to you, the Builder, but be aware of what you're doing before you simply assign a random number of hit points.

See Mob Creation by Edmond for more information.

[Back to Top]

DMG_GUIDELINES — Damage Guidelines

This is the amount of damage a mob will do when it's fighting unarmed. Much like HPs, the amount of damage a mob can do will vary greatly depending on what you're trying to accomplish. Your main goal is to keep the mob's damage "believable" while at the same time, you want to inflict some sort of damage on players within the Mob's level range. I usually try to make the damage done by a mob comparable to that done by a warrior of the same level (how you do it is up to you).

Damage is generated the same way as HPs; (numdice)x(dicesize)+(number). So a mob doing 5d8+12 damage will generate a range of 17-52 points of damage each time it lands a blow.

[Back to Top]

NPCRACES NPC_RACES

Try to match your Mob's race as close as you can so you don't have mobs like, 'a small horse' with a race of Halfling. A mobile may be any of the following races:

aarakocra aasimon amphibian angel animal ant antelope
avis azer baboon basilisk bat bear bee
beetle beholder bird boar bovine brownie bugbear
camel canine cat celestial centaur chitine couatl
creeper crustacean dao deer demon deva devil
dinosaur djinni dog dolphin dragon drake dryad
duergar dwarf eel efreeti elemental elephant elf
ethereal ettin fairy feline ferret firbolg fish
flower fly fungus gargoyle gelatin genasi ghoul
giant gith gnoll gnome goat goblin god
golem gorgon grass gremlin griffon half-elf halfling
half-ogre half-orc half-troll harpy hobgoblin horse human
humanoid hydra illithid imp incarnate insect janni
kobold kraken kua-toa lagomorph leech leprechaun lich
liquid lizardman locust lycanthrope magical magman mammal
manticore marid marsupial mephit mercane minotaur mist
mold mollusc mongrel monster mule myconoid neanderthal
nereid nymph octopus ogre ooze orc pech
phantom pixie porcine primate rabbit rakshasa rat
reptile rock rodent rustmonster sahaugin satyr selkie
shadow shapeshifter shark shrew shrieker shrub sirine
skeleton slaad slime snake spider spirit sprite
squid squirrel stirge stone sylph tanar'ri thoul
thri-kreen tiefling titan toad tree troglodyte undead
unicorn urchin vampire vapor weed wemic wight
wolf worm xorn zombie      

** Not all may be active on your MUD.

[Back to Top]

LANG_GUIDELINES — Language Guidelines

A mob might speak more than one language for whatever reason you have. All mobs know "common" and "clan" as defaults and it's up to you to set whatever other language(s) the mob will speak. Personally, I don't think mobs that can't talk should say anything at all, but there is no "dumb" flag for languages yet.

Here's a list of the languages currently available;
Common, Elvish, Dwarven, Pixie, Ogre, Orcish, Trollese, Rodent, Insectoid, Mammal, Reptile, Dragon, Spiritual, Magical, Goblin, God, Ancient, Halfling, Clan, Gith.

If you wish for your mob to know more than one language, simply;
mset (mob) speaks (language) (language) (language)

To force a mob to be speaking a certain tongue when it repops, simply;
mset (mob) speaking (language)

Examples;
mset horse speaks mammal
mset horse speaking mammal

Try to match the language your mob is speaking to it's race, IE: A 'horse' mobile shouldn't repop speaking common tongue.

Note: If your language code is enabled, anything your mob 'says' or 'emotes' will be shown to players in the language the mob is SPEAKING. Some SMAUG MUDs do not have languages working at this time.

[Back to Top]

SAVINGTHROWS

Value Saving Throw
sav1 Saving vs. poison or death
sav2 Saving vs. wands
sav3 Saving vs. paralysis or petrification (stun)
sav4 Saving vs. breath (dragon breath)
sav5 Saving vs. spells or staves
[Back to Top]

ACTFLAGS

These flag govern how a Mobile will act within the MUD.

Mob Flag Description
sentinel Mobile always stays at its post
scavenger Mobile picks up items of value.
aggressive Mobile attacks players.
stayarea Mobile does not leave its home area.
wimpy Mobile flees when low in hits.
practice Players can "practice" at this mobile.
immortal Mobile is immortal (can carry more objects) (not implemented).
deadly Mobile has a deadly poison (not implemented).
meta_aggr Mobile is VERY aggressive (not implemented).
nowander Mobile doesn't wander unless attacked.
mountable Mobile can be mounted.
prototype Mobile is under construction.
running Mobile is running (moves twice as fast)
noassist Mobile won't assist other mobs in a fight.
pacifist Mobile cannot be attacked.
scholar Mobile can teach languages.
secretive Mobile will not echo acts. MOBs actions are invisible.
mobinvis Mobile is invisible to both pc's and non PC's
noattack Mobile won't use any physical attacks.
autonomous Mobile won't switch tanks if hit by char with higher style.
pet Mobile can be used in creating a petshop.
statshield Mobile cannot be mstatted below level 59.
nolocate Mobile's inventory is not locateable.
nosummon Mobile cannot be summoned by players.
nosteal Mobile cannot have items stolen from it.
landed Mobile is not flying.
blocking Mobile assumes a defensive stance to block more hits.
stopscript Mobile will not run its own script programs.
notrack Mobile is unable to be tracked,
[Back to Top]

SPECFUNCS

These special functions are available to assign to mobiles. Use them sparingly:

Special Function Description
spec_breath_any Mobiles breathes 1 of the 5 breaths randomly.
spec_breath_acid Mobile has breath of acid.
spec_breath_fire Mobile has breath of fire.
spec_breath_frost Mobile has breath of frost.
spec_breath_gas Mobile has breath of gas.
spec_breath_lightning Mobile has breath of lightning.
spec_cast_adept Mobile casts helpful spells.
spec_cast_cleric Mobile casts healing spells.
spec_cast_mage Mobile casts offensive spells during battle.
spec_cast_undead Mobile casts offensive spells during battle.
(Mob will also summon those who flee.)
spec_guard Mobile attacks KILLERS and THIEVES.
spec_executioner Same as above except summons guards to help.
spec_fido Mobile eats corpses.
spec_janitor Mobile picks up trash.
spec_mayor Reserved for the mayor. Don't use.
spec_poison Mobile poisons during battle.
spec_thief Mobile steals gold from players.

To add a special function:

Syntax: mset (mob) spec {function}
Example: mset guard spec spec_guard)

To remove a special:

Syntax: mset (mob) spec none

[Back to Top]

AFFECTEDBY AFFECTED_BY

The following are affect flags that can be used when osetting an item (with oset [item] affect affected {affect flag}). These flags can also be used when msetting a mobile (mset [mob name] affected {affect flag}). They may additionally be used to mset players if your level allows it.

Blind Invisible Detect_evil Detect_invis Detect_magic
Detect_hidden Hold Sanctuary Faerie_fire Infrared
Curse Flaming Poison Protect Paralysis
Sneak Hide Sleep Charm Flying
Pass_door Floating Truesight Detect_traps Scrying
Fireshield Shockshield Iceshield Aqua_breath Possess

Note: Hold and Flaming are current not in use.

[Back to Top]

PART   BODY PARTS   XFLAGS

Misc body parts:
Head Arms Legs Heart Brains Guts Hands
Fingers Ear Eye Long_Tongue Eyestalks Tentacles Fins
Wings Tail Scales Hooves Haunches Forelegs Feet
             
Used for attacking:
Claws Horns Tusks Tailattack Sharpscales    
[Back to Top]

RIS   RESISTANT   IMMUNE   SUSCEPTIBLE

Players and mobiles may have resistance, susceptibility or immunity to certain types of attack:

Fire Cold Electricity Energy Blunt Pierce
Slash Acid Poison Drain Sleep Charm
Hold Nonmagic Plus1 Plus2 Plus3 Plus4
Plus5 Plus6 Magic Paralysis    

The newest version of SMAUG (on Realms of Despair) allows Resists and Suscepts to be expressed as percentages. So you could make a mob resistant by 75%, rather that just the default of 50%.

To do this, simply; mset <mob> resistant <flag> <percentage>

Example; mset dragon resistant fire 85

[Back to Top]

ATTACKS

These attacks are in addition to numattacks.

Bite Claws Tail Sting Punch Kick
Trip Bash Stun Gouge Backstab Feed
Drain Firebreath Frostbreath Acidbreath Lightnbreath Gasbreath
Poison Nastypoison Gaze Blindness Causeserious Earthquake
Causecritical Curse Flamestrike Harm Fireball Colorspray
Weaken          

Note: Some are not implemented.

[Back to Top]

DEFENSES

Parry Dodge Heal Curelight Cureserious Curecritical
Dispelmagic Dispelevil Sanctuary Fireshield Shockshield Shield
Bless Stoneskin Teleport Monsum1 Monsum2 Monsum3
Monsum4 Disarm        

Note: Some are not implemented.

[Back to Top]

Special Mobs - Shops!

Shops and Repairshops are SPECIAL functions that Mobs do. A mob must be specifically set as a shop before it will sell the items in its inventory or repair an item. The following help files explain how to make a shop.

MAKESHOP

Syntax: makeshop [mobile vnum]

Creates a new shop and assigns it to a mobile. The levels of the items in the shop are picked randomly based on item type and the level of the area:

Item Type Level Range
default 0
pill 0 to 10
potion 0 to 10
scroll value[0] of the scroll
wand 10 to 20
staff 15 to 25
armor 5 to 15
weapon 5 to 15

SHOPSET

Lets you set certain stats on a shop.

Syntax :   shopset (mobile vnum) [field] {value}
Example:   shopset 1000 buy1 armor [Shop will buy armor ]
  shopset 1000 open 8 [Shop opens at 8am ]
  shopset 1000 close 21 [Shop closes at 9pm (Military Time)]
  shopset 1000 buy 90 [Shop pays 90% of value when buying items]
  shopset 1000 sell 130 [Shop makes 30% profit when selling items]

Fields Meaning
buy# Types of items the keeper will buy [See SHOPVALUES]
buy Percentage of item's value mob will pay for an object
sell Percentage of item's value mob will sell an object at
open Hour shop opens
close Hour shop closes
keeper Vnum of shop keeper (must be done first)

SHOPSTAT

Syntax: shopstat (mobile vnum)

Shows statistics on a specific mobile's shop.


SHOPS

Syntax: shops

Displays statistics on all the shops in the MUD.


SHOPVALUES

1 light 11 _worn 21 pen 31 herbcon 41 rune 51 disease
2 scroll 12 furniture 22 boat 32 herb 42 runepouch 52 oil
3 wand 13 trash 23 corpse 33 incense 43 match 53 fuel
4 staff 14 _oldtrap 24 corpse_pc 34 fire 44 trap 54 shortbow
5 weapon 15 container 25 fountain 35 book 45 map 55 longbow
6 _fireweapon 16 _note 26 pill 36 switch 46 portal 56 crossbow
7 _missile 17 drinkcon 27 blood 37 lever 47 paper 57 projectile
8 treasure 18 key 28 bloodstain 38 pullchain 48 tinder 58 quiver
9 armor 19 food 29 scraps 39 button 49 lockpick 59 shovel
10 potion 20 money 30 pipe 40 dial 50 spike 60 salve

Note: Some are not implemented.

[Back to Top]

Repair Shops

When equipment gets damaged, it needs to be repaired, and only special repair mobs can do that job. Currently, repairshops can only repair armor OR recharge wands/staves, they can't do both at the same shop.

MAKEREPAIR

Syntax: makerepair (mobvnum)

Automatically gives the mobile the ability to repair damaged equipment. Use 'repairset' to set the parameters by which the shop will function.


REPAIRSET

Syntax : repairset (mobile vnum) [field] {value}
Example: repairset 1000 fix1 armor [Mob will repair armor]
  repairset 1000 profit 125 [Mob charges 25% more than usual]
  repairset 1000 type 1 [Mob is a standard repair shop]
  repairset 1000 open 13 [Mob opens shop at 1pm (Military Time)]
  repairset 1000 close 0 [Mob closes shop at 12am]

This command allows you to set the following fields for repair shops:

Fields Meaning
fix# Types of items the keeper will fix
(armor, weapon, wand, staff - see SHOPVALUES)
profit Profit on fixing items
type Repair shop type
  [type 1 = standard]
  [type 2 = recharge wands/staves]
open Hour shop opens
close Hour shop closes
keeper Vnum of repair shop keeper


REPAIRSTAT

Syntax: repairstat (mobile vnum)

Shows statistics on a specific mobile's repair shop.


REPAIRSHOPS

Syntax: repairshops

Displays statistics on all the repair shops in the MUD.

[Back to Top]

A Sample Mob File:


-----START FILE-----
mcr 8442 stag deer dun dark
mset stag short A dun coloured stag
mset stag long A dark stag patrols the forest, watching for predators.
mset stag sex 1
mset stag level 20
mset stag class 3
mset stag race mammal
mset stag gold 1000
mset stag align 0
mset stag hitdie 5d10+450
mset stag damdie 2d10+5
mset stag numattacks 2
mset stag flags stayarea wimpy noassist
mset stag affected hide detect_hidden
mset stag speaks mammal
mset stag speaking mammal
mset stag part head heart guts horns forelegs hooves haunches
mset stag resistant charm
mset stag attack kick bash
mset stag defense dodge
mset stag description
A proud dun coloured stag regards you with some trepidation, as it's
ever-twitching nose tests the air in an attempt to catch your scent,
and determine if you're friend or foe.

/s
-----END OF FILE-----


Mobiles in Relation to Experience Points

Mob Creation — by Edmond from Realms of Despair

DISCLAIMER: Before reading this, understand that the formulas contained herein are based on the distribution SMAUG 1.4a. Any changes made since that point will not be reflected in any way.

I am going to attempt to unfold the mystery that surrounds the topic of mob creation that is called "experience." You may want to have a calculator handy. This is no topic for the novice builder, but it is one that must be learned in the long run in order to create and publish professional and usable worlds in the SMAUG code base.

Rule #1 — Building an area is not a recreational sport.

If you have never been a dungeon master in a table top role play game, consider this: most DM's take MANY, many hours contemplating one evening of role play. How every creature they've created, every house, building, tower and animal is going to react to the players sitting around the table. When you create an area for an online game, your biggest chore will be putting you inside the mobs/rooms/objects forever. You have to be able to run the area every time a new player goes through it. You have to design for every mentality, and every possible combination of ideas that a player on the other side of a fiber optic line will come up with. The worst part, is you can't be there the first time a player goes through. If you are building a "fluff" area that won't have a major theme, then you can skip some steps. However, EXPERIENCE and MOB CREATION are not steps you can skip without warping the leveling system.

Rule #2 — Leveling was NOT meant to be easy.

Like it or not, regardless of what MUD you come from, the code appears to be designed around the same concepts of the old days of role play, where only a FEW make it to the top. Any alteration to this ideal will lead to challenging problems in the areas of leveling and building.

Rule #3 — All of the stats a mob is allowed to be given, are supposed to be used.

While some stats will be defaulted by the code, most will be considered as ZERO's when that mob is put to use. Those that are defaulted by the code are generally better just counted as zeros anyway, because that's what they'll do for your experience situations, ZERO.

Ok then. Ready for the magic number?? Ready for the big kahuna?!

(level*level*level*5) + maxhitpoints -((ac-50)*2)+(((damnum*damsize)+damroll) *50) + (Hitroll*level*10)

What does this all mean? You really don't wanna know. Besides, given a calculator and some time, anyone can do the math. What's important is this: out of that formula, what parts of your mob most affect a mobs experience worth.

Before any of this matters, you need to know what your maximum and minimum amounts of experience allowable are, as coded in your mud. Distribution SMAUG 1.4a was a minimum of 20, and maximum of 500k. So lets break down the experience formula a bit.

Let us look at an example mobs stats that pertain to the above:

Level: 25 Maxhitpoints : 2000 Armorclass: -190
Damdie: 4d4+30 Damroll: 30 Hitroll: 9

The formula adds up like so :

Level*Level*Level*5 =  
78125
+Maxhitpoints =  
+ 2000
- ((ac-50)*2) =  
- -480 (or +480)
+((damnum*damsize+damroll)*50) =  
+ 2300
+(Hitroll*level*10) =  
+ 2250


BASE EXP WORTH  
85155

What does this number mean? Nothing, on its own. WHAT?! All that math for a meaningless number? Well, yes. And no. This number is going to get changed A LOT from here to the end of the math. So follow me slowly.

Next, we need to check if the mob is affected by sanctuary, shockshield or fireshield. Why these three? Because it's coded that way.

So we add this to the formula. For our example, the mob will have all three affect types on.

BASE EXP WORTH   85155
AFF SANCTUARY   +127732


SUBTOTAL   212887
AFF FIRESHIELD   +255464


SUBTOTAL   468352
AFF SHOCKSHIELD   +562022


TOTAL EXP WORTH   1030374

But as we stated above, the total experience a mob can be worth is limited by a hard code to 500k xp. So we will use 500000 as our magic number from here on out. We'll place an example or two for lower levels along the way. (Notice also that the mob used in this example is Level 25, yet still more than maxes out the experience system of a distribution SMAUG mud.)

From here, we have to move into combat and find out just how it is that a PC will reap the benefits of our beautifully created mobile.

Example:
Using the above mob we add - Level 22 Warrior with an alignment of 1000
The mobile has an alignment of -1000
The warrior does 100 hitpoints of damage in ONE ROUND.

For even just as simple a thing as a single hit, the code tosses some more calculations and formulas into the mix.

First the mud considers the level difference between PC and mobile. To a certain extent, the number of levels a PC is lower than a mobile, the mud increases the TOTAL EXP WORTH of the mob.

Next, we consider alignments. If a PC is 1000+ points differnt than the mob in alignment, the TOTAL EXP WORTH is multiplied times 1.25. However, if a GOOD aligned PC attacks a GOOD aligned mobile, the TOTAL EXP WORTH is multiplied by 0.75.

Next we randomize life, as it should be and spit out a value from 3/4 times the TOTAL EXP WORTH to 1 1/4 times the TOTAL EXP WORTH for the USABLE EXP.

Back to our example, our mob had 2000 max hp. 200 damage done is 5%. The mud now spits back out 5% of USABLE EXP and multiplies it times 0.85. This is the amount of experience a character receives when he hits our mob for 200 hitpoint damage.

The math explained :

Level Difference (3) =  
650000 (TOTAL EXP WORTH * 1.3)
*Alignment Difference (2000) =  
* 1.25


SUBTOTAL =  
812500
USABLE EXP =  
Between 609375 and 1015625
  (No modifier for good attacking good
gets used in this example)
Damage to Mob (5%)*.85 =  
Between 25898 and 43163

This is one round!

What things can you do to decrease this value? The easiest, quickest, simplest ways to defeat this problem are...

A. Increase Max Hitpoints (decrease percentage from damage)
B. Decrease Level (Quickest way to reduce the TOTAL EXP WORTH)

The above formulas are applied to EVERY type of damage, except for CIRCLE and BACKSTAB, which yield NO Experience. This was done so that the experience system and damage systems could be left relatively safe, while still keeping the powerful skills in place.

In Conclusion

What are the things you are considering when you build a mob? First, only make the mob as high a level as its hit points and damage returned rate. My general rule of thumb starts with NO LESS than 100 hitpoints PER LEVEL of mob. A 100 hitpoints/level mob is a decent leveling mob in most instances. Any less than this, you have a powerleveling mob. Think about the level of characters intended to be in your area attacking your mobiles. Then go find out what their average stats are. Pay particular attention to Hitroll, Average damage (which means damroll as well as average weapon damage), armor class, alignment and avg max hitpoints.


Rooms  ] [ Objects ] [ Mobs ] [ Resets ] [ Programs ] [ Resources ] [  FAQ  ]

[Back To My Homepage][Back to Top]
The entire contents of this page is Copyright ©1997-2007 FoxDesigns