From 3a4eb38542bf8cc2cdf7f835a559ade8a8457ea3 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期六, 29 九月 2018 03:02:47 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Message/BattleHintWin.cs                                                       |   89 ++
 System/Dogz/DogzPackWin.cs                                                            |   40 +
 System/OpenServerActivity/InSevenDayWin.cs                                            |   32 +
 System/Dogz/DogzPackCell.cs                                                           |   71 +-
 System/Treasure/TreasureComponent.cs                                                  |   28 
 System/Role/RolePanel.cs                                                              |    3 
 Fight/BossFakeLineUtility.cs                                                          |   28 +
 Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0319_tagFBHelp.cs         |    3 
 System/KnapSack/New/KnapSackWin.cs                                                    |    3 
 System/Compose/New/ComposeWin.cs                                                      |   20 
 Core/GameEngine/Model/Config/DemonJarConfig.cs.meta                                   |    2 
 Fight/GameActor/GA_Player.cs                                                          |    4 
 System/FindPrecious/DemonJarWin.cs                                                    |    5 
 System/Activity/ActivitySettleWin.cs                                                  |  288 +++++-----
 Fight/Stage/StageManager.cs                                                           |   18 
 System/Dungeon/TrialDungeonModel.cs                                                   |   11 
 Fight/GameActor/GA_Hero.cs                                                            |    9 
 System/Message/BattleHint.cs                                                          |  115 +++
 System/Treasure/TreasureModel.cs                                                      |   46 
 System/Welfare/OperationBase.cs                                                       |    4 
 Fight/GameActor/GActorPlayerBase.cs                                                   |   32 
 System/Role/RoleRenameWin.cs                                                          |    3 
 Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0439_tagPlayerChangeDienstgrad.cs |    4 
 System/TreasureFindHost/TreasureFindHostModel.cs                                      |    2 
 System/Strengthening/GodBeastEntry.cs                                                 |    9 
 System/KnapSack/Logic/ItemTipsModel.cs                                                |   10 
 System/Strengthening/GodBeastSlidingList.cs                                           |   14 
 System/Strengthening/GodBeastModel.cs                                                 |  147 +++++
 System/Strengthening/GodBeastReinforcementWin.cs                                      |   46 +
 Core/GameEngine/Model/Config/DemonJarConfig.cs                                        |    5 
 System/MainInterfacePanel/HoistingWin.cs                                              |   15 
 UI/HUD/HeadUpName.cs                                                                  |   24 
 System/Dungeon/DungeonAncientTargetWin.cs                                             |  112 ++--
 Fight/PreFightMission.cs                                                              |    6 
 System/OpenServerActivity/FeaturesType.cs                                             |   12 
 System/WindowJump/WindowJumpMgr.cs                                                    |   20 
 System/Message/SysNotifyMgr.cs                                                        |   14 
 System/RolePromote/RolePromoteWin.cs                                                  |   10 
 System/MainInterfacePanel/SideMission.cs                                              |   11 
 System/MainInterfacePanel/TaskListTip.cs                                              |   10 
 System/Strengthening/GodBeastAttributes.cs                                            |   31 
 System/Dogz/DogzModel.cs                                                              |   43 +
 System/Dungeon/DungeonFightWin.cs                                                     |   14 
 System/Vip/LimitedTimePackageModel.cs                                                 |   24 
 System/KnapSack/Logic/EquipTip.cs                                                     |   74 +-
 45 files changed, 1,038 insertions(+), 473 deletions(-)

diff --git a/Core/GameEngine/Model/Config/DemonJarConfig.cs b/Core/GameEngine/Model/Config/DemonJarConfig.cs
index d0cbc53..c870ae0 100644
--- a/Core/GameEngine/Model/Config/DemonJarConfig.cs
+++ b/Core/GameEngine/Model/Config/DemonJarConfig.cs
@@ -1,6 +1,6 @@
 锘�//--------------------------------------------------------
 //    [Author]:			绗簩涓栫晫
-//    [  Date ]:		   Tuesday, August 28, 2018
+//    [  Date ]:		   Friday, September 28, 2018
 //--------------------------------------------------------
 
 using UnityEngine;
@@ -26,6 +26,7 @@
 		public int[] Job3;
 		public int KillHurtMin { get ; private set ; }
 		public int KillHurtMax { get ; private set ; }
+		public string RewardDescription { get ; private set; } 
 
 		public override string getKey()
         {
@@ -84,6 +85,8 @@
 				KillHurtMin=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0; 
 			
 				KillHurtMax=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0; 
+			
+				RewardDescription = rawContents[15].Trim();
             }
             catch (Exception ex)
             {
diff --git a/Core/GameEngine/Model/Config/DemonJarConfig.cs.meta b/Core/GameEngine/Model/Config/DemonJarConfig.cs.meta
index 1cbe5ff..5277fdc 100644
--- a/Core/GameEngine/Model/Config/DemonJarConfig.cs.meta
+++ b/Core/GameEngine/Model/Config/DemonJarConfig.cs.meta
@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 guid: 7e442059ea96745478dd5787f9e84ef5
-timeCreated: 1535448421
+timeCreated: 1538136681
 licenseType: Pro
 MonoImporter:
   serializedVersion: 2
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0319_tagFBHelp.cs b/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0319_tagFBHelp.cs
index 1b57385..dfd7577 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0319_tagFBHelp.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0319_tagFBHelp.cs
@@ -30,6 +30,9 @@
                 break;
             case 31230:
 
+                break;
+            case 31160:
+                BattleHint.Instance.UpdateDungeonHelp();
                 break;
         }
     }
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0439_tagPlayerChangeDienstgrad.cs b/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0439_tagPlayerChangeDienstgrad.cs
index 73bc008..9d9afaa 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0439_tagPlayerChangeDienstgrad.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0439_tagPlayerChangeDienstgrad.cs
@@ -30,8 +30,8 @@
         GActorPlayerBase _player = GAMgr.Instance.GetBySID(vNetData.PlayerID) as GActorPlayerBase;
         if (_player != null)
         {
-            var titleId = PlayerDatas.Instance.baseData.MapID == 31160 ? 0 : vNetData.GradID;//上古战场不显示称号
-            _player.SwitchTitle(titleId);
+            //var titleId = PlayerDatas.Instance.baseData.MapID == 31160 ? 0 : vNetData.GradID;//上古战场不显示称号
+            _player.SwitchTitle(vNetData.GradID);
         }
     }
 
diff --git a/Fight/BossFakeLineUtility.cs b/Fight/BossFakeLineUtility.cs
index 6d67480..357cae1 100644
--- a/Fight/BossFakeLineUtility.cs
+++ b/Fight/BossFakeLineUtility.cs
@@ -15,8 +15,18 @@
 
     bool m_ShowFakeLine = false;
     public bool showFakeLine {
-        get { return m_ShowFakeLine; }
-        set { m_ShowFakeLine = value; }
+        get {
+            if (TimeUtility.OpenDay < GeneralConfig.Instance.bossShuntDays
+                && GeneralConfig.Instance.neutralMaps.Contains(PlayerDatas.Instance.baseData.MapID))
+            {
+                return true;
+            }
+
+            return m_ShowFakeLine;
+        }
+        set {
+            m_ShowFakeLine = value;
+        }
     }
 
     public BossFakeLineUtility()
@@ -70,6 +80,15 @@
 
     public void RecordSawStone(int npcId, int lineId)
     {
+        var bossInfo = BossInfoConfig.GetBossInfoByStoneId(npcId);
+        if (bossInfo != null)
+        {
+            if (HasSawLineBossRecently(bossInfo.NPCID, lineId))
+            {
+                bossSawRecorder.Clear();
+            }
+        }
+
         stoneSawRecorder.Record(npcId, lineId, Time.realtimeSinceStartup);
     }
 
@@ -93,6 +112,11 @@
 
     public void RecordSawBoss(int bossId, int lineId)
     {
+        if (HasSawLineStoneRecently(bossId, lineId))
+        {
+            stoneSawRecorder.Clear();
+        }
+
         bossSawRecorder.Record(bossId, lineId, Time.realtimeSinceStartup);
     }
 
diff --git a/Fight/GameActor/GA_Hero.cs b/Fight/GameActor/GA_Hero.cs
index 3ddfea2..1ba8773 100644
--- a/Fight/GameActor/GA_Hero.cs
+++ b/Fight/GameActor/GA_Hero.cs
@@ -210,10 +210,9 @@
             if (Time.realtimeSinceStartup - m_ChkOpenAutoEscapeTime > 2f)
             {
                 int _dgDataID = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
-                var dungeonOpen = Config.Instance.Get<DungeonOpenTimeConfig>(_dgDataID);
-
-                if (dungeonOpen != null)
+                if (Config.Instance.ContainKey<DungeonOpenTimeConfig>(_dgDataID))
                 {
+                    var dungeonOpen = Config.Instance.Get<DungeonOpenTimeConfig>(_dgDataID);
                     if (dungeonOpen.DoFight == 1)
                     {
                         forceAutoFight = true;
@@ -419,8 +418,7 @@
         var titleModel = ModelCenter.Instance.GetModel<TitleModel>();
         var _title = titleModel.GetTitleEquip();
         uint _titleID = 0;
-        if (_title != null && titleModel.IsTitleGain(_title.id)
-            && PlayerDatas.Instance.baseData.MapID != 31160)//涓婂彜鎴樺満涓嶆樉绀虹О鍙�
+        if (_title != null && titleModel.IsTitleGain(_title.id))//涓婂彜鎴樺満涓嶆樉绀虹О鍙�
         {
             _titleID = (uint)_title.id;
         }
@@ -440,7 +438,6 @@
         }
 
         base.SetFairyLeagueHeadUp(PlayerDatas.Instance.baseData.MapID == FairyLeagueModel.FAIRY_LEAGUE_DUNGEON);
-        CheckAncientHeadUp();
     }
 
     public sealed override void SwitchRedName(bool on)
diff --git a/Fight/GameActor/GA_Player.cs b/Fight/GameActor/GA_Player.cs
index 9ac2e84..68cdd51 100644
--- a/Fight/GameActor/GA_Player.cs
+++ b/Fight/GameActor/GA_Player.cs
@@ -352,8 +352,7 @@
             m_HeadUpName = HeadUpName.RequireHeadUpName(HeadUpName.Pattern.Player, MP_Name, 0, CameraController.Instance.CameraObject);
         }
 
-        var titleId = PlayerDatas.Instance.baseData.MapID == 31160 ? 0 : ActorInfo.titleID;
-        m_HeadUpName.SetPlayerInfo((int)ActorInfo.realm, titleId, ActorInfo.PlayerName, ActorInfo.familyName, m_H0434.State == 1);
+        m_HeadUpName.SetPlayerInfo((int)ActorInfo.realm, ActorInfo.titleID, ActorInfo.PlayerName, ActorInfo.familyName, m_H0434.State == 1);
 
         if (StatusMgr.Instance.IsExist(ServerInstID, StatusMgr.Instance.bossBelongBuffID))
         {
@@ -361,7 +360,6 @@
         }
 
         base.SetFairyLeagueHeadUp(PlayerDatas.Instance.baseData.MapID == FairyLeagueModel.FAIRY_LEAGUE_DUNGEON);
-        CheckAncientHeadUp();
     }
 
     public sealed override void SwitchRedName(bool on)
diff --git a/Fight/GameActor/GActorPlayerBase.cs b/Fight/GameActor/GActorPlayerBase.cs
index df65ffa..b58924b 100644
--- a/Fight/GameActor/GActorPlayerBase.cs
+++ b/Fight/GameActor/GActorPlayerBase.cs
@@ -43,8 +43,6 @@
 
     public JobSetupConfig JobSetup { get; protected set; }
 
-    DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
-
     public override int NextAction
     {
         get
@@ -218,7 +216,6 @@
         MovingState = E_MovingState.Normal;
 
         SystemSetting.Instance.qualityLevelChangeEvent += OnGameQualityChange;
-        dungeonModel.updateMissionEvent += CheckAncientHeadUp;
         base.OnInit(package);
     }
 
@@ -340,7 +337,6 @@
         JobSetup = null;
 
         SystemSetting.Instance.qualityLevelChangeEvent -= OnGameQualityChange;
-        dungeonModel.updateMissionEvent -= CheckAncientHeadUp;
 
         base.OnUnit();
     }
@@ -352,20 +348,20 @@
         UpdateRush();
     }
 
