… | |
… | |
108 | For players this field reflects the duration of the invisibility |
108 | For players this field reflects the duration of the invisibility |
109 | and is decreased every tick by 1. |
109 | and is decreased every tick by 1. |
110 | |
110 | |
111 | For non-player objects this field is not changed by server ticks. |
111 | For non-player objects this field is not changed by server ticks. |
112 | |
112 | |
|
|
113 | =item I<glow_radius> <number> |
|
|
114 | |
|
|
115 | This field indicates how far an object glows. Default is a radius of 0 (no |
|
|
116 | glowing at all). |
|
|
117 | |
113 | =item I<speed> <number> |
118 | =item I<speed> <number> |
114 | |
119 | |
115 | If this field is greater than MIN_ACTIVE_SPEED (~0.0001) the object is placed |
120 | If this field is greater than MIN_ACTIVE_SPEED (~0.0001) the object is placed |
116 | on the active object list and will be processed each tick (see also speed_left!). |
121 | on the active object list and will be processed each tick (see also speed_left!). |
117 | |
122 | |
… | |
… | |
194 | See Flags section below. |
199 | See Flags section below. |
195 | |
200 | |
196 | =item I<activate_on_release> (0|1) (default: 1) |
201 | =item I<activate_on_release> (0|1) (default: 1) |
197 | |
202 | |
198 | Sets the flag FLAG_ACTIVATE_ON_RELEASE. |
203 | Sets the flag FLAG_ACTIVATE_ON_RELEASE. |
|
|
204 | See Flags section below. |
|
|
205 | |
|
|
206 | =item I<is_lightable> (0|1) |
|
|
207 | |
|
|
208 | Sets the flag FLAG_IS_LIGHTABLE. |
199 | See Flags section below. |
209 | See Flags section below. |
200 | |
210 | |
201 | =item I<editable> (more than deprecated) |
211 | =item I<editable> (more than deprecated) |
202 | |
212 | |
203 | This field had a special meaning for crossedit, which used parts |
213 | This field had a special meaning for crossedit, which used parts |
… | |
… | |
238 | If FLAG_APPLIED is not set the object is destroyed. |
248 | If FLAG_APPLIED is not set the object is destroyed. |
239 | |
249 | |
240 | =item FLAG_CHANGING |
250 | =item FLAG_CHANGING |
241 | |
251 | |
242 | If the I<state> field of the object is 0 the object will be processed periodically |
252 | If the I<state> field of the object is 0 the object will be processed periodically |
243 | (if speed is set). If the I<state> field is 1 it won't be processed. |
253 | (if I<speed> is set). If the I<state> field is 1 it won't be processed. |
|
|
254 | |
|
|
255 | This flag indicates that the object is changing into a different object. |
|
|
256 | The object has to have the I<other_arch> field set. The object the changing object |
|
|
257 | changes into is derived from the archetype in I<other_arch>. |
|
|
258 | |
|
|
259 | When the object does not have FLAG_ALIVE set the I<food> field will be decremented |
|
|
260 | each time the object is processed, and if I<food> reaches 0 one new object will be generated. |
|
|
261 | |
|
|
262 | When the object has FLAG_ALIVE set the I<food> field is the number of objects that |
|
|
263 | will be generated. |
|
|
264 | |
|
|
265 | After the new object is created the I<hp> field from the old object is copied into |
|
|
266 | the new one. |
|
|
267 | |
|
|
268 | When the old object was a B<LAMP> it's I<food> fields value less 1 will be copied |
|
|
269 | to the new object. |
244 | |
270 | |
245 | =item FLAG_IS_A_TEMPLATE (internal use) |
271 | =item FLAG_IS_A_TEMPLATE (internal use) |
246 | |
272 | |
247 | This flag is set on the inventory of generators like B<CREATOR>s and B<CONVERTER>s, |
273 | This flag is set on the inventory of generators like B<CREATOR>s and B<CONVERTER>s, |
248 | or other objects that have the flags FLAG_GENERATOR and FLAG_CONTENT_ON_GEN set. |
274 | or other objects that have the flags FLAG_GENERATOR and FLAG_CONTENT_ON_GEN set. |
… | |
… | |
299 | =item FLAG_REFL_SPELL |
325 | =item FLAG_REFL_SPELL |
300 | |
326 | |
301 | This flag indicates whether something reflects spells, like spell reflecting |
327 | This flag indicates whether something reflects spells, like spell reflecting |
302 | amuletts. |
328 | amuletts. |
303 | |
329 | |
|
|
330 | =item FLAG_IS_LIGHTABLE |
|
|
331 | |
|
|
332 | This flag indicates whether a B<LIGHTER> can light this object. See also the |
|
|
333 | description of the B<LIGHTER> type. How easy you can light an item depends |
|
|
334 | partially on the material of the object. |
|
|
335 | |
304 | =back |
336 | =back |
305 | |
337 | |
306 | =head2 Description of type specific fields and behaviour |
338 | =head2 Description of type specific fields and behaviour |
307 | |
339 | |
308 | The beginning of the headers of the following subsection |
340 | The beginning of the headers of the following subsection |
… | |
… | |
311 | =head3 B<TRANSPORT> - type 2 - Player transports |
343 | =head3 B<TRANSPORT> - type 2 - Player transports |
312 | |
344 | |
313 | This type is implemented by the transport extension and has currently no special |
345 | This type is implemented by the transport extension and has currently no special |
314 | fields that affect it. |
346 | fields that affect it. |
315 | |
347 | |
316 | =head3 B<ROD> - type 3 - Rods that fire spells |
348 | =head3 B<ROD>, B<HORN> - type 3, 35 - Rods that fire spells |
317 | |
349 | |
318 | Rods contain spells and can be fired by a player. |
350 | Rods contain spells and can be fired by a player. |
319 | |
351 | |
320 | =over 4 |
352 | =over 4 |
321 | |
353 | |
… | |
… | |
327 | the 'use magic item' skill level of the player and 1/10 of the level of the |
359 | the 'use magic item' skill level of the player and 1/10 of the level of the |
328 | rod is added as bonus. |
360 | rod is added as bonus. |
329 | |
361 | |
330 | =item I<hp> <number> |
362 | =item I<hp> <number> |
331 | |
363 | |
332 | The amount of spellpoints this rod has left. |
364 | The amount of spellpoints this rod has left. Recharges at a rate of C<1 + |
|
|
365 | maxhp/10> per tick. |
333 | |
366 | |
334 | =item I<maxhp> <number> |
367 | =item I<maxhp> <number> |
335 | |
368 | |
336 | The maximum amount of spellpoints this rod has. |
369 | The maximum amount of spellpoints this rod has. |
337 | |
370 | |
… | |
… | |
515 | |
548 | |
516 | =over 4 |
549 | =over 4 |
517 | |
550 | |
518 | =item I<level> <number> |
551 | =item I<level> <number> |
519 | |
552 | |
520 | This field affects the propability of poisoning. The higher the level difference |
553 | This field affects the probability of poisoning. The higher the level difference |
521 | between the one who is hit and the poision the more propable it is the attacked |
554 | between the one who is hit and the poision the more probable it is the attacked |
522 | one will be poisoned. |
555 | one will be poisoned. |
523 | |
556 | |
524 | =item I<slaying> <race> |
557 | =item I<slaying> <race> |
525 | |
558 | |
526 | This field has the usual meaning of 'slaying', when the |
559 | This field has the usual meaning of 'slaying', when the |
… | |
… | |
652 | the arrows I<dam> field, the bows I<dam> field, the bows I<magic> field |
685 | the arrows I<dam> field, the bows I<dam> field, the bows I<magic> field |
653 | and the arrows I<magic> field. |
686 | and the arrows I<magic> field. |
654 | |
687 | |
655 | =item I<wc> <number> |
688 | =item I<wc> <number> |
656 | |
689 | |
657 | The weapon class of the arrow, which has effect on the propability of hitting. |
690 | The weapon class of the arrow, which has effect on the probability of hitting. |
658 | |
691 | |
659 | It is recomputed when the arrow is being fired by this formula: |
692 | It is recomputed when the arrow is being fired by this formula: |
660 | |
693 | |
661 | wc = 20 - bow->magic - arrow->magic - (skill->level or shooter->level) |
694 | wc = 20 - bow->magic - arrow->magic - (skill->level or shooter->level) |
662 | - dex_bonus - thaco_bonus - arrow->stats.wc - bow->stats.wc + wc_mod |
695 | - dex_bonus - thaco_bonus - arrow->stats.wc - bow->stats.wc + wc_mod |
… | |
… | |
677 | Bitfield which decides the attacktype of the damage, see include/attackinc.h |
710 | Bitfield which decides the attacktype of the damage, see include/attackinc.h |
678 | On fireing the I<attacktype> of the bow is added to the arrows I<attacktype>. |
711 | On fireing the I<attacktype> of the bow is added to the arrows I<attacktype>. |
679 | |
712 | |
680 | =item I<level> <number> (interally used) |
713 | =item I<level> <number> (interally used) |
681 | |
714 | |
682 | The level of the arrow, this affects the propability of piercing FLAG_REFL_MISSILE, |
715 | The level of the arrow, this affects the probability of piercing FLAG_REFL_MISSILE, |
683 | see above in the B<ARROW> description. |
716 | see above in the B<ARROW> description. |
684 | |
717 | |
685 | The I<level> is set when the arrow is fired to either the skill level or the |
718 | The I<level> is set when the arrow is fired to either the skill level or the |
686 | shooters level. |
719 | shooters level. |
687 | |
720 | |
… | |
… | |
816 | Generally this field on weapons is in ranges of 1-30 and decides the slowdown of the |
849 | Generally this field on weapons is in ranges of 1-30 and decides the slowdown of the |
817 | I<sp> regeneration. |
850 | I<sp> regeneration. |
818 | |
851 | |
819 | =item I<body_BODYSLOT> |
852 | =item I<body_BODYSLOT> |
820 | |
853 | |
821 | The part of the body you need to use this weapon, possible values should be |
854 | The part/slot of the body you need to use this weapon, possible values for |
822 | looked up in common/item.C at body_locations. |
855 | C<BODYSLOT> should be looked up in common/item.C at body_locations. |
823 | |
856 | |
|
|
857 | The value (in the range C<-7..7>) gives the number of those body slots |
|
|
858 | used up by the item (if negative) or the number of body slots this object |
|
|
859 | has (if positive, e.g. for monsters or players). The special value C<0> |
|
|
860 | indicates that this object cannot equip items requiring these body slots. |
|
|
861 | |
824 | =item I<resist_RESISTNACY> <number> |
862 | =item I<resist_RESISTANCY> <number> |
825 | |
863 | |
826 | this is the factor with which the difference of the players resistancy and 100% |
864 | this is the factor with which the difference of the players resistancy and 100% |
827 | is multiplied, something like this: |
865 | is multiplied, something like this: |
828 | |
866 | |
829 | additional_resistancy = (100 - current_resistanct) * (<number>/100) |
867 | additional_resistancy = (100 - current_resistancy) * (<number>/100) |
830 | |
868 | |
831 | if <number> is negative it is added to the total vulnerabilities, |
869 | if <number> is negative it is added to the total vulnerabilities, |
832 | and later the total resistance is decided by: |
870 | and later the total resistance is decided by: |
833 | |
871 | |
834 | 'total resistance = total protections - total vulnerabilities' |
872 | 'total resistance = total protections - total vulnerabilities' |
835 | |
873 | |
836 | see also common/living.C:fix_player |
874 | see also common/living.C:fix_player. |
837 | |
875 | |
838 | =item I<path_(attuned|repelled|denied)> |
876 | =item I<path_(attuned|repelled|denied)> |
839 | |
877 | |
840 | this field modifies the pathes the player is attuned to, see include/spells.h PATH_* |
878 | this field modifies the pathes the player is attuned to, see include/spells.h PATH_* |
841 | for the pathes. |
879 | for the pathes. |
… | |
… | |
1002 | See also the description of the I<connected> field in the generic object field |
1040 | See also the description of the I<connected> field in the generic object field |
1003 | section. |
1041 | section. |
1004 | |
1042 | |
1005 | =back |
1043 | =back |
1006 | |
1044 | |
|
|
1045 | =head3 B<MOOD_FLOOR> - type 65 - change mood of monsters |
|
|
1046 | |
|
|
1047 | speed == 0 for triggered mood changes, speed != 0 for non-triggered mood |
|
|
1048 | changes. |
|
|
1049 | |
|
|
1050 | (based on value that last_sp takes): |
|
|
1051 | 0: 'furious' Makes all monsters aggressive |
|
|
1052 | 1: 'angry' As above but pets are unaffected |
|
|
1053 | 2: 'calm' Makes all monsters unaggressive |
|
|
1054 | 3: 'sleep' Puts all monsters to sleep |
|
|
1055 | 4: 'charm' Makes monster into a pet of person |
|
|
1056 | who triggers the square. This setting |
|
|
1057 | is not enabled for continous operation |
|
|
1058 | 5: 'destroy mons' destroy any monsters on this space |
|
|
1059 | 6: 'destroy pets' destroy friendly monsters on this space |
|
|
1060 | |
1007 | =head3 B<FLESH> - type 72 - Organs and body parts |
1061 | =head3 B<FLESH> - type 72 - Organs and body parts |
1008 | |
1062 | |
1009 | See B<FOOD> description. |
1063 | See B<FOOD> description. |
1010 | |
1064 | |
1011 | =head3 B<MISC_OBJECT> - type 79 - Misc. objects |
1065 | =head3 B<MISC_OBJECT> - type 79 - Misc. objects |
1012 | |
1066 | |
1013 | A type for any object that has no special behaviour. |
1067 | A type for any object that has no special behaviour. |
1014 | |
1068 | |
1015 | =head3 B<LAMP> - type 82 - A lamp |
1069 | =head3 B<LAMP> - type 82 - A lamp |
1016 | |
1070 | |
1017 | This object makes light. |
1071 | This object represents a lamp, that can be carried and switched |
|
|
1072 | on and off and has a certain amount of fuel in it. |
|
|
1073 | |
|
|
1074 | A lamp consists of two archetypes: the 'on' archetype and the 'off' archetype. |
|
|
1075 | Each of them should point at the other one with it's I<other_arch> field. |
|
|
1076 | |
|
|
1077 | See the I<other_arch> field for the behaviour of a lamp object when it is applied. |
|
|
1078 | |
|
|
1079 | If this object has FLAG_IS_LIGHTABLE set the lamp can be turned on and off |
|
|
1080 | with a B<LIGHTER>, see also the description of FLAG_IS_LIGHTABLE. |
|
|
1081 | |
|
|
1082 | =over 4 |
|
|
1083 | |
|
|
1084 | =item I<glow_radius> <number> |
|
|
1085 | |
|
|
1086 | The radius of the light that the lamp emits, see also I<glow_radius> in the |
|
|
1087 | generic object flags description. |
|
|
1088 | |
|
|
1089 | =item I<speed> <number> |
|
|
1090 | |
|
|
1091 | If FLAG_CHANGING is set the I<speed> field will indicate how fast the |
|
|
1092 | lamp burns it's fuel (I<food>). |
|
|
1093 | |
|
|
1094 | Setting FLAG_CHANGING makes only sense on the archetype which represents |
|
|
1095 | the 'on' state of the lamp. |
|
|
1096 | |
|
|
1097 | See also the description of FLAG_CHANGING. |
|
|
1098 | |
|
|
1099 | Lamps which have no FLAG_CHANGING set would also make sense and represent |
|
|
1100 | lamps that never burn up. |
|
|
1101 | |
|
|
1102 | =item I<other_arch> <number> |
|
|
1103 | |
|
|
1104 | This is the field that points to the 'other' archetype which represents the |
|
|
1105 | opposite state of the lamp. The newly from I<other_arch> derived object will |
|
|
1106 | replace the current object and will get the value of I<food> of the replaced object. |
|
|
1107 | |
|
|
1108 | Rationale: |
|
|
1109 | |
|
|
1110 | When the lamp (on) is applied a new object is derived from the archetype |
|
|
1111 | in I<other_arch> and the I<food> value is copied to it ('the fuel is |
|
|
1112 | transferred'). The new lamp (off) object has to have a I<other_arch> field |
|
|
1113 | which points to the archetype from which a lamp (on) can be derived. |
|
|
1114 | |
|
|
1115 | =item I<food> <number> |
|
|
1116 | |
|
|
1117 | This fields stands for the fuel of the lamp. |
|
|
1118 | |
|
|
1119 | =back |
1018 | |
1120 | |
1019 | =head3 B<DUPLICATOR> - type 83 - Duplicators or: Multiplicators |
1121 | =head3 B<DUPLICATOR> - type 83 - Duplicators or: Multiplicators |
1020 | |
1122 | |
1021 | This type of objects multiplies objects that are above it when it is activated. |
1123 | This type of objects multiplies objects that are above it when it is activated. |
1022 | You can even multiply by 0, which will destroy the object. |
1124 | You can even multiply by 0, which will destroy the object. |