/**
@var PLAYERMOVER
See @ref page_type_40
*/

/**
@page page_type_40 Mover


@section Description
            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.
            <br>
            <br>
            Multi-square monsters can be moved as well, given enough space.
            Movers are usually invisible. 



Type defined by:
- @ref object::type = 40


@section Attributes

<table>
	<tr>
		<th>Attribute</th>
		<th>Field</th>
		<th>Description</th>
	</tr>
	<tr>
		<td>affected movement</td>
		<td>@ref obj::move_on</td>
		<td>                Move creatures using these movement types..
		</td>
	</tr>
	<tr>
		<td>artifact</td>
		<td>@ref obj::artifact</td>
		<td>            If defined, refers to an artifact to get values from.
		</td>
	</tr>
	<tr>
		<td>block view</td>
		<td>@ref FLAG_BLOCKSVIEW</td>
		<td>            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.
		</td>
	</tr>
	<tr>
		<td>changing</td>
		<td>@ref FLAG_CHANGING</td>
		<td>            A &lt;changing&gt; object converts to &lt;food&gt; &lt;other_arch&gt;
            objects; when it's animation is done. For non-living objects &lt;food&gt;
            is checked: if it is zero, the change happens; otherwise &lt;food&gt;
            is decreased by one. I suggest you don't mess with this value -
            leave the default in place.
		</td>
	</tr>
	<tr>
		<td>direction</td>
		<td>@ref liv::sp</td>
		<td>            The mover will push creatures in the specified &lt;direction&gt;. A
            mover with direction set to &lt;none&gt; will spin clockwise, thus
            pushing creatures in unpredictable directions.
		</td>
	</tr>
	<tr>
		<td>elevation</td>
		<td>@ref page_custom_attribute_elevation "elevation"</td>
		<td>            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.
		</td>
	</tr>
	<tr>
		<td>forced movement</td>
		<td>@ref obj::attacktype</td>
		<td>            If forced movement is enabled, the mover "freezes" anyone it moves
            (so they are forced to move along a chain). For players there is no
            way to escape this forced movement, except being pushed by a second
            player.
		</td>
	</tr>
	<tr>
		<td>freeze duration</td>
		<td>@ref liv::maxsp</td>
		<td>            The player will be "frozen" for that many moves. If &lt;freeze
            duration&gt; is zero, with &lt;forced movement&gt; enabled, then
            &lt;freeze duration&gt; gets assigned the "default value" 2
            automatically.
		</td>
	</tr>
	<tr>
		<td>gets used up</td>
		<td>@ref FLAG_LIFESAVE</td>
		<td>            If enabled, the mover gets "used up" after a certain number of moves
            (specified by &lt;number of uses&gt;). If disabled, the mover works
            infinitely.
		</td>
	</tr>
	<tr>
		<td>glow radius</td>
		<td>@ref obj::glow_radius</td>
		<td>            If &lt;glow radius&gt; is set to a value greater zero, the object
            appears lit up on dark maps. &lt;glow radius&gt; can be a value
            between 0 and 4, the higher, the more light does the object emit.
		</td>
	</tr>
	<tr>
		<td>identified</td>
		<td>@ref FLAG_IDENTIFIED</td>
		<td>            If an item is identified, the player has full knowledge about it.
		</td>
	</tr>
	<tr>
		<td>identified animation</td>
		<td>@ref page_custom_attribute_identified_animation "identified_animation"</td>
		<td>            If defined, then the object will take this animation when
            identified.
		</td>
	</tr>
	<tr>
		<td>identified animation speed</td>
		<td>@ref page_custom_attribute_identified_anim_speed "identified_anim_speed"</td>
		<td>            If defined, then the object will have this animation speed when
            identified.
		</td>
	</tr>
	<tr>
		<td>identified image</td>
		<td>@ref page_custom_attribute_identified_face "identified_face"</td>
		<td>            If defined, then the object will take this appareance when
            identified.
		</td>
	</tr>
	<tr>
		<td>identified random animation?</td>
		<td>@ref page_custom_attribute_identified_anim_random "identified_anim_random"</td>
		<td>            If defined, then the object's animation is in a random sequence when
            identified.
		</td>
	</tr>
	<tr>
		<td>identified_name</td>
		<td>@ref page_custom_attribute_identified_name "identified_name"</td>
		<td>            If defined, then the object will take this name when identified.
		</td>
	</tr>
	<tr>
		<td>identified_name_pl</td>
		<td>@ref page_custom_attribute_identified_name_pl "identified_name_pl"</td>
		<td>            If defined, then the object will take this plural name when
            identified.
		</td>
	</tr>
	<tr>
		<td>image</td>
		<td>@ref obj::face</td>
		<td>            The image-name defines what image is displayed for this object
            in-game.
		</td>
	</tr>
	<tr>
		<td>invisible</td>
		<td>@ref obj::invisible</td>
		<td>            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.
		</td>
	</tr>
	<tr>
		<td>material</td>
		<td>@ref obj::material</td>
		<td>            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.
		</td>
	</tr>
	<tr>
		<td>move players</td>
		<td>@ref obj::level</td>
		<td>                If &lt;move players&gt; 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 to push the NPC off his trace.
		</td>
	</tr>
	<tr>
		<td>movement speed</td>
		<td>@ref obj::speed</td>
		<td>            The movement speed value determines how fast a chain of these movers
            will push a player along (default is -0.2).
		</td>
	</tr>
	<tr>
		<td>movement type</td>
		<td>@ref obj::move_type</td>
		<td>                Determines which movement types this mover affects. This should
                always include "walk".
		</td>
	</tr>
	<tr>
		<td>name</td>
		<td>@ref obj::name</td>
		<td>            This is the name of the object, displayed to the player.
		</td>
	</tr>
	<tr>
		<td>non-pickable</td>
		<td>@ref FLAG_NO_PICK</td>
		<td>            If set, the object cannot be picked up (Neither by players nor
            monsters).
		</td>
	</tr>
	<tr>
		<td>number</td>
		<td>@ref obj::nrof</td>
		<td>            This value determines the number of objects in one stack (for
            example: 100 gold coins =&gt; "number = 100"). You should set this
            at least to one, for any pickable object - otherwise it won't be
            mergeable into a stack.
		</td>
	</tr>
	<tr>
		<td>number of uses</td>
		<td>@ref liv::hp</td>
		<td>            This value has only a meaning if &lt;gets used up&gt; is set: &lt;number
            of uses&gt; is the number of times minus one, that it will move a
            creature before disappearing. (It will move someone &lt;number of
            uses&gt;+1 times, then vanish).
		</td>
	</tr>
	<tr>
		<td>plural name</td>
		<td>@ref obj::name_pl</td>
		<td>            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.
		</td>
	</tr>
	<tr>
		<td>price adjustment</td>
		<td>@ref page_custom_attribute_price_adjustment "price_adjustment"</td>
		<td>            If set, this is the buy and sell price adjustment ratio for the
            item.
		</td>
	</tr>
	<tr>
		<td>price adjustment for buying</td>
		<td>@ref page_custom_attribute_price_adjustment_buy "price_adjustment_buy"</td>
		<td>            If set, this is the adjustment ratio when buying the item. Ignored
            if &lt;price&gt; adjustment is set.
		</td>
	</tr>
	<tr>
		<td>price adjustment for selling</td>
		<td>@ref page_custom_attribute_price_adjustment_sell "price_adjustment_sell"</td>
		<td>            If set, this is the adjustment ratio when selling the item. Ignored
            if &lt;price&gt; adjustment is set.
		</td>
	</tr>
	<tr>
		<td>smooth level</td>
		<td>@ref obj::smoothlevel</td>
		<td>            If &lt;smooth level&gt; is set to a value greater zero, the object
            will be drawn partially over adjacent squares having a lower &lt;smooth
            level&gt; value. The value must be between 0 and 255 (inclusive); 0
            means &quot;never overlap adjacent squares&quot;.
		</td>
	</tr>
	<tr>
		<td>splitting</td>
		<td>@ref FLAG_SPLITTING</td>
		<td>            A &lt;splitting&gt; object converts to &lt;food&gt; &lt;other_arch&gt;
            objects; when it is hit physically. For non-living objects &lt;food&gt;
            is checked: if it is zero, the change happens; otherwise &lt;food&gt;
            is decreased by one. I suggest you don't mess with this value -
            leave the default in place.
		</td>
	</tr>
	<tr>
		<td>title</td>
		<td>@ref obj::title</td>
		<td>            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.
		</td>
	</tr>
	<tr>
		<td>unpaid</td>
		<td>@ref FLAG_UNPAID</td>
		<td>            An &lt;unpaid&gt; 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.
		</td>
	</tr>
	<tr>
		<td>value</td>
		<td>@ref obj::value</td>
		<td>            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.
		</td>
	</tr>
	<tr>
		<td>weight</td>
		<td>@ref obj::weight</td>
		<td>            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 ;) ).
		</td>
	</tr>
</table>
*/
