Esempio n. 1
0
    public override bool CheckArguments(string[] InArguments, out string OutMessage)
    {
        if (!base.CheckArguments(InArguments, out OutMessage))
        {
            return(false);
        }
        if (CheatCommandBase.SmartConvert <ushort>(InArguments[0]) < 2014 || CheatCommandBase.SmartConvert <ushort>(InArguments[0]) > 2020)
        {
            OutMessage = "年份错误";
            return(false);
        }
        if (CheatCommandBase.SmartConvert <byte>(InArguments[2]) < 1 || CheatCommandBase.SmartConvert <byte>(InArguments[2]) > 31)
        {
            OutMessage = "日期错误";
            return(false);
        }
        uint HeroId = (uint)CheatCommandBase.SmartConvert <byte>(InArguments[4]);
        bool flag;

        if (HeroId == 0u)
        {
            flag = true;
        }
        else
        {
            ResHeroCfgInfo resHeroCfgInfo = GameDataMgr.heroDatabin.FindIf((ResHeroCfgInfo x) => x.dwCfgID == HeroId);
            flag = (resHeroCfgInfo != null);
        }
        if (!flag)
        {
            OutMessage = "错误的英雄ID";
            return(false);
        }
        return(true);
    }
Esempio n. 2
0
 protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
 {
     CheatCmdRef.set_stWarmBattleCnt(new CSDT_CHEAT_WARMBATTLE_CNT());
     CheatCmdRef.get_stWarmBattleCnt().bMapMemberNum = CheatCommandBase.SmartConvert <byte>(InArguments[0]);
     CheatCmdRef.get_stWarmBattleCnt().dwBattleNum   = CheatCommandBase.SmartConvert <uint>(InArguments[1]);
     return(CheatCommandBase.Done);
 }
Esempio n. 3
0
    public override bool CheckArguments(string[] InArguments, out string OutMessage)
    {
        if (!base.CheckArguments(InArguments, out OutMessage))
        {
            return(false);
        }
        bool flag = false;
        uint num  = CheatCommandBase.SmartConvert <int>(InArguments[0]);

        if (num == 0)
        {
            flag = true;
        }
        else
        {
            DictionaryView <uint, CHeroInfo> .Enumerator enumerator = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetHeroInfoDic().GetEnumerator();

            while (enumerator.MoveNext())
            {
                KeyValuePair <uint, CHeroInfo> current = enumerator.Current;
                if (num == current.Key)
                {
                    flag = true;
                    break;
                }
            }
        }
        if (!flag)
        {
            OutMessage = "错误的英雄ID";
            return(false);
        }
        return(true);
    }
Esempio n. 4
0
 protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
 {
     CheatCmdRef.stUpdAcntInfo           = new CSDT_CHEAT_UPDACNTINFO();
     CheatCmdRef.stUpdAcntInfo.iUpdType  = CheatCommandBase.StringToEnum(InArguments[0], typeof(AcntInfoUpdateType));
     CheatCmdRef.stUpdAcntInfo.iUpdValue = CheatCommandBase.SmartConvert <int>(InArguments[1]);
     return(CheatCommandBase.Done);
 }
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        CheatCmdRef.stPassMultiGame = new CSDT_CHEAT_PASS_MULTI_GAME();
        EWinOrLose eWinOrLose = (EWinOrLose)CheatCommandBase.StringToEnum(InArguments[0], typeof(EWinOrLose));

        CheatCmdRef.stPassMultiGame.bGameResult = ((eWinOrLose == EWinOrLose.胜利) ? 1 : 2);
        return(CheatCommandBase.Done);
    }
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        DebugHelper.Assert(InArguments.Length > 0);
        int inValue = CheatCommandBase.SmartConvert <int>(InArguments[0]);

        this.FillMessageField(ref CheatCmdRef, inValue);
        return(CheatCommandBase.Done);
    }
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        uint dwAchieveID = CheatCommandBase.SmartConvert <uint>(InArguments[0]);

        CheatCmdRef.set_stDoneAchieve(new CSDT_CHEAT_DONE_ACHIEVE());
        CheatCmdRef.get_stDoneAchieve().dwAchieveID = dwAchieveID;
        return(CheatCommandBase.Done);
    }
 protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
 {
     CheatCmdRef.stAddRewardMatchPoint         = new CSDT_CHEAT_MATCHPOINT();
     CheatCmdRef.stAddRewardMatchPoint.iMapID  = CheatCommandBase.SmartConvert <int>(InArguments[0]);
     CheatCmdRef.stAddRewardMatchPoint.iValue1 = CheatCommandBase.SmartConvert <int>(InArguments[1]);
     CheatCmdRef.stAddRewardMatchPoint.iValue2 = CheatCommandBase.SmartConvert <int>(InArguments[2]);
     return(CheatCommandBase.Done);
 }
