少年修仙传客户端代码仓库
client_Wu Xijin
2019-05-27 2dedbe54f91f780a5344a53e2df7eebe4d295fde
6806 封魔坛副本前端化
18个文件已修改
189 ■■■■ 已修改文件
Fight/Stage/Dungeon/ClientDungeonStageUtility.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/DungeonStage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/StageLoadProcessor.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIDemonJarModelWrap.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Achievement/AchievementGotoPart1.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonBuyTimesWin.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonFightWin.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonInspireBehaviour.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonInspireWin.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonModel.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonRankBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/TargetBriefInfoWin.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FakeDungeon/FakeDemonJarDungeonStage.cs 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarModel.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarVictoryWin.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarWin.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/FindPreciousModel.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/InGamePushContainer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/ClientDungeonStageUtility.cs
@@ -136,8 +136,9 @@
            case HazyRegionModel.PRECIOUS_CLIENTDATAMAP:
            case TreasureModel.CLIENTDATAMAP:
                return mapId;
            default:
                return mapId;
        }
        return 0;
    }
    private static void OnPlayerLoginOk()
Fight/Stage/Dungeon/DungeonStage.cs
@@ -241,7 +241,7 @@
            case TreasureModel.TREASURE_MAPID:
                WindowCenter.Instance.Open<TreasureDungeonMissionHintWin>();
                break;
            case DemonJarModel.DEMONJAR_MAPID:
            case DemonJarModel.DATA_MAPID:
            case 31140:
            case JadeDynastyBossModel.JADEDYNASTY_MAP:
            case HazyDemonKingModel.CLIENTDATAMAP:
Fight/Stage/StageLoadProcessor.cs
@@ -404,7 +404,7 @@
                case SkyTowerModel.DATA_MAPID:
                    stage = stageGameObject.AddComponent<SkyTowerDungeonStage>();
                    break;
                case DemonJarModel.DEMONJAR_SINGLEMAPID:
                case DemonJarModel.SINGLEMAPID:
                    stage = stageGameObject.AddComponent<FakeDemonJarDungeonStage>();
                    break;
                case 31190:
