Adding Removing or Changing Races in SmaugWizard Version 2.
(2/29/2000 by Rustry)

Quicknotes:

1. To remove a race, edit the file SmaugServer\races\race.lst. Either remove the filename of the race to be removed, or comment it out by placing the '*' character in position 1 of the line.

2. To add a race, if the race already exists as a file, edit the file SmaugServer\races\race.lst. Add the name of the race file (name.race) to be added to the mud.

3. The order of the races in race.lst determines the order the races will be displayed in the mud when choosing a race.

4. New races can be created online with the Setrace command, or manually by copying an existing race file, changing it's name, and adding it to the race.lst file. Once the new race is created you can edit the race file with the SmaugWiz race editing commands described below, or use a text editor to edit the race file directly (windows notepad will work fine).

SmaugWizard Race Editing Commands
Showrace list Shows a list of all currently loaded races.
Showrace <race> Shows full statistics for the race.
Showrace <race> wearnames Shows all wear names for the race.
Setrace <race> create Creates a new race and adds it to the mud.
Setrace <race> save Writes the race data to the race file.
Setrace writelist Rewrites the mud's race.lst file.
Setrace <race> command See table below for setting race data.

The following is a list of the data stored in the race files, and a brief description of each, click on the links for more information on each item.

SmaugWizard Race Data
Version Version 1000 SmaugWiz V2
Name The name of the race
Language Languages known by the race
Affected Special affects applied to the race
Class Classes which can be members of this race
Align Default alignment for the race
Minalign Minimum alignment for the race
Maxalign Maximum alignment for the race
Height Nominal height for race members
Weight Nominal weight for race members
Hit Amount of hit points added to player stats
Mana Amount of mana added to player stats
Str Plus Amount of strength added to player stats
Dex Plus Amount of dexterity added to player stats
Wis Plus Amount of wisdom added to player stats
Int Plus Amount of intelligence added to player stats
Con Plus Amount of constitution added to player stats
Cha Plus Amount of charm added to player stats
Lck Plus Amount of luck added to player stats
AC Plus Amount of Armor value added to player stats
Hunger_Mod Hunger modifier
Thirst_mod Thirst modifier
Exp_Mult Experience Modifier
HpRegen Hitpoint regeneration speed for the race
ManaRegen Mana regeneration speed for the race
RaceRecall Room where race members will recall
ShoveDrag Racial modifier to ease of being shoved
Resist Resistance to various attacks
Suscept Susceptability to various attacks
Attacks Attacks used by the race
Defense Defenses used by the race
SavingPoisonDeath Saves against poison death attacks
SavingWand Saves against wand attacks
SavingParaPetri Saves against paralize and petrify attacks
SavingBreath Saves against breath attacks
SavingSpellStaff Saves against staff spells
WearName Names of locations where items are worn

Setrace <racename> create [copyname]: Use this command to create a new race and race file. Racename specifies the name of the new race, and the race file will be named racename.race. The new race will be created with default race settings like the human race. If copyname is specified, the new race will duplicate the settings from the copy race (if copyrace is a loaded race). The new race name will not be put into the race.lst file until it is rewritten with the writelist command (note 2).

Setrace writelist: Use writelist to rewrite the mud's race.lst file. The file will be rewritten with the race names that are currently loaded in the mud, in the same order as they appear in the Showrace list command.

Version: The version number of race files is automatically set when the race is created. It is used when loading to determine if the race file is compatible.

Name: The name of the race is stored in the race file, and is also used as the name of the race file. So the elf race file will be named elf.race. The name is set into the race file when the race is created (note 2).

Language: Setrace <race> <language> - This command enables or disables the use of a language. (Use the Showrace command to see the list of currently enabled and disabled languages).

The languages that a race knows is stored in the race file in the form of a list of strings. All races know common, so it is not included. The language names must match names in the language file that SmaugWiz loads at boot time. If a language name is not found, it is ignored.

Affected: Setrace <race> <affected> <flag1> [flag2] ... - Turn on or off various affects for the race, such as blind, invisible, detect_evil, etc. See the Affect Table for a list of all affects (note 1).