-    public void CheckAncientHeadUp()
-    {
-        if (PlayerDatas.Instance.baseData.MapID == 31160)
-        {
-            var help = dungeonModel.mission;
-            SwitchAncientKing(help.topPlayerID == ServerInstID);
-            SwitchAncientEnemy(help.enemyID == ServerInstID && ServerInstID != PlayerDatas.Instance.baseData.PlayerID);
-        }
-        else
-        {
-            SwitchAncientKing(false);
-            SwitchAncientEnemy(false);
-        }
-    }
+    //public void CheckAncientHeadUp()
+    //{
+    //    if (PlayerDatas.Instance.baseData.MapID == 31160)
+    //    {
+    //        var help = dungeonModel.mission;
+    //        SwitchAncientKing(help.topPlayerID == ServerInstID);
+    //        SwitchAncientEnemy(help.enemyID == ServerInstID && ServerInstID != PlayerDatas.Instance.baseData.PlayerID);
+    //    }
+    //    else
+    //    {
+    //        SwitchAncientKing(false);
+    //        SwitchAncientEnemy(false);
+    //    }
+    //}
 
     #region 瑁呭绌挎埓鐩稿叧
 
diff --git a/Fight/PreFightMission.cs b/Fight/PreFightMission.cs
index 6cf73c3..24609b9 100644
--- a/Fight/PreFightMission.cs
+++ b/Fight/PreFightMission.cs
@@ -1395,7 +1395,11 @@
 
         m_FabaoEffect = SFXPlayUtility.Instance.PlayWithEulerAngle(1051, new Vector3(129.98f, 51.548f, 33.13f), new Vector3(0, -90.81f, 0));
 
-        PlayerDatas.Instance.hero.MoveToPosition(m_SecondTransferStartPos);
+        if (PlayerDatas.Instance.hero!=null)
+        {
+            PlayerDatas.Instance.hero.MoveToPosition(m_SecondTransferStartPos);
+        }
+
         DebugEx.Log("绗洓涓璇濈粨鏉�...");
     }
 
diff --git a/Fight/Stage/StageManager.cs b/Fight/Stage/StageManager.cs
index 70376a6..0e9510e 100644
--- a/Fight/Stage/StageManager.cs
+++ b/Fight/Stage/StageManager.cs
@@ -559,15 +559,15 @@
         _hero.IdleImmediate();
 
         _hero.SetFairyLeagueHeadUp(PlayerDatas.Instance.baseData.MapID == FairyLeagueModel.FAIRY_LEAGUE_DUNGEON);
-        _hero.CheckAncientHeadUp();
-        var titleId = 0;
-        if (PlayerDatas.Instance.baseData.MapID != 31160)
-        {
-            var titelModel = ModelCenter.Instance.GetModel<TitleModel>();
-            var title = titelModel.GetTitleEquip();
-            titleId = title != null && titelModel.IsTitleGain(title.id) ? title.id : 0;
-        }
-        _hero.SwitchTitle((uint)titleId);
+        //_hero.CheckAncientHeadUp();
+        //var titleId = 0;
+        //if (PlayerDatas.Instance.baseData.MapID != 31160)
+        //{
+        //    var titelModel = ModelCenter.Instance.GetModel<TitleModel>();
+        //    var title = titelModel.GetTitleEquip();
+        //    titleId = title != null && titelModel.IsTitleGain(title.id) ? title.id : 0;
+        //}
+        //_hero.SwitchTitle((uint)titleId);
 
         // 鍒ゆ柇buff
         if (StatusMgr.Instance.IsExist(PlayerDatas.Instance.PlayerId, StatusMgr.Instance.redNameBuffID))
diff --git a/System/Activity/ActivitySettleWin.cs b/System/Activity/ActivitySettleWin.cs
index 9d8d3e3..686fde9 100644
--- a/System/Activity/ActivitySettleWin.cs
+++ b/System/Activity/ActivitySettleWin.cs
@@ -1,139 +1,149 @@
-锘�//--------------------------------------------------------
-//    [Author]:           绗簩涓栫晫
-//    [  Date ]:           Wednesday, November 22, 2017
-//--------------------------------------------------------
-
-using Snxxz.UI;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using TableConfig;
-using UnityEngine;
-using UnityEngine.UI;
-
-namespace Snxxz.UI {
-
-
-    public class ActivitySettleWin : Window
-    {
-        [SerializeField] List<ItemCell> activityItemCells=new List<ItemCell>();
-        [SerializeField] RectTransform container_ActivityReward;
-        [SerializeField] GameObject activityNullReawrd;
-        [SerializeField] List<ItemCell> achieveItemCells=new List<ItemCell>();
-        [SerializeField] RectTransform container_AchieveReward;
-        [SerializeField] GameObject achieveNullReawrd;
-        [SerializeField] Button rewardGetBtn;
-
-        DungeonModel m_DungeonModel;
-        DungeonModel dungeonModel {
-            get {
-                return m_DungeonModel ?? (m_DungeonModel = ModelCenter.Instance.GetModel<DungeonModel>());
-            }
-        }
-
-        ItemTipsModel _itemTipsModel;
-        ItemTipsModel itemTipsModel
-        {
-            get
-            {
-                return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
-            }
-        }
-
-        #region Built-in
-        protected override void BindController()
-        {
-        }
-
-        protected override void AddListeners()
-        {
-            rewardGetBtn.onClick.AddListener(CloseClick);
-        }
-
-        protected override void OnPreOpen()
-        {
-            ShowActivityReward();
-        }
-
-        protected override void OnAfterOpen()
-        {
-        }
-
-        protected override void OnPreClose()
-        {
-            dungeonModel.dungeonResult = default(DungeonResult);
-        }
-
-        protected override void OnAfterClose()
-        {
-        }
-        #endregion
-
-        void ShowActivityReward()
-        {
-            foreach (var item in achieveItemCells) {
-                item.gameObject.SetActive(false);
-            }
-            foreach (var item in activityItemCells) {
-                item.gameObject.SetActive(false);
-            }
-            var actiivityItems = dungeonModel.dungeonResult.itemInfo;
-            bool hasReward = actiivityItems != null && actiivityItems.Length > 0;
-            container_ActivityReward.gameObject.SetActive(hasReward);
-            activityNullReawrd.SetActive(!hasReward);
-            if (hasReward) {
-                for (int i = 0; i < actiivityItems.Length; i++) {
-                    activityItemCells[i].gameObject.SetActive(true);
-                    ItemCell itemCell = activityItemCells[i];
-                    ServerItem serverItem = actiivityItems[i];
-                    ItemCellModel cellModel = new ItemCellModel(serverItem.ItemID,false,(ulong)serverItem.Count,serverItem.IsBind
-                        ,"",PackType.rptDeleted,false,ConfigParse.Analysis(serverItem.UserData));
-                    itemCell.Init(cellModel);
-                    itemCell.cellBtn.RemoveAllListeners();
-                    itemCell.cellBtn.AddListener(() => {
-                        ShowItemDetails(serverItem);
-                    });
-                }
-            }
-
-            var achieveItems = dungeonModel.dungeonResult.succItemInfo;
-            hasReward = achieveItems != null && achieveItems.Length > 0;
-            container_AchieveReward.gameObject.SetActive(hasReward);
-            achieveNullReawrd.SetActive(!hasReward);
-            if (hasReward) {
-                for (int i = 0; i < achieveItems.Length; i++) {
-                    achieveItemCells[i].gameObject.SetActive(true);
-                    ItemCell itemCell = achieveItemCells[i];
-                    ServerItem serverItem = achieveItems[i];
-                    ItemCellModel cellModel = new ItemCellModel(serverItem.ItemID,false,(ulong)serverItem.Count, serverItem.IsBind
-                        ,"" ,PackType.rptDeleted,false,ConfigParse.Analysis(serverItem.UserData));
-                    itemCell.Init(cellModel);
-                    itemCell.cellBtn.RemoveAllListeners();
-                    itemCell.cellBtn.AddListener(() => {
-                        ShowItemDetails(serverItem);
-                    });
-                }
-            }
-        }
-
-
-        private void ShowItemDetails(ServerItem serverItem)
-        {
-            //ItemWinModel itemWinModel = ItemCommonCtrl.Instance.OnSingleClickItemCell(serverItem.ItemID);
-            //itemWinModel.itemCount = serverItem.ItemCount;
-            //itemWinModel.isSuite = serverItem.IsSuite;
-            //itemWinModel.isBind = serverItem.IsBind;
-            //itemWinModel.userDataDict = serverItem.UserData == null ? null : ConfigParse.Analysis(serverItem.UserData);
-            //ItemPopModel.Instance.SetDefaultShowUIDict(itemWinModel, false);
-            //itemWinModel.SetShowWin(itemWinModel);
-            ItemAttrData attrData = new ItemAttrData(serverItem.ItemID,false, (ulong)serverItem.Count,-1,serverItem.IsBind
-                ,false,PackType.rptDeleted,"", ConfigParse.Analysis(serverItem.UserData));
-            itemTipsModel.SetItemTipsModel(attrData);
-        }
-    }
-
-}
-
-
-
-
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Wednesday, November 22, 2017
+//--------------------------------------------------------
+
+using Snxxz.UI;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using TableConfig;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+
+
+    public class ActivitySettleWin : Window
+    {
+        [SerializeField] List<ItemCell> activityItemCells = new List<ItemCell>();
+        [SerializeField] RectTransform container_ActivityReward;
+        [SerializeField] GameObject activityNullReawrd;
+        [SerializeField] List<ItemCell> achieveItemCells = new List<ItemCell>();
+        [SerializeField] RectTransform container_AchieveReward;
+        [SerializeField] GameObject achieveNullReawrd;
+        [SerializeField] Button rewardGetBtn;
+
+        DungeonModel m_DungeonModel;
+        DungeonModel dungeonModel
+        {
+            get
+            {
+                return m_DungeonModel ?? (m_DungeonModel = ModelCenter.Instance.GetModel<DungeonModel>());
+            }
+        }
+
+        ItemTipsModel _itemTipsModel;
+        ItemTipsModel itemTipsModel
+        {
+            get
+            {
+                return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
+            }
+        }
+
+        #region Built-in
+        protected override void BindController()
+        {
+        }
+
+        protected override void AddListeners()
+        {
+            rewardGetBtn.onClick.AddListener(CloseClick);
+        }
+
+        protected override void OnPreOpen()
+        {
+            ShowActivityReward();
+        }
+
+        protected override void OnAfterOpen()
+        {
+        }
+
+        protected override void OnPreClose()
+        {
+            dungeonModel.dungeonResult = default(DungeonResult);
+        }
+
+        protected override void OnAfterClose()
+        {
+        }
+        #endregion
+
+        void ShowActivityReward()
+        {
+            foreach (var item in achieveItemCells)
+            {
+                item.gameObject.SetActive(false);
+            }
+            foreach (var item in activityItemCells)
+            {
+                item.gameObject.SetActive(false);
+            }
+            var actiivityItems = dungeonModel.dungeonResult.itemInfo;
+            bool hasReward = actiivityItems != null && actiivityItems.Length > 0;
+            container_ActivityReward.gameObject.SetActive(hasReward);
+            activityNullReawrd.SetActive(!hasReward);
+            if (hasReward)
+            {
+                for (int i = 0; i < actiivityItems.Length; i++)
+                {
+                    if (i < activityItemCells.Count)
+                    {
+                        activityItemCells[i].gameObject.SetActive(true);
+                        ItemCell itemCell = activityItemCells[i];
+                        ServerItem serverItem = actiivityItems[i];
+                        ItemCellModel cellModel = new ItemCellModel(serverItem.ItemID, false, (ulong)serverItem.Count, serverItem.IsBind
+                            , "", PackType.rptDeleted, false, ConfigParse.Analysis(serverItem.UserData));
+                        itemCell.Init(cellModel);
+                        itemCell.cellBtn.RemoveAllListeners();
+                        itemCell.cellBtn.AddListener(() =>
+                        {
+                            ShowItemDetails(serverItem);
+                        });
+                    }
+                }
+            }
+
+            var achieveItems = dungeonModel.dungeonResult.succItemInfo;
+            hasReward = achieveItems != null && achieveItems.Length > 0;
+            container_AchieveReward.gameObject.SetActive(hasReward);
+            achieveNullReawrd.SetActive(!hasReward);
+            if (hasReward)
+            {
+                for (int i = 0; i < achieveItems.Length; i++)
+                {
+                    if (i < achieveItemCells.Count)
+                    {
+                        achieveItemCells[i].gameObject.SetActive(true);
+                        ItemCell itemCell = achieveItemCells[i];
+                        ServerItem serverItem = achieveItems[i];
+                        ItemCellModel cellModel = new ItemCellModel(serverItem.ItemID, false, (ulong)serverItem.Count, serverItem.IsBind
+                            , "", PackType.rptDeleted, false, ConfigParse.Analysis(serverItem.UserData));
+                        itemCell.Init(cellModel);
+                        itemCell.cellBtn.RemoveAllListeners();
+                        itemCell.cellBtn.AddListener(() =>
+                        {
+                            ShowItemDetails(serverItem);
+                        });
+                    }
+                }
+            }
+        }
+
+
+        private void ShowItemDetails(ServerItem serverItem)
+        {
+            ItemAttrData attrData = new ItemAttrData(serverItem.ItemID, false, (ulong)serverItem.Count, -1, serverItem.IsBind
+                , false, PackType.rptDeleted, "", ConfigParse.Analysis(serverItem.UserData));
+            itemTipsModel.SetItemTipsModel(attrData);
+        }
+    }
+
+}
+
+
+
+
diff --git a/System/Compose/New/ComposeWin.cs b/System/Compose/New/ComposeWin.cs
index 0246fbd..23acbad 100644
--- a/System/Compose/New/ComposeWin.cs
+++ b/System/Compose/New/ComposeWin.cs
@@ -48,7 +48,7 @@
         #region Built-in
         protected override void BindController()
         {
-            WindowCenter.Instance.jumpWindowCloseEvent += CloseJumpWindow;
+          
         }
 
         protected override void AddListeners()
