--- deliantra/server/pod/objects.pod 2006/12/18 10:57:09 1.1 +++ deliantra/server/pod/objects.pod 2006/12/18 12:01:20 1.2 @@ -51,8 +51,101 @@ =head2 Description of generic archetype and object attributes +These are the fields that most of the objects have and/or their +default behaviour. + +=over 4 + +=item name + +The name of the object. + +=item name_pl + +The name of a collection of these objects (the plural of the name). + +=item face + +The graphical appearance of this object. + +=item invisible + +If the is greater than 0 the object is invisible. +For players this field reflects the duration of the invisibility +and is decreased every tick by 1. + +For non-player objects this field is not changed by server ticks. + +=item speed + +If this field is greater than MIN_ACTIVE_SPEED (~0.0001) the object is placed +on the active object list and will be processed each tick (see also speed_left!). + +If the speed field drops below the MIN_ACTIVE_SPEED the object is removed +from the active object list and it won't experience any processing per tick. + +=item speed_left + +If this field is greater than 0 and the object is on the +active list (mostly means it's speed is also greater than 0): + + - speed_left is decreased by 1 + - and this object is processed and experiences a server tick. + +If the object is on the active list and speed_left is lower or +equal to 0 the absolute value of the speed field is added to speed_left +on the end of the tick. + +=item no_drop (0|1) + +Sets the flag FLAG_NO_DROP. See the Flags section below. + +=item applied (0|1) + +Sets the flag FLAG_APPLIED. See the Flags section below. + +=item is_used_up (0|1) + +Sets the flag FLAG_IS_USED_UP. See Flags section below. + +=item editable (more than deprecated) + +This field had a special meaning for crossedit, which used parts +of the server code for editing. Wherever you see this attribute being +set in an archetype ignore it and/or remove it. No code interprets this +field anymore. + +=back + +=head3 Flags + +Here are the effects of the flags described. + =over 4 +=item FLAG_NO_DROP + +An object can't be picked up and dropped. + +=item FLAG_APPLIED + +This flag mostly states whether this object has been 'applied' by the player. +For objects that are applied by the code or have this flag set in the archetype +it mostly means 'this object is active'. + +For example the player adjustments of the hp/sp/grace fields and inheritance +of flags from objects in his inventory is toggled by this flag. + +=item FLAG_IS_USED_UP + +This flag controls whether an object is 'used up'. If it is set the 'food' field +of the object is decreased by 1 each tick, and if it is lower or equal 0 after tha +it is removed. + +If also the flag FLAG_APPLIED is set, the 'duration' field controls whether +this object is removed or not, see the Force type below for the meaning +of the duration field in this context. + =back =head2 Description of type specific attributes @@ -77,7 +170,7 @@ bitfield which decides the attacktype of the damage, see include/attackinc.h -=item dam +=item dam amount of damage being done with the attacktype @@ -106,27 +199,27 @@ the weapon speed (see magic description) -=item food +=item food addition to food regeneration of the player -=item hp +=item hp addition to health regeneration -=item sp +=item sp addition to mana regeneration -=item grace +=item grace addititon to grace regeneration -=item gen_sp_armour +=item gen_sp_armour -the players gen_sp_armour field (which is per default 10) is added the amount. +the players gen_sp_armour field (which is per default 10) is added the amount. gen_sp_armour seems to be a factor with which gen_sp in do_some_living() -is multiplied: gen_sp *= 10/ +is multiplied: gen_sp *= 10/ meaning: values > 10 of gen_sp_armour limits the amout of regenerated spellpoints. @@ -138,14 +231,14 @@ the part of the body you need to use this weapon, possible values should be looked up in common/item.C at body_locations. -=item resist_ +=item resist_ this is the factor with which the difference of the players resistancy and 100% is multiplied, something like this: - additional_resistancy = (100 - current_resistanct) * (/100) + additional_resistancy = (100 - current_resistanct) * (/100) -if is negative it is added to the total vulnerabilities, +if is negative it is added to the total vulnerabilities, and later the total resistance is decided by: 'total resistance = total protections - total vulnerabilities' @@ -157,7 +250,7 @@ this field modifies the pathes the player is attuned to, see include/spells.h PATH_* for the pathes. -=item luck +=item luck this luck is added to the players luck @@ -165,10 +258,10 @@ if the weapon has a move_type set the player inherits it's move_type -=item exp +=item exp -the added_speed and bonus_speed of the player is raised by /3. -if < 0 then the added_speed is decreased by +the added_speed and bonus_speed of the player is raised by /3. +if < 0 then the added_speed is decreased by =item weight @@ -187,11 +280,11 @@ - weapon speed (last_sp): weapon_speed is calculated by: (last_sp * 2 - magic) / 2 (minium is 0) -=item ac +=item ac the amount of ac points the player's ac is decreased -=item wc +=item wc the amount of wc points the player's ac is decreased @@ -201,3 +294,20 @@ FLAG_LIFESAVE, FLAG_REFL_SPELL, FLAG_REFL_MISSILE, FLAG_STEALTH, FLAG_XRAYS, FLAG_BLIND, FLAG_SEE_IN_DARK, FLAG_UNDEAD + +=head3 FORCE - type 114 - Forces + +Note: Forces only take effect on the player if they have set FLAG_APPLIED. + +Whether the duration field is processed or not a tick is controlled via the +speed and speed_left field. Look above at the generic description of these +fields. + +=over 4 + +=item duration + +While this field is greater than 0 the force is not removed. +It is decreased each tick by 1. + +=back