zhanwencai 1 년 전
부모
커밋
8894204b37
1개의 변경된 파일57개의 추가작업 그리고 18개의 파일을 삭제
  1. 57 18
      script/module/role/NewLogic.lua

+ 57 - 18
script/module/role/NewLogic.lua

@@ -64,6 +64,9 @@ function NewProto(human, type, param)
             local fatherHeroBagIndex = tonumber(tb[1]) or 0
             local motherHeroBagIndex = tonumber(tb[2]) or 0
 
+            Log.write(Log.LOGID_TEST,
+                "开始融合 fatherHeroBagIndex: " .. fatherHeroBagIndex .. "motherHeroBagIndex: " .. motherHeroBagIndex)
+
             local fatherHeroGrid = human.db.heroBag[fatherHeroBagIndex]
             if not heroGrid then
                 return
@@ -74,8 +77,15 @@ function NewProto(human, type, param)
                 return
             end
 
+            Log.write(Log.LOGID_TEST, "motherHeroGrid: " .. Json.Encode(motherHeroGrid))
+            Log.write(Log.LOGID_TEST, "fatherHeroGrid: " .. Json.Encode(fatherHeroGrid))
+
             local fatherHeroAttr = ObjHuman.getHeroAttrs(human, fatherHeroBagIndex)
             local motherHeroAttr = ObjHuman.getHeroAttrs(human, motherHeroBagIndex)
+
+            Log.write(Log.LOGID_TEST, "fatherHeroAttr: " .. Json.Encode(fatherHeroAttr))
+            Log.write(Log.LOGID_TEST, "motherHeroAttr: " .. Json.Encode(motherHeroAttr))
+
             local mergeInfo = {}
             local attrs = RoleDefine.PANEL_ATTR_KEY
 
@@ -84,22 +94,33 @@ function NewProto(human, type, param)
                 return
             end
 
+            Log.write(Log.LOGID_TEST, "sonHeroID: " .. sonHeroID)
+
             for key, value in pairs(attrs) do
                 local param1 = fatherHeroAttr[key] or 0
                 local param2 = motherHeroAttr[key] or 0
                 attrs[key] = math.floor(((param1 + param2) / 4))
             end
 
+            Log.write(Log.LOGID_TEST, "融合后的属性: " .. Json.Encode(attrs))
+
             local xLv = getxLv(fatherHeroGrid, motherHeroGrid)
             local cnt = math.floor(xLv / 2) + 1
 
+            Log.write(Log.LOGID_TEST, "xLv: " .. xLv)
+            Log.write(Log.LOGID_TEST, "cnt: " .. cnt)
+
             --使用道具
             ItemLogic.use(human, itemId, cnt)
 
+            Log.write(Log.LOGID_TEST, "删除开始")
+
             -- 删除英雄
             HeroLogic.delHeroByIndex(human, fatherHeroBagIndex, "hero_merge")
             HeroLogic.delHeroByIndex(human, motherHeroBagIndex, "hero_merge")
 
+            Log.write(Log.LOGID_TEST, "删除结束")
+
             -- for heroIndex = 1, human.db.heroBag[0] do
             --     local heroGrid = human.db.heroBag[heroIndex]
             --     if heroGrid.id == fatherHeroID or heroGrid.id == motherHeroID then
@@ -114,15 +135,18 @@ function NewProto(human, type, param)
             human.db.mergeInfo.mergeEndTime   = os.time() + getHatchTime(xLv)
             human.db.mergeInfo.mergeTime      = getHatchTime(xLv)
 
-            mergeInfo.mergeTime               = human.db.mergeInfo.mergeTime
-            mergeInfo.heroId                  = human.db.mergeInfo.heroId
+            Log.write(Log.LOGID_TEST, "human.db.mergeInfo : " .. Json.Encode(human.db.mergeInfo))
+
+            mergeInfo.mergeTime = human.db.mergeInfo.mergeTime
+            mergeInfo.heroId    = human.db.mergeInfo.heroId
 
-            local msgRet                      = Msg.gc.GC_ROLE_CHANGE_BASEINFO
-            msgRet.ret                        = MERGE_HERO_TYPE
-            msgRet.tip                        = Json.Encode(mergeInfo)
+            Log.write(Log.LOGID_TEST, "mergeInfo: " .. Json.Encode(mergeInfo))
+
+            local msgRet = Msg.gc.GC_ROLE_CHANGE_BASEINFO
+            msgRet.ret   = MERGE_HERO_TYPE
+            msgRet.tip   = Json.Encode(mergeInfo)
             Msg.send(msgRet, human.fd)
         end
-
         return
     end
 
@@ -136,6 +160,8 @@ function NewProto(human, type, param)
         local nowTime = os.time()
         local mergeTime = human.db.mergeInfo.mergeEndTime - nowTime
 
+        Log.write(Log.LOGID_TEST, "mergeTime: " .. mergeTime)
+
         -- 孵化成功
         if mergeTime <= 0 then
             hatchHero(human)
@@ -149,43 +175,56 @@ function NewProto(human, type, param)
         mergeInfo.mergeTime = human.db.mergeInfo.mergeTime
         mergeInfo.heroData  = heroSimple
 
-        local msgRet        = Msg.gc.GC_ROLE_CHANGE_BASEINFO
-        msgRet.ret          = AD_DRAW_REWARD_TYPE
-        msgRet.tip          = Json.Encode(mergeInfo)
+        Log.write(Log.LOGID_TEST, "mergeInfo: " .. Json.Encode(mergeInfo))
+
+        local msgRet = Msg.gc.GC_ROLE_CHANGE_BASEINFO
+        msgRet.ret   = QUERY_MERGE_INFO_TYPE
+        msgRet.tip   = Json.Encode(mergeInfo)
         Msg.send(msgRet, human.fd)
         return
     end
 
     -- 加速孵化
     if type == QUICK_HATCH_TYPE then
-        -- 初始化
-        initMergeInfo(human)
-
         local tb = Util.split(param, "|")
         local itemId = tonumber(tb[1]) or 0
         local cnt = tonumber(tb[2]) or 0
 
         if tb[1] and tb[2] then
+            -- 初始化
+            initMergeInfo(human)
+
             --使用道具
             ItemLogic.use(human, itemId, cnt)
 
             local remainingTime = human.db.mergeInfo.mergeTime - (60 * cnt)
 
+            Log.write(Log.LOGID_TEST, "remainingTime: " .. remainingTime)
+
             -- 孵化成功
             if remainingTime <= 0 then
                 hatchHero(human)
-                return
+                -- return
             end
 
-            local msgRet = Msg.gc.GC_ROLE_CHANGE_BASEINFO
-            msgRet.ret   = QUICK_HATCH_TYPE
-            msgRet.tip   = Lang.QUICK_HATCH_SUCCESS
-            Msg.send(msgRet, human.fd)
+            Log.write(Log.LOGID_TEST, "加速后 human.db.mergeInfo : " .. Json.Encode(human.db.mergeInfo))
 
             Broadcast.sendErr(human, Lang.QUICK_HATCH_SUCCESS)
+
+            local mergeInfo = {}
+            local heroSimple = {}
+            heroSimple.general = heroSimple.general or {}
+            HeroGrid.makeHeroSimpleByID(heroSimple, human.db.mergeInfo.heroId, nil, nil, human)
+
+            mergeInfo.mergeTime = human.db.mergeInfo.mergeTime
+            mergeInfo.heroData  = heroSimple
+
+            local msgRet        = Msg.gc.GC_ROLE_CHANGE_BASEINFO
+            msgRet.ret          = QUICK_HATCH_TYPE
+            msgRet.tip          = Json.Encode(mergeInfo)
+            Msg.send(msgRet, human.fd)
             return
         end
-
         return
     end
 end