public static ZhuLingZhuHunError ReqZhuLing(GameClient client) { int oldLevel = client.ClientData.MyWingData.ZhuLingNum; int oldYinLiang = client.ClientData.YinLiang; int oldMoney = client.ClientData.Money1; ZhuLingZhuHunError result; if (!GlobalNew.IsGongNengOpened(client, GongNengIDs.WingZhuLing, false)) { result = ZhuLingZhuHunError.ZhuLingNotOpen; } else { ZhuLingZhuHunLimit i = ZhuLingZhuHunManager.GetLimit(client.ClientData.MyWingData.WingID); if (i == null) { result = ZhuLingZhuHunError.ErrorConfig; } else if (client.ClientData.MyWingData.ZhuLingNum >= i.ZhuLingLimit) { result = ZhuLingZhuHunError.ZhuLingFull; } else if (Global.GetTotalGoodsCountByID(client, ZhuLingZhuHunManager.ZhuLingCostGoodsID) < ZhuLingZhuHunManager.ZhuLingCostGoodsNum) { result = ZhuLingZhuHunError.ZhuLingMaterialNotEnough; } else if (Global.GetTotalBindTongQianAndTongQianVal(client) < ZhuLingZhuHunManager.ZhuLingCostJinBi) { result = ZhuLingZhuHunError.ZhuLingJinBiNotEnough; } else if (!Global.SubBindTongQianAndTongQian(client, ZhuLingZhuHunManager.ZhuLingCostJinBi, "注灵消耗金币")) { result = ZhuLingZhuHunError.DBSERVERERROR; } else { string strCostList = EventLogManager.NewResPropString(ResLogType.SubJinbi, new object[] { -ZhuLingZhuHunManager.ZhuLingCostJinBi, oldYinLiang, client.ClientData.YinLiang, oldMoney, client.ClientData.Money1 }); bool bUsedBinding = true; bool bUsedTimeLimited = false; if (!GameManager.ClientMgr.NotifyUseGoods(Global._TCPManager.MySocketListener, Global._TCPManager.tcpClientPool, Global._TCPManager.TcpOutPacketPool, client, ZhuLingZhuHunManager.ZhuLingCostGoodsID, ZhuLingZhuHunManager.ZhuLingCostGoodsNum, false, out bUsedBinding, out bUsedTimeLimited, false)) { result = ZhuLingZhuHunError.DBSERVERERROR; } else { GoodsData goodsDataCost = new GoodsData { GoodsID = ZhuLingZhuHunManager.ZhuLingCostGoodsID, GCount = ZhuLingZhuHunManager.ZhuLingCostGoodsNum }; strCostList += EventLogManager.AddGoodsDataPropString(goodsDataCost); int iRet = MUWingsManager.WingUpDBCommand(client, client.ClientData.MyWingData.DbID, client.ClientData.MyWingData.WingID, client.ClientData.MyWingData.JinJieFailedNum, client.ClientData.MyWingData.ForgeLevel, client.ClientData.MyWingData.StarExp, client.ClientData.MyWingData.ZhuLingNum + 1, client.ClientData.MyWingData.ZhuHunNum); if (iRet < 0) { result = ZhuLingZhuHunError.DBSERVERERROR; } else { client.ClientData.MyWingData.ZhuLingNum++; ZhuLingZhuHunManager.UpdateZhuLingZhuHunProps(client); GameManager.ClientMgr.NotifyUpdateEquipProps(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client); GameManager.ClientMgr.NotifyOthersLifeChanged(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client, true, false, 7); EventLogManager.AddWingZhuLingEvent(client, oldLevel, client.ClientData.MyWingData.ZhuLingNum, strCostList); if (client._IconStateMgr.CheckReborn(client)) { client._IconStateMgr.SendIconStateToClient(client); } result = ZhuLingZhuHunError.Success; } } } } return(result); }