Crossfire Server, Branch 1.12  R12190
Projectile

Description

Projectiles like arrows/crossbow bolts are used as ammunition for shooting weapons.

It's very easy to add new pairs of weapons & projectiles. Just set matching <ammunition class> both for shooting weapon and projectile.

Type defined by:

Attributes

Attribute Field Description
ammunition class obj::race

Only shooting weapons with matching <ammunition class> can fire these projectiles. For arrows set "arrows", for crossbow bolts set "crossbow bolts" (big surprise).

In certain cases, the ammunition class is displayed in the game. Hence, when you create a new ammunition class, choose an intuitive name like "missiles", "spirit bolts" - whatever.

You can also make special containers holding these projectiles by setting the <container class> to match your <ammunition class>.

attacktype obj::attacktype This number is a bitmask, specifying the projectile's attacktypes. Attacktypes are: physical, magical, fire, cold.. etc. This works identical to melee weapons. Note that shooting weapons cannot have attacktypes.
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.
chance to break liv::food The <chance to break> defines the breaking probability when this projectile hits an obstacle, e.g. wall or monster. The value is the %-chance to break, ranging from 0 (never breaking) to 100 (breaking at first shot).
damage liv::dam The projectile <damage> significantly affects the damage done. Damage can be further increased by the shooting weapon's attributes.
description obj::msg This text may describe the projectile. This could be nice for very special ones.
don't drop FLAG_NO_DROP When a monster carries a projectile with <don't drop>, this item will never drop to the ground but vanish instead. If this object is shot, it can still drop after hitting an obstacle. You can prevent this by setting <chance to break> 100.
elevation obj::elevation The elevation (height above sea level) of this tile. 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 obj::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.
image obj::face The image-name defines what image is displayed for this object in-game.
invisible obj::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.
magic bonus obj::magic Magic bonus increases chance to hit and damage a little bit.
material obj::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.
name obj::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 obj::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.
plural name obj::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.
slaying race obj::slaying Slaying means the weapon does triple (3x) damage to monsters of the specified race. If <slaying race> matches an arch name, only monsters of that archetype receive triple damage. Triple damage is very effective.
smooth level obj::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".
title obj::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.
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 obj::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.
weapon class liv::wc This value is supposed to be the base <weapon class>, but it seems to have rather little effect. High values are good here, low values bad.
weight obj::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 opensource.. you never know ;) ).