… | |
… | |
1633 | { |
1633 | { |
1634 | desc => 'This value defines the time between two detector-checks. If you want the detector to behave almost like pedestals/buttons, set speed rather high, like <detection speed> 1.0.', |
1634 | desc => 'This value defines the time between two detector-checks. If you want the detector to behave almost like pedestals/buttons, set speed rather high, like <detection speed> 1.0.', |
1635 | name => 'detection speed', |
1635 | name => 'detection speed', |
1636 | type => 'float' |
1636 | type => 'float' |
1637 | } |
1637 | } |
|
|
1638 | ], |
|
|
1639 | [ |
|
|
1640 | 'speed_left', |
|
|
1641 | { |
|
|
1642 | desc => 'The speed left to the object. On every tick, if this value is higher than 0, the object acts/triggers/moves etc. and the value gets decremented by 1. Otherwise, it is incremented by <speed> on every tick.', |
|
|
1643 | name => 'speed left', |
|
|
1644 | type => 'float' |
|
|
1645 | } |
|
|
1646 | ], |
|
|
1647 | [ |
|
|
1648 | 'speed_left', |
|
|
1649 | { |
|
|
1650 | desc => 'The speed left. This value is incremented by <speed> on every tick. If it is larger than 0, the detector checks, and the speed is decremented by 1.', |
|
|
1651 | name => 'speed left', |
|
|
1652 | type => 'float' |
|
|
1653 | } |
1638 | ] |
1654 | ] |
1639 | ], |
1655 | ], |
1640 | desc => 'Detectors work quite much like inv. checkers/pedestals: If the detector finds a specific object, it toggles its connected value. <br><br> What is "unique" about them, compared to inv. checkers/ pedestals? - First, detectors check their square for a match periodically, not instantly. Second, detectors check directly for object names. Third, detectors do not check the inventory of players/monsters.', |
1656 | desc => 'Detectors work quite much like inv. checkers/pedestals: If the detector finds a specific object, it toggles its connected value. <br><br> What is "unique" about them, compared to inv. checkers/ pedestals? - First, detectors check their square for a match periodically, not instantly. Second, detectors check directly for object names. Third, detectors do not check the inventory of players/monsters.', |
1641 | ignore => [ |
1657 | ignore => [ |
1642 | $IGNORE_LIST{system_object} |
1658 | $IGNORE_LIST{system_object} |
… | |
… | |
1769 | { |
1785 | { |
1770 | desc => 'The <speed> of the disease determines how fast the disease will "move", thus how fast the symptoms strike the host.', |
1786 | desc => 'The <speed> of the disease determines how fast the disease will "move", thus how fast the symptoms strike the host.', |
1771 | name => 'moving speed', |
1787 | name => 'moving speed', |
1772 | type => 'float' |
1788 | type => 'float' |
1773 | } |
1789 | } |
|
|
1790 | ], |
|
|
1791 | [ |
|
|
1792 | 'speed_left', |
|
|
1793 | { |
|
|
1794 | desc => 'The speed left to the object. On every tick, if this value is higher than 0, the object acts/triggers/moves etc. and the value gets decremented by 1. Otherwise, it is incremented by <speed> on every tick.', |
|
|
1795 | name => 'speed left', |
|
|
1796 | type => 'float' |
|
|
1797 | } |
1774 | ] |
1798 | ] |
1775 | ] |
1799 | ] |
1776 | ], |
1800 | ], |
1777 | [ |
1801 | [ |
1778 | 'symptoms', |
1802 | 'symptoms', |
… | |
… | |
2173 | name => 'description', |
2197 | name => 'description', |
2174 | type => 'text' |
2198 | type => 'text' |
2175 | } |
2199 | } |
2176 | ] |
2200 | ] |
2177 | ], |
2201 | ], |
2178 | desc => 'Just like with food, the player can fill his stomache and gain a little health by eating flesh-objects. <br> For dragon players, flesh plays a very special role though: If the flesh has resistances set, a dragon player has a chance to gain resistance in those cathegories. The only constraint to this process is the <flesh level>. Don\'t forget that flesh items with resistances have to be balanced according to map/monster difficulty.', |
2202 | desc => 'Just like with food, the player can fill his stomache and gain a little health by eating flesh-objects. <br> For dragon players, flesh plays a very special role though: If the flesh has resistances set, a dragon player has a chance to gain resistance in those categories. The only constraint to this process is the <flesh level>. Don\'t forget that flesh items with resistances have to be balanced according to map/monster difficulty.', |
2179 | name => 'Flesh', |
2203 | name => 'Flesh', |
2180 | section => [ |
2204 | section => [ |
2181 | [ |
2205 | [ |
2182 | 'resistance', |
2206 | 'resistance', |
2183 | [ |
2207 | [ |
… | |
… | |
3420 | name => 'casting speed', |
3444 | name => 'casting speed', |
3421 | type => 'float' |
3445 | type => 'float' |
3422 | } |
3446 | } |
3423 | ], |
3447 | ], |
3424 | [ |
3448 | [ |
|
|
3449 | 'speed_left', |
|
|
3450 | { |
|
|
3451 | desc => 'The speed left to the object. On every tick, if this value is higher than 0, the object acts/triggers/moves etc. and the value gets decremented by 1. Otherwise, it is incremented by <speed> on every tick.', |
|
|
3452 | name => 'speed left', |
|
|
3453 | type => 'float' |
|
|
3454 | } |
|
|
3455 | ], |
|
|
3456 | [ |
3425 | 'sp', |
3457 | 'sp', |
3426 | { |
3458 | { |
3427 | desc => 'The magic wall will cast it\'s spells always in the specified <direction>. A magic wall with direction set to <none> will always fire in a random direction.', |
3459 | desc => 'The magic wall will cast it\'s spells always in the specified <direction>. A magic wall with direction set to <none> will always fire in a random direction.', |
3428 | name => 'direction', |
3460 | name => 'direction', |
3429 | type => 'list', |
3461 | type => 'list', |
… | |
… | |
3696 | name => 'marking speed', |
3728 | name => 'marking speed', |
3697 | type => 'float' |
3729 | type => 'float' |
3698 | } |
3730 | } |
3699 | ], |
3731 | ], |
3700 | [ |
3732 | [ |
|
|
3733 | 'speed_left', |
|
|
3734 | { |
|
|
3735 | desc => 'The speed left to the object. On every tick, if this value is higher than 0, the object acts/triggers/moves etc. and the value gets decremented by 1. Otherwise, it is incremented by <speed> on every tick.', |
|
|
3736 | name => 'speed left', |
|
|
3737 | type => 'float' |
|
|
3738 | } |
|
|
3739 | ], |
|
|
3740 | [ |
3701 | 'food', |
3741 | 'food', |
3702 | { |
3742 | { |
3703 | desc => 'This value defines the duration of the force it inserts. If nonzero, the duration of the player\'s mark is finite: about 1 food per 10 seconds. <mark duration> zero/unset means the mark will stay on the player forever.', |
3743 | desc => 'This value defines the duration of the force it inserts. If nonzero, the duration of the player\'s mark is finite: about 1 food per 10 seconds. <mark duration> zero/unset means the mark will stay on the player forever.', |
3704 | name => 'mark duration', |
3744 | name => 'mark duration', |
3705 | type => 'int' |
3745 | type => 'int' |
… | |
… | |
3853 | } |
3893 | } |
3854 | ], |
3894 | ], |
3855 | [ |
3895 | [ |
3856 | 'race', |
3896 | 'race', |
3857 | { |
3897 | { |
3858 | desc => 'Every monster should have a race set to cathegorize it. The monster\'s <race> can have different effects: Slaying weapons inflict tripple damage against enemy races and holy word kills only enemy races of the god.', |
3898 | desc => 'Every monster should have a race set to categorize it. The monster\'s <race> can have different effects: Slaying weapons inflict tripple damage against enemy races and holy word kills only enemy races of the god.', |
3859 | name => 'race', |
3899 | name => 'race', |
3860 | type => 'string' |
3900 | type => 'string' |
3861 | } |
3901 | } |
3862 | ], |
3902 | ], |
3863 | [ |
3903 | [ |
3864 | 'exp', |
3904 | 'exp', |
3865 | { |
3905 | { |
3866 | desc => 'When a player kills this monster, he will get exactly this amount of <experience>. The experience will flow into the skill-cathegory the player used for the kill. If you create special monsters of tweaked strenght/abilities, always make sure that the <experience> is set to a reasonable value. Compare with existing arches to get a feeling what reasonable means. Keep in mind that spellcasting monsters are a lot harder to kill than non-spellcasters!', |
3906 | desc => 'When a player kills this monster, he will get exactly this amount of <experience>. The experience will flow into the skill-category the player used for the kill. If you create special monsters of tweaked strenght/abilities, always make sure that the <experience> is set to a reasonable value. Compare with existing arches to get a feeling what reasonable means. Keep in mind that spellcasting monsters are a lot harder to kill than non-spellcasters!', |
3867 | name => 'experience', |
3907 | name => 'experience', |
3868 | type => 'int' |
3908 | type => 'int' |
3869 | } |
3909 | } |
3870 | ], |
3910 | ], |
3871 | [ |
3911 | [ |
3872 | 'speed', |
3912 | 'speed', |
3873 | { |
3913 | { |
3874 | desc => 'The <speed> determines how fast a monster will both move and fight. High <speed> makes a monster considerably stronger.', |
3914 | desc => 'The <speed> determines how fast a monster will both move and fight. High <speed> makes a monster considerably stronger.', |
3875 | name => 'speed', |
3915 | name => 'speed', |
|
|
3916 | type => 'float' |
|
|
3917 | } |
|
|
3918 | ], |
|
|
3919 | [ |
|
|
3920 | 'speed_left', |
|
|
3921 | { |
|
|
3922 | desc => 'The speed left to the object. On every tick, if this value is higher than 0, the object acts/triggers/moves etc. and the value gets decremented by 1. Otherwise, it is incremented by <speed> on every tick.', |
|
|
3923 | name => 'speed left', |
3876 | type => 'float' |
3924 | type => 'float' |
3877 | } |
3925 | } |
3878 | ], |
3926 | ], |
3879 | [ |
3927 | [ |
3880 | 'other_arch', |
3928 | 'other_arch', |
… | |
… | |
4552 | [ |
4600 | [ |
4553 | 'speed', |
4601 | 'speed', |
4554 | { |
4602 | { |
4555 | desc => 'The movement speed value determines how fast a chain of these movers will push a player along (default is -0.2).', |
4603 | desc => 'The movement speed value determines how fast a chain of these movers will push a player along (default is -0.2).', |
4556 | name => 'movement speed', |
4604 | name => 'movement speed', |
|
|
4605 | type => 'float' |
|
|
4606 | } |
|
|
4607 | ], |
|
|
4608 | [ |
|
|
4609 | 'speed_left', |
|
|
4610 | { |
|
|
4611 | desc => 'The speed left to the object. On every tick, if this value is higher than 0, the object acts/triggers/moves etc. and the value gets decremented by 1. Otherwise, it is incremented by <speed> on every tick.', |
|
|
4612 | name => 'speed left', |
4557 | type => 'float' |
4613 | type => 'float' |
4558 | } |
4614 | } |
4559 | ], |
4615 | ], |
4560 | [ |
4616 | [ |
4561 | 'sp', |
4617 | 'sp', |
… | |
… | |
5973 | name => 'drowning speed', |
6029 | name => 'drowning speed', |
5974 | type => 'float' |
6030 | type => 'float' |
5975 | } |
6031 | } |
5976 | ], |
6032 | ], |
5977 | [ |
6033 | [ |
|
|
6034 | 'speed_left', |
|
|
6035 | { |
|
|
6036 | desc => 'The speed left to the object. On every tick, if this value is higher than 0, the object acts/triggers/moves etc. and the value gets decremented by 1. Otherwise, it is incremented by <speed> on every tick.', |
|
|
6037 | name => 'speed left', |
|
|
6038 | type => 'float' |
|
|
6039 | } |
|
|
6040 | ], |
|
|
6041 | [ |
5978 | 'move_on', |
6042 | 'move_on', |
5979 | { |
6043 | { |
5980 | desc => 'Which movement types automatically (as opposed to manually) activate this object.', |
6044 | desc => 'Which movement types automatically (as opposed to manually) activate this object.', |
5981 | name => 'movement type', |
6045 | name => 'movement type', |
5982 | type => 'bitmask', |
6046 | type => 'bitmask', |
… | |
… | |
6078 | [ |
6142 | [ |
6079 | 'speed', |
6143 | 'speed', |
6080 | { |
6144 | { |
6081 | desc => 'If the <activation speed> is nonzero, the teleporter will automatically be activated in regular time-intervals. Hence, the player can just step on it and gets teleported sooner or later. The duration between two activates depends on the given value. Default in the teleporter arch is <activation speed> 0.1. VERY IMPORTANT: If you want to have your teleporter activated via button/handle/magic_ear/etc, you must set <activation speed> to zero!', |
6145 | desc => 'If the <activation speed> is nonzero, the teleporter will automatically be activated in regular time-intervals. Hence, the player can just step on it and gets teleported sooner or later. The duration between two activates depends on the given value. Default in the teleporter arch is <activation speed> 0.1. VERY IMPORTANT: If you want to have your teleporter activated via button/handle/magic_ear/etc, you must set <activation speed> to zero!', |
6082 | name => 'activation speed', |
6146 | name => 'activation speed', |
|
|
6147 | type => 'float' |
|
|
6148 | } |
|
|
6149 | ], |
|
|
6150 | [ |
|
|
6151 | 'speed_left', |
|
|
6152 | { |
|
|
6153 | desc => 'The speed left to the object. On every tick, if this value is higher than 0, the object acts/triggers/moves etc. and the value gets decremented by 1. Otherwise, it is incremented by <speed> on every tick.', |
|
|
6154 | name => 'speed left', |
6083 | type => 'float' |
6155 | type => 'float' |
6084 | } |
6156 | } |
6085 | ] |
6157 | ] |
6086 | ], |
6158 | ], |
6087 | desc => 'When the player walks into a teleporter, he is transferred to a different location. The main difference to the object-type exit is the possibility to have teleporters connected to levers/buttons/etc. Sometimes teleporters are activated even against the players will. <br><br> Unlike exits, teleporters can also transfer items and monsters to different locations on the same map.', |
6159 | desc => 'When the player walks into a teleporter, he is transferred to a different location. The main difference to the object-type exit is the possibility to have teleporters connected to levers/buttons/etc. Sometimes teleporters are activated even against the players will. <br><br> Unlike exits, teleporters can also transfer items and monsters to different locations on the same map.', |