def parse_buff(text, turn):
    m = re.match('.*(味方全体|自分)(.+)を(\\d+)[％%](上昇|軽減).*', text, re.UNICODE)
    if (m is None):
        return None
    scope = parse_scope(m.group(1))
    effs_str = m.group(2)
    effs = parse_effs(effs_str)
    up_val = int(m.group(3))
    up_val /= 100
    enum_str = gen_eff_str(effs, scope, up_val, turn)
    return enum_str
def parse_buff(text, turn):
    m = re.match('.*(味方全体|自分)(.+)を(\\d+)[％%](上昇|軽減).*', text, re.UNICODE)
    if (m is None):
        return None
    scope = parse_scope(m.group(1))
    effs_str = m.group(2)
    effs = parse_effs(effs_str)
    up_val = int(m.group(3))
    up_val /= 100
    enum_str = gen_eff_str(effs, scope, up_val, turn)
    return enum_str