zhanwencai vor 1 Jahr
Ursprung
Commit
cf00d50951
3 geänderte Dateien mit 32 neuen und 17 gelöschten Zeilen
  1. 1 0
      script/excel/ssecy/item.lua
  2. BIN
      script/file3.tar.gz
  3. 31 17
      script/module/role/NewLogic.lua

+ 1 - 0
script/excel/ssecy/item.lua

@@ -96,6 +96,7 @@
 [176]={mainType=1,subType=1,isShow=0,name=[[复活药水]],icon=557,effects=0,order=0,rare=5,desc1=[[道具]],desc2=[[恢复生命复活英雄的神秘药剂,只能在失落神庙使用]],price={},getway={2002},panelID=2901,cond={},get={},fullCnt=0,cmd={"lostRevice"},material={},dot={},effect=0},
 [177]={mainType=1,subType=1,isShow=0,name=[[战意碎片]],icon=542,effects=0,order=9,rare=5,desc1=[[材料]],desc2=[[蕴含着微弱的战意之力,可用于升级战意技能等级]],price={},getway={},panelID=0,cond={},get={},fullCnt=0,cmd={},material={},dot={},effect=0},
 [178]={mainType=1,subType=0,isShow=0,name=[[生命雨露]],icon=178,effects=0,order=0,rare=5,desc1=[[材料]],desc2=[[蕴含生命起源的力量,英雄融合必需的道具]],price={},getway={},panelID=0,cond={},get={},fullCnt=0,cmd={},material={},dot={},effect=0},
+[179]={mainType=1,subType=0,isShow=0,name=[[加速卡]],icon=179,effects=0,order=0,rare=5,desc1=[[道具]],desc2=[[在各种加速设置中可抵消5分钟的时间消耗]],price={},getway={},panelID=0,cond={},get={},fullCnt=0,cmd={},material={},dot={},effect=0},
 [301]={mainType=1,subType=1,isShow=0,name=[[狂暴战意]],icon=301,effects=0,order=1,rare=5,desc1=[[道具]],desc2=[[用于激活或升级(狂暴)战意技能。狂暴:暴击率提高5%;英雄将在6星时开启战意领悟]],price={177,1000},getway={},panelID=1101,cond={},get={},fullCnt=0,cmd={},material={},dot={},effect=0},
 [302]={mainType=1,subType=1,isShow=0,name=[[战意战意]],icon=302,effects=0,order=1,rare=5,desc1=[[道具]],desc2=[[用于激活或升级(战意)战意技能。战意:生命值每降低1%,伤害提高0.1%;英雄将在6星时开启战意领悟]],price={177,1000},getway={},panelID=1101,cond={},get={},fullCnt=0,cmd={},material={},dot={},effect=0},
 [303]={mainType=1,subType=1,isShow=0,name=[[回音战意]],icon=303,effects=0,order=1,rare=5,desc1=[[道具]],desc2=[[用于激活或升级(遁走)战意技能。遁走:复活后闪避率提高5%,持续2回合;英雄将在6星时开启战意领悟]],price={177,1000},getway={},panelID=1101,cond={},get={},fullCnt=0,cmd={},material={},dot={},effect=0},

BIN
script/file3.tar.gz


+ 31 - 17
script/module/role/NewLogic.lua

@@ -293,36 +293,41 @@ function NewProto(human, type, param)
                 return
             end
 
-            local speedTime = 0 -- 加速时间
+            local itemSpeedTime = 0
             if itemId == 179 then
-                speedTime = (60 * 5 * cnt)
+                local speedTime = (60 * 5 * cnt)           -- 正常数量加速券的加速时间
+                local lastSpeedTime = (60 * 5 * (cnt - 1)) --少一张加速券的加速时间
+                local itemCnt = 0
 
-                local checkTime = (human.db.mergeInfo.endTime - nowTime) - speedTime
-                if checkTime < 0 then
-                    Broadcast.sendErr(human, Lang.QUICK_HATCH_TIME_OUT)
-                    return
+                --使用道具
+                if hatchTime > lastSpeedTime and hatchTime <= speedTime then
+                    itemCnt = cnt
+                elseif hatchTime > 0 and hatchTime <= lastSpeedTime then
+                    itemCnt = cnt - 1
+                elseif hatchTime >= speedTime then
+                    itemCnt = cnt
+                else
+                    itemCnt = 0
                 end
 
+                itemSpeedTime = (60 * 5 * itemCnt)
                 --使用道具
-                ItemLogic.use(human, itemId, cnt)
+                ItemLogic.use(human, itemId, itemCnt)
             else
+                local zuanshiCnt = doCalcNeedZuanshi(hatchTime)
+
                 -- 判断消耗
-                if not ObjHuman.checkRMB(human, cnt) then
+                if not ObjHuman.checkRMB(human, zuanshiCnt) then
                     return
                 end
 
-                speedTime = (30 * cnt)
-                local checkTime = (human.db.mergeInfo.endTime - nowTime) - speedTime
-                if checkTime < 0 then
-                    Broadcast.sendErr(human, Lang.QUICK_HATCH_TIME_OUT)
-                    return
-                end
+                itemSpeedTime = (30 * zuanshiCnt)
 
                 -- 扣钻石
-                ObjHuman.decZuanshi(human, -cnt, "hero_merge")
+                ObjHuman.decZuanshi(human, -zuanshiCnt, "hero_merge")
             end
 
-            human.db.mergeInfo.endTime = human.db.mergeInfo.endTime - speedTime
+            human.db.mergeInfo.endTime = human.db.mergeInfo.endTime - itemSpeedTime
 
             Log.write(Log.LOGID_TEST, "human.db.mergeInfo.endTime: " .. human.db.mergeInfo.endTime)
 
@@ -400,7 +405,7 @@ function initMergeInfo(human)
 end
 
 -- 获取孵化时间 单位s
-function getHatchTime(human, xLv)
+function getHatchTime(xLv)
     local time = (xLv * 5) + (xLv - 1) * (xLv - 1) - 5
 
     if time < 0 then
@@ -410,6 +415,15 @@ function getHatchTime(human, xLv)
     return time * 60
 end
 
+-- 计算需要钻石数量
+function doCalcNeedZuanshi(hatchTime)
+    local cnt = 0
+    if hatchTime > 0 then
+        cnt = math.ceil(hatchTime / 30)
+    end
+    return cnt
+end
+
 -- 获取xlv
 function getxLv(fatherHeroGrid, motherHeroGrid)
     local params1 = math.max(fatherHeroGrid.xLv, motherHeroGrid.xLv)