added "mult" to all three example traits

This commit is contained in:
Tegiminis 2022-01-14 23:05:09 -08:00
parent 00ac3aad32
commit 15e966a9c5

View file

@ -1151,7 +1151,7 @@ class StaticTrait(Trait):
trait_type = "static" trait_type = "static"
default_keys = {"base": 0, "mod": 0} default_keys = {"base": 0, "mod": 0, "mult": 1.0}
def __str__(self): def __str__(self):
status = "{value:11}".format(value=self.value) status = "{value:11}".format(value=self.value)
@ -1179,10 +1179,20 @@ class StaticTrait(Trait):
if type(amount) in (int, float): if type(amount) in (int, float):
self._data["mod"] = amount self._data["mod"] = amount
@property
def mult(self):
"""The trait's multiplier."""
return self._data["mult"]
@mult.setter
def mult(self, amount):
if type(amount) in (int, float):
self._data["mult"] = amount
@property @property
def value(self): def value(self):
"The value of the Trait" "The value of the Trait."
return self.base + self.mod return (self.base + self.mod) * self.mult
class CounterTrait(Trait): class CounterTrait(Trait):
@ -1225,6 +1235,7 @@ class CounterTrait(Trait):
default_keys = { default_keys = {
"base": 0, "base": 0,
"mod": 0, "mod": 0,
"mult": 1.0,
"min": None, "min": None,
"max": None, "max": None,
"descs": None, "descs": None,
@ -1353,6 +1364,15 @@ class CounterTrait(Trait):
value = self.max - self.base value = self.max - self.base
self._data["mod"] = value self._data["mod"] = value
@property
def mult(self):
return self._data["mult"]
@mult.setter
def mult(self, amount):
if type(amount) in (int, float):
self._data["mult"] = amount
@property @property
def min(self): def min(self):
return self._data["min"] return self._data["min"]
@ -1398,8 +1418,8 @@ class CounterTrait(Trait):
@property @property
def value(self): def value(self):
"The value of the Trait (current + mod)" "The value of the Trait. (current + mod) * mult"
return self._enforce_boundaries(self.current + self.mod) return self._enforce_boundaries( (self.current + self.mod) * self.mult)
@property @property
def ratetarget(self): def ratetarget(self):
@ -1494,6 +1514,7 @@ class GaugeTrait(CounterTrait):
default_keys = { default_keys = {
"base": 0, "base": 0,
"mod": 0, "mod": 0,
"mult": 1.0,
"min": 0, "min": 0,
"descs": None, "descs": None,
"rate": 0, "rate": 0,
@ -1561,6 +1582,15 @@ class GaugeTrait(CounterTrait):
value = self.min - self.base value = self.min - self.base
self._data["mod"] = value self._data["mod"] = value
@property
def mult(self):
return self._data["mult"]
@mult.setter
def mult(self, amount):
if type(amount) in (int, float):
self._data["mult"] = amount
@property @property
def min(self): def min(self):
val = self._data["min"] val = self._data["min"]
@ -1576,8 +1606,8 @@ class GaugeTrait(CounterTrait):
@property @property
def max(self): def max(self):
"The max is always base + mod." "The max is always (base + mod) * mult."
return self.base + self.mod return (self.base + self.mod) * self.mult
@max.setter @max.setter
def max(self, value): def max(self, value):