From 7e843b60025a1c6988c17809a767f40d04df67b7 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期三, 17 四月 2019 11:45:03 +0800
Subject: [PATCH] 3295 【BUG】【2.0】未穿戴装备tips套装属性显示错误

---
 System/ItemTip/EquipTipUtility.cs |   39 +++++++++++++++++++++++++++------------
 1 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/System/ItemTip/EquipTipUtility.cs b/System/ItemTip/EquipTipUtility.cs
index 7037f49..bbdd8c3 100644
--- a/System/ItemTip/EquipTipUtility.cs
+++ b/System/ItemTip/EquipTipUtility.cs
@@ -316,7 +316,7 @@
                 guid = guid,
 
                 baseInfo = GetBaseInfo(guid),
-                petMountBaseProperty=GetPetMountBaseProperty(item.itemId),
+                petMountBaseProperty = GetPetMountBaseProperty(item.itemId),
                 operates = GetOperates(guid),
             };
         }
@@ -411,7 +411,7 @@
             {
                 itemId = item.itemId,
                 count = item.count,
-                isAuction =item.isAuction,
+                isAuction = item.isAuction,
                 isEquiped = isEquiped,
                 score = item.score,
                 auctionSurplusTime = item.isAuction ? item.auctionSurplusTime : 0,
@@ -599,31 +599,46 @@
                 return default(SuitInfo);
             }
 
+            var equipPosition = new Int2(item.config.LV, item.config.EquipPlace);
+            var equiped = equipModel.GetEquip(equipPosition) == guid;
+
             var job = config.JobLimit;
             var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit);
-
             var name = twoConfigs[0].name;
 
             var level = config.LV;
-            var maxSuitLevel = EquipStarModel.GetMaxStarLevel(level);
+            var maxSuitLevel = equiped ? EquipStarModel.GetMaxStarLevel(level) : -1;
+
             var places = new List<int>();
-            for (int i = 1; i <= 8; i++)
+            if (equiped)
             {
-                var equip = packModel.GetItemByGuid(equipModel.GetEquip(new Int2(level, i)));
-                var hasSuit = equip != null && equip.config.SuiteiD > 0;
-                if (hasSuit)
+                for (int i = 1; i <= 8; i++)
                 {
-                    places.Add(i);
+                    var equip = packModel.GetItemByGuid(equipModel.GetEquip(new Int2(level, i)));
+                    var hasSuit = equip != null && equip.config.SuiteiD > 0;
+                    if (hasSuit)
+                    {
+                        places.Add(i);
+                    }
                 }
             }
 
             var twoSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>();
             var fiveSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>();
             var eightSuits = new Dictionary<int, bool>();
-            var eightSuitLevel = equipModel.GetSuitLevel(config.LV, EquipSuitType.EightSuit);
+            var eightSuitLevel = equiped ? equipModel.GetSuitLevel(config.LV, EquipSuitType.EightSuit) : -1;
 
-            twoSuitProperties[0] = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.TwoSuit);
-            fiveSuitProperties[0] = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.FiveSuit);
+            var twoSuitProperties0 = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.TwoSuit);
+            var fiveSuitProperties0 = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.FiveSuit);
+
+            if (!equiped)
+            {
+                twoSuitProperties0.actived = false;
+                fiveSuitProperties0.actived = false;
+            }
+
+            twoSuitProperties[0] = twoSuitProperties0;
+            fiveSuitProperties[0] = fiveSuitProperties0;
             eightSuits[0] = eightSuitLevel >= 0;
 
             if (maxSuitLevel >= 3)

--
Gitblit v1.8.0