@@ -67,9 +67,10 @@
         protected override void OnPreOpen()
         {
             ComposeModel.ResetModel();
-            if(WindowJumpMgr.Instance.IsJumpState)
+
+            if (WindowJumpMgr.Instance.IsJumpState && ComposeModel.secondType == 0)
             {
-                if(ComposeModel.CurComposeModel != null)
+                if (ComposeModel.CurComposeModel != null)
                 {
                     ComposeModel.SetJumpToModel((ComposeFuncType)ComposeModel.CurComposeModel.firstType,
                         ComposeModel.CurComposeModel.secondType, ComposeModel.CurComposeModel.thirdType);
@@ -161,19 +162,8 @@
         {
             if (!WindowJumpMgr.Instance.IsJumpState)
             {
+                ComposeModel.SetCurComposeModel(null);
                 WindowCenter.Instance.Open<MainInterfaceWin>();
-               
-            }
-        }
-
-        private void CloseJumpWindow(Window win)
-        {
-            if(win as ComposeWin)
-            {
-                if (WindowJumpMgr.Instance.jumpPhase <= 1)
-                {
-                    ComposeModel.SetCurComposeModel(null);
-                }
             }
         }
 
diff --git a/System/Dogz/DogzModel.cs b/System/Dogz/DogzModel.cs
index 450a830..15a745c 100644
--- a/System/Dogz/DogzModel.cs
+++ b/System/Dogz/DogzModel.cs
@@ -271,6 +271,21 @@
             return false;
         }
 
+        public bool CheckIsPutOn(int id)
+        {
+            ItemConfig config = Config.Instance.Get<ItemConfig>(id);
+            if (config == null) return false;
+
+            int index = config.EquipPlace % 100 - 1;
+            int color = GetDogzEquipLimitByIndex(presentSelectDogz, index);
+            if (config.ItemColor >= color)
+            {
+                return true;
+            }
+            SysNotifyMgr.Instance.ShowTip("DogzQualityAsk", GetDogzPartNameByIndex(index), GetItemColorName(color));
+            return false;
+        }
+
         #region 鍗忚
 
         public int addAssistCnt { get; private set; } //棰濆璐拱鐨勫姪鎴樻暟
@@ -575,6 +590,11 @@
 
         private void SendPutOffEquip(int equipPlace)
         {
+            if(playerPack.GetReaminGridCount(PackType.rptDogzItem) < 1)
+            {
+                SysNotifyMgr.Instance.ShowTip("DogzBagFull");
+                return;
+            }
             GetDogzEquipPlaceStates(presentSelectDogz);
             CA5C1_tagCMDogzUnEquipItem dogzPutOff = new CA5C1_tagCMDogzUnEquipItem();
             dogzPutOff.DogzID = (byte)presentSelectDogz;
@@ -639,6 +659,23 @@
             }
             dogzItemList.Sort(CompareByDogzItemPack);
             return dogzItemList;
+        }
+
+        public int GetDogzPackMatNum()
+        {
+            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptDogzItem);
+            if (singlePack == null) return 0;
+
+            int num = 0;
+            Dictionary<int, ItemModel> pairs = singlePack.GetPackModelIndexDict();
+            foreach (var value in pairs.Values)
+            {
+               if(value.chinItemModel.EquipPlace == 0)
+                {
+                    num += 1;
+                }
+            }
+            return num;
         }
 
         public bool IsReachSelectCondi(int itemId)
@@ -708,6 +745,12 @@
             y = end.equipScore;
             if (x.CompareTo(y) != 0) return -x.CompareTo(y);
 
+            List<int> strenglist = start.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
+            x = strenglist != null ? strenglist[0] : 0;
+            strenglist = end.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
+            y = strenglist != null ? strenglist[0] : 0;
+            if (x.CompareTo(y) != 0) return -x.CompareTo(y);
+
             return 0;
         }
         #endregion
diff --git a/System/Dogz/DogzPackCell.cs b/System/Dogz/DogzPackCell.cs
index e942d72..01b6a55 100644
--- a/System/Dogz/DogzPackCell.cs
+++ b/System/Dogz/DogzPackCell.cs
@@ -1,30 +1,41 @@
-锘縰sing Snxxz.UI;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-namespace EnhancedUI.EnhancedScroller
-{
-    public class DogzPackCell : ScrollerUI
-    {
-        [SerializeField] List<DogzItemCell> dogzItemlist;
-        DogzPackModel m_Model;
-        DogzPackModel model
-        {
-            get
-            {
-                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DogzPackModel>());
-            }
-        }
-        public override void Refresh(CellView cell)
-        {
-            var _line = cell.index;
-            for (int i = 0; i < 4; i++)
-            {
-                var _index = _line * 4 + i;
-                dogzItemlist[i].Display(_index);
-            }
-        }
-    }
-}
-
+锘縰sing Snxxz.UI;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+namespace EnhancedUI.EnhancedScroller
+{
+    public class DogzPackCell : ScrollerUI
+    {
+        [SerializeField] List<DogzItemCell> dogzItemlist;
+        DogzModel m_Model;
+        DogzModel model
+        {
+            get
+            {
+                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DogzModel>());
+            }
+        }
+        public override void Refresh(CellView cell)
+        {
+            var _line = cell.index;
+            for (int i = 0; i < 4; i++)
+            {
+                var _index = _line * 4 + i;
+                dogzItemlist[i].gameObject.SetActive(true);
+                if (model.SelectDogzItemQuality == 0
+                    && model.SelectDogzItemStart == 0)
+                {
+                    int hideIndex = model.DogzPackGridCnt - model.GetDogzPackMatNum();
+                    if (_index >= hideIndex)
+                    {
+                        dogzItemlist[i].gameObject.SetActive(false);
+                    }
+                }
+              
+                dogzItemlist[i].Display(_index);
+            }
+        }
+    }
+}
+
diff --git a/System/Dogz/DogzPackWin.cs b/System/Dogz/DogzPackWin.cs
index c0d3400..5e08485 100644
--- a/System/Dogz/DogzPackWin.cs
+++ b/System/Dogz/DogzPackWin.cs
@@ -208,14 +208,7 @@
             }
             else
             {
-                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("DogzFunc101"), (bool isOk)=>
-                {
-                    if(isOk)
-                    {
-
-                    }
-                    return;
-                });
+                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("DogzFunc101"));
             }
         }
 
@@ -274,12 +267,28 @@
                     }
                     else
                     {
+                        int putStrenLv = 0;
+                        if (itemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus) != null)
+                        {
+                            putStrenLv = itemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus)[0];
+                        }
+
+                        int selectStrenLv = 0;
+                        if (selectModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus) != null)
+                        {
+                            selectStrenLv = selectModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus)[0];
+                        }
+
                         if (itemModel.chinItemModel.ItemColor < selectModel.chinItemModel.ItemColor
                            || (itemModel.chinItemModel.StarLevel < selectModel.chinItemModel.StarLevel
                            && itemModel.chinItemModel.ItemColor == selectModel.chinItemModel.ItemColor)
                             || (itemModel.equipScore < selectModel.equipScore 
                             && itemModel.chinItemModel.ItemColor == selectModel.chinItemModel.ItemColor
-                            && itemModel.chinItemModel.StarLevel == selectModel.chinItemModel.StarLevel))
+                            && itemModel.chinItemModel.StarLevel == selectModel.chinItemModel.StarLevel)
+                            ||(itemModel.equipScore == selectModel.equipScore
+                            && itemModel.chinItemModel.ItemColor == selectModel.chinItemModel.ItemColor
+                            && itemModel.chinItemModel.StarLevel == selectModel.chinItemModel.StarLevel
+                            && putStrenLv < selectStrenLv))
                         {
                             indexlist.Add(dogzModel.selectEquipPlacelist[0].itemInfo.ItemPlace);
                         }
@@ -290,6 +299,19 @@
             {
                 dogzModel.SendPutOnEquip(indexlist);
             }
+            else
+            {
+                if(dogzModel.GetDogzEquips(dogzModel.presentSelectDogz) != null 
+                    && dogzModel.GetDogzEquips(dogzModel.presentSelectDogz).Count == 5)
+                {
+                    SysNotifyMgr.Instance.ShowTip("DogzOneKeyBest");
+                }
+                else
+                {
+                    SysNotifyMgr.Instance.ShowTip("DogzOneKeyNone");
+                }
+              
+            }
         }
 
         private void ClickStarSelect()
diff --git a/System/Dungeon/DungeonAncientTargetWin.cs b/System/Dungeon/DungeonAncientTargetWin.cs
index 98be4e3..73d9205 100644
--- a/System/Dungeon/DungeonAncientTargetWin.cs
+++ b/System/Dungeon/DungeonAncientTargetWin.cs
@@ -1,57 +1,55 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-
-namespace Snxxz.UI
-{
-    public class DungeonAncientTargetWin : Window
-    {
-        [SerializeField] Text m_DungeonName;
-        [SerializeField] DungeonTargetBehaviour m_DungeonTargetBehaviour;
-
-        DungeonModel m_Model;
-        DungeonModel model
-        {
-            get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); }
-        }
-
-        protected override void AddListeners()
-        {
-        }
-
-        protected override void BindController()
-        {
-        }
-
-        protected override void OnAfterClose()
-        {
-        }
-
-        protected override void OnAfterOpen()
-        {
-        }
-
-        protected override void OnPreClose()
-        {
-            //model.updateMissionEvent -= UpdateTargets;
-        }
-
-        protected override void OnPreOpen()
-        {
-            //model.updateMissionEvent += UpdateTargets;
-            var line = PlayerDatas.Instance.baseData.FBID + 1;
-            m_DungeonName.text = StringUtility.Contact(Language.Get("AncientBattle"), "锛�", Language.Get("FBLine", line), "锛�");
-            m_DungeonTargetBehaviour.Init(31160);
-            //UpdateTargets();
-        }
-
-        private void UpdateTargets()
-        {
-            //var _help = model.mission;
-            //m_DungeonTargets[0].text = _help.topName;
-            //m_DungeonTargets[1].text = UIHelper.ReplaceLargeNum(_help.topScore);
-        }
-    }
-}
-
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+    public class DungeonAncientTargetWin : Window
+    {
+        [SerializeField] List<Text> m_DungeonTargets;
+        [SerializeField] DungeonTargetBehaviour m_DungeonTargetBehaviour;
+
+        DungeonModel m_Model;
+        DungeonModel model
+        {
+            get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); }
+        }
+
+        protected override void AddListeners()
+        {
+        }
+
+        protected override void BindController()
+        {
+        }
+
+        protected override void OnAfterClose()
+        {
+        }
+
+        protected override void OnAfterOpen()
+        {
+        }
+
+        protected override void OnPreClose()
+        {
+            model.updateMissionEvent -= UpdateTargets;
+        }
+
+        protected override void OnPreOpen()
+        {
+            model.updateMissionEvent += UpdateTargets;
+            m_DungeonTargetBehaviour.Init(31160);
+            UpdateTargets();
+        }
+
+        private void UpdateTargets()
+        {
+            var _help = model.mission;
+            m_DungeonTargets[0].text = _help.topName;
+            m_DungeonTargets[1].text = UIHelper.ReplaceLargeNum(_help.topScore);
+        }
+    }
+}
+
diff --git a/System/Dungeon/DungeonFightWin.cs b/System/Dungeon/DungeonFightWin.cs
index 909441b..e4aded4 100644
--- a/System/Dungeon/DungeonFightWin.cs
+++ b/System/Dungeon/DungeonFightWin.cs
@@ -27,7 +27,6 @@
         [SerializeField] RectTransform m_ContainerResPoint;
         [SerializeField] RectTransform m_ContainerAncient;
         [SerializeField] Button m_AncientBtn;