Class: Setrace <race> class <classname> - Will enable or disable the ability of a class being a member of this race. Example: "Setrace elf class cleric" would allow the cleric class to become a member of the elf race. Classes are stored in the race file as the list of class names which are restricted from the race. Any new classes added to the mud will automatically be available to all races until they are disabled via this command (note 1).

Align: Setrace <race> align <value> - Sets the alignment default for the race. Example: "Setrace mage align 500" sets the mage default alignment to 500.

Minalign, Maxalign: Setrace <race> minalign/maxalign <value> - The Max and Min alignment limits specify the normal range of alignment which members of the race are expected to maintain. If, by their actions, they stray from those limits they will receive periodic messages indicating so, and expressing their guilt. The character will also suffer a mental state penalty for straying from this range.

Height, Weight: Setrace <race> height/weight <value> - Sets the nominal height and weight for members of the race. This value plus a small random modifier will be used when a new character of the race is created.

Hit, Mana: Setrace <race> hit/mana <value> - Determines the amount of hitpoints or mana gained by leveling. Example: "Setrace drow hit 5" would provide the drow race with a gain of 5 hitpoints for each level.

Strplus, dexplus, wisplus, intplus, conplus, chaplus, lckplus, acplus: Setrace <race> statname <value> - Apply a modifier to the race, for strength, dexterity, wisdom, intelligence, constitution, charm, and luck. Example: "Setrace elf strplus 2" gives elves +2 bonus to strength
(
note 1).

Hunger_Mod, Thirst_Mod: Setrace <race> hungermod/thirstmod <value> - Sets the rate at which the members of the race get hungry and thirsty.

Exp_Mult: Setrace <race> expmultiplier <value> - Determines the rate of experience acquired from leveling, adepting or successfully using skills and spells. This is a percentage based upon the amount of experience a member of the human race would receive. Example: "Setrace half-troll expmultiplier 80" - Half Trolls would gain 80% of the experience that a human would by having completed the same task.

HpRegen, ManaRegen: Setrace <race> hp_regen/mana_regen <value> - Sets the hitpoint or mana regeneration modifier for the race. A value of zero has no effect. Positive values will cause mana or hp to regenerate faster, negative values slower. Things like position, intelligence, hunger, thirst, poison, etc. will also affect regeneration speed.

RaceRecall: Setrace <race> race_recall <vnum> - Sets the room where members of the race will recall. Set to zero to disable.

ShoveDrag: Setrace <race> shove_drag <value> - Modifies the ease of which a member of the race can be shoved or dragged by another character. Use positive values to make shoving and dragging easier, negative values to make it harder (as compared to the human race).

Resist: Setrace <race> resist <flag> [flag]... - Sets the resistance of the race to various attacks such as fire, cold, electricity, etc. Example: "Setrace elf resist fire poison", would make the race resistant to fire and poison attacks (note 1). See the RIS Table for a full list of resistances.

Suscept: Setrace <race> suscept <flag> [flag]... - Sets the susceptibility of the race to various attacks such as fire, cold, electricity, etc. Example: "Setrace elf suscept fire poison", would make the race susceptible to fire and poison attacks (note 1). See the RIS Table for a full list of susceptibilities.

Attacks: Setrace <race> attack <flag> [flag]... - Sets the ability of the race to use various attacks, such as bite, claws, tail, etc. Example: "Setrace ape attack bite tail", would enable to ape race to attack with teeth and tail (note 1). See the Attacks Table for a full list of attacks.

Defense: Setrace <race> defense <flag> [flag]... - Sets the ability of the race to defend against various attacks, such as bite, claws, tail, etc. Example: "Setrace troll defense bite tail", would enable to troll race to defend against attacks with teeth and tail (note 1).
See the
Defenses Table for a full list of defenses.

SavingPoisonDeath, SavingWand, SavingParaPetri, SavingBreath, SavingSpellStaff: Setrace <race> save <value: - Modifies the races saving throw capabilities.

WearName: Setrace <race> <position#> <name>: Sets the racial wear name at position# for the race. Example: "setrace elf 1 used as light". This is an array of string values, which are used to specify the name of the location where equipment can be worn. They can be blank, and if so will not be saved in the file. There is also a default set of wear names that applies to all characters, but those will be overridden by these racial values. The defaults name the 26 currently existing wear locations on a character's body as follows:

