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
|
@classmethod
|
||||||
def from_text(cls, text: str) -> Range:
|
def from_text(cls, text: str) -> Range:
|
||||||
if text.lower() == "random":
|
text = text.lower()
|
||||||
return cls(random.randint(cls.range_start, cls.range_end))
|
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)
|
number = int(text)
|
||||||
if number < cls.range_start:
|
if number < cls.range_start:
|
||||||
raise Exception(f"{number} is lower than minimum {cls.range_start} for option {cls.__name__}")
|
raise Exception(f"{number} is lower than minimum {cls.range_start} for option {cls.__name__}")
|
||||||
|
|
Loading…
Reference in New Issue