Esempio n. 9
0
 protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
 {
     CheatCmdRef.stRecruitmentRelation = new CSDT_CHEAT_RECRUITMENTRELATION();
     CheatCmdRef.stRecruitmentRelation.stUin.ullUid         = CheatCommandBase.SmartConvert <ulong>(InArguments[0]);
     CheatCmdRef.stRecruitmentRelation.stUin.dwLogicWorldId = CheatCommandBase.SmartConvert <uint>(InArguments[1]);
     CheatCmdRef.stRecruitmentRelation.bRecruitmentType     = CheatCommandBase.SmartConvert <byte>(InArguments[2]);
     return(CheatCommandBase.Done);
 }
Esempio n. 10
0
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        int num = CheatCommandBase.SmartConvert <int>(InArguments[0]);

        CheatCmdRef.stSetSkillLvlMax          = new CSDT_CHEAT_SET_SKILLLVL_MAX();
        CheatCmdRef.stSetSkillLvlMax.dwHeroID = (uint)num;
        return(CheatCommandBase.Done);
    }
Esempio n. 11
0
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        uint dwAchieveID = CheatCommandBase.SmartConvert <uint>(InArguments[0]);

        CheatCmdRef.stResetAchieve             = new CSDT_CHEAT_RESET_ACHIEVE();
        CheatCmdRef.stResetAchieve.dwAchieveID = dwAchieveID;
        return(CheatCommandBase.Done);
    }
 protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
 {
     CheatCmdRef.stIntimacyRelation = new CSDT_CHEAT_INTIMACYRELATION();
     CheatCmdRef.stIntimacyRelation.stUin.ullUid         = CheatCommandBase.SmartConvert <ulong>(InArguments[0]);
     CheatCmdRef.stIntimacyRelation.stUin.dwLogicWorldId = CheatCommandBase.SmartConvert <uint>(InArguments[1]);
     CheatCmdRef.stIntimacyRelation.bIntimacyState       = CheatCommandBase.SmartConvert <byte>(InArguments[2]);
     CheatCmdRef.stIntimacyRelation.dwTerminateTime      = CheatCommandBase.SmartConvert <uint>(InArguments[3]);
     return(CheatCommandBase.Done);
 }
