Difference between revisions of "OLC Section 3"

From Immwiki
Jump to: navigation, search
(MEDIT)
(more warnings against type doll)
Line 128: Line 128:
  
 
:  Realize too that this is very much not an arbitrary string. A lot of these will set off bits, resistances, <i>and immunities</i> in ways that cannot be overridden by OLC settings. If an extant mob is a race that does not make a lot of sense, you should leave it be. Players cannot see a mob's race setting, and changing this can potentially cause a lot of damage.
 
:  Realize too that this is very much not an arbitrary string. A lot of these will set off bits, resistances, <i>and immunities</i> in ways that cannot be overridden by OLC settings. If an extant mob is a race that does not make a lot of sense, you should leave it be. Players cannot see a mob's race setting, and changing this can potentially cause a lot of damage.
 +
 +
: Be conservative with your selections here-- it's never going to be wrong to select race generic on a non-PC-raced mob. There are no circumstance under which the 'doll' race is appropriate to select, for example, even if the mob might technically be a doll. Always check immunities before and after setting race.
  
 
<b>Level:</b>
 
<b>Level:</b>

Revision as of 08:31, 6 March 2016

MEDIT

"They put... creatures... into his ear" 
The Medit command allows you to create and edit your mobiles. You can access the
editor via the MEDIT command. To create a mobile, this syntax is:
medit create [vnum]. To simply edit a specific mobile, the syntax is: medit [vnum].
The mlist command lets you get a list of all mobs in an area, or a list of all
mobs with a particular name. mlist [name] reveals all mobs with that name string
in the area.
Use the autolevel <level> command to automatically set the level and the suggested
hitdice, manadice, damdice, ac, and hitroll values for that level. Mobs below level
15 may need hitdice adjusted.
To copy onto the mobile being edited the information from another mobile, type
copy [vnum of other mobile]. Note that this will make an exact duplicate.
Now, we'll get to what you see in medit, when you type show or hit [return],
while editing a mob:

Name:

