From 471b217e996e58b330e8cb25e591492708ab2e5c Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Tue, 8 Jun 2021 14:48:00 +0200 Subject: [PATCH] add random-high and random-low to Range Options --- Options.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Options.py b/Options.py index 2a63b9691c6..97511c1d0e1 100644 --- a/Options.py +++ b/Options.py @@ -117,8 +117,14 @@ def __init__(self, value: typing.Union[str, int]): @classmethod def from_text(cls, text: str) -> Range: - if text.lower() == "random": - return cls(random.randint(cls.range_start, cls.range_end)) + text = text.lower() + if text.startswith("random"): + if text == "random-low": + return cls(int(round(random.triangular(cls.range_start, cls.range_end, cls.range_start), 0))) + elif text == "random-high": + return cls(int(round(random.triangular(cls.range_start, cls.range_end, cls.range_end), 0))) + else: + return cls(random.randint(cls.range_start, cls.range_end)) number = int(text) if number < cls.range_start: raise Exception(f"{number} is lower than minimum {cls.range_start} for option {cls.__name__}")