1 used as light
2 worn on finger
3 worn on finger
4 worn around neck
5 worn around neck
6 worn on body
7 worn on head
8 worn on legs
9 worn on feet
10 worn on hands
11 worn on arms
12 worn as shield
13 worn about body
14 worn about waist
15 worn around wrist,
16 worn around wrist
17 wielded
18 held
19 dual wielded
20 worn on ears
21 worn on eyes
22 missile wielded
23 worn on back
24 worn on face
25 worn on ankle
26 worn on ankle

Example: Setrace dragon wearname 10 worn on claw", would change hands to claws for a race that has claws instead of hands.

Note 1: The commands listed below are toggle commands. That is, when you issue the command the option will be set or enabled if it is not already enabled. If it is aready enabled it will be disabled.
Toggle commands used with Setrace: affected, class, strplus, dexplus, wisplus, intplus, conplus, chaplus, lckplus, acplus, resist, suscept, attacks, and defense.

Note 2: Certain race operations are not safe to do online because the changes would cause problems if there are players logged on which are members of the race. For this reason commands to delete a race, rename a race, and change the order of races are not included in online edit commands. Those operations must be done while offline by directly editing the race files and the race.lst file.

The following affects table shows the Setrace affect name for using with the affected option, the source code bit name, the bit number, and the decimal value of the bit. The decimal value can be used to manually specify affects when directly editing race files. Example, if you wanted a race that was blind, but was able to detect invisible, you would add the two bit values (1 + 8), and use 9 for affects.

SmaugWizard Affects Table
Setrace Affected Name Affect Bit Name Bit # Decimal Value
blind AFF_BLIND 0 1
invisible AFF_INVISIBLE 1 2
detect_evil AFF_DETECT_EVIL 2 4
detect_invis AFF_DETECT_INVIS 3 8
detect_magic AFF_DETECT_MAGIC 4 16
detect_hidden AFF_DETECT_HIDDEN 5 32
hold AFF_HOLD 6 64 (unused)
sanctuary AFF_SANCTUARY 7 128
faerie_fire AFF_FAERIE_FIRE 8 256
infrared AFF_INFRARED 9 512
curse AFF_CURSE 10 1024
_flaming AFF_FLAMING 11 2048 (unused)
poison AFF_POISON 12 4096
protect AFF_PROTECT 13 8192
_paralysis AFF_PARALYSIS 14 16384
sneak AFF_SNEAK 15 32768
hide AFF_HIDE 16 65536
sleep AFF_SLEEP 17 131072
charm AFF_CHARM 18 262144
flying AFF_FLYING 19 524288
pass_door AFF_PASS_DOOR 20 1048576
floating AFF_FLOATING 21 2097152
truesight AFF_TRUESIGHT 22 4194304
detect_traps AFF_DETECTTRAPS 23 8388608
scrying AFF_SCRYING 24 16777216
fireshield AFF_FIRESHIELD 25 33554432
shockshield AFF_SHOCKSHIELD 26 67108864
r1 AFF_HAUS1 27 134217728
iceshield AFF_ICESHIELD 28 268435456
possess AFF_POSSESS 29 536870912
berserk AFF_BERSERK 30 1073741824
aqua_breath AFF_AQUA_BREATH 31 2147483648
recurringspell AFF_RECURRINGSPELL 32 4294967296
contagious AFF_CONTAGIOUS 33 8589934592

The following RIS table shows the Setrace RIS name for using with the resist and suscept options, the source code bit name, the bit number, and the decimal value of the bit. The decimal value can be used to manually specify resistances and susceptibilities when directly editing race files. Example, if you wanted a race that was resistant to acid and poison, you would add the values (128 + 256), and use 384 for resist.

SmaugWizard Resist, Immune, and Susceptible Table
Setrace Resist or Suscept Name RIS Bit Name Bit # Decimal Value
fire RIS_FIRE 0 1
cold RIS_COLD 1 2
electricity RIS_ELECTRICITY 2 4
energy RIS_ENERGY 3 8
blunt RIS_BLUNT 4 16
pierce RIS_PIERCE 5 32
slash RIS_SLASH 6 64
acid RIS_ACID 7 128
poison RIS_POISON 8 256
drain RIS_DRAIN 9 512
sleep RIS_SLEEP 10 1024
charm RIS_CHARM 11 2048
hold RIS_HOLD 12 4096
nonmagic RIS_NONMAGIC 13 8192
plus1 RIS_PLUS1 14 16384
plus2 RIS_PLUS2 15 32768
plus3 RIS_PLUS3 16 65536
plus4 RIS_PLUS4 17 131072
plus5 RIS_PLUS5 18 262144
plus6 RIS_PLUS6 19 524288
magic RIS_MAGIC 20 1048576
paralysis RIS_PARALYSIS 21 2097152

