-f = emit graph of forest locations
-m = emit graph of maze all alike
-s = emit graph of non-forest surface locations
--v = include internal sy,no;s in room labels
+-v = include internal symbols in room labels
"""
# Copyright (c) 2017 by Eric S. Raymond
# SPDX-License-Identifier: BSD-2-clause
+# pylint: disable=consider-using-f-string,line-too-long,invalid-name,missing-function-docstring,multiple-imports,redefined-outer-name
+
import sys, getopt, yaml
def allalike(loc):
"Select out loci related to the Maze All Alike"
- return ("ALIKE" in loc) or (loc == "LOC_PITBRINK") or ("MAZEEND" in loc) or ("STALACTITE" in loc)
+ return location_lookup[loc]["conditions"].get("ALLALIKE")
def alldifferent(loc):
"Select out loci related to the Maze All Alike"
- return ("DIFFERENT" in loc) or (loc == "LOC_DEADEND13")
+ return location_lookup[loc]["conditions"].get("ALLDIFFERENT")
def surface(loc):
"Select out surface locations"
return not obj.get("immovable")
if __name__ == "__main__":
- with open("adventure.yaml", "r") as f:
+ with open("adventure.yaml", "r", encoding='ascii', errors='surrogateescape') as f:
db = yaml.safe_load(f)
location_lookup = dict(db["locations"])