Repository navigation
Write areas: build, unbuild, lint and walk - #24
Merged
Merged
Conversation
…as, README section
…s; name the file in YAML errors
# Conflicts: # area_reader/cli.py
…n the verify script
…'s abilities from its source
…port how much boot used
…children without a window
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tools for writing new ROM areas, not only reading old ones.
What it adds
area-reader build <src> -o x.are: compiles a directory of YAML (symbolic ids, exits by id with the reverse side made for you, flags by name, dice as3d8+20, mob stats defaulted from level, placements compiled to resets, programs inline on the mob) into a ROM 2.4.arewith#MOBPROGS. Vnums come from a per-area block and a lock file.area-reader unbuild x.are -o <src>: the same format from an existing area, so stock areas are examples.area-reader lint: 86 rules (structure, dangling references, prose, balance, mob programs) with JSON findings and metrics.area-reader walk: a walk-through of an area as a visitor meets it, rooms in breadth-first order, with doors, keys, mobs, gear, shops and programs.scripts/verify_rom_writer.pyboots a real engine with a new area: stock ROM 2.4b6, or QuickMUD (which reads#AREADATAand mob programs).test/authoring/saltworks/: a ten-room example source.Checked
da2bca7):1711 passed in 378.67s.unbuildthenbuild(intest_authoring.py).364c26fwith no bug line.Known gaps
Fflag-removal lines are applied by the reader and not written back by the writer.buildaccepts a pinned program vnum with no code; lint'sdangling-mob-programreports it.mobcommands and if-checks in programs are checked by lint, not bybuild.