The following Attacks Table shows the Setrace attack name for using with the attack option, the source code bit name, the bit number, and the decimal value of the bit. The decimal value can be used to manually specify attacks when directly editing race files. Example, if you wanted a race that was can attack with sting, frostbreath and gasbreath, you would add the values (3 + 16384 + 131072), and use 147459 for the attacks value.

SmaugWizard Attacks Table
Setrace Attack Name Attack Bit Name Bit # Decimal Value
bite ATCK_BITE 0 1
claws ATCK_CLAWS 1 2
tail ATCK_TAIL 2 4
sting ATCK_STING 3 8
punch ATCK_PUNCH 4 16
kick ATCK_KICK 5 32
trip ATCK_TRIP 6 64
bash ATCK_BASH 7 128
stun ATCK_STUN 8 256
gouge ATCK_GOUGE 9 512
backstab ATCK_BACKSTAB 10 1024
feed ATCK_FEED 11 2048
drain ATCK_DRAIN 12 4096
firebreath ATCK_FIREBREATH 13 8192
frostbreath ATCK_FROSTBREATH 14 16384
acidbreath ATCK_ACIDBREATH 15 32768
lightnbreath ATCK_LIGHTNBREATH 16 65536
gasbreath ATCK_GASBREATH 17 131072
poison ATCK_POISON 18 262144
nastypoison ATCK_NASTYPOISON 19 524288
gaze ATCK_GAZE 20 1048576
blindness ATCK_BLINDNESS 21 2097152
causeserious ATCK_CAUSESERIOUS 22 4194304
earthquake ATCK_EARTHQUAKE 23 8388608
causecritical ATCK_CAUSECRITICAL 24 16777216
curse ATCK_CURSE 25 33554432
flamestrike ATCK_FLAMESTRIKE 26 67108864
harm ATCK_HARM 27 134217728
fireball ATCK_FIREBALL 28 268435456
colorspray ATCK_COLORSPRAY 29 536870912
weaken ATCK_WEAKEN 30 1073741824
spiralblast ATCK_SPIRALBLAST 31 2147483648

The following Defenses Table shows the Setrace defense name for using with the defense option, the source code bit name, the bit number, and the decimal value of the bit. The decimal value can be used to manually specify defenses when directly editing race files. Example, if you wanted a race that was can defend with parry, dodge and heal, you would add the values (1 + 2 + 4), and use 7 for the defenses value.

SmaugWizard Defenses Table
Setrace Defenses name Defense Bit Name Bit # Decimal Value
parry DFND_PARRY 0 1
dodge DFND_DODGE 1 2
heal DFND_HEAL 2 4
curelight DFND_CURELIGHT 3 8
cureserious DFND_CURESERIOUS 4 16
curecritical DFND_CURECRITICAL 5 32
dispelmagic DFND_DISPELMAGIC 6 64
dispelevil DFND_DISPELEVIL 7 128
sanctuary DFND_SANCTUARY 8 256
fireshield DFND_FIRESHIELD 9 512
shockshield DFND_SHOCKSHIELD 10 1024
shield DFND_SHIELD 11 2048
bless DFND_BLESS 12 4096
stoneskin DFND_STONESKIN 13 8192
teleport DFND_TELEPORT 14 16384
monsum1 DFND_MONSUM1 15 32768
monsum2 DFND_MONSUM2 16 65536
monsum3 DFND_MONSUM3 17 131072
monsum4 DFND_MONSUM4 18 262144
disarm DFND_DISARM 19 524288
iceshield DFND_ICESHIELD 20 1048576
grip DFND_GRIP 21 2097152
truesight DFND_TRUESIGHT 22 4194304

Back to SmaugWizard home.