Beispiel #1
0
 public void OnKillMonster(GameClient client, Monster monster)
 {
     if (monster.ManagerType == SceneUIClasses.KuaFuBoss)
     {
         KuaFuBossScene scene;
         lock (this.RuntimeData.Mutex)
         {
             if (this.SceneDict.TryGetValue(client.ClientData.FuBenSeqID, out scene))
             {
                 if (scene.m_eStatus != GameSceneStatuses.STATUS_BEGIN)
                 {
                     return;
                 }
                 scene.GameStatisticalData.MonsterDieTimeList.Add(monster.MonsterInfo.ExtensionID);
                 scene.GameStatisticalData.MonsterDieTimeList.Add(scene.ElapsedSeconds);
                 if (monster.MonsterType == 401)
                 {
                     scene.SceneStateData.BossNum = Math.Max(0, scene.SceneStateData.BossNum - 1);
                     if (null != client)
                     {
                         string msgText = string.Format(GLang.GetLang(401, new object[0]), Global.FormatRoleName4(client), monster.MonsterInfo.VSName);
                         GameManager.ClientMgr.BroadSpecialCopyMapMsg(scene.CopyMap, msgText, ShowGameInfoTypes.OnlySysHint, GameInfoTypeIndexes.Hot, 0);
                     }
                 }
                 else
                 {
                     scene.SceneStateData.MonsterNum = Math.Max(0, scene.SceneStateData.MonsterNum - 1);
                 }
             }
         }
         this.NotifySceneData(scene);
     }
 }
        private void OpenQingGongYan()
        {
            this.QingGongYanOpenFlag = true;
            QingGongYanInfo InfoData = this.GetInfoData();

            if (null != InfoData)
            {
                GameMap gameMap = GameManager.MapMgr.DictMaps[InfoData.MapCode];
                NPC     npc     = NPCGeneralManager.GetNPCFromConfig(InfoData.MapCode, InfoData.NpcID, InfoData.X, InfoData.Y, InfoData.Direction);
                if (null != npc)
                {
                    if (NPCGeneralManager.AddNpcToMap(npc))
                    {
                        GameManager.ClientMgr.BroadcastServerCmd(733, "1", false);
                        this.QingGongYanNpc = npc;
                        string guildName    = GameManager.GameConfigMgr.GetGameConfigItemStr("qinggongyan_guildname", "");
                        string broadCastMsg = StringUtil.substitute(GLang.GetLang(524, new object[0]), new object[]
                        {
                            guildName
                        });
                        Global.BroadcastRoleActionMsg(null, RoleActionsMsgTypes.Bulletin, broadCastMsg, true, GameInfoTypeIndexes.Hot, ShowGameInfoTypes.SysHintAndChatBox, 0, 0, 100, 100);
                    }
                    else
                    {
                        LogManager.WriteLog(LogTypes.Error, string.Format("OpenQingGongYan, AddNpcToMap Faild !InfoData.MapCode={0}, InfoData.NpcID={1}", InfoData.MapCode, InfoData.NpcID), null, true);
                    }
                }
            }
        }
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK = false;

            if (client != null && client.ClientData.MyWingData != null && !string.IsNullOrEmpty(arg))
            {
                List <int> iArgList = Global.StringToIntList(arg, '|');
                if (iArgList.Count == 2)
                {
                    if (client.ClientData.MyWingData.WingID > iArgList[0] || (client.ClientData.MyWingData.WingID == iArgList[0] && client.ClientData.MyWingData.ForgeLevel >= iArgList[1]))
                    {
                        bOK = true;
                    }
                }
                else if (iArgList.Count == 1)
                {
                    if (client.ClientData.MyWingData.WingID >= iArgList[0])
                    {
                        bOK = true;
                    }
                }
            }
            if (!bOK)
            {
                failedMsg = string.Format(GLang.GetLang(140, new object[0]), string.Format(GLang.GetLang(675, new object[0]), arg));
            }
            return(bOK);
        }
