Commit 2b9d907ec4ee927294c7c367aa6bab4b50e5def1

Authored by 熊润斐
2 parents f406ee33 6f2c24ed

Merge branch 'cn/develop' into cn/publish/preview

Showing 1 changed file with 42 additions and 19 deletions   Show diff stats
src/actions/HeroAction.lua
@@ -867,7 +867,7 @@ function _M.drawHeroRpc(agent, data) @@ -867,7 +867,7 @@ function _M.drawHeroRpc(agent, data)
867 if not unitPool then return 7 end 867 if not unitPool then return 7 end
868 -- ssr硬性保底 868 -- ssr硬性保底
869 local isSSRup = false 869 local isSSRup = false
870 - if unitPool["rare_"..HeroQuality.SSR] or 0 > 0 then 870 + if (unitPool["rare_"..HeroQuality.SSR] or 0) > 0 then
871 isSSRup = true 871 isSSRup = true
872 end 872 end
873 873
@@ -878,34 +878,57 @@ function _M.drawHeroRpc(agent, data) @@ -878,34 +878,57 @@ function _M.drawHeroRpc(agent, data)
878 local values = {} 878 local values = {}
879 879
880 -- check ssr up 880 -- check ssr up
881 - if isSSRup then  
882 - local ssrUpMap = role:getProperty("ssrUp") or {}  
883 - local ssrFloorCnt = ssrUpMap[poolId] or 0  
884 - if ssrFloorCnt >= (globalCsv.draw_ssr_guarantee or 40) - 1 then 881 + local ssrUpMap = role:getProperty("ssrUp") or {}
  882 + local ssrFloorCnt = ssrUpMap[poolId] or 0
  883 + if isSSRup and (ssrFloorCnt >= (globalCsv.draw_ssr_guarantee or 40) - 1) then
  884 + --if ssrFloorCnt >= (globalCsv.draw_ssr_guarantee or 40) - 1 then
885 values[1] = HeroQuality.SSR 885 values[1] = HeroQuality.SSR
886 ssrUpMap[poolId] = 0 886 ssrUpMap[poolId] = 0
887 - else  
888 - for idx, field in ipairs(condition) do  
889 - if not values[idx] then  
890 - local lpool = {}  
891 - local curIdx = 1  
892 - while unitPool[field .. "_" .. curIdx] do  
893 - lpool[curIdx] = {unitPool[field .. "_" .. curIdx]}  
894 - curIdx = curIdx + 1  
895 - end  
896 -  
897 - if next(lpool) then  
898 - values[idx] = math.randWeight(lpool, 1)  
899 - end 887 + --else
  888 + -- for idx, field in ipairs(condition) do
  889 + -- if not values[idx] then
  890 + -- local lpool = {}
  891 + -- local curIdx = 1
  892 + -- while unitPool[field .. "_" .. curIdx] do
  893 + -- lpool[curIdx] = {unitPool[field .. "_" .. curIdx]}
  894 + -- curIdx = curIdx + 1
  895 + -- end
  896 +
  897 + -- if next(lpool) then
  898 + -- values[idx] = math.randWeight(lpool, 1)
  899 + -- end
  900 + -- end
  901 + -- end
  902 + -- if values[1] == HeroQuality.SSR then
  903 + -- ssrUpMap[poolId] = 0
  904 + -- else
  905 + -- ssrUpMap[poolId] = ssrFloorCnt + 1
  906 + -- end
  907 + --end
  908 + role:updateProperty({field="ssrUp", value = ssrUpMap, notNotify = true})
  909 + else
  910 + for idx, field in ipairs(condition) do
  911 + if not values[idx] then
  912 + local lpool = {}
  913 + local curIdx = 1
  914 + while unitPool[field .. "_" .. curIdx] do
  915 + lpool[curIdx] = {unitPool[field .. "_" .. curIdx]}
  916 + curIdx = curIdx + 1
  917 + end
  918 +
  919 + if next(lpool) then
  920 + values[idx] = math.randWeight(lpool, 1)
900 end 921 end
901 end 922 end
  923 + end
  924 + if isSSRup then
902 if values[1] == HeroQuality.SSR then 925 if values[1] == HeroQuality.SSR then
903 ssrUpMap[poolId] = 0 926 ssrUpMap[poolId] = 0
904 else 927 else
905 ssrUpMap[poolId] = ssrFloorCnt + 1 928 ssrUpMap[poolId] = ssrFloorCnt + 1
906 end 929 end
  930 + role:updateProperty({field="ssrUp", value = ssrUpMap, notNotify = true})
907 end 931 end
908 - role:updateProperty({field="ssrUp", value = ssrUpMap, notNotify = true})  
909 end 932 end
910 933
911 934