ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/pod/objects.pod
(Generate patch)

Comparing deliantra/server/pod/objects.pod (file contents):
Revision 1.28 by root, Sun Oct 5 14:16:13 2008 UTC vs.
Revision 1.34 by root, Sun Nov 29 09:41:28 2009 UTC

33This document does explain the behaviour of the objects and the meaning of 33This document does explain the behaviour of the objects and the meaning of
34their fields in the server engine, which are derived from archetypes. 34their fields in the server engine, which are derived from archetypes.
35 35
36This is an example of an archetype: 36This is an example of an archetype:
37 37
38 Object button_trigger 38 object button_trigger
39 name button 39 name button
40 type 30 40 type 30
41 face button_sma.111 41 face button_sma.x11
42 anim 42 anim
43 button_sma.111 43 button_sma.x11
44 button_sma.112 44 button_sma.x12
45 mina 45 mina
46 is_animated 0 46 is_animated 0
47 exp 30 47 exp 30
48 no_pick 1 48 no_pick 1
49 walk_on 1 49 walk_on 1
111For non-player objects this field is not changed by server ticks. 111For non-player objects this field is not changed by server ticks.
112 112
113=item I<glow_radius> <number> 113=item I<glow_radius> <number>
114 114
115This field indicates how far an object glows. Default is a radius of 0 (no 115This field indicates how far an object glows. Default is a radius of 0 (no
116glowing at all). 116glowing at all). Negative glow radii darken areas - currently, negative
117glow radii are stronger than positive ones.
117 118
118=item I<speed> <number> 119=item I<speed> <float>
119 120
120If this field is greater than MIN_ACTIVE_SPEED (~0.0001) the object is placed 121If this field is greater than MIN_ACTIVE_SPEED (~0.0001) the object is placed
121on the active object list and will be processed each tick (see also speed_left!). 122on the active object list and will be processed each tick (see also speed_left!).
122 123
123If I<speed> drops below the MIN_ACTIVE_SPEED the object is removed 124If I<speed> drops below the MIN_ACTIVE_SPEED the object is removed
124from the active object list and it won't experience any processing per tick. 125from the active object list and it won't experience any processing per tick.
125 126
127Negative speed settings in archetypes and files cause a speed_left
128randomisation on load or instantiatian, but for calculations, the absolute
129value is used always.
130
126=item I<speed_left> <number> 131=item I<speed_left> <float>
127 132
128If this field is greater than 0 and the object is on the 133If this field is greater than 0 and the object is on the
129active list (mostly means it's speed is also greater than 0): 134active list (mostly means it's speed is also greater than 0):
130 135
131 - speed_left is decreased by 1 136 - speed_left is decreased by 1
263will be generated. 268will be generated.
264 269
265After the new object is created the I<hp> field from the old object is copied into 270After the new object is created the I<hp> field from the old object is copied into
266the new one. 271the new one.
267 272
268When the old object was a B<LAMP> it's I<food> fields value less 1 will be copied
269to the new object.
270
271=item FLAG_IS_A_TEMPLATE (internal use) 273=item FLAG_IS_A_TEMPLATE (internal use)
272 274
273This flag is set on the inventory of generators like B<CREATOR>s and B<CONVERTER>s, 275This flag is set on the inventory of generators like B<CREATOR>s and B<CONVERTER>s,
274or other objects that have the flags FLAG_GENERATOR and FLAG_CONTENT_ON_GEN set. 276or other objects that have the flags FLAG_GENERATOR and FLAG_CONTENT_ON_GEN set.
275 277
330=item FLAG_IS_LIGHTABLE 332=item FLAG_IS_LIGHTABLE
331 333
332This flag indicates whether a B<LIGHTER> can light this object. See also the 334This flag indicates whether a B<LIGHTER> can light this object. See also the
333description of the B<LIGHTER> type. How easy you can light an item depends 335description of the B<LIGHTER> type. How easy you can light an item depends
334partially on the material of the object. 336partially on the material of the object.
337
338=item FLAG_MONSTER
339
340Enables NPC behaviour in general (both monster AI and friendly AI). Numerous fields
341change their meaning, including:
342
343=over 4
344
345=item I<wis>
346
347Governs the "wake-up radius" - the radius within a monster detects an enemy.
348
349Also, I<wis> governs pathfinding intelligence: 8 and up means the monster
350will partake in basic smell finding. 10 and up additionally spreads smell
351knowledge, and 15 and up additionally will try to perturb the path as to
352find shortcuts.
353
354=back
335 355
336=back 356=back
337 357
338=head2 Description of type specific fields and behaviour 358=head2 Description of type specific fields and behaviour
339 359
446This field has some special meaning in potions, currently the 466This field has some special meaning in potions, currently the
447bits for AT_DEPLETE and AT_GODPOWER control whethere this is a 467bits for AT_DEPLETE and AT_GODPOWER control whethere this is a
448restoration potion or improvement potion. 468restoration potion or improvement potion.
449See include/attackinc.h for the bits of these types. 469See include/attackinc.h for the bits of these types.
450 470
451If AT_DEPLETE is set the player will be restored and the ARCH_DEPLETION 471If AT_DEPLETE is set the player will be restored and the "depletion"
452will be removed from him. If the potion has FLAG_CURSED or FLAG_DAMNED 472will be removed from him. If the potion has FLAG_CURSED or FLAG_DAMNED
453set the player will be drained a random stat by inserting an ARCH_DEPLETION 473set the player will be drained a random stat by inserting an "depletion"
454into him. 474into him.
455 475
456If AT_GODPOWER is enabled the player will gain +1 maxvalue in his hp, sp or grace stat. 476If AT_GODPOWER is enabled the player will gain +1 maxvalue in his hp, sp or grace stat.
457When the potion has FLAG_CURSED or FLAG_DAMNED set he will loose one in one of these stats. 477When the potion has FLAG_CURSED or FLAG_DAMNED set he will loose one in one of these stats.
458 478
500 520
501=back 521=back
502 522
503=back 523=back
504 524
505=head3 B<FOOD> - type 6 - Eatable stuff 525=head3 B<FOOD> - type 6 - Edible stuff
506 526
507This is for objects that are representing general eatables like 527This is for objects that are representing general eatables like
508beef or bread. 528beef or bread.
509 529
510The main difference between B<FOOD>, B<FLESH> and B<DRINK> is that they 530The main difference between B<FOOD>, B<FLESH> and B<DRINK> is that they
731The minimum I<speed> of an arrow is 1.0. 751The minimum I<speed> of an arrow is 1.0.
732 752
733While flying the arrows I<speed> is decreased by 0.05 each time it's moved. 753While flying the arrows I<speed> is decreased by 0.05 each time it's moved.
734 754
735If the I<speed> is above 10.0 it goes straight through the creature it hits and 755If the I<speed> is above 10.0 it goes straight through the creature it hits and
736it's I<speed> is reduced by 1. If the I<speed> is lower or equal 10.0 the arrow is 756its I<speed> is reduced by 1. If the I<speed> is lower or equal 10.0 the arrow is
737stopped and either sticked into the victim (see I<weight> field description) or 757stopped and either stuck into the victim (see I<weight> field description) or
738put on it's map square (if it didn't break, see description of the I<food> field). 758put on its map square (if it didn't break, see description of the I<food> field).
739 759
740=item I<weight> <number> 760=item I<weight> <number>
741 761
742This field is the weight of the arrow, if I<weight> is below or equal 5000 (5 kg) 762This field is the weight of the arrow, if I<weight> is below or equal 5000 (5 kg)
743the arrow will stick in the victim it hits. Otherwise it will fall to the ground. 763the arrow will stick in the victim it hits. Otherwise it will fall to the ground.
955=item I<hp> <number> 975=item I<hp> <number>
956 976
957If FLAG_LIVE_SAVE is not set it is the absolute number of times the creator can 977If FLAG_LIVE_SAVE is not set it is the absolute number of times the creator can
958be used. 978be used.
959 979
960=item I<speed> <number> 980=item I<speed> <float>
961 981
962If I<speed> is set the creator will create an object periodically, 982If I<speed> is set the creator will create an object periodically,
963see I<speed> and I<speed_left> fields in the general object field description 983see I<speed> and I<speed_left> fields in the general object field description
964for more details. 984for more details.
965 985
1064 1084
1065=head3 B<MISC_OBJECT> - type 79 - Misc. objects 1085=head3 B<MISC_OBJECT> - type 79 - Misc. objects
1066 1086
1067A type for any object that has no special behaviour. 1087A type for any object that has no special behaviour.
1068 1088
1069=head3 B<LAMP> - type 82 - A lamp
1070
1071This object represents a lamp, that can be carried and switched
1072on and off and has a certain amount of fuel in it.
1073
1074A lamp consists of two archetypes: the 'on' archetype and the 'off' archetype.
1075Each of them should point at the other one with it's I<other_arch> field.
1076
1077See the I<other_arch> field for the behaviour of a lamp object when it is applied.
1078
1079If this object has FLAG_IS_LIGHTABLE set the lamp can be turned on and off
1080with a B<LIGHTER>, see also the description of FLAG_IS_LIGHTABLE.
1081
1082=over 4
1083
1084=item I<glow_radius> <number>
1085
1086The radius of the light that the lamp emits, see also I<glow_radius> in the
1087generic object flags description.
1088
1089=item I<speed> <number>
1090
1091If FLAG_CHANGING is set the I<speed> field will indicate how fast the
1092lamp burns it's fuel (I<food>).
1093
1094Setting FLAG_CHANGING makes only sense on the archetype which represents
1095the 'on' state of the lamp.
1096
1097See also the description of FLAG_CHANGING.
1098
1099Lamps which have no FLAG_CHANGING set would also make sense and represent
1100lamps that never burn up.
1101
1102=item I<other_arch> <number>
1103
1104This is the field that points to the 'other' archetype which represents the
1105opposite state of the lamp. The newly from I<other_arch> derived object will
1106replace the current object and will get the value of I<food> of the replaced object.
1107
1108Rationale:
1109
1110When the lamp (on) is applied a new object is derived from the archetype
1111in I<other_arch> and the I<food> value is copied to it ('the fuel is
1112transferred'). The new lamp (off) object has to have a I<other_arch> field
1113which points to the archetype from which a lamp (on) can be derived.
1114
1115=item I<food> <number>
1116
1117This fields stands for the fuel of the lamp.
1118
1119=back
1120
1121=head3 B<DUPLICATOR> - type 83 - Duplicators or: Multiplicators 1089=head3 B<DUPLICATOR> - type 83 - Duplicators or: Multiplicators
1122 1090
1123This type of objects multiplies objects that are above it when it is activated. 1091This type of objects multiplies objects that are above it when it is activated.
1124You can even multiply by 0, which will destroy the object. 1092You can even multiply by 0, which will destroy the object.
1125 1093

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines