1 | =head1 CROSSFIRE+ OBJECT AND INTERNALS DOCUMENTATION |
1 | =head1 DELIANTRA OBJECT AND INTERNALS DOCUMENTATION |
2 | |
2 | |
3 | Here is all information about the object types Crossfire+ |
3 | Here is all information about the object types Deliantra |
4 | supports at the moment. This is not a complete documentation (yet) |
4 | supports at the moment. This is not a complete documentation (yet) |
5 | and browsing the source is still recommended to learn about |
5 | and browsing the source is still recommended to learn about |
6 | the objects that aren't documented here. |
6 | the objects that aren't documented here. |
7 | |
7 | |
8 | This documentation is in a sketchy state. It's mostly |
8 | This documentation is in a sketchy state. It's mostly |
… | |
… | |
33 | This document does explain the behaviour of the objects and the meaning of |
33 | This document does explain the behaviour of the objects and the meaning of |
34 | their fields in the server engine, which are derived from archetypes. |
34 | their fields in the server engine, which are derived from archetypes. |
35 | |
35 | |
36 | This is an example of an archetype: |
36 | This 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 |
|
|
50 | walk_off 1 |
|
|
51 | editable 48 |
49 | editable 48 |
52 | visibility 50 |
50 | visibility 50 |
53 | weight 1 |
51 | weight 1 |
54 | end |
52 | end |
55 | |
53 | |
… | |
… | |
108 | For players this field reflects the duration of the invisibility |
106 | For players this field reflects the duration of the invisibility |
109 | and is decreased every tick by 1. |
107 | and is decreased every tick by 1. |
110 | |
108 | |
111 | For non-player objects this field is not changed by server ticks. |
109 | For non-player objects this field is not changed by server ticks. |
112 | |
110 | |
|
|
111 | =item I<glow_radius> <number> |
|
|
112 | |
|
|
113 | This field indicates how far an object glows. Default is a radius of 0 (no |
|
|
114 | glowing at all). Negative glow radii darken areas - currently, negative |
|
|
115 | glow radii are stronger than positive ones. |
|
|
116 | |
113 | =item I<speed> <number> |
117 | =item I<speed> <float> |
114 | |
118 | |
115 | If this field is greater than MIN_ACTIVE_SPEED (~0.0001) the object is placed |
119 | 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!). |
120 | on the active object list and will be processed each tick (see also speed_left!). |
117 | |
121 | |
118 | If I<speed> drops below the MIN_ACTIVE_SPEED the object is removed |
122 | If I<speed> drops below the MIN_ACTIVE_SPEED the object is removed |
119 | from the active object list and it won't experience any processing per tick. |
123 | from the active object list and it won't experience any processing per tick. |
120 | |
124 | |
|
|
125 | Negative speed settings in archetypes and files cause a speed_left |
|
|
126 | randomisation on load or instantiatian, but for calculations, the absolute |
|
|
127 | value is used always. |
|
|
128 | |
121 | =item I<speed_left> <number> |
129 | =item I<speed_left> <float> |
122 | |
130 | |
123 | If this field is greater than 0 and the object is on the |
131 | If this field is greater than 0 and the object is on the |
124 | active list (mostly means it's speed is also greater than 0): |
132 | active list (mostly means it's speed is also greater than 0): |
125 | |
133 | |
126 | - speed_left is decreased by 1 |
134 | - speed_left is decreased by 1 |
… | |
… | |
132 | |
140 | |
133 | This means: the lower I<speed> is (but still above MIN_ACTIVE_SPEED) |
141 | This means: the lower I<speed> is (but still above MIN_ACTIVE_SPEED) |
134 | the more seldom the object is processed. And the higher I<speed> is |
142 | the more seldom the object is processed. And the higher I<speed> is |
135 | the more often the object is processed. |
143 | the more often the object is processed. |
136 | |
144 | |
137 | =item I<connected> <number> |
145 | =item I<connected> <identifier> |
138 | |
146 | |
139 | When this field is set the object will be linked to a connection with the |
147 | When this field is set the object will be linked to a connection with the |
140 | id <number>. What happens when the connection is 'activated' depends on the |
148 | same <identifier>. What happens when the connection is 'activated' depends on the |
141 | type of the object. |
149 | type of the object. |
142 | |
150 | |
143 | FLAG_ACTIVATE_ON_PUSH and FLAG_ACTIVATE_ON_RELEASE they will control |
151 | FLAG_ACTIVATE_ON_PUSH and FLAG_ACTIVATE_ON_RELEASE they will control |
144 | when to activate the object, see description of these below for further details. |
152 | when to activate the object, see description of these below for further details. |
145 | |
153 | |
… | |
… | |
194 | See Flags section below. |
202 | See Flags section below. |
195 | |
203 | |
196 | =item I<activate_on_release> (0|1) (default: 1) |
204 | =item I<activate_on_release> (0|1) (default: 1) |
197 | |
205 | |
198 | Sets the flag FLAG_ACTIVATE_ON_RELEASE. |
206 | Sets the flag FLAG_ACTIVATE_ON_RELEASE. |
|
|
207 | See Flags section below. |
|
|
208 | |
|
|
209 | =item I<is_lightable> (0|1) |
|
|
210 | |
|
|
211 | Sets the flag FLAG_IS_LIGHTABLE. |
199 | See Flags section below. |
212 | See Flags section below. |
200 | |
213 | |
201 | =item I<editable> (more than deprecated) |
214 | =item I<editable> (more than deprecated) |
202 | |
215 | |
203 | This field had a special meaning for crossedit, which used parts |
216 | This field had a special meaning for crossedit, which used parts |
204 | of the server code for editing. Wherever you see this field being |
217 | of the server code for editing. Wherever you see this field being |
205 | set in an archetype ignore it and/or remove it. No code interprets this |
218 | set in an archetype ignore it and/or remove it. No code interprets this |
206 | field anymore. |
219 | field anymore. |
207 | |
220 | |
|
|
221 | =item I<last_heal>, I<last_sp> |
|
|
222 | |
|
|
223 | For monsters and other living stuff that heals or regenarates hp or sp, |
|
|
224 | these contain the fractional part of any healing that couldn't be applied |
|
|
225 | to hp and sp yet. |
|
|
226 | |
208 | =back |
227 | =back |
209 | |
228 | |
210 | =head3 Flags |
229 | =head3 Flags |
211 | |
230 | |
212 | Here are the effects of the flags described. |
231 | Here are the effects of the flags described. |
… | |
… | |
253 | will be generated. |
272 | will be generated. |
254 | |
273 | |
255 | After the new object is created the I<hp> field from the old object is copied into |
274 | After the new object is created the I<hp> field from the old object is copied into |
256 | the new one. |
275 | the new one. |
257 | |
276 | |
258 | When the old object was a B<LAMP> it's I<food> fields value less 1 will be copied |
|
|
259 | to the new object. |
|
|
260 | |
|
|
261 | =item FLAG_IS_A_TEMPLATE (internal use) |
277 | =item FLAG_IS_A_TEMPLATE (internal use) |
262 | |
278 | |
263 | This flag is set on the inventory of generators like B<CREATOR>s and B<CONVERTER>s, |
279 | This flag is set on the inventory of generators like B<CREATOR>s and B<CONVERTER>s, |
264 | or other objects that have the flags FLAG_GENERATOR and FLAG_CONTENT_ON_GEN set. |
280 | or other objects that have the flags FLAG_GENERATOR and FLAG_CONTENT_ON_GEN set. |
265 | |
281 | |
… | |
… | |
290 | This flag is by default on. |
306 | This flag is by default on. |
291 | |
307 | |
292 | =item FLAG_NO_STEAL |
308 | =item FLAG_NO_STEAL |
293 | |
309 | |
294 | When this flag is set this object can't be stolen. The flag will be |
310 | When this flag is set this object can't be stolen. The flag will be |
295 | resetted once the object is placed on a map. |
311 | reset once the object is placed on a map. |
296 | |
312 | |
297 | When this flag is set on a monster it can defent attempts of stealing |
313 | When this flag is set on a monster it can defend attempts at stealing |
298 | (but in this context the flag is only used internally). |
314 | (but in this context the flag is only used internally). |
299 | |
315 | |
300 | =item FLAG_NO_SKILL_IDENT |
316 | =item FLAG_NO_SKILL_IDENT |
301 | |
317 | |
302 | This flag is mostly used internal and prevents unidentified objects |
318 | This flag is mostly used internal and prevents unidentified objects |
… | |
… | |
315 | =item FLAG_REFL_SPELL |
331 | =item FLAG_REFL_SPELL |
316 | |
332 | |
317 | This flag indicates whether something reflects spells, like spell reflecting |
333 | This flag indicates whether something reflects spells, like spell reflecting |
318 | amuletts. |
334 | amuletts. |
319 | |
335 | |
|
|
336 | =item FLAG_IS_LIGHTABLE |
|
|
337 | |
|
|
338 | This flag indicates whether a B<LIGHTER> can light this object. See also the |
|
|
339 | description of the B<LIGHTER> type. How easy you can light an item depends |
|
|
340 | partially on the material of the object. |
|
|
341 | |
|
|
342 | =item FLAG_MONSTER |
|
|
343 | |
|
|
344 | Enables NPC behaviour in general (both monster AI and friendly AI). Numerous fields |
|
|
345 | change their meaning, including: |
|
|
346 | |
|
|
347 | =over 4 |
|
|
348 | |
|
|
349 | =item I<wis> |
|
|
350 | |
|
|
351 | Governs the "wake-up radius" - the radius within a monster detects an enemy. |
|
|
352 | |
|
|
353 | Also, I<wis> governs pathfinding intelligence: 8 and up means the monster |
|
|
354 | will partake in basic smell finding. 10 and up additionally spreads smell |
|
|
355 | knowledge, and 15 and up additionally will try to perturb the path as to |
|
|
356 | find shortcuts. |
|
|
357 | |
|
|
358 | =back |
|
|
359 | |
320 | =back |
360 | =back |
321 | |
361 | |
322 | =head2 Description of type specific fields and behaviour |
362 | =head2 Description of type specific fields and behaviour |
323 | |
363 | |
324 | The beginning of the headers of the following subsection |
364 | The beginning of the headers of the following subsection |
… | |
… | |
327 | =head3 B<TRANSPORT> - type 2 - Player transports |
367 | =head3 B<TRANSPORT> - type 2 - Player transports |
328 | |
368 | |
329 | This type is implemented by the transport extension and has currently no special |
369 | This type is implemented by the transport extension and has currently no special |
330 | fields that affect it. |
370 | fields that affect it. |
331 | |
371 | |
332 | =head3 B<ROD> - type 3 - Rods that fire spells |
372 | =head3 B<ROD>, B<HORN> - type 3, 35 - Rods that fire spells |
333 | |
373 | |
334 | Rods contain spells and can be fired by a player. |
374 | Rods contain spells and can be fired by a player. |
335 | |
375 | |
336 | =over 4 |
376 | =over 4 |
337 | |
377 | |
… | |
… | |
343 | the 'use magic item' skill level of the player and 1/10 of the level of the |
383 | the 'use magic item' skill level of the player and 1/10 of the level of the |
344 | rod is added as bonus. |
384 | rod is added as bonus. |
345 | |
385 | |
346 | =item I<hp> <number> |
386 | =item I<hp> <number> |
347 | |
387 | |
348 | The amount of spellpoints this rod has left. |
388 | The amount of spellpoints this rod has left. Recharges at a rate of C<1 + |
|
|
389 | maxhp/10> per tick. |
349 | |
390 | |
350 | =item I<maxhp> <number> |
391 | =item I<maxhp> <number> |
351 | |
392 | |
352 | The maximum amount of spellpoints this rod has. |
393 | The maximum amount of spellpoints this rod has. |
353 | |
394 | |
… | |
… | |
429 | This field has some special meaning in potions, currently the |
470 | This field has some special meaning in potions, currently the |
430 | bits for AT_DEPLETE and AT_GODPOWER control whethere this is a |
471 | bits for AT_DEPLETE and AT_GODPOWER control whethere this is a |
431 | restoration potion or improvement potion. |
472 | restoration potion or improvement potion. |
432 | See include/attackinc.h for the bits of these types. |
473 | See include/attackinc.h for the bits of these types. |
433 | |
474 | |
434 | If AT_DEPLETE is set the player will be restored and the ARCH_DEPLETION |
475 | If AT_DEPLETE is set the player will be restored and the "depletion" |
435 | will be removed from him. If the potion has FLAG_CURSED or FLAG_DAMNED |
476 | will be removed from him. If the potion has FLAG_CURSED or FLAG_DAMNED |
436 | set the player will be drained a random stat by inserting an ARCH_DEPLETION |
477 | set the player will be drained a random stat by inserting an "depletion" |
437 | into him. |
478 | into him. |
438 | |
479 | |
439 | If AT_GODPOWER is enabled the player will gain +1 maxvalue in his hp, sp or grace stat. |
480 | If AT_GODPOWER is enabled the player will gain +1 maxvalue in his hp, sp or grace stat. |
440 | When the potion has FLAG_CURSED or FLAG_DAMNED set he will loose one in one of these stats. |
481 | When the potion has FLAG_CURSED or FLAG_DAMNED set he will loose one in one of these stats. |
441 | |
482 | |
… | |
… | |
483 | |
524 | |
484 | =back |
525 | =back |
485 | |
526 | |
486 | =back |
527 | =back |
487 | |
528 | |
488 | =head3 B<FOOD> - type 6 - Eatable stuff |
529 | =head3 B<FOOD> - type 6 - Edible stuff |
489 | |
530 | |
490 | This is for objects that are representing general eatables like |
531 | This is for objects that are representing general eatables like |
491 | beef or bread. |
532 | beef or bread. |
492 | |
533 | |
493 | The main difference between B<FOOD>, B<FLESH> and B<DRINK> is that they |
534 | The main difference between B<FOOD>, B<FLESH> and B<DRINK> is that they |
… | |
… | |
531 | |
572 | |
532 | =over 4 |
573 | =over 4 |
533 | |
574 | |
534 | =item I<level> <number> |
575 | =item I<level> <number> |
535 | |
576 | |
536 | This field affects the propability of poisoning. The higher the level difference |
577 | This field affects the probability of poisoning. The higher the level difference |
537 | between the one who is hit and the poision the more propable it is the attacked |
578 | between the one who is hit and the poision the more probable it is the attacked |
538 | one will be poisoned. |
579 | one will be poisoned. |
539 | |
580 | |
540 | =item I<slaying> <race> |
581 | =item I<slaying> <race> |
541 | |
582 | |
542 | This field has the usual meaning of 'slaying', when the |
583 | This field has the usual meaning of 'slaying', when the |
… | |
… | |
593 | |
634 | |
594 | =head3 B<CLOCK> - type 9 - Clocks |
635 | =head3 B<CLOCK> - type 9 - Clocks |
595 | |
636 | |
596 | This type of objects just display the time when being applied. |
637 | This type of objects just display the time when being applied. |
597 | |
638 | |
|
|
639 | =head3 B<VEIN> - type 10 - item veins for mining |
|
|
640 | |
|
|
641 | Provides a place to apply to mining skill to. |
|
|
642 | |
|
|
643 | =item I<other_arch> <archname> |
|
|
644 | |
|
|
645 | The architecture to create on a successful mine. |
|
|
646 | |
|
|
647 | =item I<food> <number> |
|
|
648 | |
|
|
649 | The number of items to produce from this vein. |
|
|
650 | |
|
|
651 | =item I<ac> <percentage> |
|
|
652 | |
|
|
653 | The base chance of getting an item. |
|
|
654 | |
|
|
655 | =item I<race> <identifier> |
|
|
656 | |
|
|
657 | Race of required extraction tools. |
|
|
658 | |
|
|
659 | =back |
|
|
660 | |
598 | =head3 B<LIGHTNING> - type 12 - Lightnings (DEPRECATED: see B<SPELL_EFFECT> subtype SP_BOLT) |
661 | =head3 B<LIGHTNING> - type 12 - Lightnings (DEPRECATED: see B<SPELL_EFFECT> subtype SP_BOLT) |
599 | |
662 | |
600 | This is a spell effect of a moving bolt. It moves straigt forward |
663 | This is a spell effect of a moving bolt. It moves straigt forward |
601 | through the map until something blocks it. |
664 | through the map until something blocks it. |
602 | If FLAG_REFLECTING is set it even reflects on walls. |
665 | If FLAG_REFLECTING is set it even reflects on walls. |
… | |
… | |
668 | the arrows I<dam> field, the bows I<dam> field, the bows I<magic> field |
731 | the arrows I<dam> field, the bows I<dam> field, the bows I<magic> field |
669 | and the arrows I<magic> field. |
732 | and the arrows I<magic> field. |
670 | |
733 | |
671 | =item I<wc> <number> |
734 | =item I<wc> <number> |
672 | |
735 | |
673 | The weapon class of the arrow, which has effect on the propability of hitting. |
736 | The weapon class of the arrow, which has effect on the probability of hitting. |
674 | |
737 | |
675 | It is recomputed when the arrow is being fired by this formula: |
738 | It is recomputed when the arrow is being fired by this formula: |
676 | |
739 | |
677 | wc = 20 - bow->magic - arrow->magic - (skill->level or shooter->level) |
740 | wc = 20 - bow->magic - arrow->magic - (skill->level or shooter->level) |
678 | - dex_bonus - thaco_bonus - arrow->stats.wc - bow->stats.wc + wc_mod |
741 | - dex_bonus - thaco_bonus - arrow->stats.wc - bow->stats.wc + wc_mod |
… | |
… | |
693 | Bitfield which decides the attacktype of the damage, see include/attackinc.h |
756 | Bitfield which decides the attacktype of the damage, see include/attackinc.h |
694 | On fireing the I<attacktype> of the bow is added to the arrows I<attacktype>. |
757 | On fireing the I<attacktype> of the bow is added to the arrows I<attacktype>. |
695 | |
758 | |
696 | =item I<level> <number> (interally used) |
759 | =item I<level> <number> (interally used) |
697 | |
760 | |
698 | The level of the arrow, this affects the propability of piercing FLAG_REFL_MISSILE, |
761 | The level of the arrow, this affects the probability of piercing FLAG_REFL_MISSILE, |
699 | see above in the B<ARROW> description. |
762 | see above in the B<ARROW> description. |
700 | |
763 | |
701 | The I<level> is set when the arrow is fired to either the skill level or the |
764 | The I<level> is set when the arrow is fired to either the skill level or the |
702 | shooters level. |
765 | shooters level. |
703 | |
766 | |
… | |
… | |
714 | The minimum I<speed> of an arrow is 1.0. |
777 | The minimum I<speed> of an arrow is 1.0. |
715 | |
778 | |
716 | While flying the arrows I<speed> is decreased by 0.05 each time it's moved. |
779 | While flying the arrows I<speed> is decreased by 0.05 each time it's moved. |
717 | |
780 | |
718 | If the I<speed> is above 10.0 it goes straight through the creature it hits and |
781 | If the I<speed> is above 10.0 it goes straight through the creature it hits and |
719 | it's I<speed> is reduced by 1. If the I<speed> is lower or equal 10.0 the arrow is |
782 | its I<speed> is reduced by 1. If the I<speed> is lower or equal 10.0 the arrow is |
720 | stopped and either sticked into the victim (see I<weight> field description) or |
783 | stopped and either stuck into the victim (see I<weight> field description) or |
721 | put on it's map square (if it didn't break, see description of the I<food> field). |
784 | put on its map square (if it didn't break, see description of the I<food> field). |
722 | |
785 | |
723 | =item I<weight> <number> |
786 | =item I<weight> <number> |
724 | |
787 | |
725 | This field is the weight of the arrow, if I<weight> is below or equal 5000 (5 kg) |
788 | This field is the weight of the arrow, if I<weight> is below or equal 5000 (5 kg) |
726 | the arrow will stick in the victim it hits. Otherwise it will fall to the ground. |
789 | the arrow will stick in the victim it hits. Otherwise it will fall to the ground. |
… | |
… | |
832 | Generally this field on weapons is in ranges of 1-30 and decides the slowdown of the |
895 | Generally this field on weapons is in ranges of 1-30 and decides the slowdown of the |
833 | I<sp> regeneration. |
896 | I<sp> regeneration. |
834 | |
897 | |
835 | =item I<body_BODYSLOT> |
898 | =item I<body_BODYSLOT> |
836 | |
899 | |
837 | The part of the body you need to use this weapon, possible values should be |
900 | The part/slot of the body you need to use this weapon, possible values for |
838 | looked up in common/item.C at body_locations. |
901 | C<BODYSLOT> should be looked up in common/item.C at body_locations. |
839 | |
902 | |
|
|
903 | The value (in the range C<-7..7>) gives the number of those body slots |
|
|
904 | used up by the item (if negative) or the number of body slots this object |
|
|
905 | has (if positive, e.g. for monsters or players). The special value C<0> |
|
|
906 | indicates that this object cannot equip items requiring these body slots. |
|
|
907 | |
840 | =item I<resist_RESISTNACY> <number> |
908 | =item I<resist_RESISTANCY> <number> |
841 | |
909 | |
842 | this is the factor with which the difference of the players resistancy and 100% |
910 | this is the factor with which the difference of the players resistancy and 100% |
843 | is multiplied, something like this: |
911 | is multiplied, something like this: |
844 | |
912 | |
845 | additional_resistancy = (100 - current_resistanct) * (<number>/100) |
913 | additional_resistancy = (100 - current_resistancy) * (<number>/100) |
846 | |
914 | |
847 | if <number> is negative it is added to the total vulnerabilities, |
915 | if <number> is negative it is added to the total vulnerabilities, |
848 | and later the total resistance is decided by: |
916 | and later the total resistance is decided by: |
849 | |
917 | |
850 | 'total resistance = total protections - total vulnerabilities' |
918 | 'total resistance = total protections - total vulnerabilities' |
851 | |
919 | |
852 | see also common/living.C:fix_player |
920 | see also common/living.C:fix_player. |
853 | |
921 | |
854 | =item I<path_(attuned|repelled|denied)> |
922 | =item I<path_(attuned|repelled|denied)> |
855 | |
923 | |
856 | this field modifies the pathes the player is attuned to, see include/spells.h PATH_* |
924 | this field modifies the pathes the player is attuned to, see include/spells.h PATH_* |
857 | for the pathes. |
925 | for the pathes. |
… | |
… | |
933 | =item I<hp> <number> |
1001 | =item I<hp> <number> |
934 | |
1002 | |
935 | If FLAG_LIVE_SAVE is not set it is the absolute number of times the creator can |
1003 | If FLAG_LIVE_SAVE is not set it is the absolute number of times the creator can |
936 | be used. |
1004 | be used. |
937 | |
1005 | |
938 | =item I<speed> <number> |
1006 | =item I<speed> <float> |
939 | |
1007 | |
940 | If I<speed> is set the creator will create an object periodically, |
1008 | If I<speed> is set the creator will create an object periodically, |
941 | see I<speed> and I<speed_left> fields in the general object field description |
1009 | see I<speed> and I<speed_left> fields in the general object field description |
942 | for more details. |
1010 | for more details. |
943 | |
1011 | |
… | |
… | |
948 | =item I<other_arch> <string> |
1016 | =item I<other_arch> <string> |
949 | |
1017 | |
950 | If the inventory of the creator is empty new objects will be derived from the |
1018 | If the inventory of the creator is empty new objects will be derived from the |
951 | archetype named by <string>. |
1019 | archetype named by <string>. |
952 | |
1020 | |
953 | =item I<connected> <number> |
1021 | =item I<connected> <identifier> |
954 | |
1022 | |
955 | See generic object field description. |
1023 | See generic object field description. |
|
|
1024 | |
|
|
1025 | =back |
|
|
1026 | |
|
|
1027 | =head3 B<SKILL> - type 43 - Skills |
|
|
1028 | |
|
|
1029 | This type is basically for representing skills in the game. |
|
|
1030 | |
|
|
1031 | =over 4 |
|
|
1032 | |
|
|
1033 | =item I<subtype> <skill number> |
|
|
1034 | |
|
|
1035 | =item I<skill> <string> |
|
|
1036 | |
|
|
1037 | The skill identifier used by other items, usually the skill name |
|
|
1038 | |
|
|
1039 | =item I<level> <percentage> |
|
|
1040 | |
|
|
1041 | not used? |
|
|
1042 | |
|
|
1043 | =item I<exp> <number> |
|
|
1044 | |
|
|
1045 | Base amount of experience in a skill, for skills not starting at zero. |
|
|
1046 | |
|
|
1047 | =item I<expmul> <float> |
|
|
1048 | |
|
|
1049 | Experience is multiplied by this factor. |
|
|
1050 | |
|
|
1051 | =item I<cached_sp> <integer> |
|
|
1052 | |
|
|
1053 | Used internally by the server (cannot be used in files). |
956 | |
1054 | |
957 | =back |
1055 | =back |
958 | |
1056 | |
959 | =head3 B<DRINK> - type 54 - Drinkable stuff |
1057 | =head3 B<DRINK> - type 54 - Drinkable stuff |
960 | |
1058 | |
… | |
… | |
1007 | =item I<race> <string> |
1105 | =item I<race> <string> |
1008 | |
1106 | |
1009 | If this field is set the inventory checker will search for an object which |
1107 | If this field is set the inventory checker will search for an object which |
1010 | has the archetype name that matches <string>. |
1108 | has the archetype name that matches <string>. |
1011 | |
1109 | |
1012 | =item I<connected> <connection id> |
1110 | =item I<connected> <identifier> |
1013 | |
1111 | |
1014 | This is the connection that will be activated. The connection is |
1112 | This is the connection that will be activated. The connection is |
1015 | 'pushed' when someone enters the space with the inventory checker, |
1113 | 'pushed' when someone enters the space with the inventory checker, |
1016 | and it is 'released' when he leaves it. |
1114 | and it is 'released' when he leaves it. |
1017 | |
1115 | |
1018 | See also the description of the I<connected> field in the generic object field |
1116 | See also the description of the I<connected> field in the generic object |
1019 | section. |
1117 | field section. |
1020 | |
1118 | |
1021 | =back |
1119 | =back |
|
|
1120 | |
|
|
1121 | =head3 B<MOOD_FLOOR> - type 65 - change mood of monsters |
|
|
1122 | |
|
|
1123 | speed == 0 for triggered mood changes, speed != 0 for non-triggered mood |
|
|
1124 | changes. |
|
|
1125 | |
|
|
1126 | (based on value that last_sp takes): |
|
|
1127 | 0: 'furious' Makes all monsters aggressive |
|
|
1128 | 1: 'angry' As above but pets are unaffected |
|
|
1129 | 2: 'calm' Makes all monsters unaggressive |
|
|
1130 | 3: 'sleep' Puts all monsters to sleep |
|
|
1131 | 4: 'charm' Makes monster into a pet of person |
|
|
1132 | who triggers the square. This setting |
|
|
1133 | is not enabled for continous operation |
|
|
1134 | 5: 'destroy mons' destroy any monsters on this space |
|
|
1135 | 6: 'destroy pets' destroy friendly monsters on this space |
1022 | |
1136 | |
1023 | =head3 B<FLESH> - type 72 - Organs and body parts |
1137 | =head3 B<FLESH> - type 72 - Organs and body parts |
1024 | |
1138 | |
1025 | See B<FOOD> description. |
1139 | See B<FOOD> description. |
1026 | |
1140 | |
1027 | =head3 B<MISC_OBJECT> - type 79 - Misc. objects |
1141 | =head3 B<MISC_OBJECT> - type 79 - Misc. objects |
1028 | |
1142 | |
1029 | A type for any object that has no special behaviour. |
1143 | A type for any object that has no special behaviour. |
1030 | |
|
|
1031 | =head3 B<LAMP> - type 82 - A lamp |
|
|
1032 | |
|
|
1033 | This object represents a lamp, that can be carried and switched |
|
|
1034 | on and off and has a certain amount of fuel in it. |
|
|
1035 | |
|
|
1036 | A lamp consists of two archetypes: the 'on' archetype and the 'off' archetype. |
|
|
1037 | Each of them should point at the other one with it's I<other_arch> field. |
|
|
1038 | |
|
|
1039 | See the I<other_arch> field for the behaviour of a lamp object when it is applied. |
|
|
1040 | |
|
|
1041 | =over 4 |
|
|
1042 | |
|
|
1043 | =item I<speed> <number> |
|
|
1044 | |
|
|
1045 | If FLAG_CHANGING is set the I<speed> field will indicate how fast the |
|
|
1046 | lamp burns it's fuel (I<food>). |
|
|
1047 | |
|
|
1048 | Setting FLAG_CHANGING makes only sense on the archetype which represents |
|
|
1049 | the 'on' state of the lamp. |
|
|
1050 | |
|
|
1051 | See also the description of FLAG_CHANGING. |
|
|
1052 | |
|
|
1053 | Lamps which have no FLAG_CHANGING set would also make sense and represent |
|
|
1054 | lamps that never burn up. |
|
|
1055 | |
|
|
1056 | =item I<other_arch> <number> |
|
|
1057 | |
|
|
1058 | This is the field that points to the 'other' archetype which represents the |
|
|
1059 | opposite state of the lamp. The newly from I<other_arch> derived object will |
|
|
1060 | replace the current object and will get the value of I<food> of the replaced object. |
|
|
1061 | |
|
|
1062 | Rationale: |
|
|
1063 | |
|
|
1064 | When the lamp (on) is applied a new object is derived from the archetype |
|
|
1065 | in I<other_arch> and the I<food> value is copied to it ('the fuel is |
|
|
1066 | transferred'). The new lamp (off) object has to have a I<other_arch> field |
|
|
1067 | which points to the archetype from which a lamp (on) can be derived. |
|
|
1068 | |
|
|
1069 | =item I<food> <number> |
|
|
1070 | |
|
|
1071 | This fields stands for the fuel of the lamp. |
|
|
1072 | |
|
|
1073 | =back |
|
|
1074 | |
1144 | |
1075 | =head3 B<DUPLICATOR> - type 83 - Duplicators or: Multiplicators |
1145 | =head3 B<DUPLICATOR> - type 83 - Duplicators or: Multiplicators |
1076 | |
1146 | |
1077 | This type of objects multiplies objects that are above it when it is activated. |
1147 | This type of objects multiplies objects that are above it when it is activated. |
1078 | You can even multiply by 0, which will destroy the object. |
1148 | You can even multiply by 0, which will destroy the object. |
… | |
… | |
1085 | |
1155 | |
1086 | =item I<other_arch> <string> |
1156 | =item I<other_arch> <string> |
1087 | |
1157 | |
1088 | The archetype name of the objects that should be multiplied. |
1158 | The archetype name of the objects that should be multiplied. |
1089 | |
1159 | |
1090 | =item I<connected> <number> |
1160 | =item I<connected> <identifier> |
1091 | |
1161 | |
1092 | See generic object field description. |
1162 | See generic object field description. |
1093 | |
1163 | |
1094 | =back |
1164 | =back |
1095 | |
1165 | |
… | |
… | |
1113 | when the connection is activated. This field only has effect when the |
1183 | when the connection is activated. This field only has effect when the |
1114 | connection is triggered. So if you put a closed hole on a map, and the |
1184 | connection is triggered. So if you put a closed hole on a map, and the |
1115 | connection is deactivated, and I<maxsp> is 1 the hole will remain closed until the |
1185 | connection is deactivated, and I<maxsp> is 1 the hole will remain closed until the |
1116 | connection was triggered once. |
1186 | connection was triggered once. |
1117 | |
1187 | |
1118 | =item I<connected> <connection id> |
1188 | =item I<connected> <identifier> |
1119 | |
1189 | |
1120 | This is the connection id, which lets the hole opening or closing when |
1190 | This is the connection id, which lets the hole opening or closing when |
1121 | activated. The flags FLAG_ACTIVATE_ON_PUSH and FLAG_ACTIVATE_ON_RELEASE control |
1191 | activated. The flags FLAG_ACTIVATE_ON_PUSH and FLAG_ACTIVATE_ON_RELEASE control |
1122 | at which connection state the object is activated. |
1192 | at which connection state the object is activated. |
1123 | |
1193 | |