OLC Section 3
From Immwiki
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.