-        [SerializeField] Button m_AncientKing;
         [SerializeField] DungeonItemCollect m_ItemCollect;
         [SerializeField] DungeonGuardSkyBehaviour m_GuardSky;
         [SerializeField] DungeonBossBriefInfoContainer m_BossInfosContainer;
@@ -56,7 +55,6 @@
         {
             m_ExitDungeon.AddListener(ExitDungeon);
             m_AncientBtn.onClick.AddListener(OnAncientBtn);
-            m_AncientKing.onClick.AddListener(AncientKing);
         }
 
         protected override void OnPreOpen()
@@ -319,18 +317,6 @@
             else
             {
                 WindowCenter.Instance.Open<DungeonAncientAchieveWin>();
-            }
-        }
-
-        private void AncientKing()
-        {
-            if (WindowCenter.Instance.IsOpen<DungeonAncientKingWin>())
-            {
-                WindowCenter.Instance.CloseImmediately<DungeonAncientKingWin>();
-            }
-            else
-            {
-                WindowCenter.Instance.Open<DungeonAncientKingWin>();
             }
         }
 
diff --git a/System/Dungeon/TrialDungeonModel.cs b/System/Dungeon/TrialDungeonModel.cs
index 46b97dc..7873329 100644
--- a/System/Dungeon/TrialDungeonModel.cs
+++ b/System/Dungeon/TrialDungeonModel.cs
@@ -277,6 +277,7 @@
                 var dict = singlepack.GetPackModelIndexDict();
                 if (dict != null)
                 {
+                    var badCompare = 1;
                     foreach (var itemModel in dict.Values)
                     {
                         if (itemModel.chinItemModel.EquipPlace == config.EquipPlace
@@ -285,12 +286,20 @@
                             && !ModelCenter.Instance.GetModel<PackModelInterface>().IsOverdue(itemModel.itemInfo.ItemGUID, itemModel.itemId, itemModel.useDataDict))
                         {
                             var compare = EquipCompare(itemModel, config);
-                            if (compare == -1 || compare == 0)
+                            if (compare == 0)
+                            {
+                                badCompare = compare;
+                            }
+                            if (compare == -1)
                             {
                                 return compare;
                             }
                         }
                     }
+                    if (badCompare == 0)
+                    {
+                        return badCompare;
+                    }
                 }
             }
             singlepack = packModel.GetSinglePackModel(PackType.rptEquip);
diff --git a/System/FindPrecious/DemonJarWin.cs b/System/FindPrecious/DemonJarWin.cs
index d6186d2..c13f0f6 100644
--- a/System/FindPrecious/DemonJarWin.cs
+++ b/System/FindPrecious/DemonJarWin.cs
@@ -383,15 +383,14 @@
             m_BossIntroduce.Display(_bossId, false);
             m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(_bossId);
 
-            var npcConfig = Config.Instance.Get<NPCConfig>(_bossId);
-            m_RewardDescription.text = Language.Get(npcConfig.NPCLV >= GeneralConfig.Instance.demonJarLevelLimit ? "FindPrecious_13" : "FindPrecious_18");
-
             DemonJarBossData bossData;
             model.TryGetBossData(_bossId, out bossData);
             var npcDropConfig = Config.Instance.Get<NPCDropItemConfig>(bossData.id);
             m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV);
 
             var demonJarConfig = Config.Instance.Get<DemonJarConfig>(model.selectedBoss);
+            m_RewardDescription.text = Language.Get(demonJarConfig.RewardDescription);
+
             var doubleShowable = demonJarConfig.CanEnterTimes == 0;
             m_ContainerDouble.gameObject.SetActive(doubleShowable);
             if (doubleShowable)
diff --git a/System/KnapSack/Logic/EquipTip.cs b/System/KnapSack/Logic/EquipTip.cs
index af66ee9..ddba040 100644
--- a/System/KnapSack/Logic/EquipTip.cs
+++ b/System/KnapSack/Logic/EquipTip.cs
@@ -846,40 +846,54 @@
 
         private void SetBottomUI()
         {
-            if(itemAttrData.packType != PackType.rptDogzItem && itemAttrData.packType != PackType.rptDogzEquip)
+            switch (itemAttrData.itemConfig.EquipPlace)
             {
-                if (dogzEquipDesText != null)
-                {
-                    dogzEquipDesText.gameObject.SetActive(false);
-                }
-                if (itemAttrData.itemConfig.Description == "" || string.IsNullOrEmpty(itemAttrData.itemConfig.Description))
-                {
-                    equipSourceNormal.gameObject.SetActive(true);
+                case 1:
+                case 2:
+                case 3:
+                case 4:
+                case 5:
+                case 6:
+                case 7:
+                case 8:
+                case 9:
+                case 10:
+                case 12:
+                    if (dogzEquipDesText != null)
+                    {
+                        dogzEquipDesText.gameObject.SetActive(false);
+                    }
+                    if (itemAttrData.itemConfig.Description == "" || string.IsNullOrEmpty(itemAttrData.itemConfig.Description))
+                    {
+                        equipSourceNormal.gameObject.SetActive(true);
+                        equipSourceDes.gameObject.SetActive(false);
+                        equipSourceText.gameObject.SetActive(false);
+                        SetBottomText(equipSourceNormal);
+                    }
+                    else
+                    {
+                        equipSourceNormal.gameObject.SetActive(false);
+                        equipSourceDes.gameObject.SetActive(true);
+                        equipSourceText.gameObject.SetActive(true);
+                        SetBottomText(equipSourceDes);
+                        equipSourceText.text = itemAttrData.itemConfig.Description;
+                    }
+                    break;
+                case 101:
+                case 102:
+                case 103:
+                case 104:
+                case 105:
+                    equipSourceNormal.gameObject.SetActive(false);
                     equipSourceDes.gameObject.SetActive(false);
                     equipSourceText.gameObject.SetActive(false);
-                    SetBottomText(equipSourceNormal);
-                }
-                else
-                {
-                    equipSourceNormal.gameObject.SetActive(false);
-                    equipSourceDes.gameObject.SetActive(true);
-                    equipSourceText.gameObject.SetActive(true);
-                    SetBottomText(equipSourceDes);
-                    equipSourceText.text = itemAttrData.itemConfig.Description;
-                }
+                    if (dogzEquipDesText != null)
+                    {
+                        dogzEquipDesText.gameObject.SetActive(true);
+                        dogzEquipDesText.text = itemAttrData.itemConfig.Description;
+                    }
+                    break;
             }
-            else
-            {
-                equipSourceNormal.gameObject.SetActive(false);
-                equipSourceDes.gameObject.SetActive(false);
-                equipSourceText.gameObject.SetActive(false);
-                if (dogzEquipDesText != null)
-                {
-                    dogzEquipDesText.gameObject.SetActive(true);
-                    dogzEquipDesText.text = itemAttrData.itemConfig.Description;
-                }
-            }
-           
         }
 
         private void SetBottomText(EquipSource source)
diff --git a/System/KnapSack/Logic/ItemTipsModel.cs b/System/KnapSack/Logic/ItemTipsModel.cs
index fc8e729..ad44350 100644
--- a/System/KnapSack/Logic/ItemTipsModel.cs
+++ b/System/KnapSack/Logic/ItemTipsModel.cs
@@ -815,9 +815,13 @@
             {
                 case ItemWinType.equipWin:
                     attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => {
-                        List<int> indexlist = new List<int>();
-                        indexlist.Add(attrData.index);
-                        dogzModel.SendPutOnEquip(indexlist);
+                        if(dogzModel.CheckIsPutOn(attrData.itemId))
+                        {
+                            List<int> indexlist = new List<int>();
+                            indexlist.Add(attrData.index);
+                            dogzModel.SendPutOnEquip(indexlist);
+                        }
+                      
                     });
                     break;
             }
diff --git a/System/KnapSack/New/KnapSackWin.cs b/System/KnapSack/New/KnapSackWin.cs
index eb51ac9..e935de3 100644
--- a/System/KnapSack/New/KnapSackWin.cs
+++ b/System/KnapSack/New/KnapSackWin.cs
@@ -85,7 +85,8 @@
             base.OnActived();
             this.transform.SetAsLastSibling();
             _ornamentTitle.state = TitleBtnState.Locked;
-            if(!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0)
+            if(!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0
+                && playerPack.lookLineIndex == -1)
             {
                 if(playerPack.redpointEquipDecom.state == RedPointState.Simple)
                 {
diff --git a/System/MainInterfacePanel/HoistingWin.cs b/System/MainInterfacePanel/HoistingWin.cs
index 81d1124..831ce4c 100644
--- a/System/MainInterfacePanel/HoistingWin.cs
+++ b/System/MainInterfacePanel/HoistingWin.cs
@@ -21,6 +21,7 @@
         [SerializeField] Button PrayerButton;//绁堟効
         [SerializeField] Button BountyTaskButton;//璧忛噾
         [SerializeField] Button HangUpButton;//鎸傛満
+        [SerializeField] Button FairyTaskButton;//浠欑洘浠诲姟
         private int number = 0;
         DungeonModel m_DungeonModel;
         DungeonModel dungeonModel { get { return m_DungeonModel ?? (m_DungeonModel = ModelCenter.Instance.GetModel<DungeonModel>()); } }
@@ -71,6 +72,11 @@
             WorldBossButton.AddListener(() => {
                 Close();
                 WindowCenter.Instance.Open<FindPreciousFrameWin>();
+            });
+            FairyTaskButton.AddListener(()=> 
+            {
+                Close();
+                WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.UnionTask);
             });
         }
 
@@ -150,7 +156,14 @@
             {
                 HangUpButton.gameObject.SetActive(false);
             }
-
+            if (FuncOpen.Instance.IsFuncOpen(16) && TaskAllocation.Instance.FairyAuAllNumber()<70)//浠欑洘浠诲姟
+            {
+                FairyTaskButton.gameObject.SetActive(true);
+            }
+            else
+            {
+                FairyTaskButton.gameObject.SetActive(false);
+            }
             for (int i = 0; i < Content.childCount; i++)
             {
 
diff --git a/System/MainInterfacePanel/SideMission.cs b/System/MainInterfacePanel/SideMission.cs
index 45d48b1..9be6ada 100644
--- a/System/MainInterfacePanel/SideMission.cs
+++ b/System/MainInterfacePanel/SideMission.cs
@@ -90,11 +90,14 @@
             gridCtrl.Refresh();
             foreach (var key in taskmodel.SideQuestsDic.Keys)
             {
-                if (TaskIdNow == 0)
+                if (taskmodel.SideQuestsDic[key].MissionState != 0)
                 {
-                    TaskIdNow = key;
-                }
-                gridCtrl.AddCell(ScrollerDataType.Header, key);
+                    if (TaskIdNow == 0)
+                    {
+                        TaskIdNow = key;
+                    }
+                    gridCtrl.AddCell(ScrollerDataType.Header, key);
+                }          
             }
             gridCtrl.Restart();
         }
diff --git a/System/MainInterfacePanel/TaskListTip.cs b/System/MainInterfacePanel/TaskListTip.cs
index 59a580f..8d2c628 100644
--- a/System/MainInterfacePanel/TaskListTip.cs
+++ b/System/MainInterfacePanel/TaskListTip.cs
@@ -493,7 +493,15 @@
             }
             else
             {
-                var _position = (_list.Count - type) * m_SizeHeight + (_list.Count - type - 1) * 2;
+                float _position = 0f;
+                if (_list.Count >= 12)
+                {
+                    _position = (12 - type) * m_SizeHeight + (12 - type - 1) * 2;
+                }
+                else
+                {
+                    _position = (_list.Count - type) * m_SizeHeight + (_list.Count - type - 1) * 2;
+                }
                 _position -= 196;
                 m_ScrollRect.verticalNormalizedPosition = Mathf.Clamp01(_position / ((Content as RectTransform).sizeDelta.y - 196));
             }
