Page 1 of 1

Yet another package for mudlet users (build 2018-02-22)

Posted: 23 Feb 2018 18:40
by Toferth
I've updated my scripts. Previous features are still there, scripts are still alpha, so test on throwaway profile.

Old changelist/feature list: https://www.genesismud.org/forums/viewt ... =14&t=4316

Brief changelist:
- MAPPER :) (although not as good as my previous mapper - still some things are left to do, more below)
- Stub of help system (both api and commands)
- Minor addons to observer (must move it to script and update triggers anyway)
- Typist: add forced moves (in case mapper malfunctions, but not 100% tested)
- UI: fix 1080 layout, now should look as expected, not as in netbook mode

As a bonus: Sparkle map (city, for mapper evaluation, must extract and load it from lua console - "lua loadMap <path to map>", this will *remove* your old map if you have it on that profile)

Installation: same as before, you may want to debootstrap first

Mapper commands/aliases ([] - optional, <> - required)
- trr - reloads mapper
Mapping:
- map enable|on - starts mapping
- map disable|off - stops mapping
- map area <name> - sets area for new rooms to name
- nroom [area] - when in unknown room, creates room in area (or if not given, uses area from "map area" commad)
- sexit [dir] <command> - Adds special exit in current room. If "dir" given: next room will be placed in that direction and override is set on that direction. Command is command to enter next room. (For example in library: "sexit n climb steps" will do right thing)
Room-related:
- room - dumps meta information about room
- room <meta> <value> - sets/clears room meta-information. Permitted meta values:
* block_<dir> - block movement in that direction
* override_<dir> - remap direction to special exit
* poi - set poi anchor (for speedwalk)
* herbs, notes, warning - freetype, use as you please :)
<value> "-" means "clear meta", ex "room poi -"
Speedwalk:
poi [all] - show poi in current area (or all areas)
run/goto <where> - goto somewhere (on map)
frun/fgoto <where> - goto somewhere, do fuzzy matching on destination

How goto <where> works:
- If <where> is number, and there is room with such id - goes there
- Scans all POI in current area, uses closest reachable match, if not:
- Scans all POI (everywhere), uses first that is reachable, if not:
- Scans room names in current area, uses closest reachable match, if not:
- Scans all rooms, uses first match that is reachable, if not:
- fail :(

What fuzzy goto changes:
- Room name is looked up case insensitive and partial matches are accepted

Extra info
- Mapper is paranoid, when in mapping mode, it will turn mapping off if uncertain of move
- Speedwalk handles overrides and blocks properly
- That package is still WIP

Re: Yet another package for mudlet users (build 2018-02-22)

Posted: 23 Feb 2018 19:14
by Shanoga
This seems pretty comprehensive. I'll have to create a throwaway profile and check it out. Thanks for putting the work in and, most of all, for sharing!!

Re: Yet another package for mudlet users (build 2018-02-22)

Posted: 23 Feb 2018 19:36
by Toferth
One warning though: mapper does *NOT* handle overlapping rooms properly (as in places several rooms at the same location), so if you expect rooms to overlap, you have to shift rooms manually.

Help request:
If anyone knows algorithm that would *RELIABLY* insert room shifting overlapping rooms while keeping exit orientations - let me know.
Simple shift (as in generic mapper) will break diagonal exits.
Possible scenarios for your algorithms (and expected output):

Code: Select all

Add room NE of 4:
1-2-3
 \
  4
Result:
1-2-3
 \   5
  \ / 
   4
Add room e of 2:
1-2 6
|   |
3-4-5
Result:
1-2-7 6
|     |
3-4---5