Esempio n. 13
0
 public virtual bool CheckArguments(string[] InArguments, out string OutMessage)
 {
     if (this.argumentsTypes != null && this.argumentsTypes.Length > 0)
     {
         for (int i = 0; i < this.argumentsTypes.Length; i++)
         {
             ArgumentDescriptionAttribute argumentDescriptionAttribute = this.argumentsTypes[i];
             if (InArguments == null || i >= InArguments.Length)
             {
                 if (!argumentDescriptionAttribute.isOptional)
                 {
                     OutMessage = string.Format("无法执行命令,因为缺少参数<{0}>, 类型为:<{1}>", argumentDescriptionAttribute.name, argumentDescriptionAttribute.argumentType.get_Name());
                     return(false);
                 }
                 DependencyDescription[] depends = argumentDescriptionAttribute.depends;
                 if (depends != null && !this.CheckDependencies(argumentDescriptionAttribute, depends, InArguments, out OutMessage))
                 {
                     return(false);
                 }
             }
             else if (!argumentDescriptionAttribute.isOptional)
             {
                 string text;
                 if (!CheatCommandBase.TypeCastCheck(InArguments[i], this.argumentsTypes[i], out text))
                 {
                     OutMessage = string.Format("无法执行命令,因为参数[{2}]=\"{0}\"无法转换到{1}, 错误信息:{3}", new object[]
                     {
                         InArguments[i],
                         this.argumentsTypes[i].argumentType.get_Name(),
                         this.GetArgumentNameAt(i),
                         text
                     });
                     return(false);
                 }
             }
             else
             {
                 DependencyDescription[] depends2 = argumentDescriptionAttribute.depends;
                 string text2;
                 if (depends2 != null && !this.CheckDependencies(argumentDescriptionAttribute, depends2, InArguments, out OutMessage) && !CheatCommandBase.TypeCastCheck(InArguments[i], this.argumentsTypes[i], out text2))
                 {
                     OutMessage = string.Format("无法执行命令,因为参数[{2}]=\"{0}\"无法转换到{1}, 错误信息:{3}", new object[]
                     {
                         InArguments[i],
                         this.argumentsTypes[i].argumentType.get_Name(),
                         this.GetArgumentNameAt(i),
                         text2
                     });
                     return(false);
                 }
             }
         }
     }
     OutMessage = string.Empty;
     return(true);
 }
    // Invokes the correct command based on what's in the console
    private void HandleInput()
    {
        if (m_previousEntries.Count <= 0 || m_previousEntries[m_previousEntries.Count - 1] != m_input)
        {
            m_previousEntries.Add(m_input);
        }
        string[] properties = m_input.Split(' ');

        for (int i = 0; i < m_commandList.Count; i++)
        {
            CheatCommandBase commandBase = m_commandList[i] as CheatCommandBase;

            if (properties[0] == commandBase.m_commandId)
            {
                CheatCommand           command            = (m_commandList[i] as CheatCommand);
                CheatCommand <int>     intCommand         = (m_commandList[i] as CheatCommand <int>);
                CheatCommand <float>   floatCommand       = (m_commandList[i] as CheatCommand <float>);
                CheatCommand <string>  stringCommand      = (m_commandList[i] as CheatCommand <string>);
                CheatCommand <Vector3> vectorThreeCommand = (m_commandList[i] as CheatCommand <Vector3>);

                if (command != null)
                {
                    command.Invoke();
                }
                else if (intCommand != null)
                {
                    int parameter;
                    if (int.TryParse(properties[1], out parameter))
                    {
                        intCommand.Invoke(parameter);
                    }
                }
                else if (floatCommand != null)
                {
                    float parameter;
                    if (float.TryParse(properties[1], out parameter))
                    {
                        floatCommand.Invoke(parameter);
                    }
                }
                else if (stringCommand != null)
                {
                    stringCommand.Invoke(properties[1]);
                }
                else if (vectorThreeCommand != null)
                {
                    Vector3 vec;

                    if (float.TryParse(properties[1], out vec.x) && float.TryParse(properties[2], out vec.y) && float.TryParse(properties[3], out vec.z))
                    {
                        vectorThreeCommand.Invoke(vec);
                    }
                }
            }
        }
    }
Esempio n. 15
0
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        int dwHeroID = CheatCommandBase.SmartConvert <int>(InArguments[0]);
        int dwStar   = CheatCommandBase.SmartConvert <int>(InArguments[1]);

        CheatCmdRef.stSetHeroStar          = new CSDT_CHEAT_SETHEROSTAR();
        CheatCmdRef.stSetHeroStar.dwHeroID = (uint)dwHeroID;
        CheatCmdRef.stSetHeroStar.dwStar   = (uint)dwStar;
        return(CheatCommandBase.Done);
    }
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        int dwHeroID = CheatCommandBase.SmartConvert <int>(InArguments[0]);
        int iValue   = CheatCommandBase.SmartConvert <int>(InArguments[1]);

        CheatCmdRef.set_stAddHeroProficiency(new CSDT_CHEAT_HEROVAL());
        CheatCmdRef.get_stAddHeroProficiency().dwHeroID = (uint)dwHeroID;
        CheatCmdRef.get_stAddHeroProficiency().iValue   = iValue;
        return(CheatCommandBase.Done);
    }
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        int dwHeroID = CheatCommandBase.SmartConvert <int>(InArguments[0]);
        int iValue   = CheatCommandBase.SmartConvert <int>(InArguments[1]);

        CheatCmdRef.stSetHeroLvl          = new CSDT_CHEAT_HEROVAL();
        CheatCmdRef.stSetHeroLvl.dwHeroID = (uint)dwHeroID;
        CheatCmdRef.stSetHeroLvl.iValue   = iValue;
        return(CheatCommandBase.Done);
    }
