def stats_header(cls, m: "MonsterModel", previous_evolutions, query_settings: QuerySettings): voice_emoji = get_awakening_emoji( 63) if m.awakening_count(63) and not m.is_equip else '' multiboost_emoji = None if m.awakening_count( 30) and query_settings.cardmode == CardModeModifier.coop: multiboost_emoji = get_emoji('misc_multiboost') plus_emoji = get_emoji('plus_297') if cls.get_plus_status(previous_evolutions, query_settings.cardplus) != 297: plus_emoji = get_emoji('plus_0') lb_emoji = get_emoji('lv110') if m.limit_mult > 0 and query_settings.cardlevel == CardLevelModifier.lv120: lb_emoji = get_emoji('lv120') header = Box(Text(voice_emoji), Text(plus_emoji), Text(multiboost_emoji) if multiboost_emoji else None, Text('Stats'), Text('({}, +{}%)'.format(lb_emoji, m.limit_mult)) if m.limit_mult else None, delimiter=' ') return header
def get_awakenings_feedback_text(self) -> str: awakes = [] feedback = [] guess_awo_count = len(self.guess_monster.awakenings ) - self.guess_monster.superawakening_count for index, guess_awake in enumerate( self.guess_monster.awakenings[:guess_awo_count]): awakes.append( get_awakening_emoji(guess_awake.awoken_skill_id, guess_awake.name)) val = self.awakenings_diff[index] if val == 0: feedback.append(get_emoji('red_cross_custom')) elif val == 0.5: feedback.append(get_emoji('yellow_square_custom')) else: feedback.append(get_emoji('green_check_custom')) return "\n".join(["".join(awakes), "".join(feedback)])
def get_awoken_skill_description(awoken_skill: "AwokenSkillModel", show_help: bool = False, token_map: dict = None): if token_map is None: token_map = {} emoji_text = get_awakening_emoji(awoken_skill.awoken_skill_id, awoken_skill.name) if not show_help: desc = awoken_skill.desc_en else: if awoken_skill.awoken_skill_id not in token_map: desc = "No modifiers found. Please contact Tsubaki admins for support." else: tokens = token_map[awoken_skill.awoken_skill_id] tokens: set desc = ', '.join('`{}`'.format(token) for token in list(tokens)) return Box(Text(emoji_text), BoldText(awoken_skill.name_en), Text(desc), delimiter=' ')
def _get_repeated_desc(prev_index: int, awakening: "AwakeningModel"): emoji_text = get_awakening_emoji(awakening.awoken_skill_id, awakening.name) return Box(Text(emoji_text), Text('[Same as {} awakening]'.format( ORDINAL_WORDS[prev_index])), delimiter=' ')
def _get_awakening_text(awakening: "AwakeningModel"): return get_awakening_emoji(awakening.awoken_skill_id, awakening.name)
def _get_awakening_emoji_for_stats(m: "MonsterModel", i: int): return get_awakening_emoji( i) if m.awakening_count(i) and not m.is_equip else ''