Crossfire Server, Branches 1.12
R18729
|
A transport is an object that helps the player move. It should not be confused an EXIT, which instaneously transport a player from one map to another.
Instead, a transport may let the player move faster, give him move types they don't have, etc. A simple example of this would a horse. It doesn't let the player move anyplace he normally couldn't go, but lets him get there faster. Ships would be another case - the player normally can't move accross water, but with a ship, he can.
Type defined by:
Attribute | Field | Description |
---|---|---|
animation full | anim_full | It may be desirable to have different animations to denote what the transsport looks like if someone is on it vs. not (mounted horse vs. just a horse). This is used to denote what it will look like when loaded. If the transport becomes empty, it will fall back to the archetype animation. |
base speed | base_speed | This is only needed if <weight speed ratio> is set - it is used to know what the base speed to use in the calculation (since speed is getting clobbered). If this is not set and <weight speed ratio> is set, the archetype's speed will be used. |
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. |
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. |
face full | face_full | It may be desirable to have different faces to denote what the transport looks like if someone is on it vs. not (mounted horse vs. just a horse). This is used to denote what it will look like when loaded. If the transport becomes empty, it will fall back to the archetype face. |
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. |
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. |
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. |
move allow | obj::move_allow | The move type the transport grants, regardless of other objects on this tile. |
move type | obj::move_type | The move type the transport uses. |
movement speed | obj::speed | How fast the transport moves. |
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. |
passenger limit | passenger_limit | How many players this transport can hold. Thus, boats can transport a party (this being set to 6) while horses could only transport a single person. If this is not set, a default of 1 will be used. |
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. |
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. |
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. |
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 ;) ). |
weight limit | obj::container | How much this transport can carry. |
weight speed ratio | weight_speed_ratio | This value is taken as a percentage which is multiplied against against the weight this transport is carrying (the player) - this is then divided by weight_limit to determine the effective loading to determine effective object speed, eg: speed = <base speed> - (<base speed> * <weight in transport> * <weight speed ratio>) / (<weight limit> * 100) Thus, if <weight factor> is 0, this object will move the same speed no matter how loaded it is. If it is 100, then if the transport is fully loaded, it moves at a crawl. In a sense, this somewhat mimics the player movement speed. Large transports, like boats, should likely be largely unaffected by weight (maybe have this value at 10), where something like a horse would have a relatively high value. |