Add files via upload
This commit is contained in:
@@ -1378,6 +1378,11 @@ class Door(object):
|
||||
else:
|
||||
self.passage = False
|
||||
|
||||
def kind(self, world):
|
||||
if self.roomIndex != -1 and self.doorListPos != -1:
|
||||
return world.get_room(self.roomIndex, self.player).kind(self)
|
||||
return None
|
||||
|
||||
def __eq__(self, other):
|
||||
return isinstance(other, self.__class__) and self.name == other.name
|
||||
|
||||
|
||||
27
CLI.py
27
CLI.py
@@ -6,7 +6,6 @@ import textwrap
|
||||
import shlex
|
||||
import sys
|
||||
|
||||
import source.classes.constants as CONST
|
||||
from source.classes.BabelFish import BabelFish
|
||||
|
||||
from Utils import update_deprecated_args
|
||||
@@ -28,10 +27,15 @@ def parse_cli(argv, no_defaults=False):
|
||||
fish = BabelFish(lang=lang)
|
||||
|
||||
# we need to know how many players we have first
|
||||
# also if we're loading our own settings file, we should do that now
|
||||
parser = argparse.ArgumentParser(add_help=False)
|
||||
parser.add_argument('--settingsfile', help="input json file of settings", type=str)
|
||||
parser.add_argument('--multi', default=defval(settings["multi"]), type=lambda value: min(max(int(value), 1), 255))
|
||||
multiargs, _ = parser.parse_known_args(argv)
|
||||
|
||||
if multiargs.settingsfile:
|
||||
settings = apply_settings_file(settings, multiargs.settingsfile)
|
||||
|
||||
parser = argparse.ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter)
|
||||
|
||||
# get args
|
||||
@@ -73,6 +77,7 @@ def parse_cli(argv, no_defaults=False):
|
||||
parser.add_argument('--multi', default=defval(settings["multi"]), type=lambda value: min(max(int(value), 1), 255))
|
||||
parser.add_argument('--securerandom', default=defval(settings["securerandom"]), action='store_true')
|
||||
parser.add_argument('--teams', default=defval(1), type=lambda value: max(int(value), 1))
|
||||
parser.add_argument('--settingsfile', dest="filename", help="input json file of settings", type=str)
|
||||
|
||||
if multiargs.multi:
|
||||
for player in range(1, multiargs.multi + 1):
|
||||
@@ -106,6 +111,16 @@ def parse_cli(argv, no_defaults=False):
|
||||
return ret
|
||||
|
||||
|
||||
def apply_settings_file(settings, settings_path):
|
||||
if os.path.exists(settings_path):
|
||||
with open(settings_path) as json_file:
|
||||
data = json.load(json_file)
|
||||
for k, v in data.items():
|
||||
settings[k] = v
|
||||
return settings
|
||||
|
||||
|
||||
|
||||
def parse_settings():
|
||||
# set default settings
|
||||
settings = {
|
||||
@@ -277,17 +292,15 @@ def parse_settings():
|
||||
|
||||
# read saved settings file if it exists and set these
|
||||
settings_path = os.path.join(".", "resources", "user", "settings.json")
|
||||
if os.path.exists(settings_path):
|
||||
with(open(settings_path)) as json_file:
|
||||
data = json.load(json_file)
|
||||
for k, v in data.items():
|
||||
settings[k] = v
|
||||
settings = apply_settings_file(settings, settings_path)
|
||||
return settings
|
||||
|
||||
# Priority fallback is:
|
||||
# 1: CLI
|
||||
# 2: Settings file
|
||||
# 2: Settings file(s)
|
||||
# 3: Canned defaults
|
||||
|
||||
|
||||
def get_args_priority(settings_args, gui_args, cli_args):
|
||||
args = {}
|
||||
args["settings"] = parse_settings() if settings_args is None else settings_args
|
||||
|
||||
Reference in New Issue
Block a user