Difference between revisions of "CHARDEF"
From SphereWiki
m (→Properties) |
m (→Examples: updated example) |
||
| Line 104: | Line 104: | ||
==Examples== | ==Examples== | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | This first example shows a "base" CHARDEF... these are identified by the fact that the CHARDEF keyword is followed by a number: | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | <spherescript>[CHARDEF 01] // This is a "base" chardef for character animation 01 (from the mul/uop files) | ||
| + | // This is the start of the "base" properties. | ||
| + | // Values set in the base properties cannot have a range (you cannot use {1 10}) | ||
| + | DEFNAME=c_ogre // The DEFNAME is a friendly name to reference this CHARDEF | ||
| + | NAME=ogre // This is the creature's name as seen in-game | ||
| + | ICON=i_pet_ogre // If the creature is shrunk, this is the item that will result | ||
| + | SOUND=snd_monster_ogre1 // This is the start of the sound entries for this creature | ||
| + | CAN=MT_WALK|MT_USEHANDS|MT_EQUIP // These flags are defined in the can_flags area of sphere_defs.scp | ||
| + | DAM=18,22 // This is the range of damage they creature will cause when not using a weapon | ||
| + | ARMOR=30 // ARMOR is the physical damage resistance *before* additional armor is equipped | ||
| + | DESIRES=r_forests,t_gold,t_coin,t_gem,t_arock | ||
| + | AVERSIONS=t_trap,r_civilization | ||
| + | FOODTYPE=35 t_meat_raw // This is the maximum amount (and types) of food the creature eats | ||
| + | RESOURCES=2 i_ribs_raw // If this creature's corpse is carved, these resources will be created | ||
| + | BLOODCOLOR=colors_blood // This is the color of this creatures blood | ||
| + | MOVERATE=100 | ||
| + | TAG.Barding.Diff=48.8 // When a TAG is added to the "base properties", all existing creatures are affected | ||
| + | TAG.SlayerGroup=OGRE,REPOND | ||
| + | TEVENTS=e_carnivores2 // EVENTS are collections of triggers used by CHARDEFs. Each TEVENT must be on its own line. | ||
| + | CATEGORY=Monsters // CATEGORY, SUBSECTION, and DESCRIPTION are used by the GM tool "Axis" | ||
| + | SUBSECTION=Giants | ||
| + | DESCRIPTION=Ogre | ||
| + | |||
| + | // This is the end of the "base" properties, and the start of the "triggers". | ||
| + | // You can override *most* base properties in a trigger if necessary. | ||
| + | |||
| + | ON=@Create // This is the @Create trigger | ||
| + | NAME=#NAMES_OGRE // #NAMES_OGRE is an array of names defined in sphere_names.scp | ||
| + | TITLE=the ogre | ||
| + | NPC=brain_monster // The available "brains" are defined in sphere_defs.scp | ||
| + | FAME={1500 1999} // The { } marks are used to set a range of possible values | ||
| + | KARMA={-1500 -1999} | ||
| + | STR={165 195} | ||
| + | MAXHITS={100 120} // If MAXHITS is not set, the default value is the same as STR | ||
| + | DEX={45 65} | ||
| + | MAXSTAM={45 65} // If MAXSTAM is not set, the default value is the same as DEX | ||
| + | INT={45 70} | ||
| + | MAXMANA={45 70} // If MAXMANA is not set, the default value is the same as INT | ||
| + | MAGICRESISTANCE={55.0 70.0} | ||
| + | PARRYING={60.0 70.0} | ||
| + | TACTICS={60.0 70.0} | ||
| + | WRESTLING={70.0 80.0} | ||
| + | MODAR={0 5} // Setting MODAR in @Create lets us add o-5 more ARMOR to this creature | ||
| + | RESCOLD={15 25} | ||
| + | RESENERGY={15 25} | ||
| + | RESFIRE={15 25} | ||
| + | RESPOISON={15 25} | ||
ON=@NPCRestock | ON=@NPCRestock | ||
| − | + | ITEM=loot_ogre // This references a TEMPLATE in the sphere_templates_loot.scp file | |
| + | </spherescript> | ||
| + | |||
[[Category: Reference Compendium]] | [[Category: Reference Compendium]] | ||
[[Category: Definitions]] | [[Category: Definitions]] | ||
Revision as of 21:43, 21 October 2013
Missing languages
A CHARDEF block defines the basic properties of a character.
Contents
Properties
Here is a list of all character definition properties.
| Name | Read/Write | Override† | Description |
| ANIM | RW | ?? | Gets or sets a mask of animations that the character supports. |
| ARMOR | RW | ?? | Gets or sets the character's base defense without armour. |
| AVERSIONS | RW | ?? | Gets or sets a list of things that the character does not like. |
| BASEID | R | ?? | Gets the defname of the character if set, otherwise the ID. |
| BLOODCOLOR | RW | ?? | Gets or sets the character's blood colour (a value of -1 prevents the creature from bleeding at all.) |
| CAN | RW | ?? | Gets or sets attributes for the character. See can_flags in sphere_defs.scp. |
| COLOR | RW | ?? | Gets or sets the character colour. |
| DAM min,max | RW | ?? | Gets or sets the base damage that the character will deal without a weapon. |
| DAM.LO | R | ?? | Gets the minimum base damage the character will deal without a weapon. |
| DAM.HI | R | ?? | Gets the maximum base damage the character will deal without a weapon. |
| DEFNAME | RW | ?? | Gets or sets defname of the character. |
| DESIRES | RW | ?? | Gets or sets a list of things that the character likes. |
| DEX | RW | ?? | Gets or sets the dexterity that is set when a character polymorphs into this character. |
| DISPID | R | ?? | Gets the ID that the character displays as. |
| FOODTYPE | RW | ?? | Gets or sets a list of things that the character can eat. |
| HEIGHT | RW | ?? | Gets or sets the height of the character. |
| HIREDAYWAGE | RW | ?? | Gets or sets how much gold is needed to hire the character for one day. |
| ICON | RW | ?? | Gets or sets the item that can be used to represent the character in figurine form. |
| ID | RW | ?? | Gets or sets the ID of the character to inherit property values from. |
| INSTANCES | R | ?? | Returns the number of this character that exist in the world. |
| INT | RW | ?? | Gets or sets the intelligence that is set when a character polymorphs into this character. |
| JOB | R | ?? | Gets the character's job title. |
| MAXFOOD | R | ?? | Gets the maximum food level that the character can have. |
| MOVERATE | RW | Y | Gets or sets the percent movement rate of the character. The higher it is, the slower the NPC will be. If undefined, the default is 100. |
| NAME | RW | ?? | Gets or sets the name of the character. |
| RANGE min, max | RW | Y | Gets or sets the attack range of the character. |
| RANGEH | R | ?? | Gets the maximum attack range of the character. |
| RANGEL | R | ?? | Gets the minimum attack range of the character. |
| RESDISPDNHUE | RW | ?? | Gets or sets the colour to display as to clients who don't have a high enough RESDISP to see the character. |
| RESDISPNID | RW | ?? | Gets or sets the character ID to display as to clients who don't have a high enough RESDISP to see the character. |
| RESLEVEL | RW | ?? | Gets or sets the minimum RESDISP required for a client to see the character. |
| RESOURCES | RW | ?? | Gets or sets the resources that the character is made of. |
| RESOURCES.COUNT | R | ?? | Gets the number of different resources that the character is made of. |
| RESOURCES.n.KEY | R | ?? | Gets the BASEID of the nth resource that the character is made of. (zero-based) |
| RESOURCES.n.VAL | R | ?? | Gets the amount of the nth resource that the character is made of. (zero-based) |
| SOUND | RW | ?? | Gets or sets the generic sound that the character makes. |
| STR | RW | ?? | Gets or sets the strength that is set when a character polymorphs into this character. |
| TAG.name | RW | ?? | Gets or sets the value of a TAG. |
| TSPEECH speech_defname | RW | ?? | Gets a list of speech handlers for the character, or adds a speech handler to the character. |
† Some properties can be overridden on a individual character basis. For example, you can set TAG.OVERRIDE.MOVERATE on a specific NPC to speed up or slow down the speed at which that one NPC will move.
INI Overrides
| Name | Description |
|---|---|
| TAG.OVERRIDE.RUNNINGPENALTY | This special tag overrides the INI setting of the same name on a per character basis. |
| TAG.OVERRIDE.STAMINALOSSATWEIGHT | This special tag overrides the INI setting of the same name on a per character basis. |
Examples
This first example shows a "base" CHARDEF... these are identified by the fact that the CHARDEF keyword is followed by a number:
[CHARDEF 01] // This is a "base" chardef for character animation 01 (from the mul/uop files)
// This is the start of the "base" properties.
// Values set in the base properties cannot have a range (you cannot use {1 10})
DEFNAME=c_ogre // The DEFNAME is a friendly name to reference this CHARDEF
NAME=ogre // This is the creature's name as seen in-game
ICON=i_pet_ogre // If the creature is shrunk, this is the item that will result
SOUND=snd_monster_ogre1 // This is the start of the sound entries for this creature
CAN=MT_WALK|MT_USEHANDS|MT_EQUIP // These flags are defined in the can_flags area of sphere_defs.scp
DAM=18,22 // This is the range of damage they creature will cause when not using a weapon
ARMOR=30 // ARMOR is the physical damage resistance *before* additional armor is equipped
DESIRES=r_forests,t_gold,t_coin,t_gem,t_arock
AVERSIONS=t_trap,r_civilization
FOODTYPE=35 t_meat_raw // This is the maximum amount (and types) of food the creature eats
RESOURCES=2 i_ribs_raw // If this creature's corpse is carved, these resources will be created
BLOODCOLOR=colors_blood // This is the color of this creatures blood
MOVERATE=100
TAG.Barding.Diff=48.8 // When a TAG is added to the "base properties", all existing creatures are affected
TAG.SlayerGroup=OGRE,REPOND
TEVENTS=e_carnivores2 // EVENTS are collections of triggers used by CHARDEFs. Each TEVENT must be on its own line.
CATEGORY=Monsters // CATEGORY, SUBSECTION, and DESCRIPTION are used by the GM tool "Axis"
SUBSECTION=Giants
DESCRIPTION=Ogre
// This is the end of the "base" properties, and the start of the "triggers".
// You can override *most* base properties in a trigger if necessary.
ON=@Create // This is the @Create trigger
NAME=#NAMES_OGRE // #NAMES_OGRE is an array of names defined in sphere_names.scp
TITLE=the ogre
NPC=brain_monster // The available "brains" are defined in sphere_defs.scp
FAME={1500 1999} // The { } marks are used to set a range of possible values
KARMA={-1500 -1999}
STR={165 195}
MAXHITS={100 120} // If MAXHITS is not set, the default value is the same as STR
DEX={45 65}
MAXSTAM={45 65} // If MAXSTAM is not set, the default value is the same as DEX
INT={45 70}
MAXMANA={45 70} // If MAXMANA is not set, the default value is the same as INT
MAGICRESISTANCE={55.0 70.0}
PARRYING={60.0 70.0}
TACTICS={60.0 70.0}
WRESTLING={70.0 80.0}
MODAR={0 5} // Setting MODAR in @Create lets us add o-5 more ARMOR to this creature
RESCOLD={15 25}
RESENERGY={15 25}
RESFIRE={15 25}
RESPOISON={15 25}
ON=@NPCRestock
ITEM=loot_ogre // This references a TEMPLATE in the sphere_templates_loot.scp file