Esempio n. 18
0
 protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
 {
     CheatCmdRef.set_stSetMasterHero(new CSDT_CHEAT_SET_MASTERHERO());
     CheatCmdRef.get_stSetMasterHero().dwHeroID      = CheatCommandBase.SmartConvert <uint>(InArguments[0]);
     CheatCmdRef.get_stSetMasterHero().dwWinCnt      = CheatCommandBase.SmartConvert <uint>(InArguments[1]);
     CheatCmdRef.get_stSetMasterHero().dwGameCnt     = CheatCommandBase.SmartConvert <uint>(InArguments[2]);
     CheatCmdRef.get_stSetMasterHero().ullAcntID     = CheatCommandBase.SmartConvert <ulong>(InArguments[3]);
     CheatCmdRef.get_stSetMasterHero().iWorldLogicId = CheatCommandBase.SmartConvert <int>(InArguments[4]);
     return(CheatCommandBase.Done);
 }
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        EHonorType iHonorID  = CheatCommandBase.SmartConvert <EHonorType>(InArguments[0]);
        int        iAddValue = CheatCommandBase.SmartConvert <int>(InArguments[1]);

        CheatCmdRef.stChgHonorInfo           = new CSDT_CHEAT_CHG_HONORINFO();
        CheatCmdRef.stChgHonorInfo.iHonorID  = (int)iHonorID;
        CheatCmdRef.stChgHonorInfo.iAddValue = iAddValue;
        return(CheatCommandBase.Done);
    }
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        EComplaintType dwType = CheatCommandBase.SmartConvert <EComplaintType>(InArguments[0]);
        int            iValue = CheatCommandBase.SmartConvert <int>(InArguments[1]);

        CheatCmdRef.set_stDelCreditByType(new CSDT_CHEAT_DELCREDIT());
        CheatCmdRef.get_stDelCreditByType().dwType = (uint)dwType;
        CheatCmdRef.get_stDelCreditByType().iValue = iValue;
        return(CheatCommandBase.Done);
    }
Esempio n. 21
0
 protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
 {
     CheatCmdRef.set_stChgRewardMatchInfo(new CSDT_CHEAT_CHG_REWARDMATCH_INFO());
     CheatCmdRef.get_stChgRewardMatchInfo().dwMapId     = CheatCommandBase.SmartConvert <uint>(InArguments[0]);
     CheatCmdRef.get_stChgRewardMatchInfo().iWinCnt     = CheatCommandBase.SmartConvert <int>(InArguments[1]);
     CheatCmdRef.get_stChgRewardMatchInfo().iLossCnt    = CheatCommandBase.SmartConvert <int>(InArguments[2]);
     CheatCmdRef.get_stChgRewardMatchInfo().iMatchCnt   = CheatCommandBase.SmartConvert <int>(InArguments[3]);
     CheatCmdRef.get_stChgRewardMatchInfo().iPerfectCnt = CheatCommandBase.SmartConvert <int>(InArguments[4]);
     return(CheatCommandBase.Done);
 }
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        int num  = CheatCommandBase.SmartConvert <int>(InArguments[0]);
        int num2 = CheatCommandBase.SmartConvert <int>(InArguments[1]);

        CheatCmdRef.stAddHeroProficiency          = new CSDT_CHEAT_HEROVAL();
        CheatCmdRef.stAddHeroProficiency.dwHeroID = (uint)num;
        CheatCmdRef.stAddHeroProficiency.iValue   = num2;
        return(CheatCommandBase.Done);
    }
 protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
 {
     CheatCmdRef.stSetOffsetSec        = new CSDT_CHEAT_SET_OFFSET_SEC();
     CheatCmdRef.stSetOffsetSec.iYear  = CheatCommandBase.SmartConvert <int>(InArguments[0]);
     CheatCmdRef.stSetOffsetSec.iMonth = CheatCommandBase.SmartConvert <int>(InArguments[1]);
     CheatCmdRef.stSetOffsetSec.iDay   = CheatCommandBase.SmartConvert <int>(InArguments[2]);
     CheatCmdRef.stSetOffsetSec.iHour  = CheatCommandBase.SmartConvert <int>(InArguments[3]);
     CheatCmdRef.stSetOffsetSec.iMin   = CheatCommandBase.SmartConvert <int>(InArguments[4]);
     CheatCmdRef.stSetOffsetSec.iSec   = CheatCommandBase.SmartConvert <int>(InArguments[5]);
     return(CheatCommandBase.Done);
 }
 protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
 {
     CheatCmdRef.stChgNewNormalMMR                  = new CSDT_CHEAT_CHG_NEW_NORMALMMR();
     CheatCmdRef.stChgNewNormalMMR.bMMRType         = CheatCommandBase.SmartConvert <byte>(InArguments[0]);
     CheatCmdRef.stChgNewNormalMMR.iMMR             = CheatCommandBase.SmartConvert <int>(InArguments[1]);
     CheatCmdRef.stChgNewNormalMMR.dwWinNum         = CheatCommandBase.SmartConvert <uint>(InArguments[2]);
     CheatCmdRef.stChgNewNormalMMR.dwTotalNum       = CheatCommandBase.SmartConvert <uint>(InArguments[3]);
     CheatCmdRef.stChgNewNormalMMR.dwContinuousWin  = CheatCommandBase.SmartConvert <uint>(InArguments[4]);
     CheatCmdRef.stChgNewNormalMMR.dwContinuousLose = CheatCommandBase.SmartConvert <uint>(InArguments[5]);
     return(CheatCommandBase.Done);
 }
 protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
 {
     CheatCmdRef.stSetHeroCustomEquip               = new CSDT_CHEAT_SET_HERO_CUSTOM_EQUIP();
     CheatCmdRef.stSetHeroCustomEquip.dwHeroID      = CheatCommandBase.SmartConvert <uint>(InArguments[0]);
     CheatCmdRef.stSetHeroCustomEquip.bForceRefresh = CheatCommandBase.SmartConvert <byte>(InArguments[7]);
     for (int i = 0; i < 6; i++)
     {
         CheatCmdRef.stSetHeroCustomEquip.EquipID[i] = CheatCommandBase.SmartConvert <uint>(InArguments[i + 1]);
     }
     return(CheatCommandBase.Done);
 }