diff --git a/System/Message/BattleHint.cs b/System/Message/BattleHint.cs
index f61b04d..a2c1ac4 100644
--- a/System/Message/BattleHint.cs
+++ b/System/Message/BattleHint.cs
@@ -6,50 +6,140 @@
 {
     public class BattleHint : Singleton<BattleHint>
     {
+        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+
         public BattleHint()
         {
-            StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
+            SysNotifyMgr.Instance.OnSystemNotifyEvent += OnSystemNotifyEvent;
         }
 
-        private void OnStageLoadFinish()
+        public void OnStageLoadFinish()
         {
             Clear();
+            //var mapId = PlayerDatas.Instance.baseData.MapID;
+            //if (cacheMapId != 0 && cacheMapId != 31160
+            //    && mapId == 31160)
+            //{
+            //    SnxxzGame.Instance.StartCoroutine(Co_LoadFinish());
+            //}
+            //var help = dungeonModel.mission;
+            //ancientKing = mapId != 31160 ? 0 : help.topPlayerID;
+            //cacheMapId = PlayerDatas.Instance.baseData.MapID;
         }
 
         public event Action battleHintUpdate;
+        public event Action evenKillUpdate;
 
-        Queue<string> battleHints = new Queue<string>();
+        Queue<int> battleHints = new Queue<int>();
+        Queue<string> evenKills = new Queue<string>();
 
-        public void Receive(string msg)
+        int ancientKing = 0;
+        int cacheMapId = 0;
+
+        IEnumerator Co_LoadFinish()
         {
-            if (!(StageManager.Instance.CurrentStage is DungeonStage))
+            yield return WaitingForSecondConst.WaitMS300;
+            var mapId = PlayerDatas.Instance.baseData.MapID;
+            if (mapId == 31160)
+            {
+                Receive(3);
+            }
+        }
+
+        public void UpdateDungeonHelp()
+        {
+            var help = dungeonModel.mission;
+            if (DTC0403_tagPlayerLoginLoadOK.finishedLogin)
+            {
+                if (PlayerDatas.Instance.baseData.MapID == 31160
+                    && help.topPlayerID == PlayerDatas.Instance.baseData.PlayerID
+                    && ancientKing != help.topPlayerID)
+                {
+                    ancientKing = help.topPlayerID;
+                    //Receive(1);
+                }
+            }
+            ancientKing = help.topPlayerID;
+        }
+
+        private void OnSystemNotifyEvent(string msg)
+        {
+            if (!(StageManager.Instance.CurrentStage is DungeonStage)
+                || StageManager.Instance.isLoading)
             {
                 return;
             }
-            battleHints.Enqueue(msg);
-            if (StageManager.Instance.isLoading)
+            if (msg.Equals("AncientBattlefield_8"))
+            {
+                //Receive(2);
+            }
+        }
+
+        public void Receive(int ancientType)
+        {
+            //battleHints.Enqueue(ancientType);
+            //if (!WindowCenter.Instance.IsOpen<BattleHintWin>())
+            //{
+            //    WindowCenter.Instance.Open<BattleHintWin>();
+            //}
+            //else
+            //{
+            //    if (battleHintUpdate != null)
+            //    {
+            //        battleHintUpdate();
+            //    }
+            //}
+        }
+
+        public void ReceiveEvenKill(string message, ArrayList list)
+        {
+            if (PlayerDatas.Instance.baseData.MapID != 31160
+                || !(StageManager.Instance.CurrentStage is DungeonStage)
+                || StageManager.Instance.isLoading)
             {
                 return;
             }
+            var evenKillCount = 0;
+            if (list != null && list.Count > 0)
+            {
+                int.TryParse(list[0].ToString(), out evenKillCount);
+            }
+            if (evenKillCount == 0)
+            {
+                return;
+            }
+            message = message.Replace("%s0", evenKillCount.ToString());
+            evenKills.Enqueue(message);
             if (!WindowCenter.Instance.IsOpen<BattleHintWin>())
             {
                 WindowCenter.Instance.Open<BattleHintWin>();
             }
             else
             {
-                if (battleHintUpdate != null)
+                if (evenKillUpdate != null)
                 {
-                    battleHintUpdate();
+                    evenKillUpdate();
                 }
             }
         }
 
-        public bool TryGetBattleHint(out string msg)
+        public bool TryGetBattleHint(out int ancientType)
         {
-            msg = string.Empty;
+            ancientType = 0;
             if (battleHints.Count > 0)
             {
-                msg = battleHints.Dequeue();
+                ancientType = battleHints.Dequeue();
+                return true;
+            }
+            return false;
+        }
+
+        public bool TryGetEvenKill(out string message)
+        {
+            message = string.Empty;
+            if (evenKills.Count > 0)
+            {
+                message = evenKills.Dequeue();
                 return true;
             }
             return false;
@@ -58,6 +148,7 @@
         public void Clear()
         {
             battleHints.Clear();
+            evenKills.Clear();
         }
     }
 }
diff --git a/System/Message/BattleHintWin.cs b/System/Message/BattleHintWin.cs
index e284f8c..4c05f33 100644
--- a/System/Message/BattleHintWin.cs
+++ b/System/Message/BattleHintWin.cs
@@ -6,6 +6,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using TableConfig;
 using UnityEngine;
 using UnityEngine.UI;
 
@@ -14,11 +15,21 @@
 
     public class BattleHintWin : Window
     {
-        [SerializeField] Image m_BattleHint;
+        [SerializeField] RectTransform m_ContainerBattleHint;
+        [SerializeField] RectTransform m_ContainerKing;
+        [SerializeField] RectTransform m_ContainerEnemy;
+        [SerializeField] RectTransform m_ContainerAncientRemind;
         [SerializeField] ScaleTween m_BattleHintTween;
         [SerializeField, Header("淇濈暀鏃堕棿")] float m_KeepTime = 2f;
 
-        bool inBattleHint = false;
+        [SerializeField] RectTransform m_ContainerEvenKill;
+        [SerializeField] ScaleTween m_EvenKillTween;
+        [SerializeField] Text m_EvenKill;
+        [SerializeField, Header("淇濈暀鏃堕棿")] float m_EvenKillTime = 2f;
+
+        bool isBattleHint = false;
+        bool isEvenKill = false;
+
         #region Built-in
         protected override void BindController()
         {
@@ -30,15 +41,19 @@
 
         protected override void OnPreOpen()
         {
-            inBattleHint = false;
-            m_BattleHintTween.gameObject.SetActive(false);
+            m_ContainerBattleHint.gameObject.SetActive(false);
+            m_ContainerEvenKill.gameObject.SetActive(false);
+            isBattleHint = false;
+            isEvenKill = false;
         }
 
         protected override void OnActived()
         {
             base.OnActived();
             DisplayBattleHint();
+            DisplayEvenKill();
             BattleHint.Instance.battleHintUpdate += BattleHintUpdate;
+            BattleHint.Instance.evenKillUpdate += EvenKillUpdate;
         }
 
         protected override void OnAfterOpen()
@@ -48,6 +63,7 @@
         protected override void OnPreClose()
         {
             BattleHint.Instance.battleHintUpdate -= BattleHintUpdate;
+            BattleHint.Instance.evenKillUpdate -= EvenKillUpdate;
         }
 
         protected override void OnAfterClose()
@@ -57,7 +73,7 @@
 
         private void BattleHintUpdate()
         {
-            if (!inBattleHint)
+            if (!isBattleHint)
             {
                 DisplayBattleHint();
             }
@@ -65,13 +81,26 @@
 
         void DisplayBattleHint()
         {
-            string iconKey = string.Empty;
-            if (BattleHint.Instance.TryGetBattleHint(out iconKey))
+            var ancientType = 0;
+            if (BattleHint.Instance.TryGetBattleHint(out ancientType))
             {
-                inBattleHint = true;
-                m_BattleHint.SetSprite(iconKey);
-                m_BattleHint.SetNativeSize();
-                m_BattleHintTween.gameObject.SetActive(true);
+                isBattleHint = true;
+                m_ContainerKing.gameObject.SetActive(false);
+                m_ContainerEnemy.gameObject.SetActive(false);
+                m_ContainerAncientRemind.gameObject.SetActive(false);
+                switch (ancientType)
+                {
+                    case 1:
+                        m_ContainerKing.gameObject.SetActive(true);
+                        break;
+                    case 2:
+                        m_ContainerEnemy.gameObject.SetActive(true);
+                        break;
+                    case 3:
+                        m_ContainerAncientRemind.gameObject.SetActive(true);
+                        break;
+                }
+                m_ContainerBattleHint.gameObject.SetActive(true);
                 m_BattleHintTween.SetStartState();
                 m_BattleHintTween.Play(OnBattleHintTweenComplete);
             }
@@ -82,13 +111,47 @@
             StartCoroutine(Co_Complete());
         }
 
+        private void EvenKillUpdate()
+        {
+            if (!isEvenKill)
+            {
+                DisplayEvenKill();
+            }
+        }
+
+        void DisplayEvenKill()
+        {
+            string evenKill = string.Empty;
+            if (BattleHint.Instance.TryGetEvenKill(out evenKill))
+            {
+                isEvenKill = true;
+                m_EvenKill.text= evenKill;
+                m_ContainerEvenKill.gameObject.SetActive(true);
+                m_EvenKillTween.SetStartState();
+                m_EvenKillTween.Play(OnEvenKillComplete);
+            }
+        }
+
+        private void OnEvenKillComplete()
+        {
+            StartCoroutine(Co_EvenKill());
+        }
+
         IEnumerator Co_Complete()
         {
             yield return WaitingForSecondConst.GetWaitForSeconds(m_KeepTime);
-            inBattleHint = false;
-            m_BattleHintTween.gameObject.SetActive(false);
+            isBattleHint = false;
+            m_ContainerBattleHint.gameObject.SetActive(false);
             DisplayBattleHint();
         }
+
+        IEnumerator Co_EvenKill()
+        {
+            yield return WaitingForSecondConst.GetWaitForSeconds(m_EvenKillTime);
+            isEvenKill = false;
+            m_ContainerEvenKill.gameObject.SetActive(false);
+            DisplayEvenKill();
+        }
     }
 }
 
diff --git a/System/Message/SysNotifyMgr.cs b/System/Message/SysNotifyMgr.cs
index 7fd90e8..5046c40 100644
--- a/System/Message/SysNotifyMgr.cs
+++ b/System/Message/SysNotifyMgr.cs
@@ -29,6 +29,13 @@
     {
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
         StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
+        StartCoroutine(Co_Instance());
+    }
+
+    IEnumerator Co_Instance()
+    {
+        yield return null;
+        var instance = BattleHint.Instance;
     }
 
     protected override void OnDestroy()
@@ -41,6 +48,7 @@
     private void OnStageLoadFinish()
     {
         ServerTipDetails.OnStageLoadFinish();
+        BattleHint.Instance.OnStageLoadFinish();
     }
 
     private void BeforePlayerDataInitializeEvent()
@@ -211,8 +219,8 @@
                         OnSysTipEvent(type[i], msg, tipInfoList);
                     }
                     break;
-                case SysNotifyType.SysBattleHint:
-                    BattleHint.Instance.Receive(msg);
+                case SysNotifyType.SysEvenKill:
+                    //BattleHint.Instance.ReceiveEvenKill(msg, tipInfoList);
                     break;
             }
         }
@@ -235,7 +243,7 @@
         SysTeamTip = 41,//闃熶紞棰戦亾鎻愮ず
         SysRealmTip = 100,//澧冪晫鎻愮ず
         SysFixedTip1 = 11,//鍥哄畾鎻愮ず2
-        SysBattleHint = 6,//涓婂彜鎴樺満鎻愮ず
+        SysEvenKill = 7,//涓婂彜鎴樺満杩炴潃鎻愮ず
     }
 
     public int Compare(SystemHintData x, SystemHintData y)
diff --git a/System/OpenServerActivity/FeaturesType.cs b/System/OpenServerActivity/FeaturesType.cs
index 48eec67..538d982 100644
--- a/System/OpenServerActivity/FeaturesType.cs
+++ b/System/OpenServerActivity/FeaturesType.cs
@@ -15,7 +15,9 @@
         [SerializeField] Text m_IconName;//鍚嶅瓧
         [SerializeField] Image m_Icon;
         [SerializeField] Button  m_Button;
