Important to note when upgrading:
- If you're defining OPTIONAL_EXTENDED_METAVERBS and not NO_PLACES, test that 'places' and 'objects' show the expected results and if not, define entry point routine
IsARoomto fix it. The objects it can easily fail for are objects which aren't rooms, but sometimes lack a parent in the object tree. If they never get the attributemovedorvisited(these are the same attribute, through aliasing), they won't be shown in either list.
New/changed functionality:
- Extended meta-verb 'places' now lists one location per line, as this is faster, smaller, and more similar to the meta-verb 'objects'
- Extended meta-verb 'objects' will now also list objects that have been removed from the game (i.e. have no parent), if they seem to be regular objects, not rooms.
- Extended meta-verb 'objects' now relies on the entry point routine IsARoom (if provided) to decide whether a certain object is a room or not.
- "GET ALL" won't try to take objects in a closed container.
- "GET X FROM Y", where Y is a closed (transparent) container, now fires the action, unless X is "ALL", so before-routines can react. Unless a before-routine blocks the action, the action routine will block it. "GET ALL FROM Y" is still blocked by the parser, so the player doesn't get one message per item in the container. (Issue #147)
Optimizations:
- Optimized WordAddress() and WordLength(), for z5.