… | |
… | |
454 | { |
454 | { |
455 | desc => 'Unique items exist only one time on a server. If the item is taken, lost or destroyed - it\'s gone for good.', |
455 | desc => 'Unique items exist only one time on a server. If the item is taken, lost or destroyed - it\'s gone for good.', |
456 | name => 'unique', |
456 | name => 'unique', |
457 | type => 'bool' |
457 | type => 'bool' |
458 | } |
458 | } |
|
|
459 | ], |
|
|
460 | [ |
|
|
461 | 'connected', |
|
|
462 | { |
|
|
463 | desc => 'For "normal" objects the connected value is mainly used for scripting purposes. You can write a string in this field that can be used from a Perl script (find_link function) to find this object, or all objects that got this connected value.', |
|
|
464 | name => 'connection', |
|
|
465 | type => 'string' |
|
|
466 | } |
459 | ] |
467 | ] |
460 | ] |
468 | ] |
461 | ); |
469 | ); |
462 | |
470 | |
463 | our %TYPE = ( |
471 | our %TYPE = ( |
… | |
… | |
580 | } |
588 | } |
581 | ] |
589 | ] |
582 | ], |
590 | ], |
583 | desc => 'When a player puts a defined number of certain items on the altar, then either a spell is casted (on the player) or a connector is triggered. If the latter is the case, the altar works only once. Either way, the sacrificed item disappears.', |
591 | desc => 'When a player puts a defined number of certain items on the altar, then either a spell is casted (on the player) or a connector is triggered. If the latter is the case, the altar works only once. Either way, the sacrificed item disappears.', |
584 | ignore => [ |
592 | ignore => [ |
585 | $IGNORE_LIST{non_pickable} |
593 | $IGNORE_LIST{non_pickable}, |
|
|
594 | [ |
|
|
595 | 'connected' |
|
|
596 | ] |
586 | ], |
597 | ], |
587 | name => 'Altar' |
598 | name => 'Altar' |
588 | }, |
599 | }, |
589 | 'Altar Trigger' => { |
600 | 'Altar Trigger' => { |
590 | attr => [ |
601 | attr => [ |
… | |
… | |
661 | } |
672 | } |
662 | ] |
673 | ] |
663 | ], |
674 | ], |
664 | desc => 'Altar_triggers work pretty much like normal altars (drop sacrifice -> connection activated), except for the fact that they reset after usage. Hence, altar_triggers can be used infinitely.', |
675 | desc => 'Altar_triggers work pretty much like normal altars (drop sacrifice -> connection activated), except for the fact that they reset after usage. Hence, altar_triggers can be used infinitely.', |
665 | ignore => [ |
676 | ignore => [ |
666 | $IGNORE_LIST{non_pickable} |
677 | $IGNORE_LIST{non_pickable}, |
|
|
678 | [ |
|
|
679 | 'connected' |
|
|
680 | ] |
667 | ], |
681 | ], |
668 | name => 'Altar Trigger', |
682 | name => 'Altar Trigger', |
669 | use => 'Altar_triggers are very useful if you want to charge a price for... <UL> <LI> ...an item. -> Connect the altar_trigger (set "last_sp 1") to a creator. <LI> ...opening a gate. -> Connect the altar_trigger (set "last_sp 0") to the gate. <LI> ...information. -> Connect the altar_trigger (set "last_sp 1") to a magic_mouth. </UL> The big advantage over normal altars is the infinite usability of altar_triggers! If there are ten players on one server, they\'re quite grateful if things work more than once. =)' |
683 | use => 'Altar_triggers are very useful if you want to charge a price for... <UL> <LI> ...an item. -> Connect the altar_trigger (set "last_sp 1") to a creator. <LI> ...opening a gate. -> Connect the altar_trigger (set "last_sp 0") to the gate. <LI> ...information. -> Connect the altar_trigger (set "last_sp 1") to a magic_mouth. </UL> The big advantage over normal altars is the infinite usability of altar_triggers! If there are ten players on one server, they\'re quite grateful if things work more than once. =)' |
670 | }, |
684 | }, |
671 | Amulet => { |
685 | Amulet => { |
… | |
… | |
1320 | } |
1334 | } |
1321 | ] |
1335 | ] |
1322 | ], |
1336 | ], |
1323 | desc => 'When a predefined amount of weigh is placed on a button, the <connection> value is triggered. In most cases this happens when a player or monster steps on it. When the button is "released", the <connection> value get\'s triggered a second time.', |
1337 | desc => 'When a predefined amount of weigh is placed on a button, the <connection> value is triggered. In most cases this happens when a player or monster steps on it. When the button is "released", the <connection> value get\'s triggered a second time.', |
1324 | ignore => [ |
1338 | ignore => [ |
1325 | $IGNORE_LIST{non_pickable} |
1339 | $IGNORE_LIST{non_pickable}, |
|
|
1340 | [ |
|
|
1341 | 'connected' |
|
|
1342 | ] |
1326 | ], |
1343 | ], |
1327 | name => 'Button' |
1344 | name => 'Button' |
1328 | }, |
1345 | }, |
1329 | 'Button Trigger' => { |
1346 | 'Button Trigger' => { |
1330 | desc => 'Handle buttons are buttons which reset after a short period of time. Every time it is either applied or reset, the <connection> value is triggered.', |
1347 | desc => 'Handle buttons are buttons which reset after a short period of time. Every time it is either applied or reset, the <connection> value is triggered.', |
… | |
… | |
1588 | } |
1605 | } |
1589 | ] |
1606 | ] |
1590 | ], |
1607 | ], |
1591 | desc => 'Converters are like "exchange tables". When the player drops a specific type of items, they get converted into other items, at a predefined exchange-ratio.', |
1608 | desc => 'Converters are like "exchange tables". When the player drops a specific type of items, they get converted into other items, at a predefined exchange-ratio.', |
1592 | ignore => [ |
1609 | ignore => [ |
1593 | 'value', |
1610 | [ |
1594 | 'nrof', |
1611 | 'value' |
1595 | 'name_pl', |
1612 | ], |
1596 | 'no_pick', |
1613 | [ |
1597 | 'unpaid', |
1614 | 'nrof' |
1598 | 'title' |
1615 | ], |
|
|
1616 | [ |
|
|
1617 | 'name_pl' |
|
|
1618 | ], |
|
|
1619 | [ |
|
|
1620 | 'no_pick' |
|
|
1621 | ], |
|
|
1622 | [ |
|
|
1623 | 'unpaid' |
|
|
1624 | ], |
|
|
1625 | [ |
|
|
1626 | 'title' |
|
|
1627 | ] |
1599 | ], |
1628 | ], |
1600 | name => 'Converter', |
1629 | name => 'Converter', |
1601 | use => 'Converters are better than shopping with doormats, because the converters never get sold out. For some items like food or jewels those "exchange tables" are really nice, while for the more important stuff like potions converters should not exist. <br><br> VERY IMPORTANT: Be careful with the exchange-ratio! When you drop items on a converter, the stuff you get must be of equal or lesser value than before! (Except if you are using "rare" items like dragonscales for payment). The code will not check if your ratio is sane, so the player could gain infinite wealth by using your converter.' |
1630 | use => 'Converters are better than shopping with doormats, because the converters never get sold out. For some items like food or jewels those "exchange tables" are really nice, while for the more important stuff like potions converters should not exist. <br><br> VERY IMPORTANT: Be careful with the exchange-ratio! When you drop items on a converter, the stuff you get must be of equal or lesser value than before! (Except if you are using "rare" items like dragonscales for payment). The code will not check if your ratio is sane, so the player could gain infinite wealth by using your converter.' |
1602 | }, |
1631 | }, |
1603 | Creator => { |
1632 | Creator => { |
… | |
… | |
1682 | } |
1711 | } |
1683 | ] |
1712 | ] |
1684 | ], |
1713 | ], |
1685 | desc => 'A creator is an object which creates another object when it is triggered. The child object can be anything. Creators are VERY useful for all kinds of map-mechanisms. They can even periodically create things.', |
1714 | desc => 'A creator is an object which creates another object when it is triggered. The child object can be anything. Creators are VERY useful for all kinds of map-mechanisms. They can even periodically create things.', |
1686 | ignore => [ |
1715 | ignore => [ |
1687 | $IGNORE_LIST{system_object} |
1716 | $IGNORE_LIST{system_object}, |
|
|
1717 | [ |
|
|
1718 | 'connected' |
|
|
1719 | ] |
1688 | ], |
1720 | ], |
1689 | name => 'Creator', |
1721 | name => 'Creator', |
1690 | use => 'Don\'t hesitate to hide your creators under the floor. The created items will still always appear ontop of the floor.' |
1722 | use => 'Don\'t hesitate to hide your creators under the floor. The created items will still always appear ontop of the floor.' |
1691 | }, |
1723 | }, |
1692 | Detector => { |
1724 | Detector => { |
… | |
… | |
1739 | } |
1771 | } |
1740 | ] |
1772 | ] |
1741 | ], |
1773 | ], |
1742 | 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, so generate much higher server load Second, detectors check directly for object names. Third, detectors do not check the inventory of players/monsters.', |
1774 | 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, so generate much higher server load Second, detectors check directly for object names. Third, detectors do not check the inventory of players/monsters.', |
1743 | ignore => [ |
1775 | ignore => [ |
1744 | $IGNORE_LIST{system_object} |
1776 | $IGNORE_LIST{system_object}, |
|
|
1777 | [ |
|
|
1778 | 'connected' |
|
|
1779 | ] |
1745 | ], |
1780 | ], |
1746 | name => 'Detector', |
1781 | name => 'Detector', |
1747 | use => 'Best avoid this type at all costs, use a pedestal instead.' |
1782 | use => 'Best avoid this type at all costs, use a pedestal instead.' |
1748 | }, |
1783 | }, |
1749 | Director => { |
1784 | Director => { |
… | |
… | |
2163 | } |
2198 | } |
2164 | ] |
2199 | ] |
2165 | ], |
2200 | ], |
2166 | desc => 'When activated, a duplicator can duplicate, multiply or destroy a pile of objects which lies somewhere on top of the duplicator. The duplicator has one arch name specified as <target arch>, and only objects of this archetype can be affected.<br> It will multiply the number of items in the pile, by the <multiply factor>. If the latter is set to zero, it will destroy objects.', |
2201 | desc => 'When activated, a duplicator can duplicate, multiply or destroy a pile of objects which lies somewhere on top of the duplicator. The duplicator has one arch name specified as <target arch>, and only objects of this archetype can be affected.<br> It will multiply the number of items in the pile, by the <multiply factor>. If the latter is set to zero, it will destroy objects.', |
2167 | ignore => [ |
2202 | ignore => [ |
2168 | $IGNORE_LIST{system_object} |
2203 | $IGNORE_LIST{system_object}, |
|
|
2204 | [ |
|
|
2205 | 'connected' |
|
|
2206 | ] |
2169 | ], |
2207 | ], |
2170 | name => 'Duplicator', |
2208 | name => 'Duplicator', |
2171 | use => 'I hope it is clear that one must be very cautious when inserting a duplicator anywhere with <multiply factor> greater than one. It is designed to be used for betting mechanisms only (bet -> win/loose). It is <b>not acceptable</b> to allow duplication of anything other than coins, gold and jewels. Besides, it is very important that the chance to loose the input matches the chance to earn winnings.<br> A duplicator with <multiply factor> 3 for example should have a loosing rate of 2/3 = 67%.' |
2209 | use => 'I hope it is clear that one must be very cautious when inserting a duplicator anywhere with <multiply factor> greater than one. It is designed to be used for betting mechanisms only (bet -> win/loose). It is <b>not acceptable</b> to allow duplication of anything other than coins, gold and jewels. Besides, it is very important that the chance to loose the input matches the chance to earn winnings.<br> A duplicator with <multiply factor> 3 for example should have a loosing rate of 2/3 = 67%.' |
2172 | }, |
2210 | }, |
2173 | 'Event Connector' => { |
2211 | 'Event Connector' => { |
… | |
… | |
2765 | } |
2803 | } |
2766 | ] |
2804 | ] |
2767 | ], |
2805 | ], |
2768 | desc => 'Gates play an important role in Deliantra. Gates can be opened by activating a button/trigger, by speaking passwords (-> magic_ear) or carrying special key-objects (-> inventory checker). Unlike locked doors, gates can get shut again after a player has passed, which makes them more practical in many cases.', |
2806 | desc => 'Gates play an important role in Deliantra. Gates can be opened by activating a button/trigger, by speaking passwords (-> magic_ear) or carrying special key-objects (-> inventory checker). Unlike locked doors, gates can get shut again after a player has passed, which makes them more practical in many cases.', |
2769 | ignore => [ |
2807 | ignore => [ |
2770 | $IGNORE_LIST{non_pickable} |
2808 | $IGNORE_LIST{non_pickable}, |
|
|
2809 | [ |
|
|
2810 | 'connected' |
|
|
2811 | ] |
2771 | ], |
2812 | ], |
2772 | name => 'Gate', |
2813 | name => 'Gate', |
2773 | use => 'Use gates to divide your maps into seperated areas. After solving area A, the player gains access to area B, and so on. Make your maps more complex than "one-way".' |
2814 | use => 'Use gates to divide your maps into seperated areas. After solving area A, the player gains access to area B, and so on. Make your maps more complex than "one-way".' |
2774 | }, |
2815 | }, |
2775 | Girdle => { |
2816 | Girdle => { |
… | |
… | |
2835 | } |
2876 | } |
2836 | ] |
2877 | ] |
2837 | ], |
2878 | ], |
2838 | desc => 'A handle can be applied by players and (certain) monsters. Every time it is applied, the <connection> value is triggered.', |
2879 | desc => 'A handle can be applied by players and (certain) monsters. Every time it is applied, the <connection> value is triggered.', |
2839 | ignore => [ |
2880 | ignore => [ |
2840 | $IGNORE_LIST{non_pickable} |
2881 | $IGNORE_LIST{non_pickable}, |
|
|
2882 | [ |
|
|
2883 | 'connected' |
|
|
2884 | ] |
2841 | ], |
2885 | ], |
2842 | name => 'Handle', |
2886 | name => 'Handle', |
2843 | use => 'Handles are commonly used to move gates. When placing your lever, don\'t forget that some monsters are able to apply it. The ability to apply levers is rare among monsters - but vampires can do it for example.' |
2887 | use => 'Handles are commonly used to move gates. When placing your lever, don\'t forget that some monsters are able to apply it. The ability to apply levers is rare among monsters - but vampires can do it for example.' |
2844 | }, |
2888 | }, |
2845 | 'Handle Trigger' => { |
2889 | 'Handle Trigger' => { |
… | |
… | |
3106 | } |
3150 | } |
3107 | ] |
3151 | ] |
3108 | ], |
3152 | ], |
3109 | desc => 'Horns are very similar to rods. The difference is that horns regenerate spellpoints faster and thus are more valuable than rods. <br><br> A horn contains a spell. The player can use this spell by applying and "fireing" (blowing) the horn. Unlike wands/scrolls, horns can be used endlessly.', |
3153 | desc => 'Horns are very similar to rods. The difference is that horns regenerate spellpoints faster and thus are more valuable than rods. <br><br> A horn contains a spell. The player can use this spell by applying and "fireing" (blowing) the horn. Unlike wands/scrolls, horns can be used endlessly.', |
3110 | ignore => [ |
3154 | ignore => [ |
3111 | 'title' |
3155 | [ |
|
|
3156 | 'title' |
|
|
3157 | ] |
3112 | ], |
3158 | ], |
3113 | name => 'Horn', |
3159 | name => 'Horn', |
3114 | use => 'Horns are powerful due to their fast recharge rate. They should never contain high level attacking spells. Even curing/healing spells are almost too good on a horn.' |
3160 | use => 'Horns are powerful due to their fast recharge rate. They should never contain high level attacking spells. Even curing/healing spells are almost too good on a horn.' |
3115 | }, |
3161 | }, |
3116 | Inorganic => { |
3162 | Inorganic => { |
… | |
… | |
3393 | } |
3439 | } |
3394 | ] |
3440 | ] |
3395 | ], |
3441 | ], |
3396 | desc => 'Inventory checkers passively check the players inventory for a specific object. You can set a connected value that is triggered either if that object is present or missing (-> "last_sp") when a player walks over the inv. checker. A valid option is to remove the matching object (usually not recommended, see "last_heal"). <br><br> Alternatively, you can set your inv. checker to block all players that do/don\'t carry the matching object. <br><br> As you can see, inv. checkers are quite powerful, holding a great variety of possibilities.', |
3442 | desc => 'Inventory checkers passively check the players inventory for a specific object. You can set a connected value that is triggered either if that object is present or missing (-> "last_sp") when a player walks over the inv. checker. A valid option is to remove the matching object (usually not recommended, see "last_heal"). <br><br> Alternatively, you can set your inv. checker to block all players that do/don\'t carry the matching object. <br><br> As you can see, inv. checkers are quite powerful, holding a great variety of possibilities.', |
3397 | ignore => [ |
3443 | ignore => [ |
3398 | $IGNORE_LIST{system_object} |
3444 | $IGNORE_LIST{system_object}, |
|
|
3445 | [ |
|
|
3446 | 'connected' |
|
|
3447 | ] |
3399 | ], |
3448 | ], |
3400 | name => 'Inventory Checker', |
3449 | name => 'Inventory Checker', |
3401 | use => 'Putting a check_inventory space in front of a gate (one below) and one on the opposite side works reasonably well as a control mechanism. Unlike the key/door-combo, this one works infinite since it is independant from map reset. Use it to put a "structure" into your maps: Player must solve area A to gain access to area B. This concept can be found in nearly every RPG - simple but effective.' |
3450 | use => 'Putting a check_inventory space in front of a gate (one below) and one on the opposite side works reasonably well as a control mechanism. Unlike the key/door-combo, this one works infinite since it is independant from map reset. Use it to put a "structure" into your maps: Player must solve area A to gain access to area B. This concept can be found in nearly every RPG - simple but effective.' |
3402 | }, |
3451 | }, |
3403 | 'Item Match' => { |
3452 | 'Item Match' => { |
… | |
… | |
3450 | } |
3499 | } |
3451 | ] |
3500 | ] |
3452 | ], |
3501 | ], |
3453 | desc => 'Match objects use the deliantra matching language (http://pod.tst.eu/http://cvs.schmorp.de/deliantra/server/lib/cf/match.pm) to match items on the same mapspace (if move_on/off are unset) or items trying to enter (if move_blocked is set). If a connected value is given, then it is triggered if the first object matching the expression is put on it, and the last is removed.', |
3502 | desc => 'Match objects use the deliantra matching language (http://pod.tst.eu/http://cvs.schmorp.de/deliantra/server/lib/cf/match.pm) to match items on the same mapspace (if move_on/off are unset) or items trying to enter (if move_blocked is set). If a connected value is given, then it is triggered if the first object matching the expression is put on it, and the last is removed.', |
3454 | ignore => [ |
3503 | ignore => [ |
3455 | $IGNORE_LIST{non_pickable} |
3504 | $IGNORE_LIST{non_pickable}, |
|
|
3505 | [ |
|
|
3506 | 'connected' |
|
|
3507 | ] |
3456 | ], |
3508 | ], |
3457 | name => 'Item Match', |
3509 | name => 'Item Match', |
3458 | use => 'If you want to trigger something else (e.g. a gate) when an item is above this object, use the move_on/move_off settings. If you want to keep something from entering if it has (or lacks) a specific item, use the move_blocked setting.' |
3510 | use => 'If you want to trigger something else (e.g. a gate) when an item is above this object, use the move_on/move_off settings. If you want to keep something from entering if it has (or lacks) a specific item, use the move_blocked setting.' |
3459 | }, |
3511 | }, |
3460 | 'Item Transformer' => { |
3512 | 'Item Transformer' => { |
… | |
… | |
3663 | } |
3715 | } |
3664 | ] |
3716 | ] |
3665 | ], |
3717 | ], |
3666 | desc => 'Magic_ears trigger a connected value when the player speaks a specific keyword.', |
3718 | desc => 'Magic_ears trigger a connected value when the player speaks a specific keyword.', |
3667 | ignore => [ |
3719 | ignore => [ |
3668 | $IGNORE_LIST{system_object} |
3720 | $IGNORE_LIST{system_object}, |
|
|
3721 | [ |
|
|
3722 | 'connected' |
|
|
3723 | ] |
3669 | ], |
3724 | ], |
3670 | name => 'Magic Ear', |
3725 | name => 'Magic Ear', |
3671 | use => 'Whenever you put magic_ears on your maps, make sure there are CLEAR and RELYABLE hints about the keywords somewhere. Don\'t make something like a gate that is opened by speaking "open" or "sesame", expecting the player to figure this out all by himself. <br><br> Magic_ears are typically used for interaction with NPCs. You can create the impression that the NPC actually *does* something according to his conversation with a player. Mostly this means opening a gate or handing out some item, but you could be quite creative here.' |
3726 | use => 'Whenever you put magic_ears on your maps, make sure there are CLEAR and RELYABLE hints about the keywords somewhere. Don\'t make something like a gate that is opened by speaking "open" or "sesame", expecting the player to figure this out all by himself. <br><br> Magic_ears are typically used for interaction with NPCs. You can create the impression that the NPC actually *does* something according to his conversation with a player. Mostly this means opening a gate or handing out some item, but you could be quite creative here.' |
3672 | }, |
3727 | }, |
3673 | 'Magic Wall' => { |
3728 | 'Magic Wall' => { |
… | |
… | |
3770 | } |
3825 | } |
3771 | ] |
3826 | ] |
3772 | ], |
3827 | ], |
3773 | desc => 'Magic walls fire spells in a given direction, in regular intervals. Magic walls can contain any spell. However, some spells do not operate very successfully in them. The only way to know is to test the spell you want to use with a wall. <br><br> Several types of magical walls are predefined for you in the archetypes, and can be found on the "connected" Pickmap.', |
3828 | desc => 'Magic walls fire spells in a given direction, in regular intervals. Magic walls can contain any spell. However, some spells do not operate very successfully in them. The only way to know is to test the spell you want to use with a wall. <br><br> Several types of magical walls are predefined for you in the archetypes, and can be found on the "connected" Pickmap.', |
3774 | ignore => [ |
3829 | ignore => [ |
3775 | $IGNORE_LIST{non_pickable} |
3830 | $IGNORE_LIST{non_pickable}, |
|
|
3831 | [ |
|
|
3832 | 'connected' |
|
|
3833 | ] |
3776 | ], |
3834 | ], |
3777 | name => 'Magic Wall', |
3835 | name => 'Magic Wall', |
3778 | section => [ |
3836 | section => [ |
3779 | [ |
3837 | [ |
3780 | 'destroyable', |
3838 | 'destroyable', |
… | |
… | |
3997 | } |
4055 | } |
3998 | ] |
4056 | ] |
3999 | ], |
4057 | ], |
4000 | desc => 'The map script object is a very special object that can react to connected events and executes a perl script in the msg slot.', |
4058 | desc => 'The map script object is a very special object that can react to connected events and executes a perl script in the msg slot.', |
4001 | ignore => [ |
4059 | ignore => [ |
4002 | $IGNORE_LIST{system_object} |
4060 | $IGNORE_LIST{system_object}, |
|
|
4061 | [ |
|
|
4062 | 'connected' |
|
|
4063 | ] |
4003 | ], |
4064 | ], |
4004 | name => 'Map Script', |
4065 | name => 'Map Script', |
4005 | use => 'The perl script gets passed a $state value and $activator, $self, $originator objects and can use the set/get/find/timer functions to react to/trigger other objects. See http://pod.tst.eu/http://cvs.schmorp.de/deliantra/server/lib/cf/mapscript.pm for details.' |
4066 | use => 'The perl script gets passed a $state value and $activator, $self, $originator objects and can use the set/get/find/timer functions to react to/trigger other objects. See http://pod.tst.eu/http://cvs.schmorp.de/deliantra/server/lib/cf/mapscript.pm for details.' |
4006 | }, |
4067 | }, |
4007 | Marker => { |
4068 | Marker => { |
… | |
… | |
4071 | } |
4132 | } |
4072 | ] |
4133 | ] |
4073 | ], |
4134 | ], |
4074 | desc => 'A marker is an object that inserts an invisible force (a mark) into a player stepping on it. This force does nothing except containing a <key string> which can be discovered by detectors or inventory checkers. It is also possible to use markers for removing marks again (by setting the "name" slot to the name of the marker to be removed). <br><br> Note that the player has no possibility to "see" his own marks, except by the effect that they cause on the maps.', |
4135 | desc => 'A marker is an object that inserts an invisible force (a mark) into a player stepping on it. This force does nothing except containing a <key string> which can be discovered by detectors or inventory checkers. It is also possible to use markers for removing marks again (by setting the "name" slot to the name of the marker to be removed). <br><br> Note that the player has no possibility to "see" his own marks, except by the effect that they cause on the maps.', |
4075 | ignore => [ |
4136 | ignore => [ |
4076 | $IGNORE_LIST{system_object} |
4137 | $IGNORE_LIST{system_object}, |
|
|
4138 | [ |
|
|
4139 | 'connected' |
|
|
4140 | ] |
4077 | ], |
4141 | ], |
4078 | name => 'Marker', |
4142 | name => 'Marker', |
4079 | use => 'Markers hold real cool possibilities for map-making. I encourage you to use them frequently. However there is one negative point about markers: Players don\'t "see" what\'s going on with them. It is your task, as map-creator, to make sure the player is always well informed and never confused. <br><br> Please avoid infinite markers when they aren\'t needed. They\'re using a little space in the player file after all, so if there is no real purpose, set an expire time.' |
4143 | use => 'Markers hold real cool possibilities for map-making. I encourage you to use them frequently. However there is one negative point about markers: Players don\'t "see" what\'s going on with them. It is your task, as map-creator, to make sure the player is always well informed and never confused. <br><br> Please avoid infinite markers when they aren\'t needed. They\'re using a little space in the player file after all, so if there is no real purpose, set an expire time.' |
4080 | }, |
4144 | }, |
4081 | Misc => { |
4145 | Misc => { |
… | |
… | |
4166 | } |
4230 | } |
4167 | ] |
4231 | ] |
4168 | ], |
4232 | ], |
4169 | desc => 'Items of the type Money are handled as currency. Money cannot be sold/bought in shops. When money is dropped in a shop, it stays the same.<br> When a player picks an item from a shop and attempts to walk over the shop mat, the item\'s selling-price is automatically subtracted from the player\'s money. <br><br> For money, always use the default arches. Don\'t modify them.', |
4233 | desc => 'Items of the type Money are handled as currency. Money cannot be sold/bought in shops. When money is dropped in a shop, it stays the same.<br> When a player picks an item from a shop and attempts to walk over the shop mat, the item\'s selling-price is automatically subtracted from the player\'s money. <br><br> For money, always use the default arches. Don\'t modify them.', |
4170 | ignore => [ |
4234 | ignore => [ |
4171 | 'unpaid' |
4235 | [ |
|
|
4236 | 'unpaid' |
|
|
4237 | ] |
4172 | ], |
4238 | ], |
4173 | name => 'Money' |
4239 | name => 'Money' |
4174 | }, |
4240 | }, |
4175 | 'Monster & NPC' => { |
4241 | 'Monster & NPC' => { |
4176 | attr => [ |
4242 | attr => [ |
… | |
… | |
4302 | } |
4368 | } |
4303 | ] |
4369 | ] |
4304 | ], |
4370 | ], |
4305 | desc => 'Monsters can behave in various kinds of ways. They can be aggressive, attacking the player. Or peaceful, helping the player - maybe joining him as pet. The unagressive creatures who communicate with players are usually called "NPCs" (Non Player Character), a well-known term in role-play environments.', |
4371 | desc => 'Monsters can behave in various kinds of ways. They can be aggressive, attacking the player. Or peaceful, helping the player - maybe joining him as pet. The unagressive creatures who communicate with players are usually called "NPCs" (Non Player Character), a well-known term in role-play environments.', |
4306 | ignore => [ |
4372 | ignore => [ |
4307 | 'material', |
4373 | [ |
4308 | 'name_pl', |
4374 | 'material' |
4309 | 'nrof', |
4375 | ], |
4310 | 'value', |
4376 | [ |
4311 | 'unpaid' |
4377 | 'name_pl' |
|
|
4378 | ], |
|
|
4379 | [ |
|
|
4380 | 'nrof' |
|
|
4381 | ], |
|
|
4382 | [ |
|
|
4383 | 'value' |
|
|
4384 | ], |
|
|
4385 | [ |
|
|
4386 | 'unpaid' |
|
|
4387 | ] |
4312 | ], |
4388 | ], |
4313 | name => 'Monster & NPC', |
4389 | name => 'Monster & NPC', |
4314 | section => [ |
4390 | section => [ |
4315 | [ |
4391 | [ |
4316 | 'melee', |
4392 | 'melee', |
… | |
… | |
4809 | use => 'Monsters play a central role in most maps. Choosing the right combination of monsters for your map is vital: <UL> <LI> Place only monsters of slightly varying (increasing) strength. It\'s no fun to play for two hours just to find out the last monster is unbeatable. Similar, it\'s not exciting to fight orcs after passing a room of dragons.<br> This rule applies only for linear maps (one room after the other), with treasure at the end. You can sprinkle the treasure around, or make non-linear maps - That is often more entertaining. <LI> Places with high level monsters must not be easy to reach. Balrogs, Dragonmen and the likes should be at the end of a quest, not at the beginning. <LI> Don\'t stick monsters together that tend to kill each other. Fire- and cold dragons in one room for example is a bad idea. By weakening and killing each other they are easy prey for players, not worth the experience they hold. <LI> Create your own monsters, especially for "boss"-type monsters. Having stage-bosses guarding treasure is a lot of fun when done right. Avoid to create monsters with completely non-intuitive abilities: Don\'t give ice-spells to firedragons or vice versa. Don\'t add draining attack to trolls, etc. Additionally, you should inform the player before he bumps right into some very special/unusual monster. <LI> Last but not least: Always keep an eye on the experience your monsters hold. Design your maps in a way that high experience is always well-defended. Don\'t make large rooms full with only one kind of monster. Keep in mind the different abilities/techniques players can use. </UL> I know it\'s impossible to make the perfectly balanced map. There\'s always some part which is found too easy or too hard for a certain kind of player. Just give it your best shot. And listen to feedback from players if you receive some. :-)' |
4885 | use => 'Monsters play a central role in most maps. Choosing the right combination of monsters for your map is vital: <UL> <LI> Place only monsters of slightly varying (increasing) strength. It\'s no fun to play for two hours just to find out the last monster is unbeatable. Similar, it\'s not exciting to fight orcs after passing a room of dragons.<br> This rule applies only for linear maps (one room after the other), with treasure at the end. You can sprinkle the treasure around, or make non-linear maps - That is often more entertaining. <LI> Places with high level monsters must not be easy to reach. Balrogs, Dragonmen and the likes should be at the end of a quest, not at the beginning. <LI> Don\'t stick monsters together that tend to kill each other. Fire- and cold dragons in one room for example is a bad idea. By weakening and killing each other they are easy prey for players, not worth the experience they hold. <LI> Create your own monsters, especially for "boss"-type monsters. Having stage-bosses guarding treasure is a lot of fun when done right. Avoid to create monsters with completely non-intuitive abilities: Don\'t give ice-spells to firedragons or vice versa. Don\'t add draining attack to trolls, etc. Additionally, you should inform the player before he bumps right into some very special/unusual monster. <LI> Last but not least: Always keep an eye on the experience your monsters hold. Design your maps in a way that high experience is always well-defended. Don\'t make large rooms full with only one kind of monster. Keep in mind the different abilities/techniques players can use. </UL> I know it\'s impossible to make the perfectly balanced map. There\'s always some part which is found too easy or too hard for a certain kind of player. Just give it your best shot. And listen to feedback from players if you receive some. :-)' |
4810 | }, |
4886 | }, |
4811 | 'Monster (Grimreaper)' => { |
4887 | 'Monster (Grimreaper)' => { |
4812 | desc => 'A grimreaper is a monster that vanishes after it did some number of draining attacks.', |
4888 | desc => 'A grimreaper is a monster that vanishes after it did some number of draining attacks.', |
4813 | ignore => [ |
4889 | ignore => [ |
4814 | 'material', |
4890 | [ |
4815 | 'name_pl', |
4891 | 'material' |
4816 | 'nrof', |
4892 | ], |
4817 | 'value', |
4893 | [ |
4818 | 'unpaid' |
4894 | 'name_pl' |
|
|
4895 | ], |
|
|
4896 | [ |
|
|
4897 | 'nrof' |
|
|
4898 | ], |
|
|
4899 | [ |
|
|
4900 | 'value' |
|
|
4901 | ], |
|
|
4902 | [ |
|
|
4903 | 'unpaid' |
|
|
4904 | ] |
4819 | ], |
4905 | ], |
4820 | import => [ |
4906 | import => [ |
4821 | 'Monster & NPC' |
4907 | 'Monster & NPC' |
4822 | ], |
4908 | ], |
4823 | name => 'Monster (Grimreaper)', |
4909 | name => 'Monster (Grimreaper)', |
… | |
… | |
4880 | } |
4966 | } |
4881 | ] |
4967 | ] |
4882 | ], |
4968 | ], |
4883 | desc => 'As the name implies, mood floors can change the "mood" of a monsters/NPC. For example, an unagressive monster could be turned mad to start attacking. Similar, an agressive monster could be calmed.', |
4969 | desc => 'As the name implies, mood floors can change the "mood" of a monsters/NPC. For example, an unagressive monster could be turned mad to start attacking. Similar, an agressive monster could be calmed.', |
4884 | ignore => [ |
4970 | ignore => [ |
4885 | $IGNORE_LIST{system_object} |
4971 | $IGNORE_LIST{system_object}, |
|
|
4972 | [ |
|
|
4973 | 'connected' |
|
|
4974 | ] |
4886 | ], |
4975 | ], |
4887 | name => 'Mood Floor', |
4976 | name => 'Mood Floor', |
4888 | use => 'Mood floors are absolutely cool for NPC interaction. To make an unaggressive monster/NPC attack, put a creator with "other_arch furious_floor" under it. Connect the creator to a magic_ear, so the player speaks a keyword like "stupid sucker" - and the monster attacks. <br><br> To turn an NPC into a pet, put a charm_floor under it and connect it directly to a magic_ear. Then the player speaks a keyword like "help me" - and the NPC joins him as pet. <br><br> (Of course you must always give clear hints about keywords! And there is no reason why you couldn\'t use a button/lever/pedestal etc. instead of a magic_ear.)' |
4977 | use => 'Mood floors are absolutely cool for NPC interaction. To make an unaggressive monster/NPC attack, put a creator with "other_arch furious_floor" under it. Connect the creator to a magic_ear, so the player speaks a keyword like "stupid sucker" - and the monster attacks. <br><br> To turn an NPC into a pet, put a charm_floor under it and connect it directly to a magic_ear. Then the player speaks a keyword like "help me" - and the NPC joins him as pet. <br><br> (Of course you must always give clear hints about keywords! And there is no reason why you couldn\'t use a button/lever/pedestal etc. instead of a magic_ear.)' |
4889 | }, |
4978 | }, |
4890 | Mover => { |
4979 | Mover => { |
… | |
… | |
5011 | } |
5100 | } |
5012 | ] |
5101 | ] |
5013 | ], |
5102 | ], |
5014 | desc => 'Pedestals are designed to detect certain types of living objects. When a predefined type of living creature steps on the pedestal, the connected value is triggered.', |
5103 | desc => 'Pedestals are designed to detect certain types of living objects. When a predefined type of living creature steps on the pedestal, the connected value is triggered.', |
5015 | ignore => [ |
5104 | ignore => [ |
5016 | $IGNORE_LIST{non_pickable} |
5105 | $IGNORE_LIST{non_pickable}, |
|
|
5106 | [ |
|
|
5107 | 'connected' |
|
|
5108 | ] |
5017 | ], |
5109 | ], |
5018 | name => 'Pedestal', |
5110 | name => 'Pedestal', |
5019 | use => 'If you want to create a place where only players of a certain race can enter, put a teleporter over your pedestal. So the teleporter is only activated for players of the matching race. Do not use gates, because many other players could sneak in. If you put powerful artifacts into such places, generally set "startequip 1", so that they are preserved for that one race and can\'t be traded to others.' |
5111 | use => 'If you want to create a place where only players of a certain race can enter, put a teleporter over your pedestal. So the teleporter is only activated for players of the matching race. Do not use gates, because many other players could sneak in. If you put powerful artifacts into such places, generally set "startequip 1", so that they are preserved for that one race and can\'t be traded to others.' |
5020 | }, |
5112 | }, |
5021 | 'Pedestal Trigger' => { |
5113 | 'Pedestal Trigger' => { |
… | |
… | |
5102 | } |
5194 | } |
5103 | ] |
5195 | ] |
5104 | ], |
5196 | ], |
5105 | desc => 'Pits are holes, transporting the player when he walks (and falls) into them. A speciality about pits is that they don\'t transport the player to the exact destination, but within a configurable radius of the destination (never on blocked squares).<br> Optionally, pits can get closed and opened, similar to gates.<br><br> Monsters and items are affected by pits just as well as players. Even multipart monsters can fall through them, given enough space.', |
5197 | desc => 'Pits are holes, transporting the player when he walks (and falls) into them. A speciality about pits is that they don\'t transport the player to the exact destination, but within a configurable radius of the destination (never on blocked squares).<br> Optionally, pits can get closed and opened, similar to gates.<br><br> Monsters and items are affected by pits just as well as players. Even multipart monsters can fall through them, given enough space.', |
5106 | ignore => [ |
5198 | ignore => [ |
5107 | $IGNORE_LIST{non_pickable} |
5199 | $IGNORE_LIST{non_pickable}, |
|
|
5200 | [ |
|
|
5201 | 'connected' |
|
|
5202 | ] |
5108 | ], |
5203 | ], |
5109 | name => 'Pit', |
5204 | name => 'Pit', |
5110 | use => 'Pits can add interesting effects to your map. When using them, make sure to use them in a "logical way": Pits should always drop the player to some kind of lower level. They should not be used to randomly interconnect maps like teleporters do.' |
5205 | use => 'Pits can add interesting effects to your map. When using them, make sure to use them in a "logical way": Pits should always drop the player to some kind of lower level. They should not be used to randomly interconnect maps like teleporters do.' |
5111 | }, |
5206 | }, |
5112 | 'Poison Food' => { |
5207 | 'Poison Food' => { |
… | |
… | |
5568 | } |
5663 | } |
5569 | ] |
5664 | ] |
5570 | ], |
5665 | ], |
5571 | desc => 'A rod contains a spell. The player can use this spell by applying and fireing the rod. Rods need time to regenerate their "internal" spellpoints, lowering the effectiveness in combat. But unlike wands/scrolls, rods can be used endlessly.', |
5666 | desc => 'A rod contains a spell. The player can use this spell by applying and fireing the rod. Rods need time to regenerate their "internal" spellpoints, lowering the effectiveness in combat. But unlike wands/scrolls, rods can be used endlessly.', |
5572 | ignore => [ |
5667 | ignore => [ |
5573 | 'title' |
5668 | [ |
|
|
5669 | 'title' |
|
|
5670 | ] |
5574 | ], |
5671 | ], |
5575 | name => 'Rod', |
5672 | name => 'Rod', |
5576 | use => 'Rods with healing/curing spells are extremely powerful. Usually, potions have to be used for that purpose. Though, potions are expensive and only good for one-time-use.<br>' |
5673 | use => 'Rods with healing/curing spells are extremely powerful. Usually, potions have to be used for that purpose. Though, potions are expensive and only good for one-time-use.<br>' |
5577 | }, |
5674 | }, |
5578 | Rune => { |
5675 | Rune => { |
… | |
… | |
5643 | } |
5740 | } |
5644 | ] |
5741 | ] |
5645 | ], |
5742 | ], |
5646 | desc => 'A rune is a magical enscription on the dungeon floor. <br><br> Runes hit any monster or person who steps on them for \'dam\' damage in \'attacktype\' attacktype. Alternatively, the rune could contain any spell, and will cast this spell when it detonates. Yet another kind is the "summoning rune", summoning predefined monsters of any kind, at detonation. <br><br> Many runes are already defined in the archetypes.', |
5743 | desc => 'A rune is a magical enscription on the dungeon floor. <br><br> Runes hit any monster or person who steps on them for \'dam\' damage in \'attacktype\' attacktype. Alternatively, the rune could contain any spell, and will cast this spell when it detonates. Yet another kind is the "summoning rune", summoning predefined monsters of any kind, at detonation. <br><br> Many runes are already defined in the archetypes.', |
5647 | ignore => [ |
5744 | ignore => [ |
5648 | 'no_pick', |
5745 | [ |
5649 | 'title', |
5746 | 'no_pick' |
5650 | 'name_pl', |
5747 | ], |
5651 | 'weight', |
5748 | [ |
5652 | 'value', |
5749 | 'title' |
5653 | 'material', |
5750 | ], |
5654 | 'unpaid' |
5751 | [ |
|
|
5752 | 'name_pl' |
|
|
5753 | ], |
|
|
5754 | [ |
|
|
5755 | 'weight' |
|
|
5756 | ], |
|
|
5757 | [ |
|
|
5758 | 'value' |
|
|
5759 | ], |
|
|
5760 | [ |
|
|
5761 | 'material' |
|
|
5762 | ], |
|
|
5763 | [ |
|
|
5764 | 'unpaid' |
|
|
5765 | ] |
5655 | ], |
5766 | ], |
5656 | name => 'Rune', |
5767 | name => 'Rune', |
5657 | section => [ |
5768 | section => [ |
5658 | [ |
5769 | [ |
5659 | 'spellcraft', |
5770 | 'spellcraft', |
… | |
… | |
5819 | } |
5930 | } |
5820 | ] |
5931 | ] |
5821 | ], |
5932 | ], |
5822 | desc => 'Scrolls contain spells (similar to spell-potions). Unlike potions, scrolls require a certain literacy skill to read successfully. Accordingly, for a successful reading, a small amount of experience is gained. Scrolls allow only one time usage, but usually they are sold in bulks.', |
5933 | desc => 'Scrolls contain spells (similar to spell-potions). Unlike potions, scrolls require a certain literacy skill to read successfully. Accordingly, for a successful reading, a small amount of experience is gained. Scrolls allow only one time usage, but usually they are sold in bulks.', |
5823 | ignore => [ |
5934 | ignore => [ |
5824 | 'title' |
5935 | [ |
|
|
5936 | 'title' |
|
|
5937 | ] |
5825 | ], |
5938 | ], |
5826 | name => 'Scroll', |
5939 | name => 'Scroll', |
5827 | use => 'For low level quests, scrolls of healing/curing-spells can be a nice reward. At higher levels, scrolls become less and less useful.' |
5940 | use => 'For low level quests, scrolls of healing/curing-spells can be a nice reward. At higher levels, scrolls become less and less useful.' |
5828 | }, |
5941 | }, |
5829 | Shield => { |
5942 | Shield => { |
… | |
… | |
6182 | } |
6295 | } |
6183 | ] |
6296 | ] |
6184 | ], |
6297 | ], |
6185 | desc => 'The purpose of a sign or magic_mouth is to display a certain message to the player. There are three ways to have the player get this message: The player walking onto it (-> magic_mouth), the player pressing <a>pply (-> sign) or the player triggering a button/handle/etc (-> magic_mouth).', |
6298 | desc => 'The purpose of a sign or magic_mouth is to display a certain message to the player. There are three ways to have the player get this message: The player walking onto it (-> magic_mouth), the player pressing <a>pply (-> sign) or the player triggering a button/handle/etc (-> magic_mouth).', |
6186 | ignore => [ |
6299 | ignore => [ |
6187 | $IGNORE_LIST{non_pickable} |
6300 | $IGNORE_LIST{non_pickable}, |
|
|
6301 | [ |
|
|
6302 | 'connected' |
|
|
6303 | ] |
6188 | ], |
6304 | ], |
6189 | name => 'Sign & MagicMouth', |
6305 | name => 'Sign & MagicMouth', |
6190 | use => 'Use signs and magic_mouths, plenty of them! Place magic_mouths to add some true roleplay feeling to your maps, support your storyline or give hints about hidden secrets/dangers. Place signs to provide the player with all kinds of useful information for getting along in your maps.' |
6306 | use => 'Use signs and magic_mouths, plenty of them! Place magic_mouths to add some true roleplay feeling to your maps, support your storyline or give hints about hidden secrets/dangers. Place signs to provide the player with all kinds of useful information for getting along in your maps.' |
6191 | }, |
6307 | }, |
6192 | Skill => { |
6308 | Skill => { |
… | |
… | |
6570 | } |
6686 | } |
6571 | ] |
6687 | ] |
6572 | ], |
6688 | ], |
6573 | desc => 'When carrying the appropriate special key, a locked door can be opened. The key will dissapear. <br><br> This object-type can also be used for "passport"-like items: When walking onto an invetory checker, a gate for example might get opened. The "passport" will stay in the player\'s inventory.', |
6689 | desc => 'When carrying the appropriate special key, a locked door can be opened. The key will dissapear. <br><br> This object-type can also be used for "passport"-like items: When walking onto an invetory checker, a gate for example might get opened. The "passport" will stay in the player\'s inventory.', |
6574 | ignore => [ |
6690 | ignore => [ |
6575 | 'material' |
6691 | [ |
|
|
6692 | 'material' |
|
|
6693 | ] |
6576 | ], |
6694 | ], |
6577 | name => 'Special Key', |
6695 | name => 'Special Key', |
6578 | use => 'How to make a "passport": You take the special key arch (archetype name is "key2"), set the face to something like card.111 and the name to "passport" - that\'s all. The <key string> certainly must match with the appropiate inventory checker. <br><br> Of course you can be creative with names and faces of key-objects. A "mysterious crystal" or a "big dragon claw" (with appropriate faces) appear more interesting than just a "strange key", or "passport".' |
6696 | use => 'How to make a "passport": You take the special key arch (archetype name is "key2"), set the face to something like card.111 and the name to "passport" - that\'s all. The <key string> certainly must match with the appropiate inventory checker. <br><br> Of course you can be creative with names and faces of key-objects. A "mysterious crystal" or a "big dragon claw" (with appropriate faces) appear more interesting than just a "strange key", or "passport".' |
6579 | }, |
6697 | }, |
6580 | Spell => { |
6698 | Spell => { |
… | |
… | |
6894 | } |
7012 | } |
6895 | ] |
7013 | ] |
6896 | ], |
7014 | ], |
6897 | 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.', |
7015 | 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.', |
6898 | ignore => [ |
7016 | ignore => [ |
6899 | $IGNORE_LIST{non_pickable} |
7017 | $IGNORE_LIST{non_pickable}, |
|
|
7018 | [ |
|
|
7019 | 'connected' |
|
|
7020 | ] |
6900 | ], |
7021 | ], |
6901 | name => 'Teleporter', |
7022 | name => 'Teleporter', |
6902 | use => 'When creating maps, I guess sooner or later you\'ll want to have an invisible teleporter. If using "invisible 1", the teleporter can still be discovered with the show_invisible spell. And in some cases you can\'t place it under the floor to prevent this. <br><br> Fortunately, there is a cool trick to make a perfectly invisible teleporter: You simply add teleporter functionality to the floor itself. That means: You take the floor arch (e.g. "flagstone"), set "type 41", and add slaying/hp/sp/connected... everything you need.' |
7023 | use => 'When creating maps, I guess sooner or later you\'ll want to have an invisible teleporter. If using "invisible 1", the teleporter can still be discovered with the show_invisible spell. And in some cases you can\'t place it under the floor to prevent this. <br><br> Fortunately, there is a cool trick to make a perfectly invisible teleporter: You simply add teleporter functionality to the floor itself. That means: You take the floor arch (e.g. "flagstone"), set "type 41", and add slaying/hp/sp/connected... everything you need.' |
6903 | }, |
7024 | }, |
6904 | 'Timed Gate' => { |
7025 | 'Timed Gate' => { |
… | |
… | |
6999 | } |
7120 | } |
7000 | ] |
7121 | ] |
7001 | ], |
7122 | ], |
7002 | desc => 'Gates play an important role in Deliantra. Gates can be opened by activating a button/trigger, by speaking passwords (-> magic_ear) or carrying special key-objects (-> inventory checker). Unlike locked doors, gates can get shut again after a player has passed, which makes them more practical in many cases. Unlike normal gates, timed gates open when triggered but automatically close again after some time.', |
7123 | desc => 'Gates play an important role in Deliantra. Gates can be opened by activating a button/trigger, by speaking passwords (-> magic_ear) or carrying special key-objects (-> inventory checker). Unlike locked doors, gates can get shut again after a player has passed, which makes them more practical in many cases. Unlike normal gates, timed gates open when triggered but automatically close again after some time.', |
7003 | ignore => [ |
7124 | ignore => [ |
7004 | $IGNORE_LIST{non_pickable} |
7125 | $IGNORE_LIST{non_pickable}, |
|
|
7126 | [ |
|
|
7127 | 'connected' |
|
|
7128 | ] |
7005 | ], |
7129 | ], |
7006 | name => 'Timed Gate', |
7130 | name => 'Timed Gate', |
7007 | use => 'Use gates to divide your maps into separated areas. After solving area A, the player gains access to area B, and so on. Make your maps more complex than "one-way".' |
7131 | use => 'Use gates to divide your maps into separated areas. After solving area A, the player gains access to area B, and so on. Make your maps more complex than "one-way".' |
7008 | }, |
7132 | }, |
7009 | Torch => { |
7133 | Torch => { |
… | |
… | |
7128 | } |
7252 | } |
7129 | ] |
7253 | ] |
7130 | ], |
7254 | ], |
7131 | desc => 'A trap is a object that can either do damage or trigger another connected object when detonated. Traps are like runes except they are not magical in nature, and generally have either a physical attack or trigger a reaction. <br><br> Traps hit any monster or person who steps on them for \'dam\' damage in \'attacktype\' attacktype and/or trigger a reaction. <br><br> Many traps are already defined in the archetypes.', |
7255 | desc => 'A trap is a object that can either do damage or trigger another connected object when detonated. Traps are like runes except they are not magical in nature, and generally have either a physical attack or trigger a reaction. <br><br> Traps hit any monster or person who steps on them for \'dam\' damage in \'attacktype\' attacktype and/or trigger a reaction. <br><br> Many traps are already defined in the archetypes.', |
7132 | ignore => [ |
7256 | ignore => [ |
7133 | 'no_pick', |
7257 | [ |
7134 | 'title', |
7258 | 'no_pick' |
7135 | 'name_pl', |
7259 | ], |
7136 | 'weight', |
7260 | [ |
7137 | 'value', |
7261 | 'title' |
7138 | 'material', |
7262 | ], |
7139 | 'unpaid' |
7263 | [ |
|
|
7264 | 'name_pl' |
|
|
7265 | ], |
|
|
7266 | [ |
|
|
7267 | 'weight' |
|
|
7268 | ], |
|
|
7269 | [ |
|
|
7270 | 'value' |
|
|
7271 | ], |
|
|
7272 | [ |
|
|
7273 | 'material' |
|
|
7274 | ], |
|
|
7275 | [ |
|
|
7276 | 'unpaid' |
|
|
7277 | ], |
|
|
7278 | [ |
|
|
7279 | 'connected' |
|
|
7280 | ] |
7140 | ], |
7281 | ], |
7141 | name => 'Trap', |
7282 | name => 'Trap', |
7142 | use => 'Avoid monsters stepping on your traps. For example, a party of orcs setting off your lightning wall and pit trap is usually a bad idea.' |
7283 | use => 'Avoid monsters stepping on your traps. For example, a party of orcs setting off your lightning wall and pit trap is usually a bad idea.' |
7143 | }, |
7284 | }, |
7144 | Trapdoor => { |
7285 | Trapdoor => { |
… | |
… | |
7225 | } |
7366 | } |
7226 | ] |
7367 | ] |
7227 | ], |
7368 | ], |
7228 | desc => 'A treasure-object turns into certain randomitems when the map is loaded into the game.', |
7369 | desc => 'A treasure-object turns into certain randomitems when the map is loaded into the game.', |
7229 | ignore => [ |
7370 | ignore => [ |
7230 | 'nrof', |
7371 | [ |
7231 | 'title', |
7372 | 'nrof' |
7232 | 'name_pl', |
7373 | ], |
7233 | 'weight', |
7374 | [ |
7234 | 'value', |
7375 | 'title' |
7235 | 'material' |
7376 | ], |
|
|
7377 | [ |
|
|
7378 | 'name_pl' |
|
|
7379 | ], |
|
|
7380 | [ |
|
|
7381 | 'weight' |
|
|
7382 | ], |
|
|
7383 | [ |
|
|
7384 | 'value' |
|
|
7385 | ], |
|
|
7386 | [ |
|
|
7387 | 'material' |
|
|
7388 | ] |
7236 | ], |
7389 | ], |
7237 | name => 'Treasure', |
7390 | name => 'Treasure', |
7238 | use => 'About usage of the "random-artifact" treasurelist: This will generate powerful stuff like girdles, xray helmets, special swords etc. If you put this as reward to your quest, players might be motivated to do it more than once. BUT, by doing so they will get a huge number of different artifacts! Besides, players will always seek the place with the most easy-to-get random artifact and ignore all others. My advice: Don\'t use it! Attract players with good fighting experience (from monsters), potions, spellbooks, money, and non-random artifacts.' |
7391 | use => 'About usage of the "random-artifact" treasurelist: This will generate powerful stuff like girdles, xray helmets, special swords etc. If you put this as reward to your quest, players might be motivated to do it more than once. BUT, by doing so they will get a huge number of different artifacts! Besides, players will always seek the place with the most easy-to-get random artifact and ignore all others. My advice: Don\'t use it! Attract players with good fighting experience (from monsters), potions, spellbooks, money, and non-random artifacts.' |
7239 | }, |
7392 | }, |
7240 | 'Trigger Marker' => { |
7393 | 'Trigger Marker' => { |
… | |
… | |
7288 | } |
7441 | } |
7289 | ] |
7442 | ] |
7290 | ], |
7443 | ], |
7291 | desc => 'A trigger marker is an object that inserts an invisible force (a mark) into a player stepping on it WHEN TRIGGERED. This force does nothing except containing a <key string> which can be discovered by detectors or inventory checkers. It is also possible to use markers for removing marks again. (by setting the "name" slot to the name of the marker to be removed). <br><br> Note that the player has no possibility to "see" his own marks, except by the effect that they cause on the maps.', |
7444 | desc => 'A trigger marker is an object that inserts an invisible force (a mark) into a player stepping on it WHEN TRIGGERED. This force does nothing except containing a <key string> which can be discovered by detectors or inventory checkers. It is also possible to use markers for removing marks again. (by setting the "name" slot to the name of the marker to be removed). <br><br> Note that the player has no possibility to "see" his own marks, except by the effect that they cause on the maps.', |
7292 | ignore => [ |
7445 | ignore => [ |
7293 | $IGNORE_LIST{system_object} |
7446 | $IGNORE_LIST{system_object}, |
|
|
7447 | [ |
|
|
7448 | 'connected' |
|
|
7449 | ] |
7294 | ], |
7450 | ], |
7295 | name => 'Trigger Marker', |
7451 | name => 'Trigger Marker', |
7296 | use => 'Markers hold real cool possibilities for map-making. I encourage you to use them frequently. However there is one negative point about markers: Players don\'t "see" what\'s going on with them. It is your task, as map-creator, to make sure the player is always well informed and never confused. <br><br> Please avoid infinite markers when they aren\'t needed. They\'re using a little space in the player file after all, so if there is no real purpose, set an expire time.' |
7452 | use => 'Markers hold real cool possibilities for map-making. I encourage you to use them frequently. However there is one negative point about markers: Players don\'t "see" what\'s going on with them. It is your task, as map-creator, to make sure the player is always well informed and never confused. <br><br> Please avoid infinite markers when they aren\'t needed. They\'re using a little space in the player file after all, so if there is no real purpose, set an expire time.' |
7297 | }, |
7453 | }, |
7298 | Wall => { |
7454 | Wall => { |
… | |
… | |
7354 | } |
7510 | } |
7355 | ] |
7511 | ] |
7356 | ], |
7512 | ], |
7357 | desc => 'Walls usually block passage and sight.', |
7513 | desc => 'Walls usually block passage and sight.', |
7358 | ignore => [ |
7514 | ignore => [ |
7359 | 'nrof', |
7515 | [ |
7360 | 'title', |
7516 | 'nrof' |
7361 | 'name_pl', |
7517 | ], |
7362 | 'value', |
7518 | [ |
7363 | 'unpaid' |
7519 | 'title' |
|
|
7520 | ], |
|
|
7521 | [ |
|
|
7522 | 'name_pl' |
|
|
7523 | ], |
|
|
7524 | [ |
|
|
7525 | 'value' |
|
|
7526 | ], |
|
|
7527 | [ |
|
|
7528 | 'unpaid' |
|
|
7529 | ] |
7364 | ], |
7530 | ], |
7365 | name => 'Wall' |
7531 | name => 'Wall' |
7366 | }, |
7532 | }, |
7367 | 'Wand & Staff' => { |
7533 | 'Wand & Staff' => { |
7368 | attr => [ |
7534 | attr => [ |