add random-high and random-low to Range Options

This commit is contained in:
Fabian Dill 2021-06-08 14:48:00 +02:00
parent adda0eff4a
commit 471b217e99
1 changed files with 8 additions and 2 deletions

View File

@ -117,7 +117,13 @@ class Range(Option):
@classmethod
def from_text(cls, text: str) -> Range:
if text.lower() == "random":
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: