def getDurability(self, key, status): return CallOrVar(self[key].durability, status)
def getProgress(self, key, status): return CallOrVar(self[key].progress, status)
def getQuality(self, key, status): return CallOrVar(self[key].quality, status)
def durabilityBuff(self, skill, glob): return CallOrVar(self.buff.durabilityBuff, skill, self, glob)
def getCp(self, key, status): return CallOrVar(self[key].cp, status)
def qualityBuff(self, skill, glob): return CallOrVar(self.buff.qualityBuff, skill, self, glob)
def cpBuff(self, skill, glob): return CallOrVar(self.buff.cpBuff, skill, self, glob)
def progressBuff(self, skill, glob): return CallOrVar(self.buff.progressBuff, skill, self, glob)
def calc_durability(self, status): skill_base = CallOrVar(self.durability, status) if skill_base == 0: return 0 durabilityBuffSum = sum(buff.durabilityBuff(self, status) for buff in status.buffs.values()) + 1 return math.ceil(skill_base * status.ball.durability * durabilityBuffSum)
def calc_cp(self, status): skill_base = CallOrVar(self.cp, status) if skill_base == 0: return 0 cpBuffSum = sum(buff.cpBuff(self, status) for buff in status.buffs.values()) + 1 return math.ceil(skill_base * status.ball.cp * cpBuffSum)
def calc_quality(self, status): skill_base = CallOrVar(self.quality, status) if skill_base == 0: return 0 innerQuietLv = status.buffs[names["InnerQuiet"]].data["lv"] - 1 if names["InnerQuiet"] in status.buffs else 0 quality_efficiency = Maths.total_efficiency(skill_base, sum(buff.qualityBuff(self, status) for buff in status.buffs.values())) return Maths.total_push(quality_efficiency, status.baseQuality[innerQuietLv], status.ball.quality)
def calc_progress(self, status): skill_base = CallOrVar(self.progress, status) if skill_base == 0: return 0 progress_efficiency = Maths.total_efficiency(skill_base, sum(buff.progressBuff(self, status) for buff in status.buffs.values())) return Maths.total_push(progress_efficiency, status.baseProgress, status.ball.progress)