def parse_debuff(text, turn):
    m = re.match('.*(敵単体|敵全体)(.+?)を?(\\d+)[％%]減少.*', text, re.UNICODE)
    if (m is None):
        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)
    down_val = int(m.group(3))
    down_val /= 100
    enum_str = gen_eff_str(effs, scope, down_val, turn)
    return enum_str
def parse_debuff(text, turn):
    m = re.match('.*(敵単体|敵全体)(.+?)を?(\\d+)[％%]減少.*', text, re.UNICODE)
    if (m is None):
        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)
    down_val = int(m.group(3))
    down_val /= 100
    enum_str = gen_eff_str(effs, scope, down_val, turn)
    return enum_str