public static BaseOption GetValue(long objNo)
    {
        TableOptionCommonData data = Array.Find(Table, i => i.ObjNo == objNo);
        BaseOption            op   = new BaseOption();

        AttachValue(op, data);
        op.Plus = 5;

        return(op);
    }
    public static BaseOption GetValue(ItemType itype, OptionType otype, int state)
    {
        TableOptionCommonData data = Array.Find(Table, i => i.IType == itype && i.OpType == otype && i.ABState == state);

        if (CommonFunction.IsNull(data) == true)
        {
            return(null);
        }
        BaseOption op = new BaseOption();

        AttachValue(op, data);

        return(op);
    }
    public static BaseOption GetValue(OptionBaseType type, uint rnd, int start, float prob, float con)
    {
        TableOptionCommonData data = Array.Find(Table, i => i.ObType == type &&
                                                i.Start <= rnd && rnd <= i.End);

        if (CommonFunction.IsNull(data) == true)
        {
            return(null);
        }
        BaseOption op = new BaseOption();

        AttachValue(op, data);
        if (data.IsPlus == true)
        {
            op.Plus = CommonFunction.ConvergenceRandom(start, prob, con, 5);
        }
        return(op);
    }
    private static BaseOption AttachValue(BaseOption op, TableOptionCommonData data)
    {
        op.Initialize();
        op.ObjNo               = data.ObjNo;
        op.TargetItemType      = data.IType;
        op.OType               = data.OpType;
        op.CommonFloat         = data.CommonFloat;
        op.AbnormalStateTarget = data.ABState;
        op.RaceTarget          = data.Race;
        if (GameStateInformation.IsEnglish == false)
        {
            op.DisplayName = data.DName;
            op.Description = data.Description;
        }
        else
        {
            op.DisplayName = data.DNameEn;
            op.Description = data.DescriptionEn;
        }

        return(op);
    }