-
+        [SerializeField] UIEffect m_UIeffect;
+        InSevenDayModel m_InSevenDayModel;
+        InSevenDayModel inSevenDay { get { return m_InSevenDayModel ?? (m_InSevenDayModel = ModelCenter.Instance.GetModel<InSevenDayModel>()); } }
         public GameObject ImageSelected
         {
             get { return m_ImageSelected; }
@@ -34,6 +36,14 @@
             {
                 return;
             }
+            if (inSevenDay.RewardForDic.ContainsKey(day) && inSevenDay.RewardForDic[day] == 0)
+            {
+                m_UIeffect.Play();
+            }
+            else
+            {
+                m_UIeffect.Stop();
+            }
             DayText(day);
             m_Icon.SetSprite(InsevenConfig.ICON);
             m_IconName.text = InsevenConfig.RewardName;
diff --git a/System/OpenServerActivity/InSevenDayWin.cs b/System/OpenServerActivity/InSevenDayWin.cs
index 57152ab..06ca216 100644
--- a/System/OpenServerActivity/InSevenDayWin.cs
+++ b/System/OpenServerActivity/InSevenDayWin.cs
@@ -25,6 +25,9 @@
         [SerializeField] Text m_TextName;
         [SerializeField] Image m_ImageShow;
         [SerializeField] Image m_ImageShowCH;
+        [SerializeField] UIEffect m_UIEffect1;
+        [SerializeField] UIEffect m_UIEffect2;
+        [SerializeField] UIEffect m_UIEffect3;
         [SerializeField] Image m_ImageDay;
         [SerializeField] Image m_ImageTex1;
         [SerializeField] Image m_ImageTex2;
@@ -118,11 +121,12 @@
             {
                 return;
             }
+            SetUIEffect();
             m_rewardInformation.GetIsDays(SelectedDay);
             m_TextName.text = InsevenConfig.RewardName;
             if (InsevenConfig.IsTitle == 1)
             {
-                m_ImageShow.gameObject.SetActive(false);
+                m_ImageShow.gameObject.SetActive(false);            
                 m_ImageShowCH.gameObject.SetActive(true);
                 m_ImageShowCH.SetSprite(InsevenConfig.Image);
                 m_ImageShowCH.SetNativeSize();
@@ -142,7 +146,31 @@
             m_ImageTex2.SetSprite(InsevenConfig.ImgTxt2);
             m_ImageTex2.SetNativeSize();
         }
-
+        private void SetUIEffect()
+        {
+            switch (SelectedDay)
+            {
+                case 1:
+                case 4:
+                case 6:
+                    m_UIEffect1.gameObject.SetActive(true);
+                    m_UIEffect2.gameObject.SetActive(false);
+                    m_UIEffect3.gameObject.SetActive(false);
+                    break;
+                case 2:
+                case 3:
+                    m_UIEffect1.gameObject.SetActive(false);
+                    m_UIEffect2.gameObject.SetActive(true);
+                    m_UIEffect3.gameObject.SetActive(false);
+                    break;
+                case 5:
+                case 7:
+                    m_UIEffect1.gameObject.SetActive(false);
+                    m_UIEffect2.gameObject.SetActive(false);
+                    m_UIEffect3.gameObject.SetActive(true);
+                    break;
+            }
+        }
         #endregion
 
     }
diff --git a/System/Role/RolePanel.cs b/System/Role/RolePanel.cs
index 4528a96..15c1f87 100644
--- a/System/Role/RolePanel.cs
+++ b/System/Role/RolePanel.cs
@@ -104,7 +104,8 @@
         }
         private void OnRenameClick()
         {
-            MessageWin.Inst.ShowFixedTip(Language.Get("Z1025"));
+            //SysNotifyMgr.Instance.ShowTip("JadeInvestmentLimit1");
+            WindowCenter.Instance.Open<RoleRenameWin>();
         }
 
         private void OnElixirClick()
diff --git a/System/Role/RoleRenameWin.cs b/System/Role/RoleRenameWin.cs
index a4acfeb..14d6866 100644
--- a/System/Role/RoleRenameWin.cs
+++ b/System/Role/RoleRenameWin.cs
@@ -50,6 +50,7 @@
             if (itemConfig == null) return;
             ItemCellModel cellModel = new ItemCellModel(renameToolId, false,(ulong)GetRenameToolNum());
             itemCell.Init(cellModel);
+            itemCell.countText.gameObject.SetActive(true);
             if(GetRenameToolNum() > 0)
             {
                 itemCell.countText.text = StringUtility.Contact(UIHelper.GetTextColorByItemColor(TextColType.Green,GetRenameToolNum().ToString()),
@@ -120,7 +121,7 @@
               {
                   if (isOk)
                   {
-                      LanguageVerify.Instance.VerifyPlayerName(renameInput.text, 0,
+                      LanguageVerify.Instance.VerifyPlayerName(renameInput.text, (int)PlayerDatas.Instance.baseData.PlayerID,
                         UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName), PlayerDatas.Instance.baseData.LV,
                          PlayerDatas.Instance.baseData.VIPLv, (bool ok, string name) =>
                          {
diff --git a/System/RolePromote/RolePromoteWin.cs b/System/RolePromote/RolePromoteWin.cs
index 348ebfb..914885d 100644
--- a/System/RolePromote/RolePromoteWin.cs
+++ b/System/RolePromote/RolePromoteWin.cs
@@ -79,8 +79,11 @@
                 case PlayerDataRefresh.LV:
                 case PlayerDataRefresh.LV2:
                 case PlayerDataRefresh.LVEx:
+                    UpdateGrade();
+                    break;
                 case PlayerDataRefresh.FightPower:
                     UpdateGrade();
+                    DisplayFightPower();
                     break;
             }
         }
@@ -133,7 +136,7 @@
                 }
             }
             scrollerController.Restart();
-            m_FightPowerTxt.text = Language.Get("RolePromoteFightPower", PlayerDatas.Instance.baseData.FightPoint);
+            DisplayFightPower();
         }
 
         void InitResourceData()
@@ -147,6 +150,11 @@
             scrollerController.Restart();
         }
 
+        private void DisplayFightPower()
+        {
+            m_FightPowerTxt.text = Language.Get("RolePromoteFightPower", PlayerDatas.Instance.baseData.FightPoint);
+        }
+
         private void UpdateGrade()
         {
             var _playerLvCfg = Config.Instance.Get<PlayerLVConfig>(PlayerDatas.Instance.baseData.LV);
diff --git a/System/Strengthening/GodBeastAttributes.cs b/System/Strengthening/GodBeastAttributes.cs
index a790887..6eda79e 100644
--- a/System/Strengthening/GodBeastAttributes.cs
+++ b/System/Strengthening/GodBeastAttributes.cs
@@ -40,6 +40,9 @@
         [SerializeField] Button m_StrengthenDoubleBtn;//鍙屽�嶅己鍖栨寜閽�
         [SerializeField] Text m_NeedFairy;//鎵�闇�鐨勪粰鐜�
         [SerializeField] GameObject m_BottomBox;
+
+        [SerializeField] Text m_Text_Attributes3;
+        [SerializeField] Text m_Text_Attributes4;
         DogzModel Dogz_model;
         DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
         PlayerPackModel _playerPack;
@@ -72,6 +75,8 @@
             }
             GodBeastReinforcementWin.ChooseToModify += ChooseToModify;
             godBeastModel.AbsorbEvent += AbsorbEvent;
+            m_Text_Attributes3.gameObject.SetActive(false);
+            m_Text_Attributes4.gameObject.SetActive(false);
         }
         private void OnDisable()
         {
@@ -286,6 +291,8 @@
                 m_FullLevel.SetActive(false);
                 m_UIAlphaTween.gameObject.SetActive(false);
                 m_BottomBox.SetActive(false);
+                m_Text_Attributes3.gameObject.SetActive(false);
+                m_Text_Attributes4.gameObject.SetActive(false);
             }
         }
 
@@ -327,7 +334,8 @@
                 }
                 else
                 {
-
+                    m_Text_Attributes3.gameObject.SetActive(false);
+                    m_Text_Attributes4.gameObject.SetActive(false);
                     m_StrengthenDoubleBtn.interactable = true;
                     m_StrengthenBtn.interactable = true;
                     m_Text_two.SetActive(true);
@@ -348,6 +356,8 @@
             }
             else
             {
+                m_Text_Attributes3.gameObject.SetActive(false);
+                m_Text_Attributes4.gameObject.SetActive(false);
                 if (m_DoubleToggle.isOn)
                 {
                     m_StrengthenBtn.gameObject.SetActive(false);
@@ -596,25 +606,28 @@
         }
         private void FullLevelAttributes()//璁剧疆婊$骇灞炴��
         {
+            m_TextAttributes1.gameObject.SetActive(false);
+            m_TextAttributesAdd1.gameObject.SetActive(false);
+            m_TextAttributes2.gameObject.SetActive(false);
+            m_TextAttributesAdd2.gameObject.SetActive(false);
             var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv);
             int[] AttType = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attType);
             int[] AttValue = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attValue);
-            m_TextAttributesAdd1.gameObject.SetActive(false);
-            m_TextAttributesAdd2.gameObject.SetActive(false);
             if (AttType.Length > 1)
             {
-                m_TextAttributes1.gameObject.SetActive(true);
-                m_TextAttributes2.gameObject.SetActive(true);
+                m_Text_Attributes3.gameObject.SetActive(true);
+                m_Text_Attributes4.gameObject.SetActive(true);
                 string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name;
                 string StrName2 = Config.Instance.Get<PlayerPropertyConfig>(AttType[1]).Name;
-                m_TextAttributes1.text = StrName1 + ":" + AttValue[0];
-                m_TextAttributes2.text = StrName2 + ":" + AttValue[1];
+                m_Text_Attributes3.text = StrName1 + ":" + AttValue[0];
+                m_Text_Attributes4.text = StrName2 + ":" + AttValue[1];
             }
             else
             {
-                m_TextAttributes2.gameObject.SetActive(false);
+                m_Text_Attributes3.gameObject.SetActive(true);
+                m_Text_Attributes4.gameObject.SetActive(false);
                 string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name;
-                m_TextAttributes1.text = StrName1 + ":" + AttValue[0];
+                m_Text_Attributes3.text = StrName1 + ":" + AttValue[0];
             }
         }
     }
diff --git a/System/Strengthening/GodBeastEntry.cs b/System/Strengthening/GodBeastEntry.cs
index 92c6ba7..78902df 100644
--- a/System/Strengthening/GodBeastEntry.cs
+++ b/System/Strengthening/GodBeastEntry.cs
@@ -17,7 +17,7 @@
         [SerializeField] GameObject m_Selectedbar_Image;
         [SerializeField] Text m_Item_Text;
         [SerializeField] Button m_GodBeastButton;
-
+        [SerializeField] RedpointBehaviour m_RedPoint;
         public Button GodBeastButton
         {
             get { return m_GodBeastButton; }
@@ -25,7 +25,8 @@
         }
 
         DogzModel Dogz_model;
-        DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
+        DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
+        GodBeastModel godBeastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } }
         public void GetGodBeastLocationMarker(int locationMarker, int currentlySelected)
         {
             int godBeastNumber = locationMarker % 100;//绁炲吔缂栧彿
@@ -38,6 +39,10 @@
                     if (itemModel[i].EquipPlace == godBeastPart)
                     {
                         ItemCellModel ItemModel = new ItemCellModel(itemModel[i].itemId, true, 0, 0);//涓嶆樉绀虹粦瀹�
+                        if (godBeastModel.GodBeastRedPointDic.ContainsKey(itemModel[i].itemInfo.ItemPlace))
+                        {
+                            m_RedPoint.redpointId = godBeastModel.GodBeastRedPointDic[(itemModel[i].itemInfo.ItemPlace)].id;
+                        }
                         m_itemCell.Init(ItemModel);
                         var itemConfig = Config.Instance.Get<ItemConfig>(itemModel[i].itemId);
                         var IudetDogzEquipPlus = itemModel[i].GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);// 绁炲吔瑁呭寮哄寲淇℃伅鍒楄〃 [寮哄寲绛夌骇, 寮哄寲鐔熺粌搴
diff --git a/System/Strengthening/GodBeastModel.cs b/System/Strengthening/GodBeastModel.cs
index 5a8d41c..395f080 100644
--- a/System/Strengthening/GodBeastModel.cs
+++ b/System/Strengthening/GodBeastModel.cs
@@ -23,6 +23,8 @@
     DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
     PlayerPackModel _playerPack;
     PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
+    public Dictionary<int, Redpoint> GodBeastRedPointDic = new Dictionary<int, Redpoint>();//key瑁呭浣嶇疆涓嬫爣(绾㈢偣)
+    private List<int> RedPointLIst = new List<int>();
     private const int Redpoint_key1 = 11202;//绁炲吔寮哄寲绾㈢偣
     public Redpoint redPointStre1 = new Redpoint(112, Redpoint_key1);
     public override void Init()
@@ -45,11 +47,22 @@
         playerPack.ItemCntReduceAct -= ItemCntReduceAct;
         dogz_model.UpdateAssistDogzEvent -= UpdateAssistDogzEvent;
         FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+        DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent;
+        DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent += MakeItemAnswerEvent;
         playerPack.ItemCntAddAct += ItemCntAddAct;//鐗╁搧鏁伴噺澧炲姞
         playerPack.ItemCntReduceAct += ItemCntReduceAct;//鐗╁搧鏁伴噺鍑忓皯
         dogz_model.UpdateAssistDogzEvent += UpdateAssistDogzEvent;
         FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
+        SetRedPointID();
         GodBeastRedPoint();
+    }
+
+    private void MakeItemAnswerEvent(H0721_tagMakeItemAnswer obj)
+    {
+        if ((int)obj.MakeType == (int)MakeType.Def_mitDogzEquipPlus)
+        {
+            GodBeastRedPoint();
+        }
     }
 
     private void OnFuncStateChangeEvent(int obj)