Esempio n. 26
0
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        int num  = CheatCommandBase.SmartConvert <int>(InArguments[0]);
        int num2 = CheatCommandBase.SmartConvert <int>(InArguments[1]);
        int num3 = CheatCommandBase.SmartConvert <int>(InArguments[2]);

        CheatCmdRef.stSetHeroQuality                       = new CSDT_CHEAT_SETHEROQUALITY();
        CheatCmdRef.stSetHeroQuality.dwHeroID              = (uint)num;
        CheatCmdRef.stSetHeroQuality.stQuality.wQuality    = (ushort)num2;
        CheatCmdRef.stSetHeroQuality.stQuality.wSubQuality = (ushort)num3;
        return(CheatCommandBase.Done);
    }
Esempio n. 27
0
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        string empty = string.Empty;

        if (this.CheckArguments(InArguments, out empty))
        {
            CheatCmdRef.set_stUnlockHeroPVPMask(new CSDT_CHEAT_UNLOCK_HEROPVPMASK());
            CheatCmdRef.get_stUnlockHeroPVPMask().dwHeroID = (uint)CheatCommandBase.SmartConvert <int>(InArguments[0]);
            return(CheatCommandBase.Done);
        }
        return(empty);
    }
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        ulong     num            = CheatCommandBase.SmartConvert <ulong>(InArguments[0]);
        uint      num2           = CheatCommandBase.SmartConvert <uint>(InArguments[1]);
        CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

        CheatCmdRef.stChgIntimacy = new CSDT_CHEAT_CHG_INTIMACY();
        CheatCmdRef.stChgIntimacy.stUin.ullUid         = ((num == 0uL) ? masterRoleInfo.playerUllUID : num);
        CheatCmdRef.stChgIntimacy.stUin.dwLogicWorldId = (uint)((num2 == 0u) ? masterRoleInfo.logicWorldID : ((int)num2));
        CheatCmdRef.stChgIntimacy.wIntimacyValue       = CheatCommandBase.SmartConvert <ushort>(InArguments[2]);
        return(CheatCommandBase.Done);
    }
Esempio n. 29
0
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        EPropTypeType type = CheatCommandBase.SmartConvert <EPropTypeType>(InArguments[0]);
        int           num  = CheatCommandBase.SmartConvert <int>(InArguments[1]);
        int           num2 = CheatCommandBase.SmartConvert <int>(InArguments[2]);

        CheatCmdRef.stAddItem           = new CSDT_CHEAT_ITEMINFO();
        CheatCmdRef.stAddItem.wItemType = (ushort)type;
        CheatCmdRef.stAddItem.dwItemID  = (uint)num;
        CheatCmdRef.stAddItem.wItemCnt  = (ushort)num2;
        return(CheatCommandBase.Done);
    }
    protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef)
    {
        int dwHeroID    = CheatCommandBase.SmartConvert <int>(InArguments[0]);
        int iQuality    = CheatCommandBase.SmartConvert <int>(InArguments[1]);
        int iSubQuality = CheatCommandBase.SmartConvert <int>(InArguments[2]);

        CheatCmdRef.set_stGearAdvAll(new CSDT_CHEAT_GEARADV_ALL());
        CheatCmdRef.get_stGearAdvAll().dwHeroID    = (uint)dwHeroID;
        CheatCmdRef.get_stGearAdvAll().iQuality    = iQuality;
        CheatCmdRef.get_stGearAdvAll().iSubQuality = iSubQuality;
        return(CheatCommandBase.Done);
    }