Selaa lähdekoodia

主线闯关增加二队

gitxsm 11 kuukautta sitten
vanhempi
sitoutus
7886c7a4de

+ 24 - 7
script/module/battle/BattleLogic.lua

@@ -470,8 +470,6 @@ local function getTeamIdx(human)
         teamIdx = #teamRecord[nBattleType] + 1
     end
 
-    print("====================getTeamIdx=====================", teamIdx)
-
     return teamIdx
 end
 
@@ -2833,6 +2831,14 @@ function fight(human)
         return
     end
 
+    -- 已通关
+    local nBattleType = BattleLogic_GetBattleType(human)
+    local tag = BattleLogic_GetBattleAdopt(human, nBattleType)
+    if tag == 1 then
+        return Broadcast.sendErr(human, Lang.DRILL_IS_FINSH)
+    end
+
+
     -- local battleID = human.db.battleID
 
     -- if BattleExcel.node[human.db.battleID] == nil then
@@ -4000,18 +4006,31 @@ function battleChapterReward(human, mapID)
     --     return
     -- end
 
+    local gujiID = BattleLogic_GetBattleGuaJiID(human)
+    if gujiID <= 0 then
+        return
+    end
+
+    local nBattleType = BattleLogic_GetBattleType(human)
+    local tag = BattleLogic_GetBattleAdopt(human, nBattleType)
+
     -- 没有通过当前大关卡
-    local battleID = nBattleID
-    local battleNodeConfig = tBattleConfig.node[battleID]
+    -- local battleID = nBattleID
+    local battleNodeConfig = tBattleConfig.node[gujiID]
     local roleMapId
     if not battleNodeConfig then
-        if battleID ~= #tBattleConfig.node + 1 then
+        if gujiID ~= #tBattleConfig.node + 1 then
             return
         else
             roleMapId = #tBattleConfig.map
         end
     else
         roleMapId = battleNodeConfig.mapID
+
+        -- 每40层升一个地图
+        if tag ~= 1 and gujiID % 40 ~= 0 then
+            roleMapId = roleMapId - 1
+        end
     end
 
     -- if mapID > roleMapId then
@@ -4791,8 +4810,6 @@ function QueryLevelTeamCnt(human)
     local msgRet = Msg.gc.GC_BATTLE_TEAM_COUNT
     msgRet.teamCnt = teamCnt
 
-    print("====================QueryLevelTeamCnt==========================", teamCnt)
-
     Msg.send(msgRet, human.fd)
 end
 

+ 1 - 1
script/module/battle/Handler.lua

@@ -116,5 +116,5 @@ end
 
 ------------------------------------------多队伍战斗------------------------------------------
 function CG_BATTLE_TEAM_COUNT(human,msg)
-    -- BattleLogic.QueryLevelTeamCnt(human)
+    BattleLogic.QueryLevelTeamCnt(human)
 end

+ 3 - 1
script/module/battle/Proto.lua

@@ -289,7 +289,9 @@ CG_BATTLE_CHAPTER_REWARD = {
 }
 
 GC_BATTLE_CHAPTER_REWARD = {
-    {"mapID", 1, "byte"},
+    -- {"mapID", 1, "byte"},
+
+	{"mapIDList", 30, "byte"},
 }
 
 --客户端查询副本是否开启

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

@@ -1030,6 +1030,10 @@ function fontCombatFinish(dataNet, combatInfo, isQuick)
     dataNet.combatTime = getCombatUseTime(combatInfo)
 	dataNet.double = combatInfo.double or 0
     dataNet.oldLv = combatInfo.attacker.oldLv or 0
+
+	dataNet.nextCombatType = combatInfo.nextCombatType or 0
+
+
     dataNet.panelIDs[0] = #combatConfig.panelIDs
     for i, panelID in ipairs(combatConfig.panelIDs) do
 	   dataNet.panelIDs[i] = tonumber(panelID) 
@@ -1068,7 +1072,8 @@ function fontCombatFinish(dataNet, combatInfo, isQuick)
 	for k, v in pairs(rewardItem) do
         if not ItemDefine.isEquip(v[1]) then
            len = len + 1
-		   Grid.makeItem(dataNet.items[len], v[1], v[2])
+		--    Grid.makeItem(dataNet.items[len], v[1], v[2])
+		Grid.makeItem(dataNet.items[len], v[1], v[2], nil, nil, nil, nil, nil, nil, v[4])
         end		
 	end
     dataNet.items[0] = EquipLogic.makeEquipItem(combatInfo, dataNet.items, len)

+ 1 - 0
script/module/combat/Proto.lua

@@ -315,6 +315,7 @@ CombatFinishData = {
 	{"double",      1,      "byte"},     -- 是否为福利 双倍
     {"oldLv",		1,		"short"},    -- 历史等级
 	{"nBattleType", 1,		"short"},	 -- 战斗类型,当type 为1主线时有用
+	{"nextCombatType", 1,	"short"},	 -- 战斗类型,对应combat配置表中combat分页的id。用于多队伍战斗,为0表示不用继续挑战,非0表示需要继续挑战
 }