@@ -62,6 +75,11 @@
 
     private void UpdateAssistDogzEvent()
     {
+        foreach (var key in GodBeastRedPointDic.Keys)
+        {
+            GodBeastRedPointDic[key].state = RedPointState.None;
+        }
+        SetRedPointID();
         GodBeastRedPoint();
     }
 
@@ -200,7 +218,7 @@
                     if (_IudetDogzEquipPlus != null)
                     {
                         SingleProficiency += _IudetDogzEquipPlus[1];
-                        DoubleProficiency += item_Model.chinItemModel.EffectValueA1+ _IudetDogzEquipPlus[1];
+                        DoubleProficiency += item_Model.chinItemModel.EffectValueA1 + _IudetDogzEquipPlus[1];
                     }
                     else
                     {
@@ -233,12 +251,93 @@
         }
     }
 
+
+    private void SetRedPointID()//璁剧疆绾㈢偣ID
+    {
+        GodBeastRedPointDic.Clear();
+        RedPointLIst.Clear();
+        var DogzEquipDict = dogz_model.dogzAssistStateDict;
+        foreach (var key in DogzEquipDict.Keys)
+        {
+            if (DogzEquipDict[key] == 1)
+            {
+                List<ItemModel> itemModel = dogz_model.GetDogzEquips(key);
+                for (int i = 0; i < itemModel.Count; i++)
+                {
+                    int IndexId = itemModel[i].itemInfo.ItemPlace;
+                    int RedPoint = Redpoint_key1 * 1000 + IndexId;
+                    Redpoint redPointStare = new Redpoint(Redpoint_key1, RedPoint);
+                    if (!GodBeastRedPointDic.ContainsKey(IndexId))
+                    {
+                        GodBeastRedPointDic.Add(IndexId, redPointStare);
+                        RedPointLIst.Add(IndexId);
+                    }
+                }
+            }
+        }
+        RedPointLIst.Sort(Compare);
+    }
+    int Compare(int x, int y)
+    {
+        ItemModel IindexitemModelx = playerPack.GetItemModelByIndex(PackType.rptDogzEquip, x);
+        ItemModel IindexitemModely = playerPack.GetItemModelByIndex(PackType.rptDogzEquip, y);
+        if (IindexitemModelx.chinItemModel.ItemColor.CompareTo(IindexitemModely.chinItemModel.ItemColor) != 0)//鍝佽川
+        {
+            return -IindexitemModelx.chinItemModel.ItemColor.CompareTo(IindexitemModely.chinItemModel.ItemColor);
+        }
+        if (IindexitemModelx.chinItemModel.StarLevel.CompareTo(IindexitemModely.chinItemModel.StarLevel) != 0)//鏄熺骇
+        {
+            return -IindexitemModelx.chinItemModel.StarLevel.CompareTo(IindexitemModely.chinItemModel.StarLevel);
+        }
+        if (IindexitemModelx.chinItemModel.EquipPlace.CompareTo(IindexitemModely.chinItemModel.EquipPlace) != 0)//瑁呭浣�
+        {
+            return IindexitemModelx.chinItemModel.EquipPlace.CompareTo(IindexitemModely.chinItemModel.EquipPlace);
+        }
+        if (GetLV(IindexitemModelx).CompareTo(GetLV(IindexitemModely)) != 0)//寮哄寲绛夌骇
+        {
+            return -GetLV(IindexitemModelx).CompareTo(GetLV(IindexitemModely));
+        }
+        if (GetProficiency(IindexitemModelx).CompareTo(GetProficiency(IindexitemModely)) != 0)//鐔熺粌搴�
+        {
+            return -GetProficiency(IindexitemModelx).CompareTo(GetProficiency(IindexitemModely));
+        }
+        if (IindexitemModelx.equipScore.CompareTo(IindexitemModely.equipScore) != 0)//瑁呭璇勫垎
+        {
+            return -IindexitemModelx.equipScore.CompareTo(IindexitemModely.equipScore);
+        }
+        return 1;
+    }
+
+    private int GetLV(ItemModel _ItemModel)
+    {
+        var IudetDogzEquipPlus = _ItemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
+        if (IudetDogzEquipPlus != null)
+        {
+            return IudetDogzEquipPlus[0];
+        }
+        return 0;
+    }
+    private int GetProficiency(ItemModel _ItemModel)
+    {
+        var IudetDogzEquipPlus = _ItemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
+        if (IudetDogzEquipPlus != null)
+        {
+            return IudetDogzEquipPlus[1];
+        }
+        return 0;
+    }
+    public int IndexId = 0;
     private void GodBeastRedPoint()//绁炲吔寮哄寲绾㈢偣
     {
         bool Istrue = false;
+        bool IsRedPoint = false;
         int ItemColor = 10;
         var DogzEquipDict = dogz_model.dogzAssistStateDict;
-        redPointStre1.state = RedPointState.None;
+        IndexId = 0;
+        foreach (var key in GodBeastRedPointDic.Keys)
+        {
+            GodBeastRedPointDic[key].state = RedPointState.None;
+        }
         int Type = 0;
         foreach (var key in DogzEquipDict.Keys)
         {
@@ -278,25 +377,55 @@
                         var itemModelBack = BackpackDic[keyBack];
                         if (itemModelBack.chinItemModel.Type == 70)//鏈夌鍏芥按鏅舵椂鐨勭孩鐐�
                         {
-                            redPointStre1.state = RedPointState.Simple;
-                            return;
+                            IsRedPoint = true;
                         }
                         if (itemModelBack.chinItemModel.ItemColor < _ItemColor)
                         {
                             _ItemColor = itemModelBack.chinItemModel.ItemColor;
                         }
                     }
-                    if (Type >= dogz_model.curSumAssistNum && ItemColor> _ItemColor)//鍑烘垬绁炲吔宸叉弧锛屼笖绁炲吔鑳屽寘鏈夊搧璐ㄤ綆浜庡凡鍔╂垬绁炲吔鍝佽川棰滆壊鏃�
+                    if (Type >= dogz_model.curSumAssistNum && ItemColor > _ItemColor)//鍑烘垬绁炲吔宸叉弧锛屼笖绁炲吔鑳屽寘鏈夊搧璐ㄤ綆浜庡凡鍔╂垬绁炲吔鍝佽川棰滆壊鏃�
                     {
-                        redPointStre1.state = RedPointState.Simple;
-                        return;
+                        IsRedPoint = true;
                     }
                 }
             }
         }
+
+        if (IsRedPoint)
+        {
+            int Lv = 100;
+            for (int i = 0; i < RedPointLIst.Count; i++)
+            {
+                ItemModel _itemModel = playerPack.GetItemModelByIndex(PackType.rptDogzEquip, RedPointLIst[i]);
+               int MaxLv= QualityLimit[_itemModel.chinItemModel.ItemColor];//鑾峰彇鏈�澶у己鍖栫瓑绾�
+                var _IudetDogzEquipPlus = _itemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
+                if (_IudetDogzEquipPlus != null)
+                {
+                    if (_IudetDogzEquipPlus[0]<MaxLv && _IudetDogzEquipPlus[0] < Lv)
+                    {
+                        Lv = _IudetDogzEquipPlus[0];
+                        IndexId = RedPointLIst[i];
+                    }
+                }
+                else
+                {
+                    if (0 < Lv)
+                    {
+                        Lv = 0;
+                        IndexId = RedPointLIst[i];
+                    }
+                }
+            }
+            if (GodBeastRedPointDic.ContainsKey(IndexId))
+            {
+                GodBeastRedPointDic[IndexId].state = RedPointState.Simple;
+            }
+        }
+
     }
 
-    public bool  IsNeedEquipment()//鏄惁鏈夋瀬鍝佽澶囬渶瑕佸脊妗�
+    public bool IsNeedEquipment()//鏄惁鏈夋瀬鍝佽澶囬渶瑕佸脊妗�
     {
         bool IsBool = false;
         foreach (var key in Absorption_Dic.Keys)
@@ -309,7 +438,7 @@
                     IsBool = true;
                 }
             }
-          
+
         }
         return IsBool;
     }
diff --git a/System/Strengthening/GodBeastReinforcementWin.cs b/System/Strengthening/GodBeastReinforcementWin.cs
index d4d1dd2..c415375 100644
--- a/System/Strengthening/GodBeastReinforcementWin.cs
+++ b/System/Strengthening/GodBeastReinforcementWin.cs
@@ -3,6 +3,7 @@
 //    [  Date ]:           Thursday, August 16, 2018
 //--------------------------------------------------------
 
+using EnhancedUI.EnhancedScroller;
 using System;
 using System.Collections;
 using System.Collections.Generic;
@@ -40,22 +41,24 @@
         private List<GodBeastClass> GodBeastList = new List<GodBeastClass>();
         private int CurrentlySelected = 0;
         private int JumpIndex = 0;
+        public int Offset = 0;//鍋忕Щ閲�
         #region Built-in
         protected override void BindController()
-        {
+        {
+            m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
         }
 
         protected override void AddListeners()
-        {
-
+        {
+           
         }
 
         protected override void OnPreOpen()
         {
             CurrentlySelected = 0;
             GetGodBeast();//鑾峰彇绁炲吔寮哄寲瑁呭淇℃伅
-            m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
-            if (godBeastModel.ItemPlace != -1)
+           
+            if (godBeastModel.ItemPlace != -1)//瑁呭寮哄寲璺宠浆閫変腑
             {
                 for (int i = 0; i < GodBeastList.Count; i++)
                 {
@@ -74,23 +77,45 @@
             }
             else
             {
-                if (GodBeastList.Count > 0)
+
+                if (godBeastModel.redPointStre1.state == RedPointState.Simple)//寮哄寲绾㈢偣閫変腑
                 {
-                    CurrentlySelected = GodBeastList[0].LocationMarker;
-                    GetDogZBagIndex();
-                    JumpIndex = 0;                 
+                    for (int i = 0; i < GodBeastList.Count; i++)
+                    {
+                        if (GodBeastList[i].ItemPlace == godBeastModel.IndexId)
+                        {
+                            JumpIndex = i;
+                            CurrentlySelected = GodBeastList[i].LocationMarker;
+                            GetDogZBagIndex();
+                        }
+                    }
+                }
+                else
+                {
+                    if (GodBeastList.Count > 0)//榛樿閫変腑涓�
+                    {
+                        CurrentlySelected = GodBeastList[0].LocationMarker;
+                        GetDogZBagIndex();
+                        JumpIndex = 0;
+                    }
                 }
             }
             OnCreateGridLineCell(m_ScrollerController);
             m_GodBeastSlidingList.Init();
             m_GodBeastAttributes.Init();
             m_GodBeastAttributes.GetGodBeastLocationMarker(CurrentlySelected);
-            m_ScrollerController.JumpIndex(JumpIndex);
+           
 
 
 
         }
 
+        protected override void OnActived()
+        {
+            var offset = 0f;
+            m_ScrollerController.JumpIndex(JumpIndex,ref offset);
+            m_ScrollerController.JumpIndex(Offset + offset, 0, EnhancedScroller.TweenType.immediate);
+        }
         protected override void OnAfterOpen()
         {
             playerPack.RefreshItemCountAct += RefreshItemCountAct;
@@ -102,7 +127,6 @@
             JumpIndex = 0;
             godBeastModel.ItemPlace = -1;
             playerPack.RefreshItemCountAct -= RefreshItemCountAct;
-            m_ScrollerController.OnRefreshCell -= OnRefreshGridCell;
             DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent;
         }
 
diff --git a/System/Strengthening/GodBeastSlidingList.cs b/System/Strengthening/GodBeastSlidingList.cs
index 5f5b8f2..5745933 100644
--- a/System/Strengthening/GodBeastSlidingList.cs
+++ b/System/Strengthening/GodBeastSlidingList.cs
@@ -45,7 +45,10 @@
         PlayerPackModel _playerPack;
         PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
         GodBeastModel godBeastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } }
+        private void Awake()
+        {
 
+        }
         private void Start()
         {
             m_Arrow.AddListener(OnClickArrow);
@@ -132,6 +135,7 @@
         public void Init()
         {
             Quality = 10;
+            LINE = Mathf.CeilToInt((float)100 / 3);
             ContentSelect(Quality);
             if (m_ScrollViewFirst.activeSelf)
             {
@@ -303,7 +307,7 @@
                         else
                         {
                             return;
-                        }                      
+                        }
                     }
                 }
             }
