add random-high and random-low to Range Options
This commit is contained in:
parent
adda0eff4a
commit
471b217e99
10
Options.py
10
Options.py
|
@ -117,8 +117,14 @@ class Range(Option):
|
|||
|
||||
@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__}")
|
||||
|
|
Loading…
Reference in New Issue