Python:
class TrgHP:
def __init__(self, low: int=-10, high: int=10, regen: int=5):
self.hp = 4
self.low = low
self.high = high
self.regen: TrgEveryNMinutes = TrgEveryNMinutes(regen)
self.hit: set[str] = {"shut up", "quiet", "be quiet", "silence"}
def trigger(self, ear:str)->bool:
# hp regen
if self.regen.trigger():
self.hp = min(self.high, self.hp + 1)
if len(ear)==0:
return False
# hp deduct
if ear in self.hit:
self.hp = max(self.low, self.hp - 5)
return False
# hp usage
if self.hp > 0:
self.hp -=1
return True
return False
def get_hp(self) -> int:
return self.hp