@@ -381,12 +385,18 @@
             int childCode = 0;
             for (childCode = 0; childCode < cell.transform.childCount; childCode++)
             {
+
                 GodBeastChildNodes GodBeastChildNodes = cell.transform.GetChild(childCode).GetComponent<GodBeastChildNodes>();
+                int cellCount = (cell.transform.childCount) * gridlineIndex + (childCode + 1);
+                if (cellCount > 100)
+                {
+                    GodBeastChildNodes.gameObject.SetActive(false);
+                    continue;
+                }
                 GodBeastChildNodes.ItemCell.gameObject.SetActive(false);
                 GodBeastChildNodes.ChoosenImg.SetActive(false);
                 GodBeastChildNodes.TextNumber.gameObject.SetActive(false);
                 GodBeastChildNodes.NumberNow.gameObject.SetActive(false);
-                int cellCount = (cell.transform.childCount) * gridlineIndex + (childCode + 1);
                 GodBeastChildNodes.ButtonDown.RemoveAllListeners();
                 if (cellCount - 1 < GodBeastBagList.Count)
                 {
diff --git a/System/Treasure/TreasureComponent.cs b/System/Treasure/TreasureComponent.cs
index 392f742..ce7b5f9 100644
--- a/System/Treasure/TreasureComponent.cs
+++ b/System/Treasure/TreasureComponent.cs
@@ -715,20 +715,20 @@
         public void RequestHighestEffect()
         {
             RecycleHighestEffect();
-            Treasure _treasure;
-            if (category == TreasureCategory.Human &&
-                model.TryGetTreasure(treasureId, out _treasure) && _treasure.IsHighestStage
-                && !model.GetTreasureFinishAnim(treasureId))
-            {
-                highestSfx = SFXPlayUtility.Instance.Play(5198, root);
-                if (highestSfx != null)
-                {
-                    highestSfx.duration = 0;
-                    LayerUtility.SetLayer(highestSfx.gameObject, LayerUtility.UILayer, true);
-                    highestSfx.transform.localPosition = Vector3.zero;
-                    highestSfx.transform.LookAt(UI3DTreasureSelectStage.Instance.center);
-                }
-            }
+            //Treasure _treasure;
+            //if (category == TreasureCategory.Human &&
+            //    model.TryGetTreasure(treasureId, out _treasure) && _treasure.IsHighestStage
+            //    && !model.GetTreasureFinishAnim(treasureId))
+            //{
+            //    highestSfx = SFXPlayUtility.Instance.Play(5198, root);
+            //    if (highestSfx != null)
+            //    {
+            //        highestSfx.duration = 0;
+            //        LayerUtility.SetLayer(highestSfx.gameObject, LayerUtility.UILayer, true);
+            //        highestSfx.transform.localPosition = Vector3.zero;
+            //        highestSfx.transform.LookAt(UI3DTreasureSelectStage.Instance.center);
+            //    }
+            //}
         }
 
         public void RecycleHighestEffect()
diff --git a/System/Treasure/TreasureModel.cs b/System/Treasure/TreasureModel.cs
index ed3525d..d03a72e 100644
--- a/System/Treasure/TreasureModel.cs
+++ b/System/Treasure/TreasureModel.cs
@@ -380,34 +380,34 @@
 
         public bool GetTreasureFinishAnim(int _treasureId)
         {
-            if (_treasureId == 101)
-            {
+            //if (_treasureId == 101)
+            //{
                 return false;
-            }
-            var list = GetTreasureCategory(TreasureCategory.Human);
-            var index = list.IndexOf(_treasureId);
-            if (index == -1)
-            {
-                return false;
-            }
-            uint value = 0;
-            uint.TryParse(QuickSetting.Instance.GetQuickSetting(QuickSetting.QuickSettingType.TreasureHighestAnim, 0), out value);
-            return MathUtility.GetBitValue(value, (ushort)index);
+            //}
+            //var list = GetTreasureCategory(TreasureCategory.Human);
+            //var index = list.IndexOf(_treasureId);
+            //if (index == -1)
+            //{
+            //    return false;
+            //}
+            //uint value = 0;
+            //uint.TryParse(QuickSetting.Instance.GetQuickSetting(QuickSetting.QuickSettingType.TreasureHighestAnim, 0), out value);
+            //return MathUtility.GetBitValue(value, (ushort)index);
         }
 
         public void SetTreasureFinishAnim(int _treasureId, bool anim = true)
         {
-            var list = GetTreasureCategory(TreasureCategory.Human);
-            var index = list.IndexOf(_treasureId);
-            if (index == -1)
-            {
-                return;
-            }
-            uint value = 0;
-            uint.TryParse(QuickSetting.Instance.GetQuickSetting(QuickSetting.QuickSettingType.TreasureHighestAnim, 0), out value);
-            int bitValue = MathUtility.SetBitValue((int)value, (ushort)index, anim);
-            QuickSetting.Instance.SetQuickSetting(QuickSetting.QuickSettingType.TreasureHighestAnim, bitValue);
-            QuickSetting.Instance.SendPackage();
+            //var list = GetTreasureCategory(TreasureCategory.Human);
+            //var index = list.IndexOf(_treasureId);
+            //if (index == -1)
+            //{
+            //    return;
+            //}
+            //uint value = 0;
+            //uint.TryParse(QuickSetting.Instance.GetQuickSetting(QuickSetting.QuickSettingType.TreasureHighestAnim, 0), out value);
+            //int bitValue = MathUtility.SetBitValue((int)value, (ushort)index, anim);
+            //QuickSetting.Instance.SetQuickSetting(QuickSetting.QuickSettingType.TreasureHighestAnim, bitValue);
+            //QuickSetting.Instance.SendPackage();
         }
 
         public bool TryGetUnlockShowTreasure(out int _id)
diff --git a/System/TreasureFindHost/TreasureFindHostModel.cs b/System/TreasureFindHost/TreasureFindHostModel.cs
index 2bb943a..8393bf7 100644
--- a/System/TreasureFindHost/TreasureFindHostModel.cs
+++ b/System/TreasureFindHost/TreasureFindHostModel.cs
@@ -145,7 +145,7 @@
                 ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptEquip,condi[3]);
                 if(itemModel != null)
                 {
-                    if(specEquipIds != null && specEquipIds.Contains(condi[3]))
+                    if(specEquipIds != null && specEquipIds.Contains(itemModel.itemId))
                     {
                         progress += 1;
                         return true;
diff --git a/System/Vip/LimitedTimePackageModel.cs b/System/Vip/LimitedTimePackageModel.cs
index 6fb49eb..2e3a144 100644
--- a/System/Vip/LimitedTimePackageModel.cs
+++ b/System/Vip/LimitedTimePackageModel.cs
@@ -21,7 +21,7 @@
         OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
     }
 
-    
+
 
     public bool IsShowPanel = false;
     private const int Redpoint_key1 = 20907;
@@ -63,9 +63,13 @@
     {
         OperationTimeHepler.Instance.operationStartEvent -= operationStartEvent;
         OperationTimeHepler.Instance.operationStartEvent += operationStartEvent;
+        OperationTimeHepler.Instance.operationAdvanceEvent -= operationAdvanceEvent;
+        OperationTimeHepler.Instance.operationAdvanceEvent += operationAdvanceEvent;
         IsShowTip();
 
     }
+
+
 
     private void operationStartEvent(Operation arg1, int arg2)
     {
@@ -78,7 +82,17 @@
             }
         }
     }
-
+    private void operationAdvanceEvent(Operation obj)
+    {
+        if (obj == Operation.GiftPackage)
+        {
+           // IsShowTip();
+            if (onStateUpate != null)
+            {
+                onStateUpate(7);
+            }
+        }
+    }
     private void OperationEndEvent(Operation arg1, int arg2)
     {
         if (arg1 == Operation.GiftPackage && arg2 == 0)
@@ -92,6 +106,10 @@
 
     public void IsShowTip()
     {
+        if (OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage))
+        {
+            return;
+        }
         int GetDayOfYear = DateTime.Now.DayOfYear;
         int day = LocalSave.GetInt("IsOpenLimitedTime");
         bool Isbool = IsExpired();
@@ -143,7 +161,7 @@
     public bool IsExpired()
     {
         bool IsBool = false;
-        IsBool =(OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.GiftPackage)|| OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage));
+        IsBool = (OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.GiftPackage) || OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage));
         bool IsBuyBool = false;
         OperationBase operationBase;
         if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, out operationBase))
diff --git a/System/Welfare/OperationBase.cs b/System/Welfare/OperationBase.cs
index 8c5892e..33b32f1 100644
--- a/System/Welfare/OperationBase.cs
+++ b/System/Welfare/OperationBase.cs
@@ -90,6 +90,10 @@
                     {
                         return time.Hour < DayResetHour;
                     }
+                    if (indexOfDays < totalDays)
+                    {
+                        return true;
+                    }
                     break;
             }
             return false;
diff --git a/System/WindowJump/WindowJumpMgr.cs b/System/WindowJump/WindowJumpMgr.cs
index 65d1376..3322f73 100644
--- a/System/WindowJump/WindowJumpMgr.cs
+++ b/System/WindowJump/WindowJumpMgr.cs
@@ -17,7 +17,7 @@
     private WindowSearchConfig _tagWinSearchModel;
     private FuncOpenLVConfig _tagOpenLvModel;
     private Dictionary<int, List<string>> openWindows = new Dictionary<int, List<string>>();
-    private Dictionary<int, string> jumpWinNameDict = new Dictionary<int, string>();
+    public Dictionary<int, string> jumpWinNameDict = new Dictionary<int, string>();
     PlayerPetDatas m_petModel;
     PlayerPetDatas petmodel
     {
@@ -882,7 +882,23 @@
     private void SetJumpLogic<T>(int _functionalOrder = 0, bool _forceSync = true) where T : Window
     {
         string curOpenWin = typeof(T).Name;
-        jumpWinNameDict.Add(jumpPhase, curOpenWin);
+        if(jumpWinNameDict.ContainsKey(jumpPhase - 1))
+        {
+            if(jumpWinNameDict[jumpPhase - 1] != curOpenWin)
+            {
+                jumpWinNameDict.Add(jumpPhase, curOpenWin);
+            }
+            else
+            {
+                openWindows[jumpPhase].Clear();
+                jumpPhase -= 1;
+            }
+        }
+        else
+        {
+            jumpWinNameDict.Add(jumpPhase, curOpenWin);
+        }
+       
         jumpType = _tagWinSearchModel.Type;
         switch (_tagWinSearchModel.Type)
         {
diff --git a/UI/HUD/HeadUpName.cs b/UI/HUD/HeadUpName.cs
index 9a2c1ee..2ec924f 100644
--- a/UI/HUD/HeadUpName.cs
+++ b/UI/HUD/HeadUpName.cs
@@ -152,12 +152,12 @@
             {
                 return;
             }
-            m_AncientKing.gameObject.SetActive(isAncientKing);
-            if (isAncientKing)
-            {
-                m_AncientKing.SetSprite("IntegralKing");
-                m_AncientKing.SetNativeSize();
-            }
+            //m_AncientKing.gameObject.SetActive(isAncientKing);
+            //if (isAncientKing)
+            //{
+            //    m_AncientKing.SetSprite("IntegralKing");
+            //    m_AncientKing.SetNativeSize();
+            //}
         }
 
         public void SetAncientEnemy(bool isAncientEnemy)
@@ -166,12 +166,12 @@
             {
                 return;
             }
-            m_AncientEnemy.gameObject.SetActive(isAncientEnemy);
-            if (isAncientEnemy)
-            {
-                m_AncientEnemy.SetSprite("Enemy");
-                m_AncientEnemy.SetNativeSize();
-            }
+            //m_AncientEnemy.gameObject.SetActive(isAncientEnemy);
+            //if (isAncientEnemy)
+            //{
+            //    m_AncientEnemy.SetSprite("Enemy");
+            //    m_AncientEnemy.SetNativeSize();
+            //}
         }
 
         public void SetAlliance(string _alliance)

--
Gitblit v1.8.0