예제 #1
0
        /// <summary>
        /// 处理王城的归属--->只考虑帮会ID,不考虑具体角色
        /// </summary>
        private static void HandleHuangChengResultEx(bool isBattleOver = false)
        {
            if (WangZuBHid <= 0)
            {
                if (isBattleOver)
                {
                    //处理王城战流产
                    HandleWangChengFailed();
                }
                return; //谁也当不成王族
            }


            //处理领地战的结果
            JunQiManager.HandleLingDiZhanResultByMapCode((int)LingDiIDs.HuangGong, Global.GetHuangGongMapCode(), WangZuBHid, true, false);

            //夺取王城的提示
            Global.BroadcastHuangChengOkHintEx(WangZuBHName, isBattleOver);

            //通知GameServer同步帮会的所属和范围
            JunQiManager.NotifySyncBangHuiJunQiItemsDict(null);

            if (isBattleOver)
            {
                //设置合服后的王城霸主
                HuodongCachingMgr.UpdateHeFuWCKingBHID(WangZuBHid);
            }
        }
예제 #2
0
 private static void HandleHuangChengResult()
 {
     if (HuangChengManager.HuangDiRoleID <= 0)
     {
         HuangChengManager.HandleHuangChengFailed();
     }
     else
     {
         GameClient otherClient = GameManager.ClientMgr.FindClient(HuangChengManager.HuangDiRoleID);
         if (null == otherClient)
         {
             HuangChengManager.HandleHuangChengFailed();
         }
         else if (otherClient.ClientData.Faction <= 0)
         {
             HuangChengManager.HandleHuangChengFailed();
         }
         else if (otherClient.ClientData.BHZhiWu != 1)
         {
             HuangChengManager.HandleHuangChengFailed();
         }
         else
         {
             JunQiManager.HandleLingDiZhanResultByMapCode(2, Global.GetHuangChengMapCode(), otherClient.ClientData.Faction, true, false);
             HuangChengManager.ProcessHuangChengFightingEndAwards(otherClient.ClientData.Faction);
             Global.BroadcastHuangChengOkHint(otherClient);
             JunQiManager.NotifySyncBangHuiJunQiItemsDict(null);
         }
     }
 }
예제 #3
0
 private static void HandleHuangChengFailed()
 {
     JunQiManager.HandleLingDiZhanResultByMapCode(2, Global.GetHuangChengMapCode(), 0, true, false);
     HuangChengManager.ProcessHuangChengFightingEndAwards(-1);
     Global.BroadcastHuangChengFailedHint();
     JunQiManager.NotifySyncBangHuiJunQiItemsDict(null);
 }
예제 #4
0
        /// <summary>
        /// 处理王城战流产
        /// </summary>
        private static void HandleWangChengFailed()
        {
            //处理领地战的结果
            JunQiManager.HandleLingDiZhanResultByMapCode((int)LingDiIDs.HuangGong, Global.GetHuangGongMapCode(), 0, true, false);

            //王城流产的提示
            Global.BroadcastWangChengFailedHint();

            //通知GameServer同步帮会的所属和范围
            JunQiManager.NotifySyncBangHuiJunQiItemsDict(null);
        }
예제 #5
0
        /// <summary>
        /// 处理皇城战流产
        /// </summary>
        private static void HandleHuangChengFailed()
        {
            //处理领地战的结果
            JunQiManager.HandleLingDiZhanResultByMapCode((int)LingDiIDs.HuangCheng, Global.GetHuangChengMapCode(), 0, true, false);

            //处理皇城战结束时的奖励
            ProcessHuangChengFightingEndAwards(-1);

            //皇城流产的提示
            Global.BroadcastHuangChengFailedHint();

            //通知GameServer同步势力的所属和范围
            JunQiManager.NotifySyncBangHuiJunQiItemsDict(null);
        }
예제 #6
0
        /// <summary>
        /// 处理皇城的归属
        /// </summary>
        private static void HandleHuangChengResult()
        {
            if (HuangDiRoleID <= 0)
            {
                //处理皇城战流产
                HandleHuangChengFailed();
                return; //谁也当不成皇帝
            }

            GameClient otherClient = GameManager.ClientMgr.FindClient(HuangDiRoleID);

            if (null == otherClient)
            {
                //处理皇城战流产
                HandleHuangChengFailed();
                return; //谁也当不成皇帝
            }

            if (otherClient.ClientData.Faction <= 0) //如果此时脱离了帮会
            {
                //处理皇城战流产
                HandleHuangChengFailed();
                return; //谁也当不成皇帝
            }

            if (otherClient.ClientData.BHZhiWu != 1) //如果此时不是帮会的帮主
            {
                //处理皇城战流产
                HandleHuangChengFailed();
                return; //谁也当不成皇帝
            }

            //处理领地战的结果
            JunQiManager.HandleLingDiZhanResultByMapCode((int)LingDiIDs.HuangCheng, Global.GetHuangChengMapCode(), otherClient.ClientData.Faction, true, false);

            //处理皇城战结束时的奖励
            ProcessHuangChengFightingEndAwards(otherClient.ClientData.Faction);

            //夺取皇城的提示
            Global.BroadcastHuangChengOkHint(otherClient);

            //通知GameServer同步势力的所属和范围
            JunQiManager.NotifySyncBangHuiJunQiItemsDict(null);
        }
예제 #7
0
 private static void HandleHuangChengResultEx(bool isBattleOver = false)
 {
     if (WangChengManager.WangZuBHid <= 0)
     {
         if (isBattleOver)
         {
             WangChengManager.HandleWangChengFailed();
         }
     }
     else
     {
         JunQiManager.HandleLingDiZhanResultByMapCode(6, Global.GetHuangGongMapCode(), WangChengManager.WangZuBHid, true, false);
         Global.BroadcastHuangChengOkHintEx(WangChengManager.WangZuBHName, isBattleOver);
         JunQiManager.NotifySyncBangHuiJunQiItemsDict(null);
         if (isBattleOver)
         {
             HuodongCachingMgr.UpdateHeFuWCKingBHID(WangChengManager.WangZuBHid);
         }
     }
 }
예제 #8
0
 private static void HandleWangChengFailed()
 {
     JunQiManager.HandleLingDiZhanResultByMapCode(6, Global.GetHuangGongMapCode(), 0, true, false);
     Global.BroadcastWangChengFailedHint();
     JunQiManager.NotifySyncBangHuiJunQiItemsDict(null);
 }