From 5d4856099c79ed1ee101da82db62dc90fcdc1eb2 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期二, 07 五月 2019 14:38:06 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA813_tagMCVirtualItemDrop.cs |   11 ++++++++++-
 System/HazyRegion/HazyRegionIncidentPanel.cs                                    |    5 ++++-
 System/HazyRegion/HazyRegionModel.cs                                            |    3 +--
 System/HazyRegion/HazyRegionIncidentBehaviour.cs                                |   15 ++++++++++++---
 System/Dungeon/DungeonFightWin.cs                                               |    4 +++-
 Fight/Stage/MapEditor/Game/ClientSceneManager.cs                                |    4 ++++
 6 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA813_tagMCVirtualItemDrop.cs b/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA813_tagMCVirtualItemDrop.cs
index 89edf53..deec120 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA813_tagMCVirtualItemDrop.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA813_tagMCVirtualItemDrop.cs
@@ -21,7 +21,16 @@
             return;
         }
 
-        Vector3 _pos = new Vector3((package.PosX - GA_Hero.MapOffset.x) * .5f, 0, (package.PosY - GA_Hero.MapOffset.z) * .5f);
+        Vector3 _pos;
+
+        if (package.PosX == 0 && package.PosY == 0)
+        {
+            _pos = ClientSceneManager.Instance.lastDeadPos;
+        }
+        else
+        {
+            _pos = new Vector3((package.PosX - GA_Hero.MapOffset.x) * .5f, 0, (package.PosY - GA_Hero.MapOffset.z) * .5f);
+        }
 
         RaycastHit _hitInfo;
         if (Physics.Raycast(_pos + new Vector3(0, 30, 0), Vector3.down, out _hitInfo, 100, LayerUtility.WalkbleMask))
diff --git a/Fight/Stage/MapEditor/Game/ClientSceneManager.cs b/Fight/Stage/MapEditor/Game/ClientSceneManager.cs
index 1ef45c7..56bec93 100644
--- a/Fight/Stage/MapEditor/Game/ClientSceneManager.cs
+++ b/Fight/Stage/MapEditor/Game/ClientSceneManager.cs
@@ -90,6 +90,8 @@
         }
     }
 
+    public Vector3 lastDeadPos { get; private set; }
+
     public void NpcDead(int eventID, GActor npc, int npcID)
     {
         if (eventID < 0 || npc == null)
@@ -110,6 +112,8 @@
                 m_EventActorDict[eventID].Remove(npc);
             }
         }
+
+        lastDeadPos = npc.Pos;
     }
 
     public void Handle_0820(H0820_tagMissionDict package)
diff --git a/System/Dungeon/DungeonFightWin.cs b/System/Dungeon/DungeonFightWin.cs
index d4eb3e9..d58127e 100644
--- a/System/Dungeon/DungeonFightWin.cs
+++ b/System/Dungeon/DungeonFightWin.cs
@@ -79,7 +79,8 @@
             m_Liquid.gameObject.SetActive(false);
             var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
             m_ExitDungeon.gameObject.SetActive(dataMapId != DemonJarModel.DEMONJAR_MAPID
-                && !CrossServerUtility.IsCrossServerOneVsOne());
+                && !CrossServerUtility.IsCrossServerOneVsOne()
+                && !hazyDemonKingModel.IsInDungeon);
             m_ContainerAncient.gameObject.SetActive(dataMapId == 31160);
             m_BossInfosContainer.gameObject.SetActive(
                 dataMapId == ElderGodAreaModel.ELDERGODAREA_MAPID
@@ -122,6 +123,7 @@
                     break;
                 case JadeDynastyBossModel.JADEDYNASTY_MAP:
                 case AllianceBossModel.DATAMAPID:
+                case RidingPetBossModel.RIDINGPETBOSS_MAP:
                     m_Inspire.gameObject.SetActive(true);
                     break;
                 default:
diff --git a/System/HazyRegion/HazyRegionIncidentBehaviour.cs b/System/HazyRegion/HazyRegionIncidentBehaviour.cs
index c8719c6..6cb574f 100644
--- a/System/HazyRegion/HazyRegionIncidentBehaviour.cs
+++ b/System/HazyRegion/HazyRegionIncidentBehaviour.cs
@@ -103,8 +103,12 @@
                 m_BossAlive = findPreciousModel.IsBossAlive(config.npcId);
             }
 
+            HazyRegionModel.Incident incident;
+            model.TryGetIncident(incidentId, out incident);
             var error = 0;
-            redpointAble = model.TryGotoIncident(incidentId, false, out error);
+            redpointAble = model.TryGotoIncident(incidentId, false, out error)
+                && incident.state == HazyRegionModel.IncidentState.Processing;
+
 
             DisplayBase();
             DisplayItems();
@@ -257,8 +261,13 @@
                     bossAlive = findPreciousModel.IsBossAlive(config.npcId);
                 }
 
-                var error = 0;
-                redpointAble = model.TryGotoIncident(incidentId, false, out error);
+                HazyRegionModel.Incident incident;
+                if (model.TryGetIncident(incidentId, out incident))
+                {
+                    var error = 0;
+                    redpointAble = model.TryGotoIncident(incidentId, false, out error)
+                        && incident.state == HazyRegionModel.IncidentState.Processing;
+                }
             }
         }
 
diff --git a/System/HazyRegion/HazyRegionIncidentPanel.cs b/System/HazyRegion/HazyRegionIncidentPanel.cs
index 0d85832..97455e3 100644
--- a/System/HazyRegion/HazyRegionIncidentPanel.cs
+++ b/System/HazyRegion/HazyRegionIncidentPanel.cs
@@ -63,7 +63,10 @@
                 var error = 0;
                 foreach (var id in incidents)
                 {
-                    if (model.TryGotoIncident(id, false, out error))
+                    HazyRegionModel.Incident incident;
+                    if (model.TryGotoIncident(id, false, out error)
+                        && model.TryGetIncident(id, out incident)
+                        && incident.state == HazyRegionModel.IncidentState.Processing)
                     {
                         model.selectIncident = id;
                         break;
diff --git a/System/HazyRegion/HazyRegionModel.cs b/System/HazyRegion/HazyRegionModel.cs
index 0f15ecd..df0a83a 100644
--- a/System/HazyRegion/HazyRegionModel.cs
+++ b/System/HazyRegion/HazyRegionModel.cs
@@ -120,8 +120,7 @@
         {
             SnxxzGame.Instance.StartCoroutine(Co_TryOpenHazyRegionWin());
             WindowCenter.Instance.Close<HazyAdventureHintWin>();
-
-            taskModel.AutomaticTripToTask(taskModel.currentMission);
+            //taskModel.AutomaticTripToTask(taskModel.currentMission);
         }
 
         private void OnStageLoadFinish()

--
Gitblit v1.8.0