public BaseOption Clone()
    {
        BaseOption bo = new BaseOption();

        bo.Initialize();
        bo.Plus                = this.Plus;
        bo.CommonFloat         = this.CommonFloat;
        bo.AbnormalStateTarget = this.AbnormalStateTarget;
        bo.TargetItemType      = this.TargetItemType;
        bo.OType               = this.OType;
        return(bo);
    }
    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);
    }