Crossfire Server, Trunk
|
Movers move the objects above them. However, only living objects are affected (monsters/NPCs always, players optional). Movers have a direction, so players can be made to move in a pattern, and so can monsters. Motion is involuntary. Additionally, players or monsters can be "frozen" while on top of movers so that they MUST move along a chain of them.
Multi-square monsters can be moved as well, given enough space. Movers are usually invisible.
Type defined by:
Attribute | Field | Description |
---|---|---|
affected movement | object::move_on | When a monster steps onto the mover, it must use one of these movement types for it to be "frozen" for a period of time. By default, this is <walk,fly_low>. You should set this to be the same as the movement type, otherwise monsters might get "frozen", but not actually moved. Be careful if you set it to <all>, since thrown or fired objects (like arrows) can also be frozen (but can't be moved). This is probably a bug. |
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. |
direction | living::sp | The mover will push creatures in the specified <direction>. A mover with direction set to <none> will spin clockwise, thus pushing creatures in unpredictable directions. |
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. |
forced movement | object::attacktype | If forced movement is enabled, the mover "freezes" anyone it moves (so they can't step off the mover before it activates). For players there is no way to escape this forced movement, except being pushed by a second player. |
freeze duration | living::maxsp | The player will be "frozen" for that many moves. If <freeze duration> is zero, with <forced movement> enabled, then <freeze duration> gets assigned the "default value" 2 automatically. |
gets used up | FLAG_LIFESAVE | If enabled, the mover gets "used up" after a certain number of moves (specified by <number of uses>). If disabled, the mover works infinitely. |
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. |
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. |
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. |
move players | object::level | If <move players> is enabled, both players and monsters will be moved. In the arches' default it is disabled - thus ONLY monsters get moved. Remember that "monsters" includes NPCs! This feature provides you with the possibility to make NPCs literally "come to life". Example: The player is talking with an NPC, speaking a certain keyword. This triggers a magic_ear and activates creators, creating (per default: monster-only) movers under the NPC's feet. The NPC starts "walking" on a predefined route! Note that it's useful to set this NPC immune to everything, preventing the player from pushing the NPC off the route. |
movement speed | object::speed | The movement speed value determines how fast a chain of these movers will push a player along (default is -0.2). Note that a negative value gets converted to positive when the item is loaded, and randomizes the initial speed value. A value of 1 will move the item once every tick, and 0.1 will move the item every 10 ticks, although it might be shorter if the mover is partway through its speed cycle. So, the default of 0.2 will move you in about half a second most of the time, assuming your tickrate is 8 ticks per second. |
movement type | object::move_type | When a monster steps onto the mover, it must use one of these movement types for it to be moved. By default, this is "walk", so flying monsters (and players!) won't be affected. It's probably best to change this to <walk,fly_low> if you want things to not bypass it just by flying. |
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. |
number of uses | living::hp | This value has only a meaning if <gets used up> is set: <number of uses> is the number of times, minus one, that it will move a creature before disappearing. (It will move someone <number of uses>+1 times, then vanish). |
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. |
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. |
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 ;) ). |