Beispiel #4
0
 public void OnProcessMonsterDead(GameClient client, Monster monster)
 {
     if (ThemeBoss.getInstance().IsThemeBoss(monster))
     {
         ThemeBossScene scene = null;
         if (this.SceneDict.TryGetValue(monster.CurrentMapCode, out scene))
         {
             int ownerRoleID = monster.GetAttackerFromList();
             if (ownerRoleID >= 0 && ownerRoleID != client.ClientData.RoleID)
             {
                 GameClient findClient = GameManager.ClientMgr.FindClient(ownerRoleID);
                 if (null != findClient)
                 {
                     client = findClient;
                 }
             }
             string broadMsg = string.Format(GLang.GetLang(4016, new object[0]), Global.FormatRoleNameWithZoneId2(client));
             Global.BroadcastRoleActionMsg(null, RoleActionsMsgTypes.HintMsg, broadMsg, true, GameInfoTypeIndexes.Hot, ShowGameInfoTypes.HintAndBox, 0, 0, 100, 100);
             scene.AliveBossNum--;
             if (scene.AliveBossNum <= 0)
             {
                 scene.State = BattleStates.EndFight;
             }
         }
     }
 }
Beispiel #5
0
        private static bool GetWarTimeStringAndBHName(int warDay, int bangHuiID, out string dayTime, out string bangHuiName)
        {
            dayTime     = GLang.GetLang(43, new object[0]);
            bangHuiName = GLang.GetLang(568, new object[0]);
            BangHuiMiniData bhData = Global.GetBangHuiMiniData(bangHuiID, 0);

            if (null != bhData)
            {
                bangHuiName = bhData.BHName;
            }
            int      day  = TimeUtil.NowDateTime().DayOfYear;
            DateTime dt   = TimeUtil.NowDateTime();
            int      span = warDay - day;

            if (span >= 0)
            {
                dt = dt.AddDays((double)span);
            }
            else
            {
                int yearNext = dt.Year + 1;
                dt = DateTime.Parse(string.Format("{0}-01-01", yearNext)).AddDays((double)(warDay - 1));
            }
            if (WangChengManager.WangChengZhanFightingDayTimes != null && WangChengManager.WangChengZhanFightingDayTimes.Length > 0)
            {
                string dayTime2 = dt.ToString("yyyy-MM-dd " + string.Format("{0:00}:{1:00}", WangChengManager.WangChengZhanFightingDayTimes[0].FromHour, WangChengManager.WangChengZhanFightingDayTimes[0].FromMinute));
                string dayTime3 = string.Format("{0:00}:{1:00}", WangChengManager.WangChengZhanFightingDayTimes[0].EndHour, WangChengManager.WangChengZhanFightingDayTimes[0].EndMinute);
                dayTime = string.Format(GLang.GetLang(569, new object[0]), dayTime2, dayTime3);
            }
            else
            {
                dayTime = dt.ToString("yyyy-MM-dd");
            }
            return(true);
        }
Beispiel #6
0
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK = false;

            if (client != null && !string.IsNullOrEmpty(arg))
            {
                if ("1" == arg && client.ClientData.MyMarriageData != null && client.ClientData.MyMarriageData.byMarrytype != -1)
                {
                    bOK = true;
                }
                else if ("0" == arg && (client.ClientData.MyMarriageData == null || client.ClientData.MyMarriageData.byMarrytype == -1))
                {
                    bOK = true;
                }
            }
            if (!bOK)
            {
                if ("1" == arg)
                {
                    failedMsg = GLang.GetLang(683, new object[0]);
                }
                else
                {
                    failedMsg = GLang.GetLang(684, new object[0]);
                }
            }
            return(bOK);
        }
Beispiel #7
0
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK = false;

            if (client != null && !string.IsNullOrEmpty(arg))
            {
                string[] fields = arg.Split(new char[]
                {
                    '|'
                });
                if (fields.Length == 2)
                {
                    int maxChangeLife = -1;
                    int maxLvl        = -1;
                    if (int.TryParse(fields[0], out maxChangeLife) && int.TryParse(fields[1], out maxLvl))
                    {
                        if (client.ClientData.ChangeLifeCount < maxChangeLife || (client.ClientData.ChangeLifeCount == maxChangeLife && client.ClientData.Level <= maxLvl))
                        {
                            bOK = true;
                        }
                    }
                }
            }
            if (!bOK)
            {
                failedMsg = GLang.GetLang(139, new object[0]);
            }
            return(bOK);
        }
