Explorar o código

修复切磋防守方英雄数据不正确

SCFC hai 1 ano
pai
achega
339bfa10c5

+ 4 - 4
script/module/battle/BattleLogic.lua

@@ -3484,7 +3484,7 @@ end
 
 -- 获取未领取奖励
 local function BattleLogic_GetNorewardReceived(human, nBattleType, cIndex)
-    print("1:[BattleLogic_GetNorewardReceived] id = "..human.db._id.." nBattleType = "..nBattleType)
+    --print("1:[BattleLogic_GetNorewardReceived] id = "..human.db._id.." nBattleType = "..nBattleType)
 
     local nBattleID = BattleLogic_GetBattleIDByType(human, nBattleType)
     local tBattleConfig = BattleLogic_GetBattleConfigByType(nBattleType)
@@ -3512,7 +3512,7 @@ local function BattleLogic_GetNorewardReceived(human, nBattleType, cIndex)
     local battleNumber = #tBattleConfig.node
 
     -- local nGuajiID = human.db.guajiID or 0
-    print("[BattleLogic_GetNorewardReceived] nGuajiID = "..nGuaJiID.. " nBattleID = "..nBattleID)
+    --print("[BattleLogic_GetNorewardReceived] nGuajiID = "..nGuaJiID.. " nBattleID = "..nBattleID)
 
     -- 判断ID得用战斗ID-1, 因为挂机ID可以设置
     local nJudeNum = nGuaJiID
@@ -3524,7 +3524,7 @@ local function BattleLogic_GetNorewardReceived(human, nBattleType, cIndex)
         nJudeNum = nBattleID - 1
     end
 
-    print("[BattleLogic_GetNorewardReceived] nJudeNum = "..nJudeNum)
+    --print("[BattleLogic_GetNorewardReceived] nJudeNum = "..nJudeNum)
 
     for k,v in ipairs(tBattleConfig.node) do
         if #v.tongguan ~= 0 then
@@ -3557,7 +3557,7 @@ local function BattleLogic_GetNorewardReceived(human, nBattleType, cIndex)
                             HeroGrid.makeHeroSimpleByID(net.heroReward[1], cf[1][1], nil, other, human)
                             HeroGrid.makeHeroSimpleByGeneral(net.heroReward[1], cf[1][1])
 
-                            local tHeroInfo = Util.printTable(net.heroReward)
+                            -- local tHeroInfo = Util.printTable(net.heroReward)
                             -- print("[BattleLogic_GetNorewardReceived] 英雄数据 k = "..k.." 获取的数据 = "..tHeroInfo)
                         else
                             net.reward[0] = 1

+ 6 - 2
script/module/combat/CombatLogic.lua

@@ -58,9 +58,10 @@ local LostTempleCombatLogic = require("lostTemple.lostTempleCombatLogic")
 local SkinExcel = require("excel.skin")
 local BattleLogic = require("battle.BattleLogic")
 
+-- 用于在切磋时取目标玩家db数据中的计算属性数据, 如果在 RoleAttr.calcHeroGrid中用到了,需要加到这个里面
 FieldsCombat = {
 	lv = 1, name = 1, head = 1, headFrame = 1, unionUuid = 1, lastLogoutTime = 1, 
-	combatHero = 1, heroBag = 1, moshou = 1, technology=1, chengjiu=1,
+	combatHero = 1, heroBag = 1, moshou = 1, technology=1, chengjiu=1, realmLv = 1, talismanData = 1,
 }
 
 COMBAT_CACHE = COMBAT_CACHE or {}
@@ -444,9 +445,12 @@ function createHeroObjByHeroGrid(human, heroGrid)
 		BeSkill.setBeSkill(obj, attrConfig)
 	end
     if heroGrid.isLostTemple then
+		--print("[createHeroObjByHeroGrid] 进入的这里 111\n")
         obj.attrs = Util.copyTable(LostTempleCombatLogic.getHeroAttrs(human, heroGrid.bagIndex))
-    else 
+    else
+		--print("[createHeroObjByHeroGrid] 进入的这里 222\n")
         obj.attrs = Util.copyTable(ObjHuman.getHeroAttrs(human, obj.bagIndex))
+		--obj.attrs = Util.copyTable(RoleAttr.calcHeroGrid(obj, obj.bagIndex, human))
     end
     obj.zhandouli = obj.attrs[RoleDefine.ZHANDOULI]
 	return obj

+ 7 - 0
script/module/role/RoleAttr.lua

@@ -39,6 +39,13 @@ local CombatDefine = require("combat.CombatDefine")
 local RoleRealmLogic = require("roleSystem.RoleRealmLogic")
 local TalismanLogic = require("talisman.TalismanLogic")
 
+local function printAttr(attr, szText)
+	for i = RoleDefine.ATK, RoleDefine.SPEED, 1 do
+		print(szText.."[printAttr] i = "..i .." value = "..attr[i].."\n")
+	end
+	print("\n")
+end
+
 -- 计算人数属性
 function doCalc(human)
 	human.attr = human.attr or {}