Jelajahi Sumber

提交圣遗物重置回退取消穿戴

SCFC 10 bulan lalu
induk
melakukan
5a8a0c8b27

+ 1 - 0
script/module/hecheng/FenjieLogic.lua

@@ -321,6 +321,7 @@ local function calcHeroOuts(human, mainType, heroIDList, heroIndexList)
 		-- 处理遗物
 		if heroGrid and heroGrid.relic then
 			WinnerRelicLogic.WinnerRelic_CancelWinner(human, heroGrid, heroIndex)
+			heroGrid.relic = {}
 		end
 	end
 

+ 7 - 1
script/module/hero/HeroLogic.lua

@@ -1512,6 +1512,11 @@ function huituiHero(human, heroID, heroIndex)
 		return
 	end
 
+	if heroGrid.relic then
+		WinnerRelicLogic.WinnerRelic_CancelWinner(human, heroGrid, heroIndex)
+		heroGrid.relic = {}
+	end
+
 	BagLogic.delItem(human, ItemDefine.ITEM_HERO_HUITUI_ID, config.needItemCnt, "hero_huitui")
 
 
@@ -2154,7 +2159,7 @@ function getRealResetReturnItems(heroGrid)
 
 	-- 升级
 	local lv = heroGrid.lv
-	if heroGrid.oldLV then
+	if heroGrid.oldLV then 
 		lv = heroGrid.oldLV
 	end
 	
@@ -2282,6 +2287,7 @@ function resetHero(human, heroID, heroIndex)
 
 	if heroGrid.relic then
 		WinnerRelicLogic.WinnerRelic_CancelWinner(human, heroGrid, heroIndex)
+		heroGrid.relic = {}
 	end
 
     ObjHuman.doCalcHero(human,heroIndex)

+ 8 - 2
script/module/winnerRelic/WinnerRelicLogic.lua

@@ -179,6 +179,8 @@ function Listofrelics(human)
                 msgEntry.equipLimit = 0 
             end
             if relicData and relicData.equipped and relicData.equipped[relicId] then
+                -- print("[GC_SACRED_RELIC_QUERY] 回复中的装备的遗物ID relicId = "..relicId)
+                -- table.print_lua_table(relicData.equipped)
                 msgEntry.heroIdx[0] = #relicData.equipped[relicId]
                 for idx, rid in ipairs(relicData.equipped[relicId]) do
                     msgEntry.heroIdx[idx] = rid
@@ -637,12 +639,16 @@ function WinnerRelic_CancelWinner(human, tHeroGrid, nHeroIndex)
         return
     end
 
-    for _, v in ipairs(tRelicData.equipped[nRelicID]) do
+    for i, v in ipairs(tRelicData.equipped[nRelicID]) do
         if v == nHeroIndex then
-            table.remove(tRelicData.equipped[nRelicID], nHeroIndex)
+            table.remove(tRelicData.equipped[nRelicID], i)
+            --print("[WinnerRelic_CancelWinner] 移除了对应的英雄index nRelicID = "..nRelicID.." nHeroIndex = "..nHeroIndex.." i = "..i)
             break
         end
     end
+
+    -- table.print_lua_table(tRelicData.equipped[nRelicID])
+    -- print("[WinnerRelic_CancelWinner]打印当前遗物装备数据")
 end
 
 function onLogin(human)