Lua/Gen/SnxxzUIDemonJarModelWrap.cs
@@ -76,8 +76,8 @@
            
            
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "TOTALTIME_LIMIT", Snxxz.UI.DemonJarModel.TOTALTIME_LIMIT);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DEMONJAR_SINGLEMAPID", Snxxz.UI.DemonJarModel.DEMONJAR_SINGLEMAPID);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DEMONJAR_MAPID", Snxxz.UI.DemonJarModel.DEMONJAR_MAPID);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DEMONJAR_SINGLEMAPID", Snxxz.UI.DemonJarModel.SINGLEMAPID);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DEMONJAR_MAPID", Snxxz.UI.DemonJarModel.DATA_MAPID);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DEMONJAR_REDPOINTID", Snxxz.UI.DemonJarModel.DEMONJAR_REDPOINTID);
            
            
System/Achievement/AchievementGotoPart1.cs
@@ -42,7 +42,7 @@
                var dataMapId = ModelCenter.Instance.GetModel<DungeonModel>().GetDataMapIdByMapId(location.mapId);
                switch (dataMapId)
                {
                    case DemonJarModel.DEMONJAR_MAPID:
                    case DemonJarModel.DATA_MAPID:
                        demonJarModel.selectedBoss = npcId;
                        demonJarModel.lockSelectedBoss = true;
@@ -172,7 +172,7 @@
            switch (dataMapId)
            {
                case DemonJarModel.DEMONJAR_MAPID:
                case DemonJarModel.DATA_MAPID:
                    var bossId = demonJarModel.GetLatestUnLockBoss();
                    if (bossId > 0)
                    {
System/Dungeon/DungeonBuyTimesWin.cs
@@ -163,10 +163,10 @@
        private bool CheckSpecialDungeon()
        {
            if (DemonJarModel.DEMONJAR_MAPID == model.currentDungeon.mapId)
            if (DemonJarModel.DATA_MAPID == model.currentDungeon.mapId)
            {
                var _totalTimes = model.GetTotalTimes(DemonJarModel.DEMONJAR_MAPID);
                var _enterTimes = model.GetEnterTimes(DemonJarModel.DEMONJAR_MAPID);
                var _totalTimes = model.GetTotalTimes(DemonJarModel.DATA_MAPID);
                var _enterTimes = model.GetEnterTimes(DemonJarModel.DATA_MAPID);
                if ((_totalTimes - _enterTimes) >= DemonJarModel.TOTALTIME_LIMIT)
                {
                    ServerTipDetails.DisplayNormalTip(Language.Get("DemonJar18"));
System/Dungeon/DungeonFightWin.cs
@@ -79,7 +79,7 @@
            m_Inspire.gameObject.SetActive(false);
            m_Liquid.gameObject.SetActive(false);
            var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
            m_ExitDungeon.gameObject.SetActive(dataMapId != DemonJarModel.DEMONJAR_MAPID
            m_ExitDungeon.gameObject.SetActive(dataMapId != DemonJarModel.DATA_MAPID
                && !CrossServerUtility.IsCrossServerOneVsOne()
                && !hazyDemonKingModel.IsInDungeon
                && !hazyGrassModel.IsInDungeon);
@@ -105,7 +105,7 @@
                    m_Inspire.gameObject.SetActive(true);
                    m_Liquid.gameObject.SetActive(true);
                    break;
                case DemonJarModel.DEMONJAR_MAPID:
                case DemonJarModel.DATA_MAPID:
                    var _bossId = ModelCenter.Instance.GetModel<DemonJarModel>().GetBossIdByLine(model.currentDungeon.lineId);
                    var _cfg = DemonJarConfig.Get(_bossId);
                    m_Inspire.gameObject.SetActive(_cfg != null && _cfg.CanEnterTimes == 0);
@@ -289,6 +289,16 @@
                            case PersonalBossModel.PERSONALBOSS_MAPID:
                                ClientDungeonStageUtility.ExitNormalClientDungeon();
                                break;
                            case DemonJarModel.DATA_MAPID:
                                if (StageLoad.Instance.currentStage is FakeDemonJarDungeonStage)
                                {
                                    ClientDungeonStageUtility.ExitNormalClientDungeon();
                                }
                                else
                                {
                                    model.ExitCurrentDungeon();
                                }
                                break;
                            default:
                                model.ExitCurrentDungeon();
                                break;
@@ -372,6 +382,7 @@
                    case HazyGrassModel.REIKI_CLIENTDATAMAP:
                    case PersonalBossModel.PERSONALBOSS_MAPID:
                    case HazyDemonKingModel.CLIENTDATAMAP:
                    case DemonJarModel.SINGLEMAPID:
                        ClientDungeonStageUtility.ExitNormalClientDungeon();
                        break;
                }
System/Dungeon/DungeonInspireBehaviour.cs
@@ -53,7 +53,7 @@
            }
            switch (mapId)
            {
                case DemonJarModel.DEMONJAR_MAPID:
                case DemonJarModel.DATA_MAPID:
                case JadeDynastyBossModel.JADEDYNASTY_MAP:
                case AllianceBossModel.DATAMAPID:
                    m_Icon.SetSprite("W_XYGuwu_a2");
@@ -107,7 +107,7 @@
        private bool IsRequireDisplayProgress()
        {
            return PlayerDatas.Instance.baseData.MapID == DemonJarModel.DEMONJAR_MAPID
            return PlayerDatas.Instance.baseData.MapID == DemonJarModel.DATA_MAPID
                || PlayerDatas.Instance.baseData.MapID == JadeDynastyBossModel.JADEDYNASTY_MAP
                || PlayerDatas.Instance.baseData.MapID == AllianceBossModel.DATAMAPID;
        }
System/Dungeon/DungeonInspireWin.cs
@@ -174,7 +174,7 @@
                else
                {
                    var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
                    var isDouble = dataMapId == DemonJarModel.DEMONJAR_MAPID && demonJarModel.isDoubleAward;
                    var isDouble = dataMapId == DemonJarModel.DATA_MAPID && demonJarModel.isDoubleAward;
                    bool mix = fairyInspireConfig.InspireType == 5 && PlayerDatas.Instance.baseData.diamond < cost
                        && PlayerDatas.Instance.baseData.diamond > 0;
@@ -238,7 +238,7 @@
        private void DisplayCost()
        {
            var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
            var isDouble = dataMapId == DemonJarModel.DEMONJAR_MAPID && demonJarModel.isDoubleAward;
            var isDouble = dataMapId == DemonJarModel.DATA_MAPID && demonJarModel.isDoubleAward;
            if (coinInspireConfig != null)
            {
@@ -257,7 +257,7 @@
            if (demonJarModel.isDoubleAward)
            {
                var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
                m_DemonJarDoubleRemind.gameObject.SetActive(dataMapId == DemonJarModel.DEMONJAR_MAPID);
                m_DemonJarDoubleRemind.gameObject.SetActive(dataMapId == DemonJarModel.DATA_MAPID);
            }
            else
            {
System/Dungeon/DungeonModel.cs
@@ -862,7 +862,7 @@
                        }
                    }
                    break;
                case DemonJarModel.DEMONJAR_MAPID:
                case DemonJarModel.DATA_MAPID:
                    if (!WindowCenter.Instance.IsOpen<DemonJarDamageRankWin>())
                    {
                        WindowCenter.Instance.Open<DemonJarDamageRankWin>();
@@ -949,7 +949,7 @@
            m_Mission = _missionData;
            switch (_dataMapId)
            {
                case DemonJarModel.DEMONJAR_MAPID:
                case DemonJarModel.DATA_MAPID:
                    if (!WindowCenter.Instance.IsOpen<DemonJarDamageRankWin>())
                    {
                        WindowCenter.Instance.Open<DemonJarDamageRankWin>();
@@ -1051,7 +1051,7 @@
                        case 31180:
                            WindowCenter.Instance.Open<DungeonChaosVictoryWin>();
                            break;
                        case DemonJarModel.DEMONJAR_MAPID:
                        case DemonJarModel.DATA_MAPID:
                            WindowCenter.Instance.Open<DemonJarVictoryWin>();
                            var demonJarModel = ModelCenter.Instance.GetModel<DemonJarModel>();
                            if (demonJarModel.autoChallengeBoss > 0 && demonJarModel.autoChallengeBoss == demonJarModel.GetBossIdByLine(m_DungeonResult.lineID))
@@ -1221,9 +1221,9 @@
        public int GetDataMapIdByMapId(int _mapId)
        {
            if (_mapId == DemonJarModel.DEMONJAR_SINGLEMAPID)
            if (_mapId == DemonJarModel.SINGLEMAPID)
            {
                return DemonJarModel.DEMONJAR_MAPID;
                return DemonJarModel.DATA_MAPID;
            }
            else
            {
System/Dungeon/DungeonRankBehaviour.cs
@@ -43,7 +43,7 @@
            switch (currentDugeonId)
            {
                case 31170:
                case DemonJarModel.DEMONJAR_MAPID:
                case DemonJarModel.DATA_MAPID:
                case JadeDynastyBossModel.JADEDYNASTY_MAP:
                    {
                        int i = 0;
System/Dungeon/TargetBriefInfoWin.cs
@@ -71,7 +71,7 @@
        }
        var mapId = PlayerDatas.Instance.baseData.MapID;
        if (mapId == DemonJarModel.DEMONJAR_SINGLEMAPID)
        if (mapId == DemonJarModel.SINGLEMAPID)
        {
            if (_show)
            {
@@ -111,7 +111,7 @@
        }
        var mapId = PlayerDatas.Instance.baseData.MapID;
        if (mapId == DemonJarModel.DEMONJAR_SINGLEMAPID)
        if (mapId == DemonJarModel.SINGLEMAPID)
        {
            if (!WindowCenter.Instance.IsOpen("DemonJarBossLifeBarWin"))
            {
@@ -336,7 +336,7 @@
                if (bossInfo.instanceId != 0)
                {
                    if (PlayerDatas.Instance.baseData.MapID != DemonJarModel.DEMONJAR_SINGLEMAPID)
                    if (PlayerDatas.Instance.baseData.MapID != DemonJarModel.SINGLEMAPID)
                    {
                        ShowBossLifeBar(bossInfo, true);
                    }
@@ -360,7 +360,7 @@
                }
                else
                {
                    if (PlayerDatas.Instance.baseData.MapID != DemonJarModel.DEMONJAR_SINGLEMAPID)
                    if (PlayerDatas.Instance.baseData.MapID != DemonJarModel.SINGLEMAPID)
                    {
                        if (bossInfo.npcId != TargetBriefInfo.bossInfo.npcId)
                        {
System/FakeDungeon/FakeDemonJarDungeonStage.cs
@@ -31,11 +31,17 @@
    public override void Initialize()
    {
        base.Initialize();
        dungeonModel.onDungeonResultEvent += OnDungeonResultEvent;
        BossShowModel.Instance.bossShowCompletedEvent += OnBossShowComplete;
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforeInitailesPlayerInfo;
        DTC0403_tagPlayerLoginLoadOK.mapInitOkEvent += OnMapInitOk;
        AttackHandler.OnAttackTarget += OnPlayerAttack;
        if (PlayerDatas.Instance.hero != null)
        {
            PlayerDatas.Instance.hero.Pos = new Vector3(13f, 0f, 10f);
            CameraController.Instance.Apply();
        }
    }
    public override void UnInitialize()
@@ -48,6 +54,7 @@
            boss = null;
        }
        dungeonModel.onDungeonResultEvent -= OnDungeonResultEvent;
        BossShowModel.Instance.bossShowCompletedEvent -= OnBossShowComplete;
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforeInitailesPlayerInfo;
        DTC0403_tagPlayerLoginLoadOK.mapInitOkEvent -= OnMapInitOk;
@@ -139,7 +146,7 @@
        foreach (var key in keys)
        {
            this.demonJarConfig = DemonJarConfig.Get(key);
            if (demonJarConfig.LineID == PlayerDatas.Instance.baseData.dungeonLineId)
            if (demonJarConfig.LineID == ClientDungeonStageUtility.dungeonInfo.lineId)
            {
                bossNpcId = demonJarConfig.NPCID;
                totalTime = demonJarConfig.Time;
@@ -160,8 +167,8 @@
        fighting = false;
        var send = new CB101_tagCMClientEndFB();
        send.MapID = DemonJarModel.DEMONJAR_MAPID;
        send.LineID = (ushort)PlayerDatas.Instance.baseData.dungeonLineId;
        send.MapID = DemonJarModel.DATA_MAPID;
        send.LineID = (ushort)this.demonJarConfig.LineID;
        send.Data1 = myRank == -1 ? (uint)(fakePlayerDatas.Count + 1) : (uint)myRank;
        send.Data2 = (uint)myHurtSum;
        GameNetSystem.Instance.SendInfo(send);
@@ -248,12 +255,12 @@
            }
        }
        mission.lineID = PlayerDatas.Instance.baseData.dungeonLineId;
        mission.lineID = ClientDungeonStageUtility.dungeonInfo.lineId;
        mission.hurtInfo = hurts;
        mission.remainHPPer = (int)(surplusTime / totalTime * 1000000f);
        mission.hpReduceSpeed = (int)(10000 / totalTime);
        dungeonModel.UpdateFakeDungeonMission(DemonJarModel.DEMONJAR_MAPID, mission);
        dungeonModel.UpdateFakeDungeonMission(DemonJarModel.DATA_MAPID, mission);
    }
    private void CreateBoss()
@@ -353,6 +360,7 @@
    IEnumerator Co_FightBegin()
    {
        yield return WaitingForSecondConst.WaitMS500;
        if (!BossShowModel.Instance.BossShowing)
        {
@@ -360,6 +368,11 @@
        }
    }
    private void OnDungeonResultEvent()
    {
        dungeonModel.UpdateCoolDown(DungeonCoolDownType.LeaveMap, 10 * 1000);
    }
    private int HurtCompare(DungeonHurt a, DungeonHurt b)
    {
        return a.hurt > b.hurt ? -1 : 1;
System/FindPrecious/DemonJarModel.cs
@@ -17,8 +17,8 @@
    {
        public const int TOTALTIME_LIMIT = 5;
        public const int DEMONJAR_SINGLEMAPID = 52020;
        public const int DEMONJAR_MAPID = 52010;
        public const int SINGLEMAPID = 52020;
        public const int DATA_MAPID = 52010;
        public const int DEMONJAR_REDPOINTID = 77001;
        public Redpoint redpoint = new Redpoint(FindPreciousModel.FINDPRECIOUS_REDPOINTID, DEMONJAR_REDPOINTID);
@@ -166,7 +166,7 @@
                var bossId = sortedBossIds[i];
                var config = DemonJarConfig.Get(bossId);
                var grade = dungeonModel.GetGrade(new Dungeon(DEMONJAR_MAPID, config.LineID));
                var grade = dungeonModel.GetGrade(new Dungeon(DATA_MAPID, config.LineID));
                if (config.CanEnterTimes > 0 && grade > 0)
                {
                    continue;
@@ -221,8 +221,8 @@
        public int GetSurplusTimes()
        {
            var totalTimes = dungeonModel.GetTotalTimes(DEMONJAR_MAPID);
            var enterTimes = dungeonModel.GetEnterTimes(DEMONJAR_MAPID);
            var totalTimes = dungeonModel.GetTotalTimes(DATA_MAPID);
            var enterTimes = dungeonModel.GetEnterTimes(DATA_MAPID);
            return totalTimes - enterTimes;
        }
@@ -357,7 +357,7 @@
        {
            if (FuncOpen.Instance.IsFuncOpen(76))
            {
                var count = dungeonModel.GetTotalTimes(DEMONJAR_MAPID) - dungeonModel.GetEnterTimes(DEMONJAR_MAPID);
                var count = dungeonModel.GetTotalTimes(DATA_MAPID) - dungeonModel.GetEnterTimes(DATA_MAPID);
                redpoint.count = count;
            }
            else
@@ -370,7 +370,7 @@
        private void OnMapLineUpdateEvent(int _mapId)
        {
            if (_mapId != DEMONJAR_MAPID)
            if (_mapId != DATA_MAPID)
            {
                return;
            }
@@ -392,7 +392,7 @@
            }
            var mapModel = ModelCenter.Instance.GetModel<MapModel>();
            var lines = mapModel.GetMapLines(DEMONJAR_MAPID);
            var lines = mapModel.GetMapLines(DATA_MAPID);
            for (int i = 0; i < sortedBossIds.Count; i++)
            {
                var bossId = sortedBossIds[i];
@@ -420,7 +420,7 @@
        private void OnDungeonRecordUpdate(int _dataMapId)
        {
            if (DEMONJAR_MAPID == _dataMapId && PlayerDatas.Instance.baseData.LV >= GeneralDefine.demonJarRedPoint)
            if (DATA_MAPID == _dataMapId && PlayerDatas.Instance.baseData.LV >= GeneralDefine.demonJarRedPoint)
            {
                UpdateRedpoint();
            }
@@ -459,7 +459,7 @@
                    {
                        this.findPreciousModel.RequestSubscribeBoss((int)_bossId, true);
                        var model = ModelCenter.Instance.GetModel<DungeonModel>();
                        var grade = model.GetGrade(new Dungeon(DEMONJAR_MAPID, config.LineID));
                        var grade = model.GetGrade(new Dungeon(DATA_MAPID, config.LineID));
                        if ((config.CanEnterTimes == 0 || grade == 0) && this.findPreciousModel.IsBossAlive((int)_bossId))
                        {
                            this.findPreciousModel.AddOneBossRebornNotify(_bossId);
System/FindPrecious/DemonJarVictoryWin.cs
@@ -162,7 +162,14 @@
        private void ExitDungeon()
        {
            model.ExitCurrentDungeon();
            if (ClientDungeonStageUtility.isClientDungeon)
            {
                ClientDungeonStageUtility.ExitNormalClientDungeon();
            }
            else
            {
                model.ExitCurrentDungeon();
            }
        }
        private int RewardSort(Item _lhs, Item _rhs)
System/FindPrecious/DemonJarWin.cs
@@ -55,12 +55,12 @@
        protected override void OnPreOpen()
        {
            totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DEMONJAR_MAPID);
            enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DEMONJAR_MAPID);
            totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DATA_MAPID);
            enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DATA_MAPID);
            m_Times.text = StringUtility.Contact(totalTimes - enterTimes, "/", DemonJarModel.TOTALTIME_LIMIT);
            OnRemaintimeUpdate(DemonJarModel.DEMONJAR_MAPID);
            mapModel.RequestQueryMapLineState(DemonJarModel.DEMONJAR_MAPID);
            OnRemaintimeUpdate(DemonJarModel.DATA_MAPID);
            mapModel.RequestQueryMapLineState(DemonJarModel.DATA_MAPID);
        }
        protected override void OnAfterOpen()
@@ -158,7 +158,7 @@
            }
            else
            {
                dungeonModel.currentDungeon = new Dungeon(DemonJarModel.DEMONJAR_MAPID, 0);
                dungeonModel.currentDungeon = new Dungeon(DemonJarModel.DATA_MAPID, 0);
                WindowCenter.Instance.Open<DungeonBuyTimesWin>();
            }
        }
@@ -183,7 +183,7 @@
        private void OpenAutoDuoubleSettingWin()
        {
            var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
            if (dataMapId == DemonJarModel.DEMONJAR_MAPID)
            if (dataMapId == DemonJarModel.DATA_MAPID)
            {
                SysNotifyMgr.Instance.ShowTip("CantChangeInDemon");
            }
@@ -219,31 +219,16 @@
            if (TestEnterDungeon(out error))
            {
                var config = DemonJarConfig.Get(model.selectedBoss);
                if (config.LineID == GeneralDefine.demonJarHintLineId && PlayerDatas.Instance.baseData.LV < GeneralDefine.demonJarHintLevelLimit)
                if (config.CanEnterTimes == 1)
                {
                    var grade = dungeonModel.GetGrade(new Dungeon(DemonJarModel.DEMONJAR_MAPID, config.LineID));
                    if (grade <= 0)
                    {
                        ConfirmCancel.ShowPopConfirm(
                            Language.Get("Mail101"),
                            Language.Get("DemonJarFirstRemind"),
                            (bool ok) =>
                            {
                                if (ok)
                                {
                                    dungeonModel.SingleChallenge(DemonJarModel.DEMONJAR_MAPID, config.LineID);
                                }
                            }
                            );
                    }
                    else
                    {
                        dungeonModel.SingleChallenge(DemonJarModel.DEMONJAR_MAPID, config.LineID);
                    }
                    ClientDungeonStageUtility.GotoNormalClientDungeon(
                        DemonJarModel.SINGLEMAPID,
                        DemonJarModel.SINGLEMAPID,
                        config.LineID);
                }
                else
                {
                    dungeonModel.SingleChallenge(DemonJarModel.DEMONJAR_MAPID, config.LineID);
                    dungeonModel.SingleChallenge(DemonJarModel.DATA_MAPID, config.LineID);
                }
            }
            else
@@ -259,14 +244,14 @@
                        }
                        break;
                    case 2:
                        dungeonModel.currentDungeon = new Dungeon(DemonJarModel.DEMONJAR_MAPID, 0);
                        dungeonModel.currentDungeon = new Dungeon(DemonJarModel.DATA_MAPID, 0);
                        WindowCenter.Instance.Open<DungeonBuyTimesWin>();
                        break;
                    case 3:
                        SysNotifyMgr.Instance.ShowTip("DemonJar_Text1");
                        break;
                    case 4:
                        dungeonModel.currentDungeon = new Dungeon(DemonJarModel.DEMONJAR_MAPID, 0);
                        dungeonModel.currentDungeon = new Dungeon(DemonJarModel.DATA_MAPID, 0);
                        WindowCenter.Instance.Open<DungeonBuyTimesWin>();
                        break;
                    case 5:
@@ -279,7 +264,7 @@
                                if (_ok)
                                {
                                    var config = DemonJarConfig.Get(model.selectedBoss);
                                    dungeonModel.SingleChallenge(DemonJarModel.DEMONJAR_MAPID, config.LineID);
                                    dungeonModel.SingleChallenge(DemonJarModel.DATA_MAPID, config.LineID);
                                }
                                if (_toggle)
@@ -295,20 +280,20 @@
        private void OnRemaintimeUpdate(int _mapId)
        {
            if (DemonJarModel.DEMONJAR_MAPID != _mapId)
            if (DemonJarModel.DATA_MAPID != _mapId)
            {
                return;
            }
            totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DEMONJAR_MAPID);
            enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DEMONJAR_MAPID);
            totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DATA_MAPID);
            enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DATA_MAPID);
            m_Times.text = StringUtility.Contact(totalTimes - enterTimes, "/", DemonJarModel.TOTALTIME_LIMIT);
            if ((totalTimes - enterTimes) < DemonJarModel.TOTALTIME_LIMIT)
            {
                DateTime endTime;
                if (dungeonModel.TryGetCountRemainTime(DemonJarModel.DEMONJAR_MAPID, out endTime))
                if (dungeonModel.TryGetCountRemainTime(DemonJarModel.DATA_MAPID, out endTime))
                {
                    m_CountRemainTime.gameObject.SetActive(true);
                    m_CountRemainTime.Begin((int)(endTime - TimeUtility.ServerNow).TotalSeconds);
@@ -327,8 +312,8 @@
        private void OnBuyTimesOk()
        {
            totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DEMONJAR_MAPID);
            enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DEMONJAR_MAPID);
            totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DATA_MAPID);
            enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DATA_MAPID);
            m_Times.text = StringUtility.Contact(totalTimes - enterTimes, "/", DemonJarModel.TOTALTIME_LIMIT);
            if (totalTimes - enterTimes >= DemonJarModel.TOTALTIME_LIMIT)
@@ -399,7 +384,7 @@
            if (AchievementGoto.guideAchievementId != 0)
            {
                var config = SuccessConfig.Get(AchievementGoto.guideAchievementId);
                var condition = config.Type == 99 && config.Condition[0] == DemonJarModel.DEMONJAR_MAPID;
                var condition = config.Type == 99 && config.Condition[0] == DemonJarModel.DATA_MAPID;
                if (condition)
                {
System/FindPrecious/FindPreciousModel.cs
@@ -200,7 +200,7 @@
                        if (bossNewAliveState)
                        {
                            var config = DemonJarConfig.Get(bossId);
                            var grade = dungeonModel.GetGrade(new Dungeon(DemonJarModel.DEMONJAR_MAPID, config.LineID));
                            var grade = dungeonModel.GetGrade(new Dungeon(DemonJarModel.DATA_MAPID, config.LineID));
                            if ((config.CanEnterTimes == 0 || grade == 0))
                            {
                                AddOneBossRebornNotify(bossId);
@@ -535,7 +535,7 @@
                    if (FuncOpen.Instance.IsFuncOpen(76) && IsBossAlive(bossId))
                    {
                        var config = DemonJarConfig.Get(bossId);
                        var grade = dungeonModel.GetGrade(new Dungeon(DemonJarModel.DEMONJAR_MAPID, config.LineID));
                        var grade = dungeonModel.GetGrade(new Dungeon(DemonJarModel.DATA_MAPID, config.LineID));
                        if ((config.CanEnterTimes == 0 || grade == 0))
                        {
                            AddOneBossRebornNotify(bossId);
@@ -665,7 +665,7 @@
            var bossId = notify.bossId;
            var config = DemonJarConfig.Get(bossId);
            dungeonModel.SingleChallenge(DemonJarModel.DEMONJAR_MAPID, config.LineID);
            dungeonModel.SingleChallenge(DemonJarModel.DATA_MAPID, config.LineID);
            demonJarModel.autoChallengeBoss = bossId;
            return true;
        }
System/MainInterfacePanel/InGamePushContainer.cs
@@ -316,8 +316,8 @@
                        break;
                    case FindPreciousType.DemonJar:
                        {
                            var totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DEMONJAR_MAPID);
                            var enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DEMONJAR_MAPID);
                            var totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DATA_MAPID);
                            var enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DATA_MAPID);
                            killable = totalTimes > enterTimes;
                            show = !GeneralDefine.demonJarNoRebornRemindMaps.Contains(mapId);
                        }