def METHOD_NAME(cls, line: str) -> "MonsterChance":
    rest, comment = split_comment(line)
    directive, value = rest.split(None, 1)
    name = directive[2:]
    if not name:
        raise ValueError("Directive missing name.")
    obj = cls(name, value, comment)
    obj.clean()
    obj.validate()
    return obj