mirror of
https://github.com/smaugmuds/SmaugFUSS
synced 2026-08-12 12:23:07 -04:00
515 lines
22 KiB
Text
515 lines
22 KiB
Text
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
|
|
|
|
Populating Your World
|
|
---------------------
|
|
Mob making isn't an exact science, I've been told. 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.
|
|
|
|
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 futher 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'.
|
|
|
|
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 sav4 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
|
|
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.)
|
|
|
|
[Help Files follow...don't be afraid!]
|
|
|
|
Step 3: Checking up on your Mobs
|
|
--------------------------------
|
|
MSTAT
|
|
Syntax : mstat <mob or mobvnum>
|
|
Example: mstat stag
|
|
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).
|
|
|
|
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.
|
|
|
|
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) [Try to include at least 1 unique keyword]
|
|
mset (keyword) short (short desc)
|
|
mset (keyword) long (long desc)
|
|
mset (keyword) sex # [0 Neutral/1 Male/2 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]
|
|
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 # [+/- Mob's HR]
|
|
mset (keyword) damroll # [+/- Mob's DR]
|
|
mset (keyword) hitdie #d#+# [Mob's HPs - See HP_GUIDELINES]
|
|
mset (keyword) damdie #d#+# [Dmg Mob does - See DMG_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 head arms legs heart guts hands feet [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]
|
|
01234567890123456789012345678901234567890123456789012345678901234567890
|
|
+---------+---------+---------+---------+---------+---------+---------+
|
|
(The above 2 lines are intended as a guide for line length when making
|
|
up a mob description. Delete before sending.)
|
|
-----END OF TEMPLATE-----
|
|
|
|
The Help Files
|
|
--------------
|
|
NPC_CLASS
|
|
Classes are represented by their numerical value when using MSET.
|
|
|
|
Value | Class Value | Special NPC Class
|
|
------+------------- ------+------------------
|
|
0 | Mage 20 | Baker
|
|
1 | Cleric 21 | Butcher
|
|
2 | Thief 22 | Blacksmith
|
|
3 | Warrior 23 | Mayor
|
|
4 | Vampire 24 | King
|
|
5 | Druid 25 | Queen
|
|
6 | Ranger
|
|
7 | Augurer
|
|
8 | Paladin*
|
|
|
|
* Not yet fully implemented
|
|
|
|
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 (Thanks to Brittany for this):
|
|
|
|
Mob Level | HPs/Lvl HPs are expressed as a #d#+# value so that when
|
|
----------+-------- the mob repops, the MUD can generate a random
|
|
1-10 | 10 level of HPs. What this means is;
|
|
11-20 | 25 "(number of dice) x (dice size) + (number)"
|
|
21-30 | 50 So a L1 mob might have 1d10+90 HPs or a range
|
|
31-40 | 100 of 91-100 HPs depending on how it repops.
|
|
41-50 | 200+ If you wish to generate a SPECIFIC level of HPs,
|
|
say 500 HPs, it would translate to: 1d1+499.
|
|
|
|
DMG_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.
|
|
|
|
NPCRACES NPC_RACES
|
|
A mobile may be any of the following races:
|
|
|
|
human elf dwarf halfling pixie vampire
|
|
half-ogre half-orc half-troll half-elf gith ant
|
|
ape baboon bat bear bee beetle
|
|
boar bugbear cat dog dragon ferret
|
|
fly gargoyle gelatin ghoul gnoll gnome
|
|
goblin golem gorgon harpy hobgoblin kobold
|
|
lizardman locust lycanthrope minotaur mold mule
|
|
neanderthal ooze orc rat rustmonster shadow
|
|
shapeshifter shrew shrieker skeleton slime snake
|
|
spider stirge thoul troglodyte undead wight
|
|
wolf worm zombie bovine canine feline
|
|
porcine mammal rodent avis reptile amphibian
|
|
fish crustacean insect spirit magical horse
|
|
animal humanoid monster god
|
|
|
|
** Try to match your Mob's race as close as you can so we don't have
|
|
mobs like, 'a small horse' with a race of Halfling.
|
|
|
|
LANG_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. 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' shouldn't repop speaking common.
|
|
|
|
** NOTE: Anything your mob 'says' or 'emotes' will be shown to players
|
|
in the language the mob is SPEAKING.
|
|
|
|
SAVINGTHROWS
|
|
Saving throws:
|
|
sav1 - Saving vs. poison or death
|
|
sav2 - Saving vs. wands
|
|
sav3 - Saving vs. paralysis or petrification
|
|
sav4 - Saving vs. breath (dragon breath)
|
|
sav5 - Saving vs. spells or staves
|
|
|
|
ACTFLAGS
|
|
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 (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.
|
|
|
|
SPECFUNCS
|
|
These special functions are available to assign to mobiles.
|
|
Use them sparingly:
|
|
|
|
To add spec: mset <mob> spec <function> (ex. mset guard spec spec_guard)
|
|
To remove: mset <mob> spec none
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
PART BODYPARTS 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
|
|
|
|
RIS RESISTANT IMMUNE SUSCEPTIBLE
|
|
Players and mobiles may have resistance, suceptibility 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
|
|
|
|
ATTACKS
|
|
[These 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
|
|
** (Some are not implemented).
|
|
|
|
DEFENSES
|
|
Parry Dodge Heal Curelight Cureserious Curecritical
|
|
Dispelmagic Dispelevil Sanctuary Fireshield Shockshield Shield
|
|
Bless Stoneskin Teleport Monsum1 Monsum2 Monsum3
|
|
Monsum4 Disarm
|
|
(Some are not implemented).
|
|
|
|
|
|
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 ]
|
|
shopset 1000 buy 90 [Shop pays 90% of value to BUY]
|
|
shopset 1000 sell 130 [Shop makes 30% profit on SELL]
|
|
|
|
Fields | Meaning
|
|
-------+---------------------------------------------------
|
|
buy# | Types of items the keeper will buy
|
|
buy | Percentage of item's value mob will pay for an obj
|
|
sell | Percentage of item's value mob will sell an obj at
|
|
open | Hour shop opens
|
|
close | Hour shop closes
|
|
keeper | Vnum of shop keeper
|
|
|
|
|
|
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
|
|
Syntax : shopset <mobile vnum> buy# <value>
|
|
Example: shopset 1000 buy1 8 [Mob will buy Treasures]
|
|
shopset 1000 buy1 treasure [Either form works ]
|
|
|
|
1 - light 21 - pen 41 - rune
|
|
2 - scroll 22 - boat 42 - runepouch
|
|
3 - wand 23 - corpse 43 - match
|
|
4 - staff 24 - corpse_pc 44 - trap
|
|
5 - weapon 25 - fountain 45 - map
|
|
6 - _fireweapon 26 - pill 46 - portal
|
|
7 - _missile 27 - blood 47 - paper
|
|
8 - treasure 28 - bloodstain 48 - tinder
|
|
9 - armor 29 - scraps 49 - lockpick
|
|
10 - potion 30 - pipe 50 - spike
|
|
11 - _worn 31 - herbcon 51 - disease
|
|
12 - furniture 32 - herb 52 - oil
|
|
13 - trash 33 - incense 53 - fuel
|
|
14 - _oldtrap 34 - fire 54 - shortbow
|
|
15 - container 35 - book 55 - longbow
|
|
16 - _note 36 - switch 56 - crossbow
|
|
17 - drinkcon 37 - lever 57 - projectile
|
|
18 - key 38 - pullchain 58 - quiver
|
|
19 - food 39 - button 59 - shovel
|
|
20 - money 40 - dial 60 - salve
|
|
** (Not all are implemented)
|
|
|
|
Repair Shops
|
|
------------
|
|
When equipment gets damaged, it needs to be repaired, and (so far) only
|
|
special repair mobs can do that job. Currently, repairshops can only
|
|
repair armor OR recharge wands/staves, they can't do both.
|
|
|
|
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.
|
|
See REPAIRSET, REPAIRSTAT, REPAIRSHOPS
|
|
|
|
|
|
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 ]
|
|
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]
|
|
open | Hour shop opens
|
|
close | Hour shop closes
|
|
keeper | Vnum of repair shop keeper
|
|
|
|
|
|
REPAIRSHOPS
|
|
Syntax: repairshops
|
|
Displays statistics on all the repair shops in the MUD.
|
|
|
|
REPAIRSTAT
|
|
Syntax: repairstat <mobile vnum>
|
|
Shows statistics on a specific mobile's repair shop.
|
|
|
|
|
|
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-----
|