|
|
@@ -156,12 +156,30 @@ function getRandHeroByWeightLv(weightLv)
|
|
|
end
|
|
|
|
|
|
function getRandHeroByGradeAndCamp(grade, camp)
|
|
|
+ local heroId = nil
|
|
|
if GRADEHEROS[camp] then
|
|
|
if GRADEHEROS[camp][grade] then
|
|
|
local gradeIndex = math.random(1, #GRADEHEROS[camp][grade])
|
|
|
- return GRADEHEROS[camp][grade][gradeIndex]
|
|
|
+ heroId = GRADEHEROS[camp][grade][gradeIndex]
|
|
|
end
|
|
|
end
|
|
|
+
|
|
|
+ if heroId ~= nil then
|
|
|
+ return heroId
|
|
|
+ end
|
|
|
+
|
|
|
+ local isHasHeroList = {}
|
|
|
+ for k, v in pairs(GRADEHEROS) do
|
|
|
+ local isHasHero = GRADEHEROS[k][grade]
|
|
|
+ if isHasHero then
|
|
|
+ isHasHeroList[#isHasHeroList + 1] = k
|
|
|
+ end
|
|
|
+ end
|
|
|
+
|
|
|
+ local r = math.random(1,#isHasHeroList)
|
|
|
+ local newCamp = isHasHeroList[r]
|
|
|
+ local gradeIndex = math.random(1, #GRADEHEROS[newCamp][grade])
|
|
|
+ return GRADEHEROS[newCamp][grade][gradeIndex]
|
|
|
end
|
|
|
|
|
|
function getRandHeroByWeightLvAndCamp(weightLv, camp)
|