The name is the name of the mob. The syntax for setting the name is:
name [mob name] Note: Always name your mobs as completely as possible, so
people can properly reference them. Additional note: Never use a double-quote
(") in a mobile's name, as the mud uses them as a delimiter, and this can lead
to Bad Things.

Area:

This just tells you what area the mob is from (determined by the vnum)

Act Flags:

Act flags allow you to modify the behavior/abilities of a mob.
The Syntax is: act [flag]
The following are acceptable flag names, and what they do:
 sentinel: Mobs flagged sentinel will not move from their position. 
  Sentinel mobs will attack players who return to the room after attacking
  them. 
 scavenger: Mob will pick objects up off the ground. 
 notrack: Mobs flagged notrack will not track, or attack players who 
  attacked them if they re-enter the room. 
 track_gate: Mobs who are track_gate will track their opponents down
  by gating to them. 
 aggressive: Mobs who are aggressive will attack all players less than
  or equal to their own level. 
 stay_area: Mobs who are stay area will not wander outside an area 
  (note: this doesn't stopped progged movement)
 wimpy: Mobs who are wimpy will flee at the drop of a hat. 
 pet: Flag mobs at a pet_shop as pet 
 train: Mobs who are act train will allow players to train stats at 
  them. 
 practice: Mobs who are act practice will allow players to practice 
  skills there. Note: you must set WHICH skills with the GUILD command.
 nowander: Mobs who are flagged nowander will not wander randomly. 
  Nowander mobs WILL track unless otherwise flagged. 
 guildguard: Flags mobs as guildguard who will be guarding a guild. 
 animal: Flags mobs that should be usable by a ranger as a charmie 
  as animal. In general, magical or intelligent monsters should not be act
  animal. 
 undead: Mobs who are undead, affected by holy water
 badass: Mobs who are act badass will give far more experience than 
  normal and also doubles the faction effect. NOTE: Badass mobs must be 
  far tougher than regular mobs. Make badass mobs only with imp approval. 
 Cleric, mage, thief, warrior: Mobs flagged act warrior will get 
  percentage in 2nd and 3rd attacks, and will disarm randomly in combat. 
  Use mpaddskill $i 187 100 in a load_prog 100 instead.
 noalign: Mob reads as having no alignment, though this is generally
  never used. 
 nopurge: Mob is unaffected by the imm command "purge" (use sparingly,
  if at all). 
 outdoors: Mobile will not wander into an indoors area. 
 nosubdue: Mob cannot be knocked unconscious, or the subject of poison
  darts, lethal skills, or any spell which tends to stop the mobile from
  functioning (sleep, etc.). Use on epic creatures, or something you really
  need to avoid being messed up by players. 
 indoors: Mobile will not wander outdoors. 
 healer: Mobs flagged healer will function as a healer, allowing players
  to purchase healing with the "heal" command. 
 gain: Players can gain convert at mobs flagged gain. 
 update_always: Mob updates every 3 minutes, whether or not players 
  are in the area. 
 changer: Mob acts as a money changer (not currently used) 
 familiar: Used on mobs which are familiars. Not for general builder use. 
 bank: Mob allows pcs to use bank commands.  Usually set on a wizi mob.
 omnilingual:  Does what it says on the tin
 psycho: ?
 pacific: Used for charmies that don't attack in combat, but will still
  be considered fighting if the master is, too. Mostly for VS charmies.
 charmrand: Rand progs will trigger even if the mob is charmed
 classed: Mob uses class abilites-- set using 'class (name)'.
  (can be used to allow the mob class-specific skills via prog, such 
  as the WT form of sanc)
 norescue: Mob cannot be ordered to rescue, if it is a charmie.
 mount: Mob acts as mount (not yet implemented)
 smith: Mob allows pcs to use smith commands
 nodisarm: Mob can't be disarmed
 track_fast: Mob tracks quickly
 track_open: When tracking, mob opens doors
 track_ram: When tracking, mob rams locked doors
 track_gate: When tracking, mob gates. Expect to have to justify usage of this one.
 keepgold: On a shopkeeper, the mob keeps gold on hand after transactions; use for shopkeepers that also need to manipulate money (see: Ghonst)
 faction_leader Mob gives 15x the faction effect
 faction_elite Mob gives 5x the faction effect


Vnum:

The vnum of the mob is assigned when you create it. Hereafter, it appears in
medit to remind you.

Sex:

The sex of a mob determines its genders, and which pronouns the mud uses to
refer to it. The syntax for setting the sex is: sex [male/female/neuter/random].
Neuter returns "it", and random picks a random sex whenever the mob is reset.

Race:

This sets the mob's race. Setting the race will give the mob a predefined set
of parts, immunities, and vulnerabilities, and a language, if one of the player-race
mobs. The following are acceptable races:
 unique human alatharya srryn kankoran ch'taren aelin shuddeni nefortu caladaran
 ethron drow giant bat bear cat centipede demon dog doll dragon elf fido fox 
 goblin hobgoblin kobold lizard modron orc pig rabbit school monster snake song 
 bird troll water fowl wolf wyvern elemental generic 
If you need a race that doesn't match one of the set ones, use race generic. Be in
mind the race of city-dwelling mobs determines whether an assassin of a given race
can disguise as it or not.
Realize too that this is very much not an arbitrary string. A lot of these will set off bits, resistances, and immunities in ways that cannot be overridden by OLC settings. If an extant mob is a race that does not make a lot of sense, you should leave it be. Players cannot see a mob's race setting, and changing this can potentially cause a lot of damage.
Be conservative with your selections here-- it's never going to be wrong to select race generic on a non-PC-raced mob. There are no circumstance under which the 'doll' race is appropriate to select, for example, even if the mob might technically be a doll. Always check immunities before and after setting race.

Level:

Ihis determines the level of the mobile. The level is important for a number of
things, including: how much xp the mob gives, how well the mob saves versus
spells, how well certain skills work on the mob, etc.
Syntax: level [number]

Align:

This sets the alignment of the mob. Syntax: align [number]
Numbers: -1000=Evil, 0=Neutral, and 1000=Good

Hitroll:

Syntax: hitroll [number].
A mob's hitroll affects its THAC0 (To Hit AC 0), which in terms affects its
ability to land physical blows on a character. The recommended average value
is level/2, though depending on the situation, the value can easily be higher.

Damtype:

This sets the kind of damage that a mob uses. Syntax: damtype [type].
The types are as follows:
none lightning mental charm
bash acid disease sound
pierce poison drowning illusion
slash negative light defilement
fire holy other Raestral
cold energy harm

Damverb:

This sets the verb used for the mob's damage. Syntax: damverb [verb].
For example, if the damverb is set to "chill", a player would see:
Gogoth the Lich King's ))) HEROIC ((( chill mangles you!

Hitdice:

This will determines the mobile's hit points.
Syntax: hitdice [x] d [y] + [z]
Suggested Values:
mob level: hit dice
1: 1d2+6 30: 10d80+700
2: 1d3+15 35: 10d110+600
3: 1d6+24 40: 14d170+850
5: 1d17+42 45: 14d190+850
10: 3d22+96 50: 18d200+920
15: 5d30+161 57: 20d220+1100
20: 8d40+220
25: 9d45+500
These suggested values can also be called up with ‘help HITDICE’.

Damdice:

This determines the damage a mobile does with each successful hit.
Syntax: damdice [x] d [y] + [z]
 Suggested Values:
 level  damdice  low  average high
 1:     1d2+0     1      2      2 
 2:     1d2+1     2      3      3
 3:     1d3+2     3      4      4 
 5:     2d3+2     4      6      8  
 10:    2d5+5     7     11     15 
 15:    3d5+8    11     17     23 
 20:    4d5+10   14     22     30 
 30:    5d6+15   20     33     45 
 50:    5d10+25  30     53     75   
The suggested values can found in 'help DAMDICE'

Mana Dice:

Mobiles do not use mana when they cast spells through mpcast. Mana will be
used for mobiles who cast spells by normal means (having received spells
through the mpsetskilled prog command), but they can go into the negative
mana ranges (so mana won't do anything, really, unless you are switched
into the mobile and want to cast via a mpsetskilled spell--in which case
you need a sufficient and positive amount of mana).
Syntax: manadice [x] d [y] + [z]

Language:

Sets the languages known by the mobile (if a
Syntax: language [language type]
Valid languages are: common alatharya srryn kankoran ch'taren aelin
shuddeni nefortu caladaran ethron arcane
Note: Mobs will not speak any language well by default. If you want a mob
to ever speak, give it some language.

Affects:

The mobile's affects field determines what spells/skills it is affected with.
Syntax: aff [affect]
 The following are valid affects: 
   blind              invisible          detect_evil        detect_invis       
   fly_natural        detect_hidden      detect_good        sanctuary          
   ethereal_flame     infrared           curse              wizi               
   poison             protect_evil       protect_good       sneak              
   hide               sleep              charm              flying             
   pass_door          haste              calm               plague             
   weaken             dark_vision        berserk            swim               
   regeneration       slow               detect_wizi        shade
   freeagent
A note about 'wizi': Mobs which are 'wizi' cannot be seen by mortal players.
Area spells will not start combat with these mobs, and if they are forced to
attack, they will only attack for one round. (Players will not get to hit back.)
Similarly, 'shade' causes a mob to be visible only to imms via holylight or
to characters with shroudsight, to be affected by various shade-related spirit
spells, and to be immune to attack.


In general, you should avoid using these wherever possible. Have the mob cast
the spell or use the skill whenever you can, or if you must have the affect set
permanently without the skill being used, set it in a load_prog.

Armor:

This specifies the mobile's armor, which is a factor in determining whether it
is hit or not, and by what types of attack.
Syntax: armor [v1] [v2] [v3] [v4]
Value1 == pierce ac
Value2 == bash ac
Value3 == slash ac
Value4 == exotic ac
 Suggested Values:
 level pierce  bash  slash  exotic
    1    95    95     95    95
    5    70    70     70    85
   10    40    40     40    70
   15     5     5      5    55
   20   -25   -25    -25    40	
   25   -55   -55    -55    20
   30   -90   -90    -90     5
   35  -120  -120   -120   -10
   40  -150  -150   -150   -25	
   45  -180  -180   -180   -40	
   50  -215  -215   -215   -55	
   55  -245  -245   -245   -70	
   60  -275  -275   -275   -90	
   65  -305  -305   -305  -105	
   70  -340  -340   -340  -120	
   80  -400  -400   -400  -150	
These values can also be found while editing in ‘help MOB_AC’.

Form:

More creature flags relating to the creature's form.
Syntax: form [flag]
  edible: Creatures body parts are edible
  poison: Creatures body parts are poisonous
  instant_decay: Mob vanishes after death
  cold_blood: Cannot be seen by infravision
  magical     biped       mammal
  animal      centaur     bird
  sentient    insect      reptile
  undead      spider      snake
  construct   crustacean  dragon
  mist        worm        amphibian
  intangible  blob        fish

Parts:

The parts determine what body parts a mobile produces when it dies. In
general, these will be race depeendent, but you can add them if the mob is
lacking.
Syntax: parts [head] [arms] [legs] [heart] [brains] [guts] [hands] [feet]
[fingers] [ear] [eye] [long_tongue] [eyestalks] [tentacles]
[fins] [wings] [tail] [claws] [fangs] [horns] [scales] [tusks]

Immunities:

The mobs immunities field determines what spells/damage types it will be
immune to. As a general note, important mobs that you don't want people
moving around should be immune to summoning and charming.
Syntax: imm [immunity type]
The following are allowable immunities:
  summon  fire        energy     silver
  charm   cold        mental     iron
  magic   lightning   disease    tame
  weapon  acid        drowning   blind
  bash    poison      light
  pierce  negative    sound
  slash   holy        wood

Resistance:

The mob's resistances determine which spells/damage types it is resistant to.
Syntax: res [resistance type] [amount]
See the list of IMMUNITIES above for acceptable resistances.

Vulnerabilities:

The mob's vulnerabilities determine which spells/damage type it is
vulnerable to.
Syntax: vuln [vuln type] [amount]
See the list of IMMUNITIES above for acceptable vulnerabilities.

Offense:

The offense fields help determine your mob's combat behavior.
Syntax: off [type]
 The following are acceptable offense types: 
  area_attack: Mob will attack and do damage to all players that attack it. 
  backstab 
  bash: Mob will bash in combat. Avoid this, give them the skill instead.
  berserk: Mob will berserk periodically (gives +hp/dam/hit) 
  disarm: Mob will attempt to disarm in combat. Avoid this, give them the skill instead. 
  dodge: Mob will dodge in combat: NOTE: High level mobs without this are wimps 
  fade: not enabled 
  fast: Mob is affected by haste++. Do not use this to replace third attack, use
   mpaddskill $i 188 80 in a load_prog 100 for the same effect without haste. This has its uses, but be prepared to have to justify.
  kick: Mob kicks in combat. Avoid this, give them the skill instead.
  dirt_kick: Mob dirt kicks in combat. Avoid this, give them the skill instead.
  parry: Mob parries in combat. NOTE: High level mobs without this are wimps 
  rescue: Not enabled 
  tail: Mob uses a tail attack in combat 
  trip: Mob trips in combat. Avoid this, give them the skill instead. 
  crush: 
  assist_all: Mobile helps all other mobiles in combat 
  assist_align: Mob will assist others of its align 
  assist_race: Mob will assist others of its race 
  assist_players: Mobil will assist players (by race/align) 
  assist_guard: mobile will act as a cityguard 
  assist_vnum: Mob will assist its own vnum 
  assist_bouncer: Mob will be a bouncy, bouncy ball.
Note: You will note that many of these off bits mimic skills. With
the exception of defenses, you generally do not want to be using
off bits that mimic skills-- this will cause the mob to execute them regardless
of any fight progs, or, more importantly, of lag states. This is what causes
a mob that disarms you one round, bashes the next, then trips the round right
after. Give them the skills instead.
Off fast is a particular special case as well. It renders the mob immune to slow (from all sources, such as windbind, embrace of isetaton, etc), provides resistance to many, many skills (too many to list), and is generally something that is appropriate for some boss mobs to have but should not be used in almost every case. Only set this if you know exactly why you are doing so, and be prepared to explain why it's there.


Size:

This determines the size of the mob. The size will affect things such as
a mob's ability to bash or be bashed, as well as certain spells (such as
density).
Syntax: size [value]
Acceptable size values are as follows:
tiny: rodents, very small creatures
small: Large birds to halfling sized.
medium: roughly human sized
large: Ogre sized
huge: Giants, small dragons, wyverns
giant: Ancient dragons, titans, etc.
Note: Certain races will set their own size field.

Material:

The mob's material is completely irrelevant, and never used.

Starting Position:

This determines what position a mob begins in, after being reset.
Syntax: position start [type]
The following are acceptable positions: sleeping resting sitting standing

Default Position:

The default position is the position a mobile returns to after a fight.
Syntax: position default [type]
Acceptable positions are the same as the starting positions listed above.

Wealth:

Syntax: wealth [percentage amount]
A mob's wealth determines how much money it is carrying when it resets. Use
the following table to help determine an appropriate amount:
0-10% Begger
20-30% Serf
40-50% Peasant
70-90% Yeoman, farer, rural craftsman
100% Average citizen of a town
130-150% Average well-off citizen (upstanding guildmember, master craftsman, etc)
160-180% Wealthy citizen of a city
200-250% Shopkeeper in a city
220-230% Minor noble
250-270% Mid-tier noble
270-290% Major noble (duke, etc)
300% Ruler of a city
400% Leader of a republic, king, other head of state
450% Epic hero
500-600% Adult Elemental Dragon
700-800% Elder Elemental Dragon
900-1000% Being of unique or demigod-like status
Note: Be extremely careful with how much gold a mobile is given, as excessive
gold supply can throw off the balance of the game.

Short Desc:

Syntax: short [string]
The short description is basically the name of the mob that players see when
they interact with it. The short is, for example, what you see when you attack
it. I.e.: "Your slash decimates a hen! A hen's peck does Unspeakable Things to
you!" The mob's short would be "a hen".
Important note: If the mob's short is just a proper name, it should be
capitalized. If it is an article and a name ("a hen"), the article should not
be capitalized.

Long Desc:

Syntax: long [string] The long description is what players see about a mob when
they look in the room where it is. For example, suppose a hen were in a room. A
player who looked might see: A hen is here, pecking for worms.
Important note: Your long description should always be a complete sentence,
capitalized and punctuated correctly. Also make sure that it is only one line,
as longs that wrap look really terrible.

Special Functions:

Syntax: spec [function]
As a sort of precursor to mob progs, there exist special functions, which are
basically hard-coded behavior sets for mobs. They still have their uses.
 The following are permissible special function names:
 spec_breath_any: Breathes any and all breath weapons (Note: breath weapons
  are hp dependent in their damage) 
 spec_breath_acid: Breathes acid</i>
 spec_breath_fire: Breathes fire</i>
 spec_breath_frost: Breathes frost</i>
 spec_breath_gas: Breathes gas</i> 
 spec_breath_lightning: Breathes lightning 
 spec_cast_air: Mobile casts air spells. 
 spec_ cast_earth: " " earth spells. 
 spec_cast_fire: " " fire spells. 
 spec_ cast_spirit: " " spirit spells. 
 spec_cast_void: " " void spells. 
 spec_cast_water: " " water spells. 
 spec_executioner: Mobile will attack criminals, as per cityguards, etc. 
 spec_thief: Will steal gold from characters 
 spec_ poison: Poisons player 
 spec_ fido: Stock rom, do not use 
 spec_guard: Stock rom 
 spec_janitor: Stock rom 
 spec_mayor: Stock rom 
 spec_nasty: Stock rom 
 spec_troll_member: Stock rom 
 spec_ogre_member: Stock rom 
 spec_ patrolman: Stock rom 
 spec_cast_adept, spec_cast_cleric, spec_cast_undead, spec_cast_mage and
 spec_cast_judge: Stock rom spell casting. Do not use. 

Shopkeepers:

You can make mobs into shopkeerers, who will sell items reset into their
inventory. (See the help under resets in REDIT if you need to.) To make the
mob into a shop, you first set the shop hours.
Syntax: shop hours [open time] [close time]
Time is measured in military time, and goes from 0-23.
Once you've made the shop, you can also set the markup on items sold, and the
markdown on items bought.
Syntax: shop profit [value]
The markup for the purchaser generally a value greater than 100. (It represents
how much the price gets jacked up if you want to buy). The markdown for the
seller is generally < 100, and represents how much your item's base value is
depreciated, should you want to sell things to the shoppie that he wants to buy.
You can set the maximum item price that the shopkeeper can buy. This works as
long as the field is > 0.
Syntax: shop maxbuy [value]
Next, you can set the type of things the shop buys. Shops can buy up to four
different types of things. Syntax: shop type [0-4] [item]
 The following are acceptable item types for the shop to buy: 
  light      furniture       npccorpse    gem
  scroll     trash           fountain     jewelry
  wand       container       pill         jukebox
  staff      drinkcontainer  protect      instrument
  weapon     key             map          net
  treasure   food            portal
  armor      money           warpstone
  potion     boat            roomkey
To remove a type of item that the shop buys, do as follows:
Syntax: shop delete <0-4>

Shop Pets:

* To make a shopkeeper sell pets, flag the room the shopkeeper is in as 'pet_shop'.
* Then use the room with the next highest vnum to load the pet mobs in.
(For example, if your pet shopkeeper is in room 2010, load the mobs in 2011).
* The pet mobs need to be flagged 'pet'
* The pet mob room will generally need to be made inaccessible (via nowhere,
nogate_to, etc).
* A verb_prog handling the list may need to be created, for the shopkeeper.


Guildmasters:

Syntax: guild [add|delete] [ability name]
Syntax: guild add [group name]
You can specify individual abilities the guildmasters (or other mobs) teach.
You can also add (but not delete) a group. To see the group names, use the 'info all' imm command.
The guildmaster mob should have the "practice" act flag. If a standard city guildmaster, it should also have the "train" and "gain" act flags.

Factions:

Syntax: faction [number]
Type "flist" to see the various factions. You can set up new factions
and also put mobs into factions via fedit.