DSB/Archetypes/Properties

From DmWiki
Revision as of 23:17, 10 December 2012 by Gambit37 (talk | contribs) (→‎Things)
Jump to navigationJump to search

Overview

This is the full list of properties that can be used by all the archetypes. The list is broken down into groups for easier searching.

Graphics properties vary depending on the Type of the archetype, so these have been further subdivided into more specific groups.

Basic Properties

type
Every archetype must have a type as it defines the core behaviour for that archetype. Types are one of UNDEFINED, FLOORFLAT, FLOORUPRIGHT, DOOR, HAZE, CLOUD, WALLITEM, THING or MONSTER. See Archetypes for more information about types.
class
Classes are used to group archetypes together in the ESB editor. See Archetypes for more information about classes.
name
Types of Thing or Monster always need a name property. The name is used in-game to show information to the player. For example, the name of a Thing is shown when the champion picks up that Thing. You do not need to define a name for other archetypes.

Things

mass = integer
All Things have a mass which affects the load a champion can carry. Mass also affects the distance objects can be thrown. Mass is specified as a whole number: each increment represents 100g, so mass=2 would be 200grams, while mass=72 would be 7.2 kilograms.
shortdesc = "string"
"String" is a short piece of extra text that's displayed in the subrenderer area when this item is held up to a champion's eye.
icon = gfx.icons[integer]
The icon of a Thing is the image displayed when picked up by the mouse cursor, when placed anywhere in the inventory, and when held in the champion's hand. By default, DSB creates icons from a pre-defined grid of images and the number specified selects the relevant icon. You can of course override this grid with your own images, or even specify single bitmaps. Explore the function setup_icons() in DSBs base/graphics.lua and have a look at this image to understand how it works:
DSB default icongrid
alt_icon = gfx.icons[integer]

Most items don't have an alt_icon set. If you set one, then when the item is placed in the character's action hand, the alternate icon is displayed instead of the usual icon. This is used for Things like burning torches, open scrolls, etc.

dungeon = gfx.name
The dungeon property specifies the image displayed when the Thing is placed on the ground, in an alcove or on a table. It's also used when the Thing is thrown, although thrown items can have their own unique images too (see next).
flying_away = gfx.name
flying_toward = gfx.name
flying_side = gfx.name
The flying_ properties are used to specify bitmaps for thrown weapons such as swords, clubs and spells. Either static images or animations can be used here. This is used in the standard code for making the wooden club appear to rotate as its thrown, and for swords to have their sharp point face away from the player when thrown.
hit_sound = snd.sound
This is the noise the item will make when it's thrown against a wall or door. By default this is snd.dink but you could asisgn any sound here to create more interesting or realistic sound effects.
armor_str = integer
This value is the armour rating for the thing, and usually only applies to wearable items such as clothes and armour. Fabric clothes have low values around 5-15 while heavy armour has high values of 80 or more.
sharp_resist = integer
The higher this value, the more resistance the champion has against attacks from sharp weapons.
fit_head = false [true]
fit_torso = false [true]
fit_legs = false [true]
fit_pouch = false [true]
fit_neck = false [true]
If you want this Thing to be wearable in the given location, set the value to true. For example, to make something function like a hat that can be worn on the head, you'd set fit_head = true. The default value for these properties is always false, so if you don't want an item to be wearable, you won't need to set any of them (unless you've cloned an item that already has some set to true). Note that all normal DM items can be held in either the champion's hands, except for ZoKathRa.
fit_quiver = false [true]
The quiver is the the four item container shown in a champion's inventory. This is usually set to true for small thrown or shot items, such as darts, arrows and throwing stars.
fit_sheath = false [true]
The sheath is the first slot in the quiver. Swords and other weapons usually have this set to true so that a secondary weapon can be kept handy by the champion.
fit_chest = false [true]
For this item to be placeable inside a chest, set to true. If false, then the item won't fit inside.
can_stick = false [true]
If set to true, this property allows thrown items to "stick" to monsters. This is for simulating arrows being shot into a creature for example, and the items will effectively vanish until the creature is killed and the items are then dropped.
go_thru_bars = false [true]
Set this to true if you want the item to potentially go through the bars of a portcullis when thrown. Make sure you don't set this on crucial campaign items or the player may be unable to complete their quest!
stat_up = integer
Things can increase champion's statistics. This figure controls by how much to increase a stat: it's ten times the stat, so to increase the stat by 10 points you'd set stat_up = 100
stat= STAT_DEX | STAT_STR | STAT_WIS | STAT_VIT | STAT_AMA | STAT_AFI | STAT_LUC
The value in stat_up is used to increase the statistic in stat. Choose one from the list shown here.
impact = integer
base_range = integer
base_tpower = integer
bonus_damage = integer
max_throw_power = integer
missile_type = MISSILE_TYPE
Can be one of the following values: MISSILE_MISC | MISSILE_ARROW | MISSILE_ROCK | MISSILE_DART | MISSILE_STAR | MISSILE_DAGGER | MISSILE_MAGIC. [Need more detail here]
methods = methods
msg_handler = message handler
to_l_hand = function
to_r_hand = function
to_anywhere = function
from_l_hand = function
from_r_hand = function
from_anywhere = function
after_to_l_hand = function
after_to_r_hand = function
after_from_l_hand = function
after_from_r_hand = function
min_light = integer
diff_light = integer
def_charge = integer
subrenderer = function
capacity = integer
inside_gfx = gfx.name
on_consume = eatdrink [function]
foodval = integer
convert_burn = "string"
no_fit_inventory = false [true]
flying_only = false [true]
flying_hits_nonmat = false [true]
renderer_hack = "POWERSCALE"
This property is only used on flying magic spells, and will affect the size of the image drawn depending on the power of the magic spell. For example, a level 1 fireball will be drawn quite small, while a level 6 fireball will be drawn at full size.
on_location_explode = function
on_impact = function
on_target_explode = function
impact_success = true [false]
explode_into = "string"
This is the named string for a gfx entry to display when the spell explodes. A good example is the Fireball spell, which will display the "explosion" graphic when the spell explodes. Note that this must be a simple string, and not a graphics pointer (i.e., using gfx.explosion here won't work.)
explode_sound = snd.name
The sound to play when this spell explodes. Only relevant on flying magic spells.
zo_spell = false [true]


no_shade = false [true]
Setting this to true will make this Thing permanently bright; ie, it will not be affected by distance shading or the dungeon getting darker. It's usually used on flying magic spells to make them stay bright during travel, but you could make special tracking items on the floor using this property.

Graphics (Monsters)

Graphics (Wallitems)

Graphics (Doors)

Graphics (Floorflats)

Graphics (Flooruprights)