def createComaStatus(guild_id: int, user: User, hp_max: int): buff = Buff(BuffType.NONE, hp_max, -1) return RPGStatus.create(member_id=user.id, guild_id=guild_id, type=StatusType.COMA.value, buff=buff, expire_time=datetime.datetime.now() + datetime.timedelta(seconds=10))
def createOrUpdateAlertStatus(member_id: int, guild_id: int, expire_seconds: int): buff = Buff(BuffType.NONE, 0, -1) query = RPGStatus.select().where( RPGStatus.member_id == member_id, RPGStatus.guild_id == guild_id, RPGStatus.type == StatusType.ALERTED.value) new_time = datetime.datetime.now() + datetime.timedelta( seconds=expire_seconds) if query.exists(): status: RPGStatus = query.get() status.expire_time = new_time status.save() else: RPGStatus.create(member_id=member_id, guild_id=guild_id, type=StatusType.ALERTED.value, buff=buff, expire_time=new_time)
def createRestStatus(member_id: int, guild_id: int, max_hp: int, expire_seconds: int): buff = Buff(BuffType.NONE, max_hp, -1) return RPGStatus.create(member_id=member_id, guild_id=guild_id, type=StatusType.REST.value, buff=buff, expire_time=datetime.datetime.now() + datetime.timedelta(seconds=expire_seconds))