Beispiel #8
0
 public void OnClientPass(GameClient client, int layer)
 {
     if (layer >= 30 && layer % 10 == 0)
     {
         string broadCastMsg = StringUtil.substitute(GLang.GetLang(572, new object[0]), new object[]
         {
             Global.FormatRoleName(client, client.ClientData.RoleName),
             layer
         });
         Global.BroadcastRoleActionMsg(client, RoleActionsMsgTypes.HintMsg, broadCastMsg, true, GameInfoTypeIndexes.Hot, ShowGameInfoTypes.OnlySysHint, 0, 0, 100, 100);
     }
     if (layer >= 30)
     {
         bool bTop = false;
         lock (this.TopLayerMutex)
         {
             if (this.iTopLayer < layer)
             {
                 bTop           = true;
                 this.iTopLayer = layer;
             }
         }
         if (bTop)
         {
             string broadCastMsg = StringUtil.substitute(GLang.GetLang(573, new object[0]), new object[]
             {
                 Global.FormatRoleName(client, client.ClientData.RoleName)
             });
             Global.BroadcastRoleActionMsg(client, RoleActionsMsgTypes.HintMsg, broadCastMsg, true, GameInfoTypeIndexes.Hot, ShowGameInfoTypes.OnlySysHint, 0, 0, 100, 100);
         }
     }
 }
 public void GetHolyItemPart(GameClient client, sbyte sShengWu_slot, sbyte sBuJian_slot, int nNum)
 {
     if (!GameFuncControlManager.IsGameFuncDisabled(GameFuncType.System1Dot7))
     {
         Dictionary <sbyte, HolyItemData> holyitemdata = client.ClientData.MyHolyItemDataDic;
         HolyItemData     tmpdata     = null;
         HolyItemPartData tmppartdata = null;
         if (holyitemdata.TryGetValue(sShengWu_slot, out tmpdata))
         {
             if (tmpdata.m_PartArray.TryGetValue(sBuJian_slot, out tmppartdata))
             {
                 tmppartdata.m_nSlice += nNum;
                 this.UpdateHolyItemData2DB(client, sShengWu_slot, sBuJian_slot, tmppartdata);
                 this.HolyItemSendToClient(client, sShengWu_slot, sBuJian_slot);
                 string strHint = StringUtil.substitute(GLang.GetLang(384, new object[0]), new object[]
                 {
                     Global.GetLang(HolyItemManager.SliceNameSet[(int)sShengWu_slot, (int)sBuJian_slot]),
                     nNum
                 });
                 GameManager.ClientMgr.NotifyImportantMsg(client, strHint, GameInfoTypeIndexes.Normal, ShowGameInfoTypes.PiaoFuZi, 0);
                 GameManager.logDBCmdMgr.AddDBLogInfo(-1, HolyItemManager.SliceNameSet[(int)sShengWu_slot, (int)sBuJian_slot], "圣物碎片", Global.GetMapName(client.ClientData.MapCode), client.ClientData.RoleName, "增加", nNum, client.ClientData.ZoneID, client.strUserID, tmppartdata.m_nSlice, client.ServerId, null);
             }
         }
     }
 }
Beispiel #10
0
        public static string GetNextCityBattleTime()
        {
            string unKown = GLang.GetLang(43, new object[0]);
            int    day    = TimeUtil.NowDateTime().DayOfYear;
            BangHuiLingDiItemData lingDiItem = JunQiManager.GetItemByLingDiID(6);
            string result;

            if (null == lingDiItem)
            {
                result = unKown;
            }
            else
            {
                Dictionary <int, int> warRequestMap = WangChengManager.GetWarRequstMap(lingDiItem.WarRequest);
                List <DateTime>       lsDays        = new List <DateTime>();
                for (int i = 0; i < warRequestMap.Count; i++)
                {
                    DateTime dt   = TimeUtil.NowDateTime();
                    int      span = warRequestMap.Values.ElementAt(i) - day;
                    if (span >= 0)
                    {
                        dt = dt.AddDays((double)span);
                    }
                    else
                    {
                        int yearNext = dt.Year + 1;
                        dt = DateTime.Parse(string.Format("{0}-01-01", yearNext)).AddDays((double)(warRequestMap.Values.ElementAt(i) - 1));
                    }
                    lsDays.Add(dt);
                }
                lsDays.Sort(delegate(DateTime l, DateTime r)
                {
                    int result2;
                    if (l.Ticks < r.Ticks)
                    {
                        result2 = -1;
                    }
                    else if (l.Ticks > r.Ticks)
                    {
                        result2 = 1;
                    }
                    else
                    {
                        result2 = 0;
                    }
                    return(result2);
                });
                if (lsDays.Count > 0)
                {
                    DateTime nextDate = lsDays[0];
                    if (WangChengManager.WangChengZhanFightingDayTimes != null && WangChengManager.WangChengZhanFightingDayTimes.Length > 0)
                    {
                        return(lsDays[0].ToString("yyyy-MM-dd " + string.Format("{0:00}:{1:00}", WangChengManager.WangChengZhanFightingDayTimes[0].FromHour, WangChengManager.WangChengZhanFightingDayTimes[0].FromMinute)));
                    }
                }
                result = unKown;
            }
            return(result);
        }
