Crossfire Server, Trunk
Container

Description

A player can put (certain kinds of) items in the container. The overall weight of items is reduced when put inside a container, depending on the settings.

A special feature of containers is the "cauldron", capable of mixing alchemical recipes.

Type defined by:

Attributes

Attribute Field Description
alchemy cauldron FLAG_IS_CAULDRON If set, the container can be used as alchemy-cauldron. The player can put ingredients inside, close it, cast alchemy and if his formulae is true, he'll get what he longed for.
animation arch object::other_arch This is used for a certain kind of... "animation" when opening the container. Stick to the default arches here and you won't get into trouble.
artifact object::artifact If defined, refers to an artifact to get values from.
block view FLAG_BLOCKSVIEW If an item is set to block view, players (and monsters) cannot see beyond it unless they cross it or manage to stand on top.
blocks prayers blocks_prayer Similar to damned, but does not appear in detect curse.
changing FLAG_CHANGING A <changing> object converts to <food> <other_arch> objects; when it's animation is done. For non-living objects <food> is checked: if it is zero, the change happens; otherwise <food> is decreased by one. I suggest you don't mess with this value - leave the default in place.
client-sided randomized animation? FLAG_CLIENT_ANIM_RANDOM If defined, then the object's animation is client-sided. Similar objects are animated independently.
client-sided synchronized animation? FLAG_CLIENT_ANIM_SYNC If defined, then the object's animation is client-sided. Similar objects are animated synchronized.
container class object::race

If set, the container will hold only certain types of objects. Possible choices for <container class> are: "gold and jewels", "arrows" and "keys".

Unfortunately it is not easy to create new container classes, because items need a matching counter piece attribute to the <container class> before they can be put inside a container. This attribute ("race") is set only for the existing container classes.

description object::msg This text may contain a description of the container.
elevation elevation The elevation (height above sea level) of this square. It is used for weather calculations and should be in the range -32000..32000. The elevation of a tile must be set in the bottom-most game object; elevation values for non-bottom-most game objects are ignored by the Crossfire server.
glow radius object::glow_radius If <glow radius> is set to a value greater zero, the object appears lit up on dark maps. <glow radius> can be a value between 0 and 4, the higher, the more light does the object emit.
godgiven item FLAG_STARTEQUIP A godgiven item vanishes as soon as the player drops it to the ground.
identified FLAG_IDENTIFIED If an item is identified, the player has full knowledge about it.
identified animation identified_animation If defined, then the object will take this animation when identified.
identified animation speed identified_anim_speed If defined, then the object will have this animation speed when identified.
identified image identified_face If defined, then the object will take this appareance when identified.
identified random animation? identified_anim_random If defined, then the object's animation is in a random sequence when identified.
identified_name identified_name If defined, then the object will take this name when identified.
identified_name_pl identified_name_pl If defined, then the object will take this plural name when identified.
image object::face The image-name defines what image is displayed for this object in-game.
invisible object::invisible Generally makes the object invisible. Depending on the object-type, some can be made visible by the show_invisible spell. If in doubt, test it. Putting an invisible object under the floor always prevents it from being shown.
is used up FLAG_IS_USED_UP If set, decrement the <food> field at <speed>. When <food> reaches zero, remove the object.
key string object::slaying If <key string> is set, only players with a special key of matching <key string> are able to open the container.
material object::material This bitmask-value informs the player of which material(s) the object consists. Material does also affect how likely the object can be destroyed by hazardous spell-effects.
maximum weight object::container The container can hold a maximum total weight of the given value in gram. Note that this weight limit is calculated after the weight reduction (<reduce weight>) has been applied.
name object::name This is the name of the object, displayed to the player.
non-pickable FLAG_NO_PICK If set, the object cannot be picked up (Neither by players nor monsters).
number object::nrof This value determines the number of objects in one stack (for example: 100 gold coins => "number = 100"). You should set this at least to one, for any pickable object - otherwise it won't be mergeable into a stack.
open image face_opened If specified, the image-name is displayed when the container is open.
plural name object::name_pl This is the plural name of the object. A plural name must be set for all items that can be picked up and collected by the player.
price adjustment price_adjustment If set, this is the buy and sell price adjustment ratio for the item.
price adjustment for buying price_adjustment_buy If set, this is the adjustment ratio when buying the item. Ignored if <price> adjustment is set.
price adjustment for selling price_adjustment_sell If set, this is the adjustment ratio when selling the item. Ignored if <price> adjustment is set.
race restriction race_restriction If this is set to a : separated (with leading and trailing :) list of races, only players of this race will be able to apply the item.
reduce weight % living::Str This value determines how much the weight of items is reduced in percent, when put inside the container. <reduce weight %> 0 means no reduction, <reduce weight %> 100 means items are weightless inside. Most default values are in the range of ten.
smooth level object::smoothlevel If <smooth level> is set to a value greater zero, the object will be drawn partially over adjacent squares having a lower <smooth level> value. The value must be between 0 and 255 (inclusive); 0 means "never overlap adjacent squares".
splitting FLAG_SPLITTING A <splitting> object converts to <food> <other_arch> objects; when it is hit physically. For non-living objects <food> is checked: if it is zero, the change happens; otherwise <food> is decreased by one. I suggest you don't mess with this value - leave the default in place.
title object::title This is the object's title. Once an object is identified the title is attached to the name. Typical titles are "of Mostrai", "of xray vision" etc.
unique item FLAG_UNIQUE Unique items exist only one time on a server. If the item is taken, lost or destroyed - it's gone for good. All contents of a unique container are unique as well.
unpaid FLAG_UNPAID An <unpaid> item cannot be used unless a player carried it over a shop mat, paying the demanded price. Setting this flag makes sense only for pickable items inside shops.
value object::value Adds a certain value to the object: It will be worth that many times the default value from it's archetype (E.g. "value = 3" means three times worth the default value). Value for buying/selling will be further modified by various factors. Hence, testing values in-game is usually inevitable.
weight object::weight This value defines the object's weight in grams (1000g is 1kg). Objects with zero weight are not pickable for players. Still, set the "non-pickable"-flag for explicitly non-pickable objects (hey, this is open source... you never know ;) ).