Exemple #1
0
 public static void InitDemonGoodsDataList(GameClient client)
 {
     if (null == client.ClientData.DamonGoodsDataList)
     {
         client.ClientData.DamonGoodsDataList = Global.sendToDB <List <GoodsData>, string>(204, string.Format("{0}:{1}", client.ClientData.RoleID, 5000), client.ServerId);
         if (client.ClientData.DamonGoodsDataList == null || client.ClientData.DamonGoodsDataList.Count == 0)
         {
             client.ClientData.DamonGoodsDataList = new List <GoodsData>();
             DamonMgr.AddOldDamonGoodsData(client);
         }
     }
     JingLingQiYuanManager.getInstance().RefreshProps(client, true);
 }
Exemple #2
0
 public static void RemoveDamonGoodsData(GameClient client, GoodsData goodsData)
 {
     if (null != client.ClientData.DamonGoodsDataList)
     {
         if (goodsData.Site == 5000)
         {
             lock (client.ClientData.DamonGoodsDataList)
             {
                 client.ClientData.DamonGoodsDataList.Remove(goodsData);
             }
             JingLingQiYuanManager.getInstance().RefreshProps(client, true);
         }
     }
 }
Exemple #3
0
 public static void AddDamonGoodsData(GameClient client, GoodsData goodsData, bool refreshProps = true)
 {
     if (goodsData.Site == 0 || goodsData.Site == 10000)
     {
         if (null == client.ClientData.DamonGoodsDataList)
         {
             client.ClientData.DamonGoodsDataList = new List <GoodsData>();
         }
         lock (client.ClientData.DamonGoodsDataList)
         {
             client.ClientData.DamonGoodsDataList.Add(goodsData);
         }
         JingLingQiYuanManager.getInstance().RefreshProps(client, true);
     }
 }
Exemple #4
0
        /// <summary>
        /// 初始化列表
        /// </summary>
        public static void InitDemonGoodsDataList(GameClient client)
        {
            if (null == client.ClientData.DamonGoodsDataList)
            {
                client.ClientData.DamonGoodsDataList = Global.sendToDB <List <GoodsData>, string>((int)TCPGameServerCmds.CMD_GETGOODSLISTBYSITE, string.Format("{0}:{1}", client.ClientData.RoleID, (int)SaleGoodsConsts.UsingDemonGoodsID), client.ServerId);

                //这样做能够保证gamedb的请求每次客户端登录后最多一次
                if (null == client.ClientData.DamonGoodsDataList || client.ClientData.DamonGoodsDataList.Count == 0)
                {
                    client.ClientData.DamonGoodsDataList = new List <GoodsData>();
                    DamonMgr.AddOldDamonGoodsData(client);
                }
            }

            JingLingQiYuanManager.getInstance().RefreshProps(client);
        }
Exemple #5
0
        /// <summary>
        /// 兼容老版本的宠物
        /// </summary>
        /// <param name="goodsData"></param>
        public static void AddOldDamonGoodsData(GameClient client)
        {
            if (null == client.ClientData.GoodsDataList)
            {
                return;
            }

            List <GoodsData> listDamon = new List <GoodsData>();

            // 把在装备栏也在背包中的精灵添加到精灵栏
            for (int i = 0; i < client.ClientData.GoodsDataList.Count; i++)
            {
                int nCategories = Global.GetGoodsCatetoriy(client.ClientData.GoodsDataList[i].GoodsID);
                if (nCategories >= (int)ItemCategories.ShouHuChong && nCategories <= (int)ItemCategories.ChongWu)
                {
                    if (client.ClientData.GoodsDataList[i].Using > 0 && client.ClientData.GoodsDataList[i].Site == 0)
                    {
                        int                  nBagIndex       = Global.GetIdleSlotOfDamonGoods(client);
                        string[]             dbFields        = null;
                        String               strcmd          = Global.FormatUpdateDBGoodsStr(client.ClientData.RoleID, client.ClientData.GoodsDataList[i].Id, client.ClientData.GoodsDataList[i].Using, "*", "*", "*", (int)SaleGoodsConsts.UsingDemonGoodsID, "*", "*", client.ClientData.GoodsDataList[i].GCount, "*", nBagIndex, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"); // 卓越信息 [12/13/2013 LiaoWei] 装备转生
                        TCPProcessCmdResults dbRequestResult = Global.RequestToDBServer(TCPClientPool.getInstance(), TCPOutPacketPool.getInstance(), (int)TCPGameServerCmds.CMD_DB_UPDATEGOODS_CMD, strcmd, out dbFields, client.ServerId);
                        if (dbRequestResult == TCPProcessCmdResults.RESULT_FAILED)
                        {
                            continue;
                        }

                        if (dbFields.Length <= 0 || Convert.ToInt32(dbFields[1]) < 0)
                        {
                            continue;
                        }

                        AddDamonGoodsData(client, client.ClientData.GoodsDataList[i], false);
                        client.ClientData.GoodsDataList[i].Site     = (int)SaleGoodsConsts.UsingDemonGoodsID;
                        client.ClientData.GoodsDataList[i].BagIndex = nBagIndex;
                        listDamon.Add(client.ClientData.GoodsDataList[i]);
                    }
                }
            }

            // 添加到精灵栏的精灵从背包中移除
            for (int i = 0; i < listDamon.Count; i++)
            {
                Global.RemoveGoodsData(client, listDamon[i]);
            }

            JingLingQiYuanManager.getInstance().RefreshProps(client);
        }
Exemple #6
0
        /// <summary>
        /// 删除精灵装备栏物品
        /// </summary>
        /// <param name="goodsData"></param>
        public static void RemoveDamonGoodsData(GameClient client, GoodsData goodsData)
        {
            if (null == client.ClientData.DamonGoodsDataList)
            {
                return;
            }

            if (goodsData.Site != (int)SaleGoodsConsts.UsingDemonGoodsID)
            {
                return;
            }

            lock (client.ClientData.DamonGoodsDataList)
            {
                client.ClientData.DamonGoodsDataList.Remove(goodsData);
            }

            JingLingQiYuanManager.getInstance().RefreshProps(client);
        }
Exemple #7
0
        public static void UpdateRolePetSkill(GameClient client)
        {
            List <PassiveSkillData> resultList = new List <PassiveSkillData>();

            List <GoodsData> petList = client.ClientData.DamonGoodsDataList;
            GoodsData        warPet  = client.ClientData.DamonGoodsDataList.Find(_g => _g.Using > 0);

            if (warPet != null)
            {
                List <PetSkillInfo> allSkillList = new List <PetSkillInfo>();
                List <PetSkillInfo> petSkillList = GetPetSkillInfo(warPet);
                var temp = from info in petSkillList
                           where info.PitIsOpen && info.SkillID > 0
                           select info;

                if (temp.Any())
                {
                    foreach (var t in temp)
                    {
                        SystemXmlItem systemMagic = null;
                        if (!GameManager.SystemMagicsMgr.SystemXmlItemDict.TryGetValue(t.SkillID, out systemMagic))
                        {
                            continue;
                        }

                        PassiveSkillData data = new PassiveSkillData();
                        data.skillId     = t.SkillID;
                        data.skillLevel  = t.Level;
                        data.triggerRate = (int)(systemMagic.GetDoubleValue("TriggerOdds") * 100);
                        data.triggerType = systemMagic.GetIntValue("TriggerType");
                        data.coolDown    = systemMagic.GetIntValue("CDTime");
                        data.triggerCD   = systemMagic.GetIntValue("TriggerCD");

                        resultList.Add(data);
                    }
                }
            }

            client.passiveSkillModule.UpdateSkillList(resultList);
            JingLingQiYuanManager.getInstance().RefreshProps(client);
        }
        public static void UpdateRolePetSkill(GameClient client)
        {
            List <PassiveSkillData> resultList = new List <PassiveSkillData>();
            List <GoodsData>        petList    = client.ClientData.DamonGoodsDataList;
            GoodsData warPet = client.ClientData.DamonGoodsDataList.Find((GoodsData _g) => _g.Using > 0);

            if (warPet != null)
            {
                List <PetSkillInfo>        allSkillList = new List <PetSkillInfo>();
                List <PetSkillInfo>        petSkillList = PetSkillManager.GetPetSkillInfo(warPet);
                IEnumerable <PetSkillInfo> temp         = from info in petSkillList
                                                          where info.PitIsOpen && info.SkillID > 0
                                                          select info;
                if (temp.Any <PetSkillInfo>())
                {
                    foreach (PetSkillInfo t in temp)
                    {
                        SystemXmlItem systemMagic = null;
                        if (GameManager.SystemMagicsMgr.SystemXmlItemDict.TryGetValue(t.SkillID, out systemMagic))
                        {
                            resultList.Add(new PassiveSkillData
                            {
                                skillId     = t.SkillID,
                                skillLevel  = t.Level,
                                triggerRate = (int)(systemMagic.GetDoubleValue("TriggerOdds") * 100.0),
                                triggerType = systemMagic.GetIntValue("TriggerType", -1),
                                coolDown    = systemMagic.GetIntValue("CDTime", -1),
                                triggerCD   = systemMagic.GetIntValue("TriggerCD", -1)
                            });
                        }
                    }
                }
            }
            client.passiveSkillModule.UpdateSkillList(resultList);
            JingLingQiYuanManager.getInstance().RefreshProps(client, true);
        }
Exemple #9
0
        public static void AddOldDamonGoodsData(GameClient client)
        {
            if (null != client.ClientData.GoodsDataList)
            {
                List <GoodsData> listDamon = new List <GoodsData>();
                int i = 0;
                while (i < client.ClientData.GoodsDataList.Count)
                {
                    int nCategories = Global.GetGoodsCatetoriy(client.ClientData.GoodsDataList[i].GoodsID);
                    if (nCategories >= 9 && nCategories <= 10)
                    {
                        if (client.ClientData.GoodsDataList[i].Using > 0 && client.ClientData.GoodsDataList[i].Site == 0)
                        {
                            int      nBagIndex = Global.GetIdleSlotOfDamonGoods(client);
                            string[] dbFields  = null;
                            string   strcmd    = Global.FormatUpdateDBGoodsStr(new object[]
                            {
                                client.ClientData.RoleID,
                                client.ClientData.GoodsDataList[i].Id,
                                client.ClientData.GoodsDataList[i].Using,
                                "*",
                                "*",
                                "*",
                                5000,
                                "*",
                                "*",
                                client.ClientData.GoodsDataList[i].GCount,
                                "*",
                                nBagIndex,
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*"
                            });
                            TCPProcessCmdResults dbRequestResult = Global.RequestToDBServer(TCPClientPool.getInstance(), TCPOutPacketPool.getInstance(), 10006, strcmd, out dbFields, client.ServerId);
                            if (dbRequestResult != TCPProcessCmdResults.RESULT_FAILED)
                            {
                                if (dbFields.Length > 0 && Convert.ToInt32(dbFields[1]) >= 0)
                                {
                                    DamonMgr.AddDamonGoodsData(client, client.ClientData.GoodsDataList[i], false);
                                    client.ClientData.GoodsDataList[i].Site     = 5000;
                                    client.ClientData.GoodsDataList[i].BagIndex = nBagIndex;
                                    listDamon.Add(client.ClientData.GoodsDataList[i]);
                                }
                            }
                        }
                    }
IL_2AC:
                    i++;
                    continue;
                    goto IL_2AC;
                }
                for (i = 0; i < listDamon.Count; i++)
                {
                    Global.RemoveGoodsData(client, listDamon[i]);
                }
                JingLingQiYuanManager.getInstance().RefreshProps(client, true);
            }
        }
Exemple #10
0
        /// <summary>
        /// 精灵升级处理
        /// </summary>
        public static TCPProcessCmdResults UpgradeDamonProcess(TCPOutPacketPool pool, GameClient client, GoodsData goodsData, out TCPOutPacket tcpOutPacket, int nID, TCPClientPool tcpClientPool, TCPManager tcpMgr)
        {
            tcpOutPacket = null;
            String strcmd = "";

            SystemXmlItem xmlItem = null;

            if (!GameManager.SystemGoods.SystemXmlItemDict.TryGetValue(goodsData.GoodsID, out xmlItem) || null == xmlItem)
            {
                strcmd       = string.Format("{0}:{1}:{2}:{3}:{4}", -13, client.ClientData.RoleID, goodsData.Id, 0, 0);
                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                return(TCPProcessCmdResults.RESULT_DATA);
            }

            int MaxUpgradeLevel = xmlItem.GetIntValue("SuitID") * 10 + 9;

            // 检测强化等级
            if (goodsData.Forge_level >= MaxUpgradeLevel)
            {
                // 强化等级已到最高级
                strcmd       = string.Format("{0}:{1}:{2}:{3}:{4}", -4, client.ClientData.RoleID, goodsData.Id, goodsData.Forge_level, goodsData.Binding);
                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                return(TCPProcessCmdResults.RESULT_DATA);
            }

            // 必须在精灵栏才能强化
            if (goodsData.Site != (int)SaleGoodsConsts.UsingDemonGoodsID)
            {
                strcmd       = string.Format("{0}:{1}:{2}:{3}:{4}", -9, client.ClientData.RoleID, goodsData.Id, goodsData.Forge_level, goodsData.Binding);
                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                return(TCPProcessCmdResults.RESULT_DATA);
            }

            SystemXmlItem xmlItems = null;

            GameManager.SystemDamonUpgrade.SystemXmlItemDict.TryGetValue(goodsData.Forge_level + 2, out xmlItems);
            if (null == xmlItems)
            {
                // 配置错误
                strcmd       = string.Format("{0}:{1}:{2}:{3}:{4}", -6, client.ClientData.RoleID, goodsData.Id, 0, 0);
                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                return(TCPProcessCmdResults.RESULT_DATA);
            }

            int  nReqMoHe  = xmlItems.GetIntValue("NeedEXP");
            long lHaveMoHe = GameManager.ClientMgr.GetMUMoHeValue(client);

            if (lHaveMoHe < nReqMoHe)
            {
                // 魔核不足
                strcmd       = string.Format("{0}:{1}:{2}:{3}:{4}", -11, client.ClientData.RoleID, goodsData.Id, goodsData.Forge_level, goodsData.Binding);
                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                return(TCPProcessCmdResults.RESULT_DATA);
            }

            GameManager.ClientMgr.ModifyMUMoHeValue(client, -nReqMoHe, "精灵升级", true, true);

            // 找到精灵基本的扩展属性
            //EquipPropItem orgItem = GameManager.EquipPropsMgr.FindEquipPropItem(goodsData.GoodsID);

            //// 找到精灵现有的属性
            //EquipPropItem newProp = null;
            //GameManager.EquipPropsMgr.ParseEquipProps(goodsData.Props, out newProp);

            //// 为精灵升级相应的属性
            //bool bHaveAddVal = false;
            //for (int i = 0; i < orgItem.ExtProps.Length; i++)
            //{
            //    if (orgItem.ExtProps[i] > 0)
            //    {
            //        double dAddVal = 0.0;
            //        UpgradeAttrDict.TryGetValue(i + 1, out dAddVal);
            //        if (dAddVal > 0.0)
            //        {
            //            if (newProp == null)
            //            {
            //                newProp = new EquipPropItem();
            //            }

            //            newProp.ExtProps[i] = orgItem.ExtProps[i] * (1 + (goodsData.Forge_level - 1) * dAddVal);
            //            bHaveAddVal = true;
            //        }
            //    }
            //}

            //String strProps = "";
            //if (bHaveAddVal)
            //{
            //    strProps = GameManager.EquipPropsMgr.EquipPropsToString(newProp.ExtProps);
            //}
            //else
            //{
            //    strProps = goodsData.Props;
            //}

            // 将修改后的属性保存到数据库
            int nBingProp = 1;

            string[]             dbFields        = null;
            string               strDbCmd        = Global.FormatUpdateDBGoodsStr(client.ClientData.RoleID, goodsData.Id, "*", goodsData.Forge_level + 1, "*", "*", "*", "*", "*" /*strProps*/, "*", "*", "*", "*", "*", "*", nBingProp, "*", "*", "*", "*", "*", "*", "*"); // 卓越一击 [12/13/2013 LiaoWei] 装备转生
            TCPProcessCmdResults dbRequestResult = Global.RequestToDBServer(tcpClientPool, pool, (int)TCPGameServerCmds.CMD_DB_UPDATEGOODS_CMD, strDbCmd, out dbFields, client.ServerId);

            if (dbRequestResult == TCPProcessCmdResults.RESULT_FAILED)
            {
                strcmd       = string.Format("{0}:{1}:{2}:{3}:{4}", -10, client.ClientData.RoleID, goodsData.Id, 0, 0);
                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                return(TCPProcessCmdResults.RESULT_DATA);
            }

            if (dbFields.Length <= 0 || Convert.ToInt32(dbFields[1]) < 0)
            {
                strcmd       = string.Format("{0}:{1}:{2}:{3}:{4}", -10, client.ClientData.RoleID, goodsData.Id, 0, 0);
                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                return(TCPProcessCmdResults.RESULT_DATA);
            }

            int  oldUsing = goodsData.Using;
            bool nRet     = true;

            //如果是佩戴在身上,则先脱下来
            if (goodsData.Using > 0)
            {
                //先强迫修改为不使用装备,记住后边改回去
                goodsData.Using = 0;

                //重新计算装备的合成属性
                Global.RefreshEquipProp(client, goodsData); //此处的变化不通知客户端
            }

            // 级别加1
            goodsData.Forge_level += 1;
            goodsData.Binding      = nBingProp;

            JingLingQiYuanManager.getInstance().RefreshProps(client);

            if (oldUsing != goodsData.Using)
            {
                goodsData.Using = oldUsing;

                //重新计算装备的合成属性
                if (Global.RefreshEquipProp(client, goodsData))
                {
                    //通知客户端属性变化
                    GameManager.ClientMgr.NotifyUpdateEquipProps(tcpMgr.MySocketListener, pool, client);

                    // 总生命值和魔法值变化通知(同一个地图才需要通知)
                    GameManager.ClientMgr.NotifyOthersLifeChanged(tcpMgr.MySocketListener, pool, client);
                }
            }

            //写入角色物品的得失行为日志(扩展)
            Global.ModRoleGoodsEvent(client, goodsData, 0, "强化");
            EventLogManager.AddGoodsEvent(client, OpTypes.Forge, OpTags.None, goodsData.GoodsID, goodsData.Id, 0, goodsData.GCount, "强化");

            strcmd       = string.Format("{0}:{1}:{2}:{3}:{4}", 1, client.ClientData.RoleID, goodsData.Id, goodsData.Forge_level, nBingProp);
            tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
            return(TCPProcessCmdResults.RESULT_DATA);
        }
        public static TCPProcessCmdResults UpgradeDamonProcess(TCPOutPacketPool pool, GameClient client, GoodsData goodsData, out TCPOutPacket tcpOutPacket, int nID, TCPClientPool tcpClientPool, TCPManager tcpMgr)
        {
            tcpOutPacket = null;
            SystemXmlItem        xmlItem = null;
            TCPProcessCmdResults result;

            if (!GameManager.SystemGoods.SystemXmlItemDict.TryGetValue(goodsData.GoodsID, out xmlItem) || null == xmlItem)
            {
                string strcmd = string.Format("{0}:{1}:{2}:{3}:{4}", new object[]
                {
                    -13,
                    client.ClientData.RoleID,
                    goodsData.Id,
                    0,
                    0
                });
                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                result       = TCPProcessCmdResults.RESULT_DATA;
            }
            else
            {
                int MaxUpgradeLevel = xmlItem.GetIntValue("SuitID", -1) * 10 + 9;
                if (goodsData.Forge_level >= MaxUpgradeLevel)
                {
                    string strcmd = string.Format("{0}:{1}:{2}:{3}:{4}", new object[]
                    {
                        -4,
                        client.ClientData.RoleID,
                        goodsData.Id,
                        goodsData.Forge_level,
                        goodsData.Binding
                    });
                    tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                    result       = TCPProcessCmdResults.RESULT_DATA;
                }
                else if (goodsData.Site != 5000)
                {
                    string strcmd = string.Format("{0}:{1}:{2}:{3}:{4}", new object[]
                    {
                        -9,
                        client.ClientData.RoleID,
                        goodsData.Id,
                        goodsData.Forge_level,
                        goodsData.Binding
                    });
                    tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                    result       = TCPProcessCmdResults.RESULT_DATA;
                }
                else
                {
                    SystemXmlItem xmlItems = null;
                    GameManager.SystemDamonUpgrade.SystemXmlItemDict.TryGetValue(goodsData.Forge_level + 2, out xmlItems);
                    if (null == xmlItems)
                    {
                        string strcmd = string.Format("{0}:{1}:{2}:{3}:{4}", new object[]
                        {
                            -6,
                            client.ClientData.RoleID,
                            goodsData.Id,
                            0,
                            0
                        });
                        tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                        result       = TCPProcessCmdResults.RESULT_DATA;
                    }
                    else
                    {
                        int  nReqMoHe  = xmlItems.GetIntValue("NeedEXP", -1);
                        long lHaveMoHe = (long)GameManager.ClientMgr.GetMUMoHeValue(client);
                        if (lHaveMoHe < (long)nReqMoHe)
                        {
                            string strcmd = string.Format("{0}:{1}:{2}:{3}:{4}", new object[]
                            {
                                -11,
                                client.ClientData.RoleID,
                                goodsData.Id,
                                goodsData.Forge_level,
                                goodsData.Binding
                            });
                            tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                            result       = TCPProcessCmdResults.RESULT_DATA;
                        }
                        else
                        {
                            GameManager.ClientMgr.ModifyMUMoHeValue(client, -nReqMoHe, "精灵升级", true, true, false);
                            int      nBingProp = 1;
                            string[] dbFields  = null;
                            string   strDbCmd  = Global.FormatUpdateDBGoodsStr(new object[]
                            {
                                client.ClientData.RoleID,
                                goodsData.Id,
                                "*",
                                goodsData.Forge_level + 1,
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                nBingProp,
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*",
                                "*"
                            });
                            TCPProcessCmdResults dbRequestResult = Global.RequestToDBServer(tcpClientPool, pool, 10006, strDbCmd, out dbFields, client.ServerId);
                            if (dbRequestResult == TCPProcessCmdResults.RESULT_FAILED)
                            {
                                string strcmd = string.Format("{0}:{1}:{2}:{3}:{4}", new object[]
                                {
                                    -10,
                                    client.ClientData.RoleID,
                                    goodsData.Id,
                                    0,
                                    0
                                });
                                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                                result       = TCPProcessCmdResults.RESULT_DATA;
                            }
                            else if (dbFields.Length <= 0 || Convert.ToInt32(dbFields[1]) < 0)
                            {
                                string strcmd = string.Format("{0}:{1}:{2}:{3}:{4}", new object[]
                                {
                                    -10,
                                    client.ClientData.RoleID,
                                    goodsData.Id,
                                    0,
                                    0
                                });
                                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                                result       = TCPProcessCmdResults.RESULT_DATA;
                            }
                            else
                            {
                                int oldUsing = goodsData.Using;
                                if (goodsData.Using > 0)
                                {
                                    goodsData.Using = 0;
                                    Global.RefreshEquipProp(client, goodsData);
                                }
                                goodsData.Forge_level++;
                                goodsData.Binding = nBingProp;
                                JingLingQiYuanManager.getInstance().RefreshProps(client, true);
                                if (oldUsing != goodsData.Using)
                                {
                                    goodsData.Using = oldUsing;
                                    if (Global.RefreshEquipProp(client, goodsData))
                                    {
                                        GameManager.ClientMgr.NotifyUpdateEquipProps(tcpMgr.MySocketListener, pool, client);
                                        GameManager.ClientMgr.NotifyOthersLifeChanged(tcpMgr.MySocketListener, pool, client, true, false, 7);
                                    }
                                }
                                Global.ModRoleGoodsEvent(client, goodsData, 0, "强化", false);
                                EventLogManager.AddGoodsEvent(client, OpTypes.Forge, OpTags.None, goodsData.GoodsID, (long)goodsData.Id, 0, goodsData.GCount, "强化");
                                string strcmd = string.Format("{0}:{1}:{2}:{3}:{4}", new object[]
                                {
                                    1,
                                    client.ClientData.RoleID,
                                    goodsData.Id,
                                    goodsData.Forge_level,
                                    nBingProp
                                });
                                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                                result       = TCPProcessCmdResults.RESULT_DATA;
                            }
                        }
                    }
                }
            }
            return(result);
        }