Beispiel #11
0
        public static bool GetNextCityBattleTimeAndBangHui(out string dayTime, out string bangHuiName)
        {
            dayTime     = GLang.GetLang(43, new object[0]);
            bangHuiName = GLang.GetLang(568, new object[0]);
            int warDay;
            int bangHuiID;

            return(WangChengManager.GetNextCityBattleTimeAndBangHui(out warDay, out bangHuiID) && WangChengManager.GetWarTimeStringAndBHName(warDay, bangHuiID, out dayTime, out bangHuiName));
        }
Beispiel #12
0
        private int GiveRoleAwards(GameClient client, int success, KarenBattleSceneInfo sceneInfo)
        {
            long addExp       = 0L;
            int  addBindJinBi = 0;

            addExp       = Global.GetExpMultiByZhuanShengExpXiShu(client, sceneInfo.Exp);
            addBindJinBi = sceneInfo.BandJinBi;
            List <AwardsItemData> awardsItemDataList;

            if (success > 0)
            {
                awardsItemDataList = sceneInfo.WinAwardsItemList.Items;
            }
            else
            {
                addExp             = (long)((double)addExp * 0.8);
                addBindJinBi       = (int)((double)addBindJinBi * 0.8);
                awardsItemDataList = sceneInfo.LoseAwardsItemList.Items;
            }
            addExp       -= addExp % 10000L;
            addBindJinBi -= addBindJinBi % 10000;
            string         sSubject = "阿卡伦战场奖励";
            SceneUIClasses mapType  = Global.GetMapSceneType(sceneInfo.MapCode);
            string         sContent;

            if (SceneUIClasses.KarenWest == mapType)
            {
                sContent = GLang.GetLang(2617, new object[0]);
            }
            else
            {
                sContent = GLang.GetLang(2618, new object[0]);
            }
            if (awardsItemDataList != null && !Global.CanAddGoodsNum(client, awardsItemDataList.Count))
            {
                Global.UseMailGivePlayerAward2(client, awardsItemDataList, GLang.GetLang(2616, new object[0]), sContent, 0, 0, 0);
            }
            else if (awardsItemDataList != null)
            {
                foreach (AwardsItemData item in awardsItemDataList)
                {
                    Global.AddGoodsDBCommand(Global._TCPManager.TcpOutPacketPool, client, item.GoodsID, item.GoodsNum, 0, "", item.Level, item.Binding, 0, "", true, 1, sSubject, "1900-01-01 12:00:00", 0, 0, item.IsHaveLuckyProp, 0, item.ExcellencePorpValue, item.AppendLev, 0, null, null, 0, true);
                }
            }
            if (addExp > 0L)
            {
                GameManager.ClientMgr.ProcessRoleExperience(client, addExp, true, true, false, "none");
            }
            if (addBindJinBi > 0)
            {
                GameManager.ClientMgr.AddMoney1(client, addBindJinBi, sSubject, true);
            }
            return(1);
        }
Beispiel #13
0
 public void PlayGameAfterSend(GameClient client)
 {
     this.SendMarriageDataToClient(client, true);
     if (!client.ClientSocket.IsKuaFuLogin)
     {
         GameClient Spouseclient = GameManager.ClientMgr.FindClient(client.ClientData.MyMarriageData.nSpouseID);
         if (null != Spouseclient)
         {
             string SpouseOLTips = string.Format(GLang.GetLang(489, new object[0]), client.ClientData.RoleName);
             GameManager.ClientMgr.NotifyImportantMsg(Spouseclient, SpouseOLTips, GameInfoTypeIndexes.Hot, ShowGameInfoTypes.OnlySysHint, 0);
         }
     }
 }
        private void CloseQingGongYan()
        {
            if (null != this.QingGongYanNpc)
            {
                NPCGeneralManager.RemoveMapNpc(this.QingGongYanNpc.MapCode, this.QingGongYanNpc.NpcID);
                this.QingGongYanNpc = null;
                GameManager.ClientMgr.BroadcastServerCmd(733, "0", false);
            }
            this.QingGongYanOpenFlag = false;
            QingGongYanInfo InfoData = this.GetInfoData();

            if (null != InfoData)
            {
                if (InfoData.ZuanShiCoe > 0)
                {
                    int JoinMoney    = GameManager.GameConfigMgr.GetGameConfigItemInt("qinggongyan_joinmoney", 0);
                    int ZuanShiAward = JoinMoney / InfoData.ZuanShiCoe;
                    int DBRoleID     = GameManager.GameConfigMgr.GetGameConfigItemInt("qinggongyan_roleid", 0);
                    if (DBRoleID > 0)
                    {
                        string sContent = string.Format(GLang.GetLang(525, new object[0]), new object[]
                        {
                            TimeUtil.NowDateTime().Year,
                            TimeUtil.NowDateTime().Month,
                            TimeUtil.NowDateTime().Day,
                            DateTime.Parse(InfoData.BeginTime).Hour,
                            DateTime.Parse(InfoData.BeginTime).Minute,
                            ZuanShiAward
                        });
                        Global.UseMailGivePlayerAward3(DBRoleID, null, GLang.GetLang(526, new object[0]), sContent, ZuanShiAward, 0, 0);
                        Global.UpdateDBGameConfigg("qinggongyan_roleid", "");
                        GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_roleid", "");
                        Global.UpdateDBGameConfigg("qinggongyan_guildname", "");
                        GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_guildname", "");
                        Global.UpdateDBGameConfigg("qinggongyan_startday", "");
                        GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_startday", "");
                        Global.UpdateDBGameConfigg("qinggongyan_grade", "");
                        GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_grade", "");
                        Global.UpdateDBGameConfigg("qinggongyan_joincount", "");
                        GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_joincount", "");
                        Global.UpdateDBGameConfigg("qinggongyan_joinmoney", "");
                        GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_joinmoney", "");
                        Global.UpdateDBGameConfigg("qinggongyan_jubanmoney", "");
                        GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_jubanmoney", "");
                        string broadCastMsg = StringUtil.substitute(GLang.GetLang(527, new object[0]), new object[0]);
                        Global.BroadcastRoleActionMsg(null, RoleActionsMsgTypes.Bulletin, broadCastMsg, true, GameInfoTypeIndexes.Hot, ShowGameInfoTypes.SysHintAndChatBox, 0, 0, 100, 100);
                    }
                }
            }
        }
Beispiel #15
0
        public void OnBuffStateChange(GameClient client, int bufferId, BuffItemData buffItemData)
        {
            if ((buffItemData.flags & 1073741824) != 0)
            {
                switch (bufferId)
                {
                case 113:
                    this.OnBaTiStateChange(client, buffItemData.enabled, buffItemData);
                    break;

                case 114:
                    if (buffItemData.enabled)
                    {
                        GameManager.ClientMgr.NotifyImportantMsg(client, GLang.GetLang(4, new object[0]), GameInfoTypeIndexes.Error, ShowGameInfoTypes.ErrAndBox, 0);
                        GameManager.ClientMgr.NotifyRoleStatusCmd(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client, 13, buffItemData.startTicks, buffItemData.buffSecs, 1.0);
                    }
                    else
                    {
                        GameManager.ClientMgr.NotifyImportantMsg(client, GLang.GetLang(5, new object[0]), GameInfoTypeIndexes.Error, ShowGameInfoTypes.ErrAndBox, 0);
                        GameManager.ClientMgr.NotifyRoleStatusCmd(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client, 13, 0L, 0, 1.0);
                    }
                    break;

                case 116:
                    if (!buffItemData.enabled)
                    {
                        HuiJiManager.getInstance().OnHuiJiStateChange(client, false, 0, 0, null);
                    }
                    break;

                case 120:
                    if (buffItemData.enabled)
                    {
                        client.ClientData.MinLife = (int)buffItemData.buffVal;
                    }
                    else
                    {
                        client.ClientData.MinLife = 0;
                    }
                    break;

                case 121:
                    if (!buffItemData.enabled)
                    {
                        BianShenManager.getInstance().OnBianShenStateChange(client, false, 0, 0, null);
                    }
                    break;
                }
            }
        }
Beispiel #16
0
        public bool OnPreBangHuiRemoveMember(PreBangHuiRemoveMemberEventObject e)
        {
            bool result;

            if (e.Player.ClientData.JunTuanId > 0 && this.InActivityTime())
            {
                e.Result = false;
                GameManager.ClientMgr.NotifyImportantMsg(e.Player, GLang.GetLang(2619, new object[0]), GameInfoTypeIndexes.Error, ShowGameInfoTypes.ErrAndBox, 0);
                result = true;
            }
            else
            {
                result = false;
            }
            return(result);
        }
Beispiel #17
0
 public static void GiveBuChang(GameClient client)
 {
     if (!BuChangManager.CanGiveBuChang())
     {
         GameManager.LuaMgr.Error(client, GLang.GetLang(24, new object[0]), 0);
     }
     else
     {
         BuChangItem buChangItem = BuChangManager.GetBuChangItem(Global.GetUnionLevel(client, false));
         if (null == buChangItem)
         {
             GameManager.LuaMgr.Error(client, GLang.GetLang(25, new object[0]), 0);
         }
         else if (!BuChangManager.HasEnoughBagSpaceForAwardGoods(client, buChangItem))
         {
             GameManager.LuaMgr.Error(client, GLang.GetLang(26, new object[0]), 0);
         }
         else
         {
             DateTime buChangDateTime = Global.GetBuChangStartDay();
             int      buChangFlag     = Global.GetRoleParamsInt32FromDB(client, "BuChangFlag");
             if (buChangDateTime.DayOfYear == buChangFlag)
             {
                 GameManager.LuaMgr.Error(client, GLang.GetLang(27, new object[0]), 0);
             }
             else
             {
                 Global.SaveRoleParamsInt32ValueToDB(client, "BuChangFlag", buChangDateTime.DayOfYear, true);
                 for (int i = 0; i < buChangItem.GoodsDataList.Count; i++)
                 {
                     Global.AddGoodsDBCommand(Global._TCPManager.TcpOutPacketPool, client, buChangItem.GoodsDataList[i].GoodsID, buChangItem.GoodsDataList[i].GCount, buChangItem.GoodsDataList[i].Quality, "", buChangItem.GoodsDataList[i].Forge_level, buChangItem.GoodsDataList[i].Binding, 0, "", true, 1, "系统补偿物品", "1900-01-01 12:00:00", buChangItem.GoodsDataList[i].AddPropIndex, buChangItem.GoodsDataList[i].BornIndex, buChangItem.GoodsDataList[i].Lucky, buChangItem.GoodsDataList[i].Strong, 0, 0, 0, null, null, 0, true);
                 }
                 if (buChangItem.MoJing > 0)
                 {
                     GameManager.ClientMgr.ModifyTianDiJingYuanValue(client, buChangItem.MoJing, "系统补偿", false, true, false);
                 }
                 if (buChangItem.Experience > 0L)
                 {
                     GameManager.ClientMgr.ProcessRoleExperience(client, buChangItem.Experience, false, true, false, "none");
                 }
                 client._IconStateMgr.CheckBuChangState(client);
                 client._IconStateMgr.SendIconStateToClient(client);
             }
         }
     }
 }
Beispiel #18
0
        public bool OnPreBangHuiChangeZhiWu(PreBangHuiChangeZhiWuEventObject e)
        {
            bool result;

            if (e.Player.ClientData.JunTuanId > 0 && this.InActivityTime() && e.TargetZhiWu == 1)
            {
                e.ErrorCode = -201;
                e.Result    = false;
                GameManager.ClientMgr.NotifyImportantMsg(e.Player, GLang.GetLang(2620, new object[0]), GameInfoTypeIndexes.Error, ShowGameInfoTypes.ErrAndBox, 0);
                result = true;
            }
            else
            {
                result = false;
            }
            return(result);
        }
Beispiel #19
0
        public void EnterBossFuBen(GameClient client)
        {
            int ret = Global.EnterBossFuBen(client);

            if (-1 == ret)
            {
                this.Error(client, string.Format(GLang.GetLang(423, new object[0]), Global.GetBossFuBenMinLevel()), 0);
            }
            else if (-4 == ret)
            {
                this.Error(client, string.Format(GLang.GetLang(424, new object[0]), new object[0]), 0);
            }
            else if (ret < 0)
            {
                this.Error(client, string.Format(GLang.GetLang(425, new object[0]), ret), 0);
            }
        }
Beispiel #20
0
        public MarryPartyResult MarryPartyRemove(int roleID, bool forceRemove, GameClient client)
        {
            MarryPartyData   partyData = this.m_MarryPartyDataCache.GetParty(roleID);
            MarryPartyResult result;

            if (partyData == null)
            {
                result = MarryPartyResult.PartyNotFound;
            }
            else if (!forceRemove && partyData.StartTime <= TimeUtil.NOW())
            {
                result = MarryPartyResult.AlreadyStart;
            }
            else
            {
                MarryPartyConfigData configData = this.GetMarryPartyConfigData(partyData.PartyType);
                if (null == configData)
                {
                    result = MarryPartyResult.InvalidParam;
                }
                else if (!this.MarryPartyRemoveInternal(roleID, forceRemove, client, partyData))
                {
                    result = MarryPartyResult.PartyNotFound;
                }
                else
                {
                    if (!forceRemove)
                    {
                        GameManager.ClientMgr.AddMoney1(Global._TCPManager.MySocketListener, Global._TCPManager.tcpClientPool, Global._TCPManager.TcpOutPacketPool, client, configData.PartyCost, "婚宴退款", false);
                        this.SendMarryPartyList(client, new MarryPartyData(), -1);
                    }
                    else if (partyData.StartTime > TimeUtil.NOW())
                    {
                        GoodsData goodData = Global.GetNewGoodsData(50014, 1);
                        goodData.GCount = configData.PartyCost / 10000;
                        Global.UseMailGivePlayerAward3(roleID, new List <GoodsData>
                        {
                            goodData
                        }, GLang.GetLang(491, new object[0]), GLang.GetLang(492, new object[0]), 0, 0, 0);
                    }
                    result = MarryPartyResult.Success;
                }
            }
            return(result);
        }
Beispiel #21
0
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK = false;

            if (client != null && !string.IsNullOrEmpty(arg))
            {
                int iNeedChangeLife = -1;
                if (int.TryParse(arg, out iNeedChangeLife) && client.ClientData.ChangeLifeCount >= iNeedChangeLife)
                {
                    bOK = true;
                }
            }
            if (!bOK)
            {
                failedMsg = string.Format(GLang.GetLang(140, new object[0]), string.Format(GLang.GetLang(678, new object[0]), arg));
            }
            return(bOK);
        }
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK = false;

            if (client != null)
            {
                GameMap gameMap = null;
                if (GameManager.MapMgr.DictMaps.TryGetValue(client.ClientData.MapCode, out gameMap) && gameMap != null)
                {
                    bOK = !gameMap.InSafeRegionList(client.CurrentGrid);
                }
            }
            if (!bOK)
            {
                failedMsg = string.Format(GLang.GetLang(140, new object[0]), string.Format(GLang.GetLang(687, new object[0]), ""));
            }
            return(bOK);
        }
Beispiel #23
0
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK = false;

            if (client != null && !string.IsNullOrEmpty(arg))
            {
                int iNeedLvl = -1;
                if (int.TryParse(arg, out iNeedLvl) && ChengJiuManager.GetChengJiuLevel(client) >= iNeedLvl)
                {
                    bOK = true;
                }
            }
            if (!bOK)
            {
                failedMsg = string.Format(GLang.GetLang(140, new object[0]), string.Format(GLang.GetLang(676, new object[0]), arg));
            }
            return(bOK);
        }
Beispiel #24
0
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK = false;

            if (client != null && !string.IsNullOrEmpty(arg))
            {
                int iNeedSuit = int.MaxValue;
                if (int.TryParse(arg, out iNeedSuit) && client.UsingEquipMgr.GetUsingEquipArchangelWeaponSuit() >= iNeedSuit)
                {
                    bOK = true;
                }
            }
            if (!bOK)
            {
                failedMsg = string.Format(GLang.GetLang(140, new object[0]), string.Format(GLang.GetLang(682, new object[0]), arg));
            }
            return(bOK);
        }
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK           = false;
            int  needAddIntoBH = Global.SafeConvertToInt32(arg);

            if (client != null)
            {
                if (needAddIntoBH > 0 && client.ClientData.Faction > 0)
                {
                    bOK = true;
                }
            }
            if (!bOK)
            {
                failedMsg = GLang.GetLang(2002, new object[0]);
            }
            return(bOK);
        }
Beispiel #26
0
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK          = false;
            int  Strength     = Global.GetRoleParamsInt32FromDB(client, "PropStrengthChangeless");
            int  Intelligence = Global.GetRoleParamsInt32FromDB(client, "PropIntelligenceChangeless");
            int  Dexterity    = Global.GetRoleParamsInt32FromDB(client, "PropDexterityChangeless");
            int  Constitution = Global.GetRoleParamsInt32FromDB(client, "PropConstitutionChangeless");

            if (Strength < UseFruitVerify.GetFruitAddPropLimit(client, "Strength") || Intelligence < UseFruitVerify.GetFruitAddPropLimit(client, "Intelligence") || Dexterity < UseFruitVerify.GetFruitAddPropLimit(client, "Dexterity") || Constitution < UseFruitVerify.GetFruitAddPropLimit(client, "Constitution"))
            {
                bOK = true;
            }
            if (!bOK)
            {
                failedMsg = GLang.GetLang(8015, new object[0]);
            }
            return(bOK);
        }
Beispiel #27
0
 public void processEvent(EventObject eventObject)
 {
     if (eventObject.getEventType() == 18)
     {
         Monster    monster = (eventObject as MonsterBlooadChangedEventObject).getMonster();
         GameClient client  = (eventObject as MonsterBlooadChangedEventObject).getGameClient();
         if (monster != null && null != client)
         {
             if (client.ClientData.CopyMapID > 0 && client.ClientData.FuBenSeqID > 0 && MapTypes.MarriageCopy == Global.GetMapType(client.ClientData.MapCode) && MapTypes.MarriageCopy == Global.GetMapType(monster.CurrentMapCode))
             {
                 SystemXmlItem XMLItem = null;
                 if (this.ManAndWifeBossXmlItems.SystemXmlItemDict.TryGetValue(monster.MonsterInfo.ExtensionID, out XMLItem) && null != XMLItem)
                 {
                     if (XMLItem.GetIntValue("Need", -1) != (int)client.ClientData.MyMarriageData.byMarrytype)
                     {
                         BufferData bufferData = Global.GetMonsterBufferDataByID(monster, XMLItem.GetIntValue("GoodsID", -1));
                         if (bufferData == null || Global.IsBufferDataOver(bufferData, 0L))
                         {
                             double[] newActionParams = new double[]
                             {
                                 15.0,
                                 1.0
                             };
                             EquipPropItem item = GameManager.EquipPropsMgr.FindEquipPropItem(2000808);
                             if (null != item)
                             {
                                 newActionParams[1] = item.ExtProps[24];
                             }
                             Global.UpdateMonsterBufferData(monster, BufferItemTypes.MU_MARRIAGE_SUBDAMAGEPERCENTTIMER, newActionParams);
                             string text = string.Format(GLang.GetLang(484, new object[0]), client.ClientData.RoleName, monster.MonsterInfo.VSName);
                             GameManager.ClientMgr.BroadSpecialHintText(monster.CurrentMapCode, monster.CurrentCopyMapID, text);
                         }
                     }
                 }
             }
         }
     }
     else if (eventObject.getEventType() == 12)
     {
         GameClient client = (eventObject as PlayerLogoutEventObject).getPlayer();
         this.ClientExitRoom(client);
     }
 }
Beispiel #28
0
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK        = false;
            int  needTaskId = Global.SafeConvertToInt32(arg);

            if (client != null)
            {
                if (client.ClientData.MainTaskID >= needTaskId)
                {
                    bOK = true;
                }
            }
            if (!bOK)
            {
                failedMsg = string.Format(GLang.GetLang(140, new object[0]), string.Format(GLang.GetLang(685, new object[0]), GlobalNew.GetTaskName(needTaskId)));
            }
            return(bOK);
        }
        public bool Judge(GameClient client, string arg, out string failedMsg)
        {
            failedMsg = "";
            bool bOK = false;

            if (client != null && !string.IsNullOrEmpty(arg))
            {
                int iNeedYB = int.MaxValue;
                if (int.TryParse(arg, out iNeedYB) && client.ClientData.UserMoney >= iNeedYB)
                {
                    bOK = true;
                }
            }
            if (!bOK)
            {
                failedMsg = string.Format(GLang.GetLang(140, new object[0]), string.Format(GLang.GetLang(686, new object[0]), arg));
            }
            return(bOK);
        }
Beispiel #30
0
        private void GiveClientChargeItem(GameClient client, List <GoodsData> awardList)
        {
            int outBag;

            if (!RebornEquip.MoreIsCanIntoRebornOrBaseBag(client, awardList, out outBag))
            {
                Global.UseMailGivePlayerAward2(client, awardList, GLang.GetLang(553, new object[0]), GLang.GetLang(554, new object[0]), 0, 0, 0);
            }
            else
            {
                for (int i = 0; i < awardList.Count; i++)
                {
                    GoodsData goodsData = awardList[i];
                    if (null != goodsData)
                    {
                        goodsData.Id = Global.AddGoodsDBCommand(Global._TCPManager.TcpOutPacketPool, client, goodsData.GoodsID, goodsData.GCount, goodsData.Quality, goodsData.Props, goodsData.Forge_level, goodsData.Binding, 0, goodsData.Jewellist, true, 1, "充值直购", goodsData.Endtime, goodsData.AddPropIndex, goodsData.BornIndex, goodsData.Lucky, goodsData.Strong, goodsData.ExcellenceInfo, 0, 0, null, null, 0, true);
                    }
                }
            }
        }