CHAPTER 3 Addendum - Changes, Fixes, Perspectives: Well, principally yes, the "main development of room2 is finished", but we have made some changes/fixes in room2 since Nemesis is up again since January 2015. And we will continue changing more ... As it is a bit buggy the old DOOR feature of EXTD_ROOM got a replacement. The states of a door (locked/unlocked & closed/open) are not kept clean over a reload/update of one room. Then the two sides of the door might show different states. I think there are more "interesting" features! :-( So Wastl coded door2! Documentation about these new doors are available via 'man build/door2'. Changes: - 'look ' (e.g. 'look west') got disabled for various reasons: looking in every adjacent room, no matter, if it makes sense (in fog, into darkness, by night; sometimes even through closed doors); change of light level over the day not considered; no real possibility to control a 'look '; the implementation via an add_action "look" in the room-code where it should not be! - EXTRA_OBJECT is completely rewritten for various reasons: another implementation existed that is much cooler (see 'man room/produce'); the coding had a strange approach via add_action "get" - this was not smart at all ;-) For details about the new implementation see page 20 or https://nemesis.de/lpc/doc/room2/page20 . - 'search ' removed as now there is a general add_action 'search' in obj/player - see 'man object/search' and 'help search'. - The previously undocumented feature "@@func@@" for dynamic items for all set_items-calls ("normal", day_items and night_items) now described on page 17 or https://nemesis.de/lpc/doc/room2/page17 - uses process_string now (see also 'man efun/process_string'). - set_items, set_day_items and set_night_items now support directly setting multiple IDs for items as an array: ({ ({ "tree", "big tree" }), "A big tree" }), additionally to ({ "tree#big tree", "A big tree" }). - See "so-called night_items" below in "Fixes:" - it's a "change" and a "fix", too! - The READ_CMD feature (via EXTD_ROOM) now supports numbering via valid_id() - see 'man lib/valid_id'. - Just technically: the functions set_items (also day/night), id and long got optimized for a better performance. - Colours are added for the obvious exits. See the wizards board in the inner guild ('goto /guild/adv/inner'). Try 'set' (top line) and 'set ansi'. Help and documentation is available: 'help set', 'help ansi' and 'man lib/curse_string'. Fixes: - query_items, query_day_items & query_night_items could be called even if no such items are set: an empty array is returned. - The calls query_day_desc & query_night_desc are used to calculate long() of the room now. So these 2 functions now can be overwritten in rooms. Prior long() checked the variable and wrote it if set. - So-called night_items now are accessible (by code) if "it is too dark" in a room. IDs of a room should all be treated the same. The night items are still there, only the player could not see them. If something should not work in the dark, it has to be checked there. - Finally general "digging" documented: see 'man room/do_dig'. Perspectives: - Adding a simple 'read' add_action for sign etc. without EXTD_ROOM (see page 15 or https://nemesis.de/lpc/doc/room2/page15 and page 18 or https://nemesis.de/lpc/doc/room2/page18 for EXTD_ROOM and page 21 or https://nemesis.de/lpc/doc/room2/page21 for the EXTD_ROOM feature READ_CMD). - Adding a "light-weight" solution for DYNAMIC_EXITS (without using EXTD_ROOM - see https://nemesis.de/lpc/doc/room2/page19 or page 19. - Adding a "real" 'look ' that asks the present room: If it thinks it is possible, it could ask the requested adjacent room if that room allows it, too. With useful predefined options that consider the light level here and there plus the possibility to do (code & control) all this on your own. - Adding some "multi map" support for magic maps - sometimes - see page 12 or https://nemesis.de/lpc/doc/room2/page12 . Kiri See also: build/door2, room/produce, helpdir/search, object/search, room/do_dig, room/set_items, room/set_day_items, room/set_night_items, efun/process_string, room/query_items, room/query_day_items, room/query_night_items, lib/valid_id, w/nemtest, helpdir/set, helpdir/ansi, lib/curse_string, room2/page12, room2/page15, room2/page17, room2/page18, room2/page20, room2/page21