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.4 by elmex, Mon Dec 18 16:53:04 2006 UTC vs.
Revision 1.8 by elmex, Tue Dec 19 22:21:15 2006 UTC

94 94
95If the object is on the active list and speed_left is lower or 95If the object is on the active list and speed_left is lower or
96equal to 0 the absolute value of the speed field is added to speed_left 96equal to 0 the absolute value of the speed field is added to speed_left
97on the end of the tick. 97on the end of the tick.
98 98
99This means: the lower the speed field is (but still above MIN_ACTIVE_SPEED)
100the more seldom the object is processed. And the higher the speed field is
101the more often the object is processed.
102
99=item no_drop (0|1) 103=item no_drop (0|1)
100 104
101Sets the flag FLAG_NO_DROP. 105Sets the flag FLAG_NO_DROP.
102See Flags section below. 106See Flags section below.
103 107
112See Flags section below. 116See Flags section below.
113 117
114=item auto_apply (0|1) 118=item auto_apply (0|1)
115 119
116Sets the flag FLAG_AUTO_APPLY. 120Sets the flag FLAG_AUTO_APPLY.
121See Flags section below.
122
123=item no_steal (0|1)
124
125Sets the flag FLAG_NO_STEAL.
126See Flags section below.
127
128=item activate_on_push (0|1) (default: 1)
129
130Sets the flag FLAG_ACTIVATE_ON_PUSH.
131See Flags section below.
132
133=item activate_on_release (0|1) (default: 1)
134
135Sets the flag FLAG_ACTIVATE_ON_RELEASE.
117See Flags section below. 136See Flags section below.
118 137
119=item editable (more than deprecated) 138=item editable (more than deprecated)
120 139
121This field had a special meaning for crossedit, which used parts 140This field had a special meaning for crossedit, which used parts
162or other objects that have the flags FLAG_GENERATOR and FLAG_CONTENT_ON_GEN set. 181or other objects that have the flags FLAG_GENERATOR and FLAG_CONTENT_ON_GEN set.
163 182
164=item FLAG_AUTO_APPLY 183=item FLAG_AUTO_APPLY
165 184
166This flag has currently only meaning for the TREASURE type, see below. 185This flag has currently only meaning for the TREASURE type, see below.
186
187=item FLAG_ACTIVATE_ON_PUSH
188
189This flag has only meaning for objects that can be linked together
190with the 'connected' field and controls wether the object should
191be activated when the connection is 'pushed' or it is 'released'.
192
193This flag is by default on.
194
195=item FLAG_ACTIVATE_ON_RELEASE
196
197This flag has only meaning for objects that can be linked together
198with the 'connected' field and controls wether the object should
199be activated when the connection is 'pushed' or it is 'released'.
200
201This flag is by default on.
202
203=item FLAG_NO_STEAL
204
205When this flag is set this object can't be stolen. The flag will be
206resetted once the object is placed on a map.
207
208When this flag is set on a monster it can defent attempts of stealing
209(but in this context the flag is only used internally).
167 210
168=back 211=back
169 212
170=head2 Description of type specific attributes 213=head2 Description of type specific attributes
171 214
301with the treasurelist specified here. (I guess it's highly undefined what 344with the treasurelist specified here. (I guess it's highly undefined what
302happens if there is not a spell in the potions inventory). 345happens if there is not a spell in the potions inventory).
303 346
304=item on_use_yield <archetype> 347=item on_use_yield <archetype>
305 348
306When this object is applied this object will be created. 349When this object is applied an instance of <archetype> will be created.
307This field is also used by FOOD and POISON.
308 350
309=item subtypes <potion subtype> 351=item subtypes <potion subtype>
310 352
311see include/spells.h for possible potion subtypes, there are currently 4: 353see include/spells.h for possible potion subtypes, there are currently 4:
312 354
329=item POT_BALM 371=item POT_BALM
330 372
331Unused, default behaiour of a potion. 373Unused, default behaiour of a potion.
332 374
333=back 375=back
376
377=back
378
379=head3 FOOD - type 6 - Eatable stuff
380
381This is for objects that are representing general eatables like
382beef or bread.
383
384The main difference between FOOD, FLESH and DRINK is that they
385give different messages.
386
387The specialty of FLESH is that it inherits the resistancies of the
388monsters it was generated in and will let dragons raise their resistancies
389with that. If the monster has the POISON attacktype the FLESH
390will change into POISON.
391
392If a player runs low on food he will grab for FOOD, DRINK and POISON
393and if he doesn't find any of that he will start eating FLESH.
394
395=over 4
396
397=item title <string>
398
399If the food has a title or is cursed it is considered 'special', which means that the
400fields Str, Dex, Con, Int, Wis, Pow, resist_<resistancy>, hp and sp
401are interpreted and have further effects on the player.
402
403The higher the food field is the longer the improvement of the player lasts
404(except for hp and sp).
405
406=item food <number>
407
408This is the amount of food points the player gets when he eats this.
409
410=item on_use_yield <archetype>
411
412When this object is applied an instance of <archetype> will be created.
413
414=back
415
416=head3 POISON - type 7 - Poisonous stuff
417
418This type is for objects that can poison the player when drinking.
419When applied it will hit the attacked with AT_POISON and will create
420a POISONING object in the one who was hit.
421
422=over 4
423
424=item level <number>
425
426This field affects the propability of poisoning. The higher the level difference
427between the one who is hit and the poision the mose propable it is the attacked
428one will be poisoned.
429
430=item slaying <race>
431
432On poison this field has the usual meaning of 'slaying', when the
433ones race matches the slaying field the damage done by the poison
434is multiplied by 3.
435
436=item hp <number>
437
438This is the amount of damage the player will receive from applying this. The
439attacktype AT_POISON will be used to hit the player and the damage will
440determine the strenght, duration and depletion of stats of the poisoning. The
441created POISONING object which is being placed in the one who was attacked will
442get the damage from this field (which is maybe adjusted by slaying or the
443resistancies).
444
445=item food <number>
446
4471/4 of <number> will be drained from the players food.
448
449=item on_use_yield <archetype>
450
451When this object is applied an instance of <archetype> will be created.
334 452
335=back 453=back
336 454
337=head3 WEAPON - type 15 - Weapons 455=head3 WEAPON - type 15 - Weapons
338 456
478 FLAG_XRAYS 596 FLAG_XRAYS
479 FLAG_BLIND 597 FLAG_BLIND
480 FLAG_SEE_IN_DARK 598 FLAG_SEE_IN_DARK
481 FLAG_UNDEAD 599 FLAG_UNDEAD
482 600
601=head3 DRINK - type 54 - Drinkable stuff
602
603See FOOD description.
604
605=head3 CHECK_INV - type 64 - Inventory checkers
606
607This object checks whether the player has a specific item in his
608inventory when he moves above the inventory checker. If the player has
609the item (or not, which can be controlled with a flag) a connection will be triggered.
610
611If you set move_block you can deny players and monsters to reach the space where
612the inventory checker is on, see 'move_block' description below.
613
614The conditions specified by hp, slaying and race are concationated with OR.
615So matching one of those conditions is enough.
616
617=over 4
618
619=item move_block <move type bitmask>
620
621If you set this field to block a movetype the move code will block any moves
622onto the space with the inventory checker, IF the moving object doesn't have
623(or has - if last_sp = 0) the item that the checker is searching for.
624
625=item last_sp (0|1)
626
627If last_sp is 1 'having' the item that is being checked for will
628activate the connection or make the space with the checker non-blocking.
629If last_sp is 0 'not having' the item will activate the connection
630or make the space with the checker non-blocking.
631
632=item last_heal (0|1)
633
634If last_heal is 1 the matching item will be removed if the inventory checker
635activates a connection and finds the item in the inventory.
636
637(A inventory checker that blocks a space won't remove anything from inventories)
638
639=item hp <number>
640
641If this field is not 0 the inventory checker will search for an object
642with the type id <number>.
643
644=item slaying <string>
645
646If this field is set the inventory checker will search for an object that
647has the same string in the slaying field (for example a key string of a key).
648
649=item race <string>
650
651If this field is set the inventory checker will search for an object which
652has the archetype name that matches <string>.
653
654=item connected <connection id>
655
656This is the connection that will be activated.
657
658=back
659
660=head3 FLESH - type 72 - Organs and body parts
661
662See FOOD description.
663
664=head3 HOLE - type 94 - Holes
665
666Holes are holes in the ground where objects can fall through. When the hole
667opens and/or is completly open all objects above it fall through (more
668precisely: if their head is above the hole).
669
670Trapdoors can only transfer the one who falls through to other coordinates
671on the B<same> map.
672
673=over 4
674
675=item maxsp (0|1)
676
677This field negates the state of the connection: When maxsp is 1 the pit will
678open/close when the connection is deactivated. Otherwise it will open/close
679when the connection is activated. This field only has effect when the
680connection is triggered. So if you put a closed hole on a map, and the
681connection is deactivated, and maxsp is 1 the hole will remain closed until the
682connection was triggered once.
683
684=item connected <connection id>
685
686This is the connection id, which lets the hole opening or closing when
687activated. The flags FLAG_ACTIVATE_ON_PUSH and FLAG_ACTIVATE_ON_RELEASE control
688at which connection state the object is activated.
689
690For example: if FLAG_ACTIVATE_ON_RELEASE is set to 0 the hole won't react when
691the connection is released.
692
693=item wc <number> (internal)
694
695This is an internal flag. If it is greater than 0 it means that the hole is not
696yet fully open. More preciesly: this field is the animation-step and if it is
697set to the 'closed' step of the animation the hole is closed and if it is on
698the 'open' animation step (wc = 0), the hole is open.
699
700=item sp <number>
701
702The destination y coordinates on the same map.
703
704=item hp <number>
705
706The destination x coordinates on the same map.
707
708=back
709
710=head3 POISONING - type 105 - The poisoning of players and monsters
711
712This type is doing the actual damage to the ones who were attacked
713via AT_POISON (or drank POISON).
714
715The duration is handled via the FLAG_IS_USED_UP mechanism (please look
716there for details).
717
718=over 4
719
720=item dam <number>
721
722Each time the poisoning is processed (which is determined by the speed and speed_left
723fields, see the general object attributes above) it hits the player with
724<number> damage and the AT_INTERNAL attacktype (means: it will simply
725hit the player with no strings attached).
726
727=item food <number>
728
729Just a note: The posion is removed when food == 1 and not when
730the whole duration is up, because the POISONING code has to remove
731the poison-effects from the player before the FLAG_IS_USED_UP mechanism
732deletes the POISONING object.
733
734=back
735
483=head3 FORCE - type 114 - Forces 736=head3 FORCE - type 114 - Forces
484 737
485Forces are a very 'thin' type. They don't have much behaviour other than 738Forces are a very 'thin' type. They don't have much behaviour other than
486disappearing after a time and/or affecting the player if they are in his inventory. 739disappearing after a time and/or affecting the player if they are in his
740inventory.
487 741
488Forces only take effect on the player if they have set FLAG_APPLIED. 742Forces only take effect on the player if they have set FLAG_APPLIED.
489 743
490Whether the duration field is processed or not a tick is controlled via the 744Whether the duration field is processed or not a tick is controlled via the
491speed and speed_left field. Look above at the generic description of these 745speed and speed_left field. Look above at the generic description of these
492fields. 746fields.
493 747
748NOTE: Setting FLAG_IS_USED_UP on an force will also consider the 'food' field
749like stated above in the FLAG_IS_USED_UP description. BUT: If the food field reaches
7500 before duration and FLAG_APPLIED is set, the force will last for 'duration'.
751If the FLAG_APPLIED is not set the force is removed when food reaches 0.
752Generally this means: FLAG_IS_USED_UP doesn't have good semantics on forces.
753
494=over 4 754=over 4
495 755
496=item duration 756=item duration
497 757
498While this field is greater than 0 the force/object is not destroyed. 758While this field is greater than 0 the force/object is not destroyed. It is
499It is decreased each tick by 1. 759decreased each tick by 1.
500 760
501If it reaches 0 the force/object is destroyed. 761If it reaches 0 the force/object is destroyed.
502 762
503This field can have this meaning for B<any> object if that object has 763This field can have this meaning for B<any> object if that object has
504FLAG_IS_USED_UP and FLAG_APPLIED set. See the description of FLAG_IS_USED_UP 764FLAG_IS_USED_UP and FLAG_APPLIED set. See the description of FLAG_IS_USED_UP
506 766
507=back 767=back
508 768
509=head3 POTION_EFFECT - type 115 - Potion effects (resistancies) 769=head3 POTION_EFFECT - type 115 - Potion effects (resistancies)
510 770
511This object is generated by the POTION code when the potion is a 771This object is generated by the POTION code when the potion is a resistance
512resistance giving potion. It has mainly the same behaviour as a FORCE. 772giving potion. It has mainly the same behaviour as a FORCE.
513 773
514The specialty of the potion effect is that the resistancy it gives is absolute, 774The specialty of the potion effect is that the resistancy it gives is absolute,
515so if you drin a resistancy potion of fire+60 you will get 60% resistancy to fire. 775so if you drin a resistancy potion of fire+60 you will get 60% resistancy to
776fire.
516 777
517Multiple potion effects only give you the maximum of their resistancy. 778Multiple potion effects only give you the maximum of their resistancy.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines