def parse_atk(text):
    scope = parse_scope(text)
    if ('超強威力' in text):
        power = 'Power.ultra'
    elif ('超威力' in text):
        power = 'Power.super'
    elif ('強威力' in text):
        power = 'Power.high'
    elif ('中威力' in text):
        power = 'Power.mid'
    elif ('弱威力' in text):
        power = 'Power.low'
    else:
        raise ValueError
    m = re.match('.+(\\w)属性(\\w\\w)攻撃.+', text, re.UNICODE)
    attr = m.group(1)
    phy_mag = m.group(2)
    if (attr == '火'):
        attr_dmg = 'Damage.fire'
    elif (attr == '地'):
        attr_dmg = 'Damage.earth'
    elif (attr == '風'):
        attr_dmg = 'Damage.wind'
    elif (attr == '水'):
        attr_dmg = 'Damage.ice'
    elif (attr == '雷'):
        attr_dmg = 'Damage.thunder'
    elif (attr == '光'):
        attr_dmg = 'Damage.light'
    elif (attr == '闇'):
        attr_dmg = 'Damage.dark'
    else:
        raise ValueError
    if (phy_mag == '物理'):
        atk = 'Attack.phy'
    elif (phy_mag == '魔法'):
        atk = 'Attack.mag'
    else:
        raise ValueError
    temp_boost = ''
    if (('技発動時のみ力を上昇' in text) or ('技発動時のみ魔力を上昇' in text)):
        temp_boost = 'temp_boost=True, '
    boost_by_buff = ''
    m = re.match('.*自分の(\\w+)上昇効果1つにつき、この技の威力が(\\d+)[％%]上昇.*', text, re.UNICODE)
    if (m is not None):
        up_val = int(m.group(2))
        up_val /= 100
        up_indexes = m.group(1)
        effs = parse_effs(up_indexes)
        enum_str = gen_eff_str(effs, 'Scope.my_self', up_val)
        boost_by_buff = f'boost_by_buff=[{enum_str}],'
    atk_str = f'{scope}, {power}, {attr_dmg}, {atk}, {temp_boost} {boost_by_buff}'
    return atk_str
def parse_atk(text):
    scope = parse_scope(text)
    if ('超強威力' in text):
        power = 'Power.ultra'
    elif ('超威力' in text):
        power = 'Power.super'
    elif ('強威力' in text):
        power = 'Power.high'
    elif ('中威力' in text):
        power = 'Power.mid'
    elif ('弱威力' in text):
        power = 'Power.low'
    else:
        raise ValueError
    m = re.match('.+(\\w)属性(\\w\\w)攻撃.+', text, re.UNICODE)
    attr = m.group(1)
    phy_mag = m.group(2)
    if (attr == '火'):
        attr_dmg = 'Damage.fire'
    elif (attr == '地'):
        attr_dmg = 'Damage.earth'
    elif (attr == '風'):
        attr_dmg = 'Damage.wind'
    elif (attr == '水'):
        attr_dmg = 'Damage.ice'
    elif (attr == '雷'):
        attr_dmg = 'Damage.thunder'
    elif (attr == '光'):
        attr_dmg = 'Damage.light'
    elif (attr == '闇'):
        attr_dmg = 'Damage.dark'
    else:
        raise ValueError
    if (phy_mag == '物理'):
        atk = 'Attack.phy'
    elif (phy_mag == '魔法'):
        atk = 'Attack.mag'
    else:
        raise ValueError
    temp_boost = 
    if (('技発動時のみ力を上昇' in text) or ('技発動時のみ魔力を上昇' in text)):
        temp_boost = 'temp_boost=True, '
    boost_by_buff = 
    m = re.match('.*自分の(\\w+)上昇効果1つにつき、この技の威力が(\\d+)[％%]上昇.*', text, re.UNICODE)
    if (m is not None):
        up_val = int(m.group(2))
        up_val /= 100
        up_indexes = m.group(1)
        effs = parse_effs(up_indexes)
        enum_str = gen_eff_str(effs, 'Scope.my_self', up_val)
        boost_by_buff = f'boost_by_buff=[{enum_str}],'
    atk_str = f'{scope}, {power}, {attr_dmg}, {atk}, {temp_boost} {boost_by_buff}'
    return atk_str