Show types.xml syntax highlighted
<?xml version="1.0" standalone="no" ?>
<!--
######################################################################
# types.xml - This is the definitions-file for all the different #
# Angelion object types and their attributes. #
# #
# The server code of the Daimonin game is always changing and #
# evlolving. From time to time, object-attributes change in purpose, #
# or new ones are created. #
# Therefore, it is important that an Editor is flexible and #
# easy to "upgrade" to handle such new features. That's why the #
# DaimoninEditor reads the type-definitions from this xml file. #
# #
# If you encounter bugs, typos or missing entries in the LATEST #
# VERSION of this file - Don't hesitate to improve it, contact me #
# and eventually send the improved file to me: <red.blaze@gmx.net>. #
# I will put it into the "official version" of the DaimoninEditor #
# and all fellow Daimonin-Map-Makers can benefit from your work! #
# #
# IMPORTANT: Make a backup copy of this file before you start #
# to modify it! #
# #
# New types must be inserted maintaining the alphabetical order. #
# #
# about the 'type' elements: #
# #
# <type number="15" name="Type Name"> #
# <import_type name="Type Name" /> import attributes of this type; #
# Attributes explicitly defined in a type are not imported. #
# <required> #
# list of required attributes to identifying this type #
# </required> #
# <ignore> #
# list of attributes not to import from default_type #
# </ignore> #
# <description><![CDATA[ #
# Description of this type. ]]> #
# </description> #
# <use><![CDATA[ #
# How to use this type. ]]> #
# </use> #
# ... attributes ... #
# </type> #
# #
# about the 'attribute' type: <attribute ... type="XXX" > #
# #
# bool - This attribute can only be set to '1' or '0' #
# int - This attribute contains a 32 Bit decimal number #
# long - This attribute contains a 64 Bit decimal number #
# float - This attribute contains a floating point number #
# string - This attribute contains a string #
# facename - This attribute contains a string which is #
# a face name #
# animname - This attribute contains a string which is #
# an animation name #
# text - This attribute contains a text ("text" can have #
# line breaks, unlike "string") #
# fixed - This attribute is always set to a fixed 'value' #
# (There is no user-input for this attribute) #
# spell - This attribute contains a spell. The map maker can #
# choose spells from a combo box. #
# nz_spell - works just like 'spell', except that the #
# spell-value zero is always interpreted as <none>, #
# never as "magic bullet" #
# bool_special - Like bool, but with customized true/false values #
# treasurelist - CF treasure list (see "treasures" file) #
# list_LISTNAME - list, must be defined as a <list> element #
# bitmask_BITMASKNAME - bitmask, must be defined as a <bitmask> #
# element #
# #
# Created by Andreas Vogl. #
######################################################################
-->
<!DOCTYPE types PUBLIC "-//Daimonin//DTD Types 1.0//EN" "types.dtd">
<types>
<xi:include href="bitmasks.xml" />
<xi:include href="lists.xml" />
<xi:include href="ignorelists.xml" />
<!--###################### default attributes ######################-->
<!--
The attributes of the default_type get added to all other types by default.
Every type can have an 'ignore' element however, which is used to specify
default attributes *not* to inherit. Attributes explicitly defined in a type
are not inherited.
-->
<default_type>
<attribute arch="name" editor="name" type="string">
This is the name of the object, displayed to the player.
</attribute>
<attribute arch="title" editor="title" type="string">
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.
</attribute>
<attribute arch="amask" editor="artifact mask" type="string">
This is the name of a artifact mask which alters the original arch with the
values defined for that artifact in the artifacts file. The item is altered
AFTER all other attributes, even those following behind the artifact mask, are loaded.
</attribute>
<attribute arch="sub_type" editor="sub type" type="int">
This important value is used to define "sub types" for objects of the same object
type. Examples are weapons, which are all from type WEAPON but can be different sub types
like slash type, cleave type, 1hand, polearms and so on. This value goes to the client
too. WARNING: not all objects have a sub_type and changing it without care can corrupt
server AND/OR the clients. Normally this is not a subject to change outside arch definition.
</attribute>
<attribute arch="layer" editor="layer" type="int">
This is the map layer, the object will put in. The selected layer will effect where and
how this object is shown on client side. Layer 0 is reserved for sys_object type objects
and will NEVER be shown on client side.
Layer 3 and 4 are for items on the ground. Layer 5 is for walls, layer
6 is reserved for players and layer 7 is for spell effects and high flying/visible
objects like arrows.
</attribute>
<attribute arch="face" editor="image" type="facename">
The image-name defines what image is displayed for this object
in-game.
</attribute>
<attribute arch="animation" editor="animation" type="animname">
The animation-name defines what animation is displayed for this object
in-game. Note that a set animation will overrule the face.
Changing animation is easy - adding or deleting a animation is more
difficult and should be done in the text parse window and not in this
dialog.
</attribute>
<attribute arch="anim_speed" editor="anim speed" type="int">
How fast to play this animation.
</attribute>
<attribute arch="is_animated" editor="is animated" type="bool">
If set, the object is animated and animation is used.
Note: Some special objects will use a animation NOT as animation but
as frame list. Examples are buttons (which frames are changed by the
object status of the button). IS_TURNABLE will enable direction turning
for some object types. These flags are all "system" related. Be VERY
careful to change them.
</attribute>
<attribute arch="is_turnable" editor="is turnable" type="bool">
System flag. Object can be turned to the directions.
</attribute>
<attribute arch="speed_left" editor="start speed" type="float">
NOTE: without speed != 0, this value is not used. Only use
for objects with speed (active objects)!
When a active object (with 'speed' != 0) is put on a map, this
value is used as counter. Every 'tick', 'speed' (if negative,
value is turned positive before) is added to this value -
if it is bigger 0 the object 'will do something' and this counter is
decreased with -1.0 .
As default a normal object will put on the map with start speed 0.
It 'will do something' with the next coming 'tick'.
Setting this value to -1.0 will put it on map but wait one full
'lifetime' round until it does something.
A 'fire object' should be put on map with start speed 0 - it should
try to burn something in the moment it comes in the game. A bomb for
example should be put with speed -1.0 on the map - it will stay then
on map until the bomb becomes active - it explode.
The 'lifetime' round is determinated by speed. A speed of 1.0 will
give a 'lifetime' round of 1 tick - a speed of 0.01 100 ticks.
Special case: A negative speed value will add to start speed a random
value between 0.0 to 0.9 . So, a speed of -0.1 with a start speed of
-1.0 will result in speed 0.1 and start speed between -1.0 and -0.1.
This is useful to lets a row of same objects act in different tick ranges.
</attribute>
<attribute arch="nrof" editor="number" type="int">
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.
</attribute>
<attribute arch="weight" editor="weight" type="int">
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 ;) ).
</attribute>
<attribute arch="value" editor="value" type="long">
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.
</attribute>
<attribute arch="material" editor="material class" type="bitmask_material">
This bitmask-value informs the player of which basic material(s)
the object consists. Material class does also affect how likely the
object can be destroyed by hazardous spell-effects.
</attribute>
<attribute arch="material_real" editor="material" type="list_material_real">
The material defines the exact material of which the object
consists. It is much more specific than <material class>,
however only one material can be selected, not multiple.
<material> is not required to be set, it can be left 'undefined'.
A value of -1 will disable it and avoid every "material" setting or prefix
when the object is loaded.
</attribute>
<attribute arch="glow_radius" editor="glow radius" type="int">
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 9, the higher, the more light does the object emit.
</attribute>
<attribute arch="can_stack" editor="stackable" type="bool">
If set, the item can be stacked. Careful, don't use on
rings or other applyable items, it will lead to side effects.
Arrows are designed to be used as stack.
</attribute>
<attribute arch="no_pick" editor="non-pickable" type="bool">
If set, the object cannot be picked up (Neither by players nor monsters).
</attribute>
<attribute arch="no_pass" editor="blocking passage" type="bool">
If set, the object cannot be passed by players nor monsters.
</attribute>
<attribute arch="blocksview" editor="block view" type="bool">
If an item is set to block view, players (and monsters) cannot
see beyond it unless they cross it or manage to stand ontop.
</attribute>
<attribute arch="blocksvertview" editor="block vertical view" type="bool">
If an item is set to block view, players (and monsters) cannot
see beneath or above it unless they pass to the other side.
</attribute>
<attribute arch="pass_ethereal" editor="etheral can pass" type="bool">
If no_pass (blocking passage) is set, no one can pass. If this
flag is set too, ethereal flagged objects and CAN_PASS_THRU flag can pass.
</attribute>
<attribute arch="pass_thru" editor="can pass (no ethereal)" type="bool">
If no_pass (blocking passage) is set, no one can pass. If this
flag is set too, objects with the CAN_PASS_THRU flag can pass.
Ethereal can't pass this as long pass_ethereal is not set!
</attribute>
<attribute arch="no_magic" editor="no spells" type="bool">
If enabled, it is impossible for players to use (wizard-)
spells on that spot.
</attribute>
<attribute arch="no_cleric" editor="no prayers" type="bool">
If enabled, it is impossible for players to use (cleric-)
prayers on that spot.
</attribute>
<attribute arch="player_only" editor="player only" type="bool">
If set, only players can enter the tile the object with this flag is in too.
</attribute>
</default_type>
<!-- This ignorelist is for all system objects which are non pickable
and invisible. They don't interact with players at all. -->
<!--####################################################################-->
<type number="998" name="default_flags">
<description><![CDATA[
This is not a type - its a template for the item flags we need for import.
]]>
</description>
<section name="flags">
<attribute arch="sys_object" editor="inv. system object" type="bool">
Marks an object as system object. System objects are ALWAYS invisible and
hidden from the players. They can't be seen or detected and never will send
any information about them to the players client. System objects are put
in layer 0 under the floor tiles.
</attribute>
<attribute arch="is_invisible" editor="invisible" type="bool">
Generally makes the object invisible. Invisible objects will be shown
if the player has "see invisible" (from spell or item). To hide objects
totally from detection, use "sys_object".
</attribute>
<attribute arch="identified" editor="identified" type="bool">
If an item is identified, the player has
full knowledge about it.
</attribute>
<attribute arch="known_magical" editor="known magical" type="bool">
If an item is known magical, the player has
knowledge about it and will see the magical symbol.
</attribute>
<attribute arch="known_cursed" editor="known cursed" type="bool">
If an item is known cursed, the player has
knowledge about it and see the cursed flag.
</attribute>
<attribute arch="startequip" editor="NO-DROP item" type="bool">
A NO-DROP item vanishes as soon as the player
drops it to the ground.
</attribute>
<attribute arch="quest_item" editor="quest item" type="bool">
Item is a quest item. This item will be inserted in the
quest container when a quest is finished and for that player
this item will never drop again.
</attribute>
<attribute arch="one_drop" editor="one drop" type="bool">
Item is a one-drop quest item. This item will be drop the
first time the player triggers the quest (open chest, kill mob)
with a 100% chance. A second time this item never drops again for
that player.
</attribute>
<attribute arch="ego" editor="ego item" type="bool">
Item is an ego item an can only be applied when bound to a player.
</attribute>
<attribute arch="egobound" editor="egobound item" type="bool">
Item is egobound and can only be applied by the specific player.
</attribute>
<attribute arch="egoclan" editor="egoclan item" type="bool">
Item is ego bound to a clan and can only be applied by member of that clan (NOT DONE).
</attribute>
<attribute arch="is_named" editor="named item" type="bool">
Item is named and prefix like race or material is not shown.
</attribute>
<attribute arch="inv_locked" editor="inventory lock" type="bool">
Item is locked when in player inventory (can't be dropped).
</attribute>
<attribute arch="is_magical" editor="magical" type="bool">
If set, this object count as "magical". Detect magic or
identify will show this flag and the player will see a small
M in the client inventory part.
</attribute>
<attribute arch="cursed" editor="cursed" type="bool">
The item is cursed. This object can't be removed when
wielded or worn (without uncurse it). Remove curse will
remove this flag.
</attribute>
<attribute arch="cursed_perm" editor="permanent cursed" type="bool">
The item is permanent cursed. If this flag set, applying
or unapplying will set "cursed 1" again. This flag can't be
removed by remove curse.
</attribute>
<attribute arch="damned" editor="damned" type="bool">
Stronger form of curse. Item can't be removed when
wielded or worn. Remove damnation will remove this flag.
</attribute>
<attribute arch="damned_perm" editor="permanent damned" type="bool">
The item is permanent damned. If this flag set, applying
or unapplying will set "damned 1" again. This flag can't be
removed by remove damnation.
</attribute>
<attribute arch="unpaid" editor="unpaid" type="bool">
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.
</attribute>
<attribute arch="can_reflect_spell" editor="can reflect spells" type="bool">
object CAN reflect spells. See reflect spells.
</attribute>
<attribute arch="can_reflect_missile" editor="can reflect missiles" type="bool">
object CAN reflect missiles. See reflect missiles.
</attribute>
<attribute arch="can_roll" editor="moveable" type="bool">
If set, the object is able to "roll", so it can be pushed around.
This setting is used for boulders and barrels.
</attribute>
<attribute arch="no_teleport" editor="no teleport" type="bool">
Marks an object as no teleport object. A no teleport object can't be
teleported by teleporter except the object is inside the inventory of
another object which can be teleported.
</attribute>
</section>
</type>
<!--####################################################################-->
<type number="999" name="combat_values">
<import_type name="default_flags" />
<description><![CDATA[
This is not a type - its a template for the combat values we need for import.
]]>
</description>
<section name="attack">
<attribute arch="attack_impact" editor="impact (physical)" length="15" type="int">
"Impact" is damage from clubs, maces or a simple fist.
It belongs to the group of physical attacks.
</attribute>
<attribute arch="attack_slash" editor="slash (physical)" length="15" type="int">
"Slash" is sword type damage. Creatures with large claws can also do slash damage.
It belongs to the group of physical attacks.
</attribute>
<attribute arch="attack_cleave" editor="cleave (physical)" length="15" type="int">
"Cleave" is axe and halberd damage.
It belongs to the group of physical attacks.
</attribute>
<attribute arch="attack_pierce" editor="pierce (physical)" length="15" type="int">
"Pierce" attacks come from arrows or rapier weapons.
For example: arrows, bolts, daggers, spears.
It belongs to the group of physical attacks.
</attribute>
<attribute arch="attack_cold" editor="cold (elemental)" length="15" type="int">
Cold belongs to the group of elemental attacks. Pure damage.
</attribute>
<attribute arch="attack_fire" editor="fire (elemental)" length="15" type="int">
Fire belongs to the group of elemental attacks. Pure damage.
</attribute>
<attribute arch="attack_electricity" editor="electricity (elemental)" length="15" type="int">
Electricity belongs to the group of elemental attacks. Pure damage.
</attribute>
<attribute arch="attack_acid" editor="acid (elemental)" length="15" type="int">
Acid belongs to the group of elemental attacks. Can do extra damage to target
and equipment.
</attribute>
<attribute arch="attack_poison" editor="poison (elemental)" length="15" type="int">
Poison belongs to the group of elemental attacks. Can inflict poison effects.
</attribute>
<attribute arch="attack_sonic" editor="sonic (elemental)" length="15" type="int">
Sonic belongs to the group of elemental attacks. Pure damage.
</attribute>
<attribute arch="attack_magic" editor="magic (magical)" length="15" type="int">
Magic belongs to the group of magical attacks. Its pure mana used to attack.
damage only.
</attribute>
<attribute arch="attack_light" editor="light (magical)" length="15" type="int">
Light belongs to the group of magical attacks. Can inflict blinding effects.
</attribute>
<attribute arch="attack_shadow" editor="shadow (magical)" length="15" type="int">
Shadow belongs to the group of magical attacks. Mana or grace of the
target can be effected (reduced) too.
</attribute>
<attribute arch="attack_psionic" editor="psionic (magical)" length="15" type="int">
Psionic (also called mental) belongs to the group of magical attacks. Leech attack:
Mana or grace of the target can be effected, reduced and given to the attacker.
</attribute>
<attribute arch="attack_lifesteal" editor="lifesteal (magical)" length="15" type="int">
Lifesteal belongs to the group of magical attacks. Leech attack: Parts of the damage
are given to the attacker and added to the hitpoints.
</attribute>
<attribute arch="attack_death" editor="death (spherical)" length="15" type="int">
Death belongs to the group of spherical attacks. Special attack: A death damage hit
has the chance to HALF the targets HP - after the normal damage is done.
</attribute>
<attribute arch="attack_chaos" editor="chaos (spherical)" length="15" type="int">
Chaos belongs to the group of spherical attacks. Special attack: A chaos hit will
drain level and skills (like drain attack) and age the target.
</attribute>
<attribute arch="attack_nether" editor="nether (spherical)" length="15" type="int">
Nether belongs to the group of spherical attacks. Special attack: A nether hit will
deplete the target stats (like depletion attack) and age the target.
</attribute>
<attribute arch="attack_aether" editor="aether (spherical)" length="15" type="int">
Aether belongs to the group of spherical attacks. Special attack: A aether hit will
corrupt the target (reduce mana and grace) and age the target.
</attribute>
<attribute arch="attack_weaponmagic" editor="weaponmagic" length="15" type="int">
Weaponmagic is a special damage attack. Resistance and protection of weaponmagic
are VERY uncommon. Only invulnerable items will not be effected by weaponmagic.
</attribute>
<attribute arch="attack_godpower" editor="godpower" length="15" type="int">
Godpower is a special damage attack. It inflicts random attack effects,
will heavily effects the conditions of equipment and age the target.
</attribute>
<attribute arch="attack_drain" editor="drain (effect)" length="15" type="int">
Drain is a effect attack (no damage). It will drain levels and skills of the target.
</attribute>
<attribute arch="attack_depletion" editor="depletion (effect)" length="15" type="int">
Depletion is a effect attack (no damage). It will drain stats and abilities of the target.
</attribute>
<attribute arch="attack_corruption" editor="corruption (effect)" length="15" type="int">
Corruption is a effect attack (no damage). It will drain mana and grace of the target.
</attribute>
<attribute arch="attack_confusion" editor="confusion (effect)" length="15" type="int">
Confuse is a effect attack (no damage). It will confuse the target so it will do strange,
uncontrolled actions.
</attribute>
<attribute arch="attack_fear" editor="fear (effect)" length="15" type="int">
Fear is a effect attack (no damage). It will reduce the attack and defense abilities.
</attribute>
<attribute arch="attack_slow" editor="slow (effect)" length="15" type="int">
Slow is a effect attack (no damage). A slowed target will move and fight slower.
</attribute>
<attribute arch="attack_paralyze" editor="paralyze (effect)" length="15" type="int">
Paralyze is a effect attack (no damage). A paralyzed target can't move or attack.
</attribute>
<attribute arch="attack_snare" editor="snare (effect)" length="15" type="int">
Snare is a effect attack (no damage). A snared target moves slower but still attacks
normal. A total snared object is called rooted.
</attribute>
</section>
<section name="resistance">
<attribute arch="resist_impact" editor="impact (physical)" length="15" type="int">
"Impact" is damage from clubs, maces or a simple fist.
It belongs to the group of physical attacks.
</attribute>
<attribute arch="resist_slash" editor="slash (physical)" length="15" type="int">
"Slash" is sword type damage. Creatures with large claws can also do slash damage.
It belongs to the group of physical attacks.
</attribute>
<attribute arch="resist_cleave" editor="cleave (physical)" length="15" type="int">
"Cleave" is axe and halberd damage.
It belongs to the group of physical attacks.
</attribute>
<attribute arch="resist_pierce" editor="pierce (physical)" length="15" type="int">
"Pierce" attacks come from arrows or rapier weapons.
For example: arrows, bolts, daggers, spears.
It belongs to the group of physical attacks.
</attribute>
<attribute arch="resist_cold" editor="cold (elemental)" length="15" type="int">
Cold belongs to the group of elemental attacks. Pure damage.
</attribute>
<attribute arch="resist_fire" editor="fire (elemental)" length="15" type="int">
Fire belongs to the group of elemental attacks. Pure damage.
</attribute>
<attribute arch="resist_electricity" editor="electricity (elemental)" length="15" type="int">
Electricity belongs to the group of elemental attacks. Pure damage.
</attribute>
<attribute arch="resist_acid" editor="acid (elemental)" length="15" type="int">
Acid belongs to the group of elemental attacks. Can do extra damage to target
and equipment.
</attribute>
<attribute arch="resist_poison" editor="poison (elemental)" length="15" type="int">
Poison belongs to the group of elemental attacks. Can inflict poison effects.
</attribute>
<attribute arch="resist_sonic" editor="sonic (elemental)" length="15" type="int">
Sonic belongs to the group of elemental attacks. Pure damage.
</attribute>
<attribute arch="resist_magic" editor="magic (magical)" length="15" type="int">
Magic belongs to the group of magical attacks. Pure mana used for damage only.
</attribute>
<attribute arch="resist_light" editor="light (magical)" length="15" type="int">
Light belongs to the group of magical attacks. Can inflict blinding effects.
</attribute>
<attribute arch="resist_shadow" editor="shadow (magical)" length="15" type="int">
Shadow belongs to the group of magical attacks. Mana or grace of the
target can be effected (reduced) too.
</attribute>
<attribute arch="resist_psionic" editor="psionic (magical)" length="15" type="int">
Psionic (also called mental) belongs to the group of magical attacks. Leech attack:
Mana or grace of the target can be effected, reduced and given to the attacker.
</attribute>
<attribute arch="resist_lifesteal" editor="lifesteal (magical)" length="15" type="int">
Lifesteal belongs to the group of magical attacks. Leech attack: Parts of the damage
are given to the attacker and added to the hitpoints.
</attribute>
<attribute arch="resist_death" editor="death (spherical)" length="15" type="int">
Death belongs to the group of spherical attacks. Special attack: A death damage hit
has the chance to HALF the targets HP - after the normal damage is done.
</attribute>
<attribute arch="resist_chaos" editor="chaos (spherical)" length="15" type="int">
Chaos belongs to the group of spherical attacks. Special attack: A chaos hit will
drain level and skills (like drain attack) and age the target.
</attribute>
<attribute arch="resist_nether" editor="nether (spherical)" length="15" type="int">
Nether belongs to the group of spherical attacks. Special attack: A nether hit will
deplete the target stats (like depletion attack) and age the target.
</attribute>
<attribute arch="resist_aether" editor="aether (spherical)" length="15" type="int">
Aether belongs to the group of spherical attacks. Special attack: A aether hit will
corrupt the target (reduce mana and grace) and age the target.
</attribute>
<attribute arch="resist_weaponmagic" editor="weaponmagic" length="15" type="int">
Weaponmagic is a special damage attack. Resistance and protection of weaponmagic
are VERY uncommon. Only invulnerable items will not be effected by weaponmagic.
</attribute>
<attribute arch="resist_godpower" editor="godpower" length="15" type="int">
Godpower is a special damage attack. It inflicts random attack effects,
will heavily effects the conditions of equipment and age the target.
</attribute>
<attribute arch="resist_drain" editor="drain (effect)" length="15" type="int">
Drain is a effect attack (no damage). It will drain levels and skills of the target.
</attribute>
<attribute arch="resist_depletion" editor="depletion (effect)" length="15" type="int">
Depletion is a effect attack (no damage). It will drain stats and abilities of the target.
</attribute>
<attribute arch="resist_corruption" editor="corruption (effect)" length="15" type="int">
Corruption is a effect attack (no damage). It will drain mana and grace of the target.
</attribute>
<attribute arch="resist_confusion" editor="confusion (effect)" length="15" type="int">
Confuse is a effect attack (no damage). It will confuse the target so it will do strange,
uncontrolled actions.
</attribute>
<attribute arch="resist_fear" editor="fear (effect)" length="15" type="int">
Fear is a effect attack (no damage). It will reduce the attack and defense abilities.
</attribute>
<attribute arch="resist_slow" editor="slow (effect)" length="15" type="int">
Slow is a effect attack (no damage). A slowed target will move and fight slower.
</attribute>
<attribute arch="resist_paralyze" editor="paralyze (effect)" length="15" type="int">
Paralyze is a effect attack (no damage). A paralyzed target can't move or attack.
</attribute>
<attribute arch="resist_snare" editor="snare (effect)" length="15" type="int">
Snare is a effect attack (no damage). A snared target moves slower but still attacks
normal. A total snared object is called rooted.
</attribute>
</section>
</type>
<!--####################################################################-->
<type number="126" name="AI Object">
<import_type name="default_flags" />
<description><![CDATA[
AI objects define how a mob behaves in the game. By select and fine-tuning low-level
behaviors many different kinds of high-level behaviors can be achieved.
For now it may be a good idea to start out with a predefined AI and change some
of the parameters.
<br>
We aim to create a better behavior editor in the future. Contact the devteam if
you are interested in implementing it.
]]>
</description>
<attribute arch_begin="msg" arch_end="endmsg" editor="behavior list" type="text">
This is where behaviors are defined. A behavior belongs to one of the predefined classes,
and may take parameters.
</attribute>
</type>
<!--####################################################################-->
<type number="79" name="Misc Object">
<import_type name="default_flags" />
<description><![CDATA[
MISC_OBJECT are objects without special features, using the base setting of
the game engine. This includes many decorative objects like statues or rocks. ]]>
</description>
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text may describe the object.
</attribute>
</type>
<!--####################################################################-->
<type number="78" name="Light Source">
<import_type name="default_flags" />
<ignore>
<attribute arch="speed_left" />
</ignore>
<description><![CDATA[
Light Sources are system objects which used as a light/darkness set point. ]]>
</description>
<attribute arch="connected" editor="connection" type="int">
If set, the light can be controlled via the specified connection.
</attribute>
</type>
<!--####################################################################-->
<type number="74" name="Applyable Light">
<import_type name="default_flags" />
<ignore>
<attribute arch="material" />
<attribute arch="material_real" />
<attribute arch="speed_left" />
<attribute arch="glow_radius" />
</ignore>
<description><![CDATA[
A applyable light source for a player or monster. It has a 3 way apply chain:
First time light the object, second time put it in the hand, 3rd time unapply
and unlighten it. This will allow to drop a light enlighted or not to the
ground.]]>
</description>
<attribute arch="last_sp" editor="glow radius" type="int">
If <glow radius> is set to a value not zero, the object
appears lit up on dark maps. <glow radius> As higher as
more light does the object emit. The current sensible max value is 9.
If the value is 0, the light can't be lighten and can't be applied.
If the value is negative, this object will invoke darkness!
A value of 0 means, that this light can't be lighten. This will
be true for permanent burned out lights like torches.
</attribute>
<attribute arch="glow_radius" editor="light on" type="int">
Applyable light can be turned on or off. The value above will
determinate how and then its copied to this value. If this
value is 0 (default) the light is off - every other value
means on! This value is normally autoset when applied but can
be set by map makers to simulate light on.
</attribute>
<attribute arch="maxhp" editor="max. ticks of light" type="int">
'Max. Ticks of Light' defines the maximal value of 'Ticks of Light'.
This is normally used from refilling light sources.
</attribute>
<attribute arch="food" editor="ticks of light" type="int">
'Ticks of Light' defines how long the object will give light
before it wear out. Some lights can be refilled, some not.
</attribute>
<attribute arch="other_arch" editor="wear out change" type="string">
If a light source wear out, it checks this value. If it set, the
object change to this new object. This happens with torches - after
they wear out, they change to burned out torches which can't be
relight or refilled.
</attribute>
<attribute arch="last_eat" editor="wear out flag" type="bool">
If set this light will wear out. If not set, it is permanent light and
'Ticks of Light' counter is ignored.
</attribute>
<attribute arch="connected" editor="connection" type="int">
If set, the light can be controlled via the specified connection.
</attribute>
<section name="material">
<attribute arch="material" editor="material class" type="bitmask_material">
This bitmask-value informs the player of which basic material(s)
the object consists. Material class does also affect how likely the
object can be destroyed by hazardous spell-effects.
</attribute>
<attribute arch="material_real" editor="material" type="list_material_real">
The material defines the exact material of which the object
consists. It is much more specific than <material class>,
however only one material can be selected, not multiple.
<material> is not required to be set, it can be left 'undefined'.
A value of -1 will disable it and avoid every "material" setting or prefix
when the object is loaded.
</attribute>
<attribute arch="item_quality" editor="max. quality %" type="int">
Every item has a natural material quality, ranging from 0 top 100.
This is a % factor, which affects the base stats of the item.
However, <max. quality> does not represent the actual state of the
item but the best <actual quality> value this item can ever have.
Basic quality is 80%. If the item is made of cheap material, the
value may be lower. If made of very fine material it may be 100%.
</attribute>
<attribute arch="item_condition" editor="condition %" type="int">
This is the REAL quality status of item - showing how much it is
used up. Every time the item is overused or damaged, the
<actual quality> is lowered. The value can range from 0 (destroyed) to
the maximum of <max. quality> (It can never get higher than that).
The quality value represents a % value affecting the item's stats:
Lower quality than 100% means effects like protection/damage etc.
are reduced.
</attribute>
<attribute arch="proof_phy" editor="condition proof: physical" type="bool">
Physical attacks is able to reduce the quality of the item and
eventually destroy it.
</attribute>
<attribute arch="proof_ele" editor="condition proof: elemental" type="bool">
Elemental attacks are able to reduce the condition of the item
and eventually destroy it.
</attribute>
<attribute arch="proof_mag" editor="condition proof: magical" type="bool">
All forms of magical attacks are able to reduce the condition
of the item and eventually destroy it.
</attribute>
<attribute arch="proof_sph" editor="condition proof: spherical" type="bool">
All forms of spherical attacks are able to reduce the condition
of the item and eventually destroy it.
</attribute>
</section>
</type>
<!--####################################################################-->
<type number="82" name="Light Refill Object">
<import_type name="default_flags" />
<ignore>
<attribute arch="material" />
<attribute arch="material_real" />
<attribute arch="speed_left" />
</ignore>
<description><![CDATA[
Light Sources are system objects which u]]>
</description>
<attribute arch="race" editor="light type" type="string">
Defines the light type which can we refill with this refill
object.
</attribute>
<attribute arch="food" editor="refill value" type="int">
How much ticks can be refilled to a light source of the
defined light type. If we can refill all in the light, this
object is deleted. If we can't put all in the light, the
value is decreased by the number we filled in.
</attribute>
<section name="material">
<attribute arch="material" editor="material class" type="bitmask_material">
This bitmask-value informs the player of which basic material(s)
the object consists. Material class does also affect how likely the
object can be destroyed by hazardous spell-effects.
</attribute>
<attribute arch="material_real" editor="material" type="list_material_real">
The material defines the exact material of which the object
consists. It is much more specific than <material class>,
however only one material can be selected, not multiple.
<material> is not required to be set, it can be left 'undefined'.
A value of -1 will disable it and avoid every "material" setting or prefix
when the object is loaded.
</attribute>
<attribute arch="item_quality" editor="max. quality %" type="int">
Every item has a natural material quality, ranging from 0 top 100.
This is a % factor, which affects the base stats of the item.
However, <max. quality> does not represent the actual state of the
item but the best <actual quality> value this item can ever have.
Basic quality is 80%. If the item is made of cheap material, the
value may be lower. If made of very fine material it may be 100%.
</attribute>
<attribute arch="item_condition" editor="condition %" type="int">
This is the REAL quality status of item - showing how much it is
used up. Every time the item is overused or damaged, the
<actual quality> is lowered. The value can range from 0 (destroyed) to
the maximum of <max. quality> (It can never get higher than that).
The quality value represents a % value affecting the item's stats:
Lower quality than 100% means effects like protection/damage etc.
are reduced.
</attribute>
<attribute arch="proof_phy" editor="condition proof: physical" type="bool">
Physical attacks is able to reduce the quality of the item and
eventually destroy it.
</attribute>
<attribute arch="proof_ele" editor="condition proof: elemental" type="bool">
Elemental attacks are able to reduce the condition of the item
and eventually destroy it.
</attribute>
<attribute arch="proof_mag" editor="condition proof: magical" type="bool">
All forms of magical attacks are able to reduce the condition
of the item and eventually destroy it.
</attribute>
<attribute arch="proof_sph" editor="condition proof: spherical" type="bool">
All forms of spherical attacks are able to reduce the condition
of the item and eventually destroy it.
</attribute>
</section>
</type>
<!--####################################################################-->
<type number="0" name="Misc">
<required>
<!-- this is a special case: The "misc" type with type number 0 is
the fallback for all types which don't match any other defined types.
The required attribute "misc x" prevents that it gets confused with
other types like "monster & NPC" which also have type number 0. -->
<attribute arch="misc" value="x" />
</required>
<description><![CDATA[
WARNING: Type 0 is a invalid type setting in Daimonin and
will cause a warning for the server. ]]>
</description>
<attribute arch="no_pass" editor="blocking passage" type="bool">
If set, the object cannot be passed by players nor monsters.
</attribute>
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text may describe the object.
</attribute>
</type>
<!--####################################################################-->
<type number="110" name="Ability">
<import_type name="default_flags" />
<ignore>
<attribute arch="speed_left" />
<attribute arch="cursed" />
<attribute arch="damned" />
<attribute arch="is_magical" />
<ignore_list name="system_object" />
</ignore>
<description><![CDATA[
Abilities are to be put in a monster's inventory. They grant monsters the
knowledge to cast spells. Spells from abilities are usually magical in
nature, thus adding magic to the spell-damage they produce. If not marked
as magical, the ability as natural effect can't be disenchanted or
blocked by dispel magic.
<br><br>
A particularly nice feature of abilities is that they can hold two
spells: One for short range- and one for long range use.
<br><br>
You should know that spellcasting monsters receive abilities via
<treasurelist>. ]]>
</description>
<use><![CDATA[
If you want to create "customized" spellcasting monsters, you
should use abilities (rather than spellbooks/wands or something).
The long/short-range spell feature can make boss-monsters more
interesting and challenging.
<br><br>
You should keep in mind that magic abilities allow players
to get better resistance. You can turn off the magic part to
make the spells more dangerous. However, this really shouldn't
be necessary unless you work on very high level maps.
And what fun is a magic resistance cloak when it has no effect? ]]>
</use>
<attribute arch="no_drop" value="1" type="fixed" />
<attribute arch="sp" editor="short range spell" type="spell">
The monster will use the specified <short range spell>
when the player is within 6-square radius (of the
monster's head).
</attribute>
<attribute arch="hp" editor="long range spell" type="nz_spell">
The monster will use the specified <long range spell>
when the player is at least 6 squares away (from the
monster's head).
Setting a <long range spell> is optional. If unset, the
<short range spell> gets used all the time.
</attribute>
<attribute arch="maxsp" editor="importance" type="int">
Sometimes you'll want a monster to use one ability more than others.
To achieve this, set the <importance> to a value greater than
one. Abilities with this value zero/unset are counted to be of
<importance> one.
Example: A monster with "small fireball" of <importance> 3 and
"paralyze" of <importance> 1 will averagely cast three out of four
times the "small fireball".
</attribute>
<attribute arch="last_grace" editor="casting delay" type="int">
The casting delay this spell/ability invoke to a monster using it.
This is cumulative added to the monster default casting delay.
</attribute>
<attribute arch="is_magical" editor="is magical" type="bool">
This flag specifies whether the ability <is magical> in nature.
This should always be set for spell-like abilities. "Natural"
abilities like a dragon's firebreath are an exception.
Note that non-magical abilities are more dangerous because
magic resistance does not protect from those.
</attribute>
</type>
<!--####################################################################-->
<type number="18" name="Altar">
<import_type name="default_flags" />
<ignore>
<ignore_list name="non_pickable" />
<ignore_list name="default_setting" />
</ignore>
<description><![CDATA[
When a player puts a defined number of certain items on the altar,
then either a spell is casted (on the player) or a connector is
triggered. If the latter is the case, the altar works only once.
Either way, the sacrificed item disappears. ]]>
</description>
<attribute arch="no_pick" value="1" type="fixed" />
<attribute arch="slaying" editor="match item name" type="string">
This string specifies the item that must be put on the altar to
activate it. It can either be the name of an archetype, or directly
the name of an object. Yet, titles are not recognized by altars.
Remember to put a note somewhere, telling the player what he is
expected to drop on the altar. (Often this is put in the altar's
name: E.g. "drop 100 platinums")
</attribute>
<attribute arch="food" editor="drop amount" type="int">
The drop amount specifies the amount of items (specified
in <match item name>) that must be dropped to activate the altar.
If <match item name> is set to "money", then the value of the
sacrificed money must be equal to <drop amount> (ie, if food=200, then
200 silver, 20 gold, or 4 platinum will all work.)
Note that the maximum possible for <drop amount> is 32767.
</attribute>
<attribute arch="connected" editor="connection" type="int">
If a connection value is set, the altar will trigger all objects
with the same value, when activated. This will only work once.
</attribute>
<attribute arch="last_eat" editor="connection flag1" type="bool">
Depending on the target object, setting this flag or not
can have different effects. See the object you are connecting
to this.
</attribute>
<attribute arch="sp" editor="spell" type="spell">
When activated, the selected <spell> will be casted (once, on the
player). This should work for any given spell. The altar will work
infinitely in this way. Don't set both <spell> and <connection> for
one altar.
</attribute>
<attribute arch="level" editor="spell level" type="int">
Set the power level of the spell. This can be from 1 to 110.
</attribute>
<attribute arch="last_sp" editor="cast to direction" type="list_direction">
The spell will be casted in this direction. Note, that if the altar
should cast a heal spell on the player, this must be
direction 0 <none>. For other spells like fireball,
it should be set a valid point of the compass direction.
</attribute>
<attribute arch="walk_on" value="1" type="fixed" />
<attribute arch_begin="msg" arch_end="endmsg" editor="message" type="text">
This text will be displayed to the player
in the exact moment when the altar is activated.
</attribute>
</type>
<!--####################################################################-->
<type number="31" name="Altar Trigger">
<import_type name="default_flags" />
<ignore>
<ignore_list name="non_pickable" />
<ignore_list name="default_setting" />
</ignore>
<description><![CDATA[
Altar_triggers work pretty much like normal altars
(drop sacrifice -> connection activated), except for the fact that
they reset after usage. Hence, altar_triggers can be used infinitely. ]]>
</description>
<use><![CDATA[
Altar_triggers are very useful if you want to charge a price for...
<UL>
<LI> ...an item. -> Connect the altar_trigger (set "last_sp 1") to a creator.
<LI> ...opening a gate. -> Connect the altar_trigger (set "last_sp 0") to the gate.
<LI> ...information. -> Connect the altar_trigger (set "last_sp 1") to a magic_mouth.
</UL>
The big advantage over normal altars is the infinite usability
of altar_triggers! If there are ten players on one server, they're
quite grateful if things work more than once. =) ]]>
</use>
<attribute arch="no_pick" value="1" type="fixed" />
<attribute arch="slaying" editor="match item name" type="string">
This string specifies the item that must be put on the altar to
activate it. It can either be the name of an archetype, or directly
the name of an object. Yet, titles are not recognized by altars.
Remember to put a note somewhere, telling the player what he is
expected to drop on the altar. (Often this is put in the altar's
name: E.g. "drop 100 platinums")
</attribute>
<attribute arch="food" editor="drop amount" type="int">
The drop amount specifies the amount of items (specified
in <match item name>) that must be dropped to activate the altar.
If <match item name> is set to "money", then the value of the
sacrificed money must be equal to <drop amount> (ie, if food=200, then
200 silver, 20 gold, or 4 platinum will all work.)
Note that the maximum possible for <drop amount> is 32767.
</attribute>
<attribute arch="exp" editor="reset time" type="int">
Being activated, the altar will reset after <reset time> ticks.
After reset, the altar is ready to be activated once again.
The default <reset time> is 30.
</attribute>
<attribute arch="connected" editor="connection" type="int">
If a connection value is set, the altar will trigger all objects
with the same value, when activated. This will only work once.
</attribute>
<attribute arch="last_eat" editor="connection flag1" type="bool">
Depending on the target object, setting this flag or not
can have different effects. See the object you are connecting
to this.
</attribute>
<attribute arch="last_sp" editor="ignore reset" type="bool">
If this attribute is enabled, the altar_trigger won't push the
connected value by altar reset. Only ONCE by dropping the sacrifice.
This is typically used when the altar is connected to a creator,
e.g. for selling tickets.
If this attribute is disabled (default), the altar_trigger
will push the connected value TWICE per sacrifice: First by
dropping sacrifice, second by reset. This mode is typically
used for altars being connected to gates, resulting in the
gate being opened and closed again.
</attribute>
<attribute arch="walk_on" value="1" type="fixed" />
<attribute arch_begin="msg" arch_end="endmsg" editor="message" type="text">
This text will be displayed to the player
in the exact moment when the altar is activated.
</attribute>
</type>
<!--####################################################################-->
<type number="39" name="Amulet">
<import_type name="combat_values" />
<ignore>
<section name="resistance" />
<attribute arch="material" />
<attribute arch="material_real" />
</ignore>
<description><![CDATA[
Wearing an amulet, the object's stats will directly be inherited to
the player. Amulets are usually meant for protection and defense. ]]>
</description>
<use><![CDATA[
Feel free to create your own special artifacts. However, it is very
important that you keep your artifact in balance with existing maps. ]]>
</use>
<attribute arch="ac" editor="armor class" type="int">
This value defines the amount of armor-class bonus for wearing
this item. <Armor class> lessens the chance of being hit. Higher
values are better. It should usually be set only for armor-like equipment.
</attribute>
<attribute arch="wc" editor="weapon class" type="int">
The weapon class value adds to the overall weapon class of the player's
melee attacks. Weapon class improves the chance of hitting the opponent.
</attribute>
<attribute arch="item_level" editor="required level" type="int">
If <required level> is set to a value greater zero, players cannot
wear this item unless they meet this level in the skill category
specified by <level required in>.
For example: <required level> = 15, <level required in> = physical
means the player cannot wear the item unless he is equal or greater
level 15 in the physical skill category.
</attribute>
<attribute arch="item_skill" editor="level required in" type="list_item_skill">
This attribute specifies in which skill category the player
must meet the <required level> in order to wear the item.
It is meaningless when <required level> is zero/unset.
For example: <required level> = 15, <level required in> = physical
means the player cannot wear the item unless he is equal or greater
level 15 in the physical skill category.
</attribute>
<attribute arch="lifesave" editor="save life" type="bool">
An item with this flag enabled will save the players life
for one time: When the player is wearing this item and his
healthpoints reach zero, the item disappears, replenishing
half of the player's health.
An item with <save life> should not have
any decent additional bonuses!
</attribute>
<attribute arch="applied" editor="is applied" type="bool">
If you put this item into the inventory of a monster, and
you want the monster to use/wear the item - you must set
<is applied>.
Enabling this flag doesn't make any sense if the item
is NOT in a monster's inventory.
</attribute>
<section name="stats">
<attribute arch="str" editor="strength" type="int">
The player's strength will rise/fall by the given value
while wearing this piece of equipment.
</attribute>
<attribute arch="dex" editor="dexterity" type="int">
The player's dexterity will rise/fall by the given value
while wearing this piece of equipment.
</attribute>
<attribute arch="con" editor="constitution" type="int">
The player's constitution will rise/fall by the given value
while wearing this piece of equipment.
</attribute>
<attribute arch="int" editor="intelligence" type="int">
The player's intelligence will rise/fall by the given value
while wearing this piece of equipment.
</attribute>
<attribute arch="pow" editor="power" type="int">
The player's power will rise/fall by the given value
while wearing this piece of equipment.
</attribute>
<attribute arch="wis" editor="wisdom" type="int">
The player's wisdom will rise/fall by the given value while
wearing this piece of equipment.
</attribute>
<attribute arch="cha" editor="charisma" type="int">
The player's charisma will rise/fall by the given value
while wearing this piece of equipment.
</attribute>
<attribute arch="luck" editor="luck" type="int">
The player's luck gives a small bonus to the random
numbers that affect the player.
</attribute>
</section>
<section name="misc">
<attribute arch="thac0" editor="thac0 boni" type="int">
A attack roll is done with a w20. Every value bigger
as thac0 is a hit even the target ac is higher.
A negative value will reduce the thac0.
</attribute>
<attribute arch="thacm" editor="thacm boni" type="int">
A attack roll is done with a w20. Every value smaller thacm
is a miss, even the target ac is lower. A negative value
will DECREASE the thacm malus!
</attribute>
<attribute arch="exp" editor="speed bonus" type="int">
Divide by ten to get the player's speed bonus from wearing
this item. (The real formula to calculate speed bonus is
more advanced, but this description will do for now. /Gecko)
</attribute>
<attribute arch="hp" editor="health regen." type="int">
Positive <health regen.> bonus speeds up the
player's healing process. Negative values slow it down.
</attribute>
<attribute arch="maxhp" editor="health bonus" type="int">
Positive <health bonus> increase the hit points.
Negative decrease them (decrease can't reduce the total
hp of the wearer below 1).
</attribute>
<attribute arch="sp" editor="mana regen." type="int">
Positive <mana regen.> bonus speeds up the
player's mana regeneration. Negative values slow it down.
</attribute>
<attribute arch="maxsp" editor="mana bonus" type="int">
Positive <mana bonus> increase the mana points.
Negative decrease them (decrease can't reduce the total
mana of the wearer below 1).
</attribute>
<attribute arch="grace" editor="grace regen." type="int">
Positive <grace regen.> bonus speeds up the
player's grace regeneration. Negative values slow it down.
Since grace can be regenerated rather easy with praying,
additional <grace regen.> bonus should be VERY RARE!!
</attribute>
<attribute arch="maxgrace" editor="grace bonus" type="int">
Positive <grace bonus> increase the hit points.
Negative decrease them (decrease can't reduce the total
grace of the wearer below 1).
</attribute>
<attribute arch="make_invisible" editor="make invisible" type="bool">
When applied the user gets invisible. He can't be seen from player
or monster except they have "see invisible" power.
</attribute>
<attribute arch="see_invisible" editor="see invisible" type="bool">
When applied the user can see invisible objects.
</attribute>
<attribute arch="make_ethereal" editor="make ethereal" type="bool">
When applied the user gets ethereal. He can't still be seen but
transparent. He can move through walls and doors which has the
PASS_THRU flag set (like ghosts and other non physical monsters).
</attribute>
<attribute arch="xrays" editor="gives xray vision" type="bool">
Xray vision allows the player to see through obstacles
in a two-square-wide radius. This is extremely helpful and
desireable, so don't give it away for cheap on equipment.
</attribute>
<attribute arch="can_see_in_dark" editor="gives infravision" type="bool">
A player with the ability to <infravision (see in darkness)>
can see better (but not perfect) in darkness. Living objects will
shown red.
For mobs, this flag is a "should-have" for high-level monsters.
When a monster is unable to see in darkness, in the night they will
not be able to move or players can cast darkness and sneak around
it safely.
</attribute>
<attribute arch="stealth" editor="stealth" type="bool">
Stealth allows the player to move silently.
This comes to effect if a player turns himself
invisible and tries to sneak around monsters.
(At least that was the idea behind it)
</attribute>
<attribute arch="reflect_spell" editor="give reflect spells" type="bool">
If a player is wearing any piece of equipment with
the ability to <reflect spells>, all kinds of
spell-bullets and -beams will bounce off him.
This works only about 90% of all times, to
avoid players being completely immune to certain
types of attacks.
This is a very powerful ability and it
shouldn't be handed out cheap!
</attribute>
<attribute arch="reflect_missile" editor="give reflect missiles" type="bool">
If a player is wearing any piece of equipment with
the ability to <reflect missiles>, all kinds of
projectiles (e.g. arrows, bolts, boulders) will
bounce off him. This works only about 90% of all
times, to avoid players being completely immune to
certain types of attacks.
</attribute>
<attribute arch="flying" editor="levitate" type="bool">
As soon as the player applies a piece of equipment with
<levitate> set, the player will start to float in the air.
</attribute>
<attribute arch="terrain_type" editor="support terrain" type="bitmask_terrain">
The bearer of this item can move in every terrain that
is set by <support terrain>. Such abilities like
"water walking", "fire walking" etc are almost priceless
as they open access to an entire new plane of the Angelion
world.
Artifacts with <support terrain> attributes are VERY
SPECIAL and they must be well-balanced!!!
</attribute>
<attribute arch="path_attuned" editor="attuned paths" type="bitmask_spellpath">
Click on the <attuned paths> button to select spellpaths.
The player will get attuned to the specified spellpaths
while wearing this item.
</attribute>
<attribute arch="path_repelled" editor="repelled paths" type="bitmask_spellpath">
Click on the <repelled paths> button to select spellpaths.
The player will get attuned to the specified spellpaths
while wearing this item.
</attribute>
<attribute arch="path_denied" editor="denied paths" type="bitmask_spellpath">
Click on the <denied paths> button to select spellpaths.
The specified spellpaths will be denied to the player
while wearing this item.
</attribute>
</section>
<section name="material">
<attribute arch="material" editor="material class" type="bitmask_material">
This bitmask-value informs the player of which basic material(s)
the object consists. Material class does also affect how likely the
object can be destroyed by hazardous spell-effects.
</attribute>
<attribute arch="material_real" editor="material" type="list_material_real">
The material defines the exact material of which the object
consists. It is much more specific than <material class>,
however only one material can be selected, not multiple.
<material> is not required to be set, it can be left 'undefined'.
A value of -1 will disable it and avoid every "material" setting or prefix
when the object is loaded.
</attribute>
<attribute arch="item_quality" editor="max. quality %" type="int">
Every item has a natural material quality, ranging from 0 top 100.
This is a % factor, which affects the base stats of the item.
However, <max. quality> does not represent the actual state of the
item but the best <actual quality> value this item can ever have.
Basic quality is 80%. If the item is made of cheap material, the
value may be lower. If made of very fine material it may be 100%.
</attribute>
<attribute arch="item_condition" editor="condition %" type="int">
This is the REAL quality status of item - showing how much it is
used up. Every time the item is overused or damaged, the
<actual quality> is lowered. The value can range from 0 (destroyed) to
the maximum of <max. quality> (It can never get higher than that).
The quality value represents a % value affecting the item's stats:
Lower quality than 100% means effects like protection/damage etc.
are reduced.
</attribute>
<attribute arch="proof_phy" editor="condition proof: physical" type="bool">
Physical attacks is able to reduce the quality of the item and
eventually destroy it.
</attribute>
<attribute arch="proof_ele" editor="condition proof: elemental" type="bool">
Elemental attacks are able to reduce the condition of the item
and eventually destroy it.
</attribute>
<attribute arch="proof_mag" editor="condition proof: magical" type="bool">
All forms of magical attacks are able to reduce the condition
of the item and eventually destroy it.
</attribute>
<attribute arch="proof_sph" editor="condition proof: spherical" type="bool">
All forms of spherical attacks are able to reduce the condition
of the item and eventually destroy it.
</attribute>
</section>
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text describes the item's "story". Every decent artifact
should have such a description.
</attribute>
</type>
<!--####################################################################-->
<type number="104" name="Bracers">
<import_type name="Amulet" />
<ignore>
<attribute arch="material" />
<attribute arch="material_real" />
</ignore>
<description><![CDATA[
Bracers are armor-plates worn around the wrists.
Wearing bracer, the object's stats will directly be inherited to
the player. Usually enhancing his defense. ]]>
</description>
<use><![CDATA[
Feel free to create your own special artifacts. However, it is very
important that you keep your artifact in balance with existing maps. ]]>
</use>
<attribute arch="magic" editor="magic bonus" type="int">
<magic bonus> works just like ac, except that it can be improved by
"scrolls of Enchant Armour" or reduced by acid. It is less useful
than direct armor-class bonus on the bracers.
</attribute>
</type>
<!--####################################################################-->
<type number="16" name="Breastplate Armor">
<import_type name="Amulet" />
<ignore>
<attribute arch="material" />
<attribute arch="material_real" />
</ignore>
<description><![CDATA[
Wearing an armor, the object's stats will directly be inherited to
the player. Usually enhancing his defense. ]]>
</description>
<use><![CDATA[
Feel free to create your own special artifacts. However, it is very
important that you keep your artifact in balance with existing maps. ]]>
</use>
<attribute arch="last_heal" editor="spellcasting penalty" type="int">
This poses a penalty to spellcasting in %, for wearing the armor.
The bigger the spellcasting penalty, the worse.
</attribute>
<attribute arch="last_sp" editor="slowdown" type="int">
Slowdown penalty reduces the player's walking speed when wearing the
armor. Bigger values are worse - zero is best.
</attribute>
<attribute arch="magic" editor="magic bonus" type="int">
<magic bonus> works just like ac, except that it can be improved by
"scrolls of Enchant Armour" or reduced by acid. It is less useful
than direct armor-class bonus on the armor.
</attribute>
</type>
<!--####################################################################-->
<type number="8" name="Book">
<import_type name="default_flags" />
<description><![CDATA[
Applying a book, the containing message is displayed to the player. ]]>
</description>
<attribute arch="container" editor="language" type="list_language">
The language the book is written in. Only when it matches the languages
the player knows, the book can be written.
</attribute>
<attribute arch_begin="msg" arch_end="endmsg" editor="book content" type="text">
This is the text that appears "written" in the book.
</attribute>
</type>
<!--####################################################################-->
<type number="99" name="Boots">
<import_type name="Amulet" />
<ignore>
<attribute arch="material" />
<attribute arch="material_real" />
</ignore>
<description><![CDATA[
Wearing boots, the object's stats will directly be inherited to
the player. Usually enhancing his speed, or granting some minor
protection bonus. ]]>
</description>
<use><![CDATA[
Feel free to create your own special artifacts. However, it is very
important that you keep your artifact in balance with existing maps. ]]>
</use>
<attribute arch="last_heal" editor="spellcasting penalty" type="int">
This poses a penalty to spellcasting, for wearing the boots.
The bigger the spellcasting penalty, the worse.
The spell will fail then.
</attribute>
<attribute arch="last_sp" editor="slowdown" type="int">
Slowdown penalty reduces the player's walking speed when wearing the
boots. Bigger values are worse - zero is best.
</attribute>
<attribute arch="exp" editor="speed bonus" type="int">
Boots with <speed bonus> will increase the player's walking speed
while worn. This kind of bonus is quite desirable for players of low-
and medium level. High level players usually have fastest possible
walking speed and thus don't need <speed bonus> anymore.
Still, this bonus is good for nice artifacts - not everything has
to be for highest level.
</attribute>
<attribute arch="magic" editor="magic bonus" type="int">
<magic bonus> works just like ac, except that it can be improved by
"scrolls of Enchant Armour" or reduced by acid. It is less useful
than direct armor-class bonus on the boots.
Important: <magic bonus> on boots has no effect if there is no
<armor class> set. It only works in combination with <armor class>.
</attribute>
</type>
<!--####################################################################-->
<type number="92" name="Button">
<import_type name="default_flags" />
<ignore>
<ignore_list name="non_pickable" />
<ignore_list name="default_setting" />
</ignore>
<description><![CDATA[
When a predefined amount of weight is placed on a button, the
<connection> value is triggered. In most cases this happens when a
player or monster steps on it. When the button is "released", the
<connection> value gets triggered a second time. ]]>
</description>
<attribute arch="walk_on" value="1" type="fixed" />
<attribute arch="walk_off" value="1" type="fixed" />
<attribute arch="no_pick" value="1" type="fixed" />
<attribute arch="weight" editor="press weight" type="string">
The button is pressed (triggered), as soon as
<press weigh> gram are placed on top of it.
</attribute>
<attribute arch="connected" editor="connection" type="int">
Every time the button is pressed or released, all objects
with the same <connection> value are activated.
</attribute>
<attribute arch="last_eat" editor="connection flag1" type="bool">
Depending on the target object, setting this flag or not
can have different effects. See the object you are connecting
to this.
</attribute>
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text may describe the item. You can use this
message to explain the button's purpose to the player.
</attribute>
</type>
<!--####################################################################-->
<type number="30" name="Trigger Button">
<import_type name="default_flags" />
<ignore>
<ignore_list name="non_pickable" />
<ignore_list name="default_setting" />
</ignore>
<description><![CDATA[
When a predefined amount of weigh is placed on a trigger button, the
<connection> value is triggered. In most cases this happens when a
player or monster steps on it. TRIGGER_BUTTON objects work like
TRIGGERS - after they get triggered, they will reset automatically
and send another trigger signal to the connected objects. This
will happen even the player/object which triggered the button
is still on it. In the time between trigger and reset, the
TRIGGER_BUTTON can't be triggered. ]]>
</description>
<attribute arch="walk_on" value="1" type="fixed" />
<attribute arch="walk_off" value="1" type="fixed" />
<attribute arch="no_pick" value="1" type="fixed" />
<attribute arch="weight" editor="press weight" type="string">
The button is pressed (triggered), as soon as
<press weigh> gram are placed on top of it.
</attribute>
<attribute arch="connected" editor="connection" type="int">
Every time the button is pressed or released, all objects
with the same <connection> value are activated.
</attribute>
<attribute arch="last_eat" editor="connection flag1" type="bool">
Depending on the target object, setting this flag or not
can have different effects. See the object you are connecting
to this.
</attribute>
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text may describe the item. You can use this
message to explain the button's purpose to the player.
</attribute>
</type>
<!--####################################################################-->
<type number="87" name="Cloak">
<import_type name="Amulet" />
<ignore>
<attribute arch="material" />
<attribute arch="material_real" />
</ignore>
<description><![CDATA[
Wearing a cloak, the object's stats will directly be inherited to
the player. Cloaks usually add minor <armor class> and
sometimes a bit of resistance. ]]>
</description>
<use><![CDATA[
Feel free to create your own special artifacts. However, it is very
important that you keep your artifact in balance with existing maps. ]]>
</use>
<attribute arch="magic" editor="magic bonus" type="int">
<magic bonus> works just like ac, except that it can be improved by
"scrolls of Enchant Armour" or reduced by acid. It is less useful
than direct armor-class bonus on the cloak.
Important: <magic bonus> on cloaks has no effect if there is no
<armor class> set. It only works in combination with <armor class>.
</attribute>
</type>
<!--####################################################################-->
<type number="9" name="Clock">
<import_type name="default_flags" />
<description><![CDATA[
Applying a clock, the time is displayed to the player. ]]>
</description>
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text may describe the item
</attribute>
</type>
<!--####################################################################-->
<type number="122" name="Container">
<import_type name="default_flags" />
<ignore>
<attribute arch="material" />
<attribute arch="material_real" />
</ignore>
<description><![CDATA[
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.
<br><br>
A special feature of containers is the "cauldron",
capable of mixing alchemical recipes. ]]>
</description>
<use><![CDATA[
Note on chests - There are two types of chests:
<UL>
<LI> First the random treasure chests - Those are NOT containers
(but object type Treasure), they create random treasures when
applied. Archetype name is "chest".
<LI> Second there are the permanent chests - Those are containers,
they can be opened and closed again. Archetype name is "chest_2".
</UL> ]]>
</use>
<attribute arch="race" editor="container class" type="string">
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 counterpiece-attribute
to the <container class> before they can be put inside a
container. This attribute ("race") is set only for the existing
container classes.
</attribute>
<attribute arch="slaying" editor="key string" type="string">
If <key string> is set, only players with a special key
of matching <key string> are able to open the container.
</attribute>
<attribute arch="container" editor="maximum weight" type="int">
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.
</attribute>
<attribute arch="weapon_speed" editor="reduce weight %" type="float">
This value determines how much the weight of items is reduced in
percent, when put inside the container. <reduce weight %> 1.0 means no
reduction, <reduce weight %> 0 means items are weightless inside.
0.5 means weight is halved.
</attribute>
<attribute arch="other_arch" editor="animation arch" type="string">
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.
</attribute>
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text may contain a description of the container.
</attribute>
<section name="material">
<attribute arch="material" editor="material class" type="bitmask_material">
This bitmask-value informs the player of which basic material(s)
the object consists. Material class does also affect how likely the
object can be destroyed by hazardous spell-effects.
</attribute>
<attribute arch="material_real" editor="material" type="list_material_real">
The material defines the exact material of which the object
consists. It is much more specific than <material class>,
however only one material can be selected, not multiple.
<material> is not required to be set, it can be left 'undefined'.
A value of -1 will disable it and avoid every "material" setting or prefix
when the object is loaded.
</attribute>
<attribute arch="item_quality" editor="max. quality %" type="int">
Every item has a natural material quality, ranging from 0 top 100.
This is a % factor, which affects the base stats of the item.
However, <max. quality> does not represent the actual state of the
item but the best <actual quality> value this item can ever have.
Basic quality is 80%. If the item is made of cheap material, the
value may be lower. If made of very fine material it may be 100%.
</attribute>
<attribute arch="item_condition" editor="condition %" type="int">
This is the REAL quality status of item - showing how much it is
used up. Every time the item is overused or damaged, the
<actual quality> is lowered. The value can range from 0 (destroyed) to
the maximum of <max. quality> (It can never get higher than that).
The quality value represents a % value affecting the item's stats:
Lower quality than 100% means effects like protection/damage etc.
are reduced.
</attribute>
<attribute arch="proof_phy" editor="condition proof: physical" type="bool">
Physical attacks is able to reduce the quality of the item and
eventually destroy it.
</attribute>
<attribute arch="proof_ele" editor="condition proof: elemental" type="bool">
Elemental attacks are able to reduce the condition of the item
and eventually destroy it.
</attribute>
<attribute arch="proof_mag" editor="condition proof: magical" type="bool">
All forms of magical attacks are able to reduce the condition
of the item and eventually destroy it.
</attribute>
<attribute arch="proof_sph" editor="condition proof: spherical" type="bool">
All forms of spherical attacks are able to reduce the condition
of the item and eventually destroy it.
</attribute>
</section>
</type>
<!--####################################################################-->
<type number="103" name="Converter">
<import_type name="default_flags" />
<ignore>
<ignore_list name="non_pickable" />
<ignore_list name="default_setting" />
</ignore>
<description><![CDATA[
Converters are like "exchange tables". When the player drops a
specific type of items, they get converted into other items, at a
predefined exchange-ratio. ]]>
</description>
<use><![CDATA[
Converters are better than shopping with doormats, because the
converters never get sold out. For some items like food or jewels
those "exchange tables" are really nice, while for the more important
stuff like potions converters should not exist.
<br><br>
VERY IMPORTANT: Be careful with the exchange-ratio! When you drop
items on a converter, the stuff you get must be of equal or lesser
value than before! (Except if you are using "rare" items like
dragonscales for payment). The code will not check if your ratio is
sane, so the player could gain infinite wealth by using your converter. ]]>
</use>
<attribute arch="no_pick" value="1" type="fixed" />
<attribute arch="slaying" editor="cost arch" type="string">
<cost arch> is the name of the archetype the player has to
put on the converter, as payment.
</attribute>
<attribute arch="food" editor="cost number" type="int">
The player has to put <cost number> items of <cost arch>
on the converter, in order to get <receive number> items
of <receive arch>.
</attribute>
<attribute arch="other_arch" editor="receive arch" type="string">
<receive arch> is the name of the archetype to convert into.
</attribute>
<attribute arch="sp" editor="receive number" type="int">
The player has to put <cost number> items of <cost arch>
on the converter, in order to get <receive number> items
of <receive arch>.
</attribute>
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text may contain a description of the converter.
</attribute>
</type>
<!--####################################################################-->
<type number="42" name="Creator">
<import_type name="default_flags" />
<ignore>
<ignore_list name="system_object" />
<ignore_list name="default_setting" />
</ignore>
<description><![CDATA[
A creator is an object which creates another object when it
is triggered. The child object can be anything. Creators are
VERY useful for all kinds of map-mechanisms.
Creators can either create the archetype mentioned in the "create arch"
field, or objects from its inventory (if you leave "create arch" empty).
Creators can't create mobs, use spawn points for that.
]]>
</description>
<use><![CDATA[
Don't hesitate to hide your creators under the floor.
The created items will still always appear on top of the floor. ]]>
</use>
<attribute arch="no_pick" value="1" type="fixed" />
<attribute arch="other_arch" editor="create arch" type="string">
This string defines the object that will be created.
You can choose any of the existing arches.
If you leave this empty, the creator will clone any non-system objects
from its inventory instead (sort of like the spawn point).
Creators can't create mobs, use spawn points for that.
</attribute>
<attribute arch="splitting" editor="random clone" type="bool">
Setting this will make the creator clone a single, randomly picked,
non-system object from its inventory instead of all of them.
(Only used if "create arch" is unset)
</attribute>
<attribute arch="connected" editor="connection" type="int">
Whenever the connection value is activated,
the creator gets triggered.
</attribute>
<attribute arch="lifesave" editor="infinite uses" type="bool">
If <infinite uses> is set, the creator will work
infinitely, regardless of the value in <number of uses>.
</attribute>
<attribute arch="one_drop" editor="check before creation" type="bool">
Makes the creator check for already existing objects on top of it before
creating. Avoids creating lots of duplicates if no-one picks the items up.
</attribute>
<attribute arch="hp" editor="number of uses" type="int">
The creator can be triggered <number of uses> times, thus
creating that many objects, before it disappears.
Default is <number of uses> 1 (-> one-time usage).
</attribute>
<attribute arch="slaying" editor="name of creation" type="string">
The created object will bear the name specified in <name creation>.
If nothing is set, the standard name of the archetype is used.
(Only used if "create arch" is set)
</attribute>
<attribute arch="level" editor="level of creation" type="int">
The created object will be of that level. If zero/unset,
the standard level of the archetype is used.
(Only used if "create arch" is set)
</attribute>
</type>
<!--####################################################################-->
<type number="51" name="Detector">
<import_type name="default_flags" />
<ignore>
<ignore_list name="non_pickable" />
<ignore_list name="default_setting" />
</ignore>
<description><![CDATA[
Detectors work quite much like inv. checkers/pedestals: If the detector
finds a specific object, it toggles its connected value.
<br><br>
What is "unique" about them, compared to inv. checkers/ pedestals?
- First, detectors check their square for a match periodically, not
instantly. Second, detectors check directly for object names. Third,
detectors do not check the inventory of players/monsters. ]]>
</description>
<use><![CDATA[
There is one major speciality about detectors: You can detect spells
blown over a detector! To detect a lightning bolt for example, set
"slaying lightning" and "speed 1.0". In combination with spellcasting
walls, this can be very useful for map-mechanisms. ]]>
</use>
<attribute arch="no_pick" value="1" type="fixed" />
<attribute arch="slaying" editor="match name" type="string">
<match name> specifies the name of the object we are looking for.
Actually it does also check for the <key string> in key-objects,
but for this case inventory checkers are often more powerful to use.
</attribute>
<attribute arch="connected" editor="connection" type="int">
When the detector is triggered, all objects with the same
connection value get activated.
</attribute>
<attribute arch="last_eat" editor="connection flag1" type="bool">
Depending on the target object, setting this flag or not
can have different effects. See the object you are connecting
to this.
</attribute>
<attribute arch="speed" editor="detection speed" type="float">
This value defines the time between two detector-checks.
If you want the detector to behave almost like pedestals/buttons,
set speed rather high, like <detection speed> 1.0.
</attribute>
</type>
<!--####################################################################-->
<type number="112" name="Director">
<import_type name="default_flags" />
<ignore>
<ignore_list name="non_pickable" />
<ignore_list name="default_setting" />
</ignore>
<description><![CDATA[
Directors change the direction of spell objects and other projectiles
that fly past. Unlike spinners, directors always move objects in the
same direction. It does not make a difference from what angle you
shoot into it.<br>
Directors are visible per default. ]]>
</description>
<use><![CDATA[
Directors are rarely used in maps. Sometimes they are placed to
change the direction of spells coming out of magic walls,
"channeling" spell-projectiles in some direction. When doing this,
<B>never place directors facing each other with magic walls firing
into them!</B> The spell-projectiles bouncing between the directors
would accumulate to huge numbers and at some point slow down the
server by eating memory- and CPU-time.
<br><br>
You'd better not place directors in monster vs. player combat
areas too much, because that freaks out wizard-type players. ]]>
</use>
<attribute arch="connected" editor="connection" type="int">
If a connection value is set, the DIRECTOR will turnable when
a handle or button is used.
</attribute>
<attribute arch="sp" editor="reflect to direction" type="list_direction">
Projectiles will leave the director flying in the selected <direction>.
A director with direction <none> simply stops projectiles.
(The latter works out a bit strange for some spells).
</attribute>
<attribute arch="maxsp" editor="turn value" type="int">
If object is turned, turn it "turn value" steps every time.
</attribute>
<attribute arch="walk_on" value="1" type="fixed" />
<attribute arch="fly_on" value="1" type="fixed" />
</type>
<!--####################################################################-->
<type number="158" name="Disease">
<import_type name="combat_values" />
<ignore>
<ignore_list name="system_object" />
<ignore_list name="default_setting" />
</ignore>
<description><![CDATA[
Diseases are an interesting form of spellcraft in Angelion.
Once casted, they can spread out and infect creatures in a large
area. Being infected can have various effects, from amusing farts
to horrible damage - almost everything is possible. ]]>
</description>
<use><![CDATA[
Diseases are extremely flexible and usable in a many ways.
So far they are mostly used for causing bad, unwanted effects.
You could just as well create a disease which helps the player
(recharging mana for example).
Infection with a "positive disease" could even be a quest reward. ]]>
</use>
<attribute arch="level" editor="plague level" type="int">
The <plague level> is proportional to the disease's deadliness.
This mainly reflects in the <damage>. It has no effect on
most other symptoms. Nevertheless, it is a very important value for
all damage-inflicting diseases.
</attribute>
<attribute arch="race" editor="infect race" type="string">
The disease will only infect creatures of the specified <race>.
"<race> *" means every creature can be infected.
</attribute>
<attribute arch="ac" editor="progressiveness" type="int">
Every time the disease "moves" the severity of the symptoms are increased
by <progressiveness>/100. (severity = 1 + (accumulated progression)/100)
</attribute>
<section name="spreading">
<attribute arch="wc" editor="infectiousness" type="int">
The <infectiousness> defines the chance of new creatures getting
infected. If you set this too high, the disease is very likely to
be too effective.
<infectiousness>/127 is the chance of someone in range catching it.
</attribute>
<attribute arch="last_grace" editor="attenuation" type="int">
The <attenuation> value reduces the diseases' <infectiousness>
every time it infects someone new. This limits how many generations
a disease can propagate.
</attribute>
<attribute arch="magic" editor="infection range" type="int">
<infection range> sets the range at which infection may occur.
If positive, the <infection range> is level dependant - If negative,
it is not:
E.g. "<infection range> -6" means creatures can be infected in
six square range, and <plaque level> doesn't modify that.
</attribute>
<attribute arch="maxhp" editor="persistence" type="int">
<persistence> defines how long the disease can persist OUTSIDE a host.
The disease can "move" <persistence> times outside a host before it
vanishes. A negative value means the disease lasts for permanent
(which is only recommended to use in maps without monsters).
</attribute>
<attribute arch="maxgrace" editor="curing duration" type="int">
The disease will last in the host for <curing duration> "disease moves"
(Assuming the host survives and doesn't use a curing spell).
After this period the disease is naturally cured, which provides the
host with immunity from this particular disease of lower or equal level.
A negative value means the disease can never be cured naturally.
Note that this value can be further modulated by spell-parameters,
if the disease is registered as spell in the code. Due to that,
most default diseases take a lot longer to cure than it seems.
</attribute>
<attribute arch="speed" editor="moving speed" type="float">
The <speed> of the disease determines how fast the disease will
"move", thus how fast the symptoms strike the host.
</attribute>
</section>
<section name="symptoms">
<attribute arch="dam" editor="damage" type="int">
A disease with a positive <damage> value will strike the player for that
amount of damage every time the symptoms occur.
A negative <damage> value produces %-based damage: "<damage> -10" means
the player's health is reduced by 10% every time the symptoms strike.
Diseases with %-based damage can be dangerous - but not deadly -
for players of all levels.
</attribute>
<attribute arch="other_arch" editor="create arch" type="string">
If set, the specified arch is created and dropped every time the
symptoms strike.
This can be various things: farts, body pieces, eggs ...
Even monsters can be created that way. You could also make a
disease where some exotic stuff like money/gems is created.
</attribute>
<attribute arch="last_sp" editor="slowdown" type="int">
If set, the disease imposes a <slowdown> penalty while being infected.
The player's speed is reduced by <slowdown> % divided by 10 of normal value.
Example: A value of 100 means 10% slowdown.
</attribute>
<attribute arch="exp" editor="exp. for curing" type="int">
When the player manages to cure this disease (with a curing spell),
he is awarded with <exp. for curing> experience.
</attribute>
<attribute arch="maxsp" editor="mana depletion" type="int">
Every time the disease "moves", the player's mana is
reduced by the value of <mana depletion>.
For negative values, a %-based amount is taken.
</attribute>
<attribute arch="last_eat" editor="food depletion" type="int">
Every time the disease "moves", the player's food is
reduced by the value of <food depletion>.
For negative values, a %-based amount is taken.
</attribute>
<attribute arch="hp" editor="health regen." type="int">
This value increases the player's healing rate.
Negative values decrease it.
</attribute>
<attribute arch="sp" editor="mana regen." type="int">
This value increases the player's rate of mana regeneration.
Negative values decrease it.
</attribute>
</section>
<section name="disability">
<attribute arch="str" editor="strength" type="int">
The player's strength will rise by the given value
while being infected. (Negative values make strength fall)
</attribute>
<attribute arch="dex" editor="dexterity" type="int">
The player's dexterity will rise by the given value
while being infected. (Negative values make dexterity fall)
</attribute>
<attribute arch="con" editor="constitution" type="int">
The player's constitution will rise by the given value
while being infected. (Negative values make constitution fall)
</attribute>
<attribute arch="int" editor="intelligence" type="int">
The player's intelligence will rise by the given value
while being infected. (Negative values make intelligence fall)
</attribute>
<attribute arch="pow" editor="power" type="int">
The player's power will rise by the given value
while being infected. (Negative values make power fall)
</attribute>
<attribute arch="wis" editor="wisdom" type="int">
The player's wisdom will rise by the given value
while being infected. (Negative values make wisdom fall)
</attribute>
<attribute arch="cha" editor="charisma" type="int">
The player's charisma will rise by the given value
while being infected. (Negative values make charisma fall)
</attribute>
<attribute arch="luck" editor="luck" type="int">
The player's luck will rise by the given value
while being infected. (Negative values make luck fall)
</attribute>
</section>
<attribute arch_begin="msg" arch_end="endmsg" editor="message" type="text">
This text is displayed to the player every time the
symptoms strike.
</attribute>
</type>
<!--####################################################################-->
<type number="66" name="Exit">
<import_type name="default_flags" />
<ignore>
<ignore_list name="non_pickable" />
<ignore_list name="default_setting" />
</ignore>
<description><![CDATA[
When the player applies an exit, he is transferred to a different location.
(Monsters cannot use exits.) Depending on how it is set, the player applies
the exit just by walking into it, or by pressing <a>pply when standing on
the exit. ]]>
</description>
<use><![CDATA[
If you want to have an invisible exit, set <invisible> (, of course
<apply by walking>), and put it *under* the floor. Otherwise it could be
detected with the show_invisible spell.
<br><br>
You can be quite creative with the outlook of secret exits (their "face").
Don't forget to give the player reliable hints about them though. ]]>
</use>
<attribute arch="last_eat" editor="map type" type="list_maptype">
This most important setting defines as which type of map the destination map
will be handled from the server.
The default exit leads to normal multiplayer maps. Which are loaded
from the (read only) default /maps folder and saved/swaped to /tmp.
Instances are maps which are "unique" for a single player. Means for every
player is an own instance is loaded. This kind of maps exists only temporary
and if the instance is changed or newly loaded, the old instance is skipped.
Unique maps are apartments which are permanent saved inside the players folder
and permanent property of the player.
Instances and unique maps will be available in later Angelion version for groups
and clans too.
</attribute>
<attribute arch="slaying" editor="exit path" type="string">
The exit path defines the map that the player is transferred to.
You can enter an absolute path, beginning with '/' (for example
"/peterm/FireTemple/fire1"). It can also be a relative path, not beginning
with '/' (On the map "/peterm/FireTemple/Fire2" for example I could use the
relative path "Fire1"). Use relative paths whenever possible! Note that
upper/lower case must always be set correctly. However, please use lower
case only.
It is well possible to have an exit pointing to the same map that the exit
is on. If slaying is not set in an exit, the player will see a message like
"the exit is closed".
</attribute>
<attribute arch="hp" editor="destination X" type="int">
The exit destinations define the (x, y)-coordinates where the exit
leads to.
If both are set to zero, the player will be transferred to the "default
enter location" of the destined map. The latter can be set in the map-
properties as "Enter X/Y". Though, please DO NOT use that.
It turned out to be a source for numerous map-bugs.
</attribute>
<attribute arch="sp" editor="destination Y" type="int">
The exit destinations define the (x, y)-coordinates where the exit
leads to.
If both are set to zero, the player will be transferred to the "default
enter location" of the destined map. The latter can be set in the map-
properties as "Enter X/Y". Though, please DO NOT use that.
It turned out to be a source for numerous map-bugs.
</attribute>
<attribute arch="last_sp" editor="insert at random spot" type="bool">
If this flag is set, the destination values are used in a
special way - instead of marking a fixed position, they are used to
define a "drop area" where the player drops randomly.
</attribute>
<attribute arch="last_heal" editor="insert at fixed spot" type="bool">
If set, the player will be put exactly on the position we defined above.
If not set, the server will check the surrounding for a free space.
Fixed spot will overrule the search for a free spot AND will force
an insertion even when the spot is not free. Use careful.
</attribute>
<attribute arch="last_grace" editor="insert at free spot only" type="bool">
If set, the player will be put ONLY on a free spot or insertion will fail.
If not set, the server will still look for a free spot (if fixed spot is
not set) but will do a forced insertion to x,y when there is no free spot
(thats default mode).
Insert at free spot only can be used in combination with fixed or random
spot flag.
</attribute>
<attribute arch="is_male" editor="instance: no reenter" type="bool">
If set the server will always create a new instance instead of trying to
use an old one.
</attribute>
<attribute arch="is_female" editor="instance: reset instance" type="bool">
If set AND when the map is loaded as instance the players instance reseted
so he can't reenter this map without restarting the instance.
This setting is used for instances which can be reentered. By marking the
final exit with it when the instance is done the player will have an real
end of the instance.
</attribute>
<attribute arch="walk_on" editor="apply by walking" type="bool">
If set, the player will apply the exit by just walking into it. This must
be set for the invisible exits for example. If unset, the player has
to step onto the exit and press 'a' to get transferred.
</attribute>
<attribute arch="fly_on" editor="apply by flying" type="bool">
If set, the player will apply the exit by "flying into it". Flying means
the player is levitating. E.g. wearing levitation boots.
</attribute>
<attribute arch_begin="msg" arch_end="endmsg" editor="exit message" type="text">
If set, this message will be displayed to the player when he applies the exit.
This is quite useful to throw in some "role-play feeling": "As you enter the
dark cave you hear the sound of rustling dragonscales...". Well, my English
is poor, but you get the point. =)
</attribute>
</type>
<!--####################################################################-->
<type number="72" name="Flesh">
<import_type name="combat_values" />
<description><![CDATA[
By eating/drinking food-objects, the player can fill his
stomach and gain a little health. ]]>
</description>
<attribute arch="food" editor="foodpoints" type="int">
The player's stomach will get filled with this amount of foodpoints.
The player's health will increase by <foodpoints>/50 hp.
</attribute>
<attribute arch="level" editor="flesh level" type="int">
The <flesh level> is not visible to the players and it affects only
dragon players. Normally this value reflects the level of the monster
from which the flesh item originates.
Dragon players always search for flesh of highest level possible,
because it bears the best chance to gain high resistances.
</attribute>
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text may describe the item.
</attribute>
</type>
<!--####################################################################-->
<type number="71" name="Floor">
<import_type name="default_flags" />
<ignore>
<attribute arch="damned" />
<ignore_list name="non_pickable" />
</ignore>
<