468 lines
19 KiB
Lua
468 lines
19 KiB
Lua
|
local tableInsert = table.insert
|
||
|
|
||
|
XFubenBabelTowerConfigs = {}
|
||
|
|
||
|
local SHARE_BABEL_ACTIVITY = "Share/Fuben/BabelTower/BabelTowerActivity.tab"
|
||
|
local SHARE_BABEL_BUFF = "Share/Fuben/BabelTower/BabelTowerBuff.tab"
|
||
|
local SHARE_BABEL_BUFFGROUP = "Share/Fuben/BabelTower/BabelTowerBuffGroup.tab"
|
||
|
local SHARE_BABEL_RANKLEVEL = "Share/Fuben/BabelTower/BabelTowerRankLevel.tab"
|
||
|
local SHARE_BABEL_STAGE = "Share/Fuben/BabelTower/BabelTowerStage.tab"
|
||
|
local SHARE_BABEL_STAGEGUIDE = "Share/Fuben/BabelTower/BabelTowerStageGuide.tab"
|
||
|
local SHARE_BABEL_SUPPORTCONDITION = "Share/Fuben/BabelTower/BabelTowerSupportCondition.tab"
|
||
|
local SHARE_BABEL_RANKREWARD = "Share/Fuben/BabelTower/BabelTowerRankReward.tab"
|
||
|
local SHARE_BABEL_STAGELEVEL = "Share/Fuben/BabelTower/BabelTowerStageLevel.tab"
|
||
|
local SHARE_BABEL_STAGELEVELGLOBALUNLOCK = "Share/Fuben/BabelTower/BabelTowerStageLevelGlobalUnlock.tab"
|
||
|
|
||
|
local CLIENT_BABEL_STAGEGUIDEDETAIL = "Client/Fuben/BabelTower/BabelTowerStageGuideDetails.tab"
|
||
|
local CLIENT_BABEL_BUFFDETAIL = "Client/Fuben/BabelTower/BabelTowerBuffDetails.tab"
|
||
|
local CLIENT_BABEL_BUFFGROUPDETAIL = "Client/Fuben/BabelTower/BabelTowerBuffGroupDetails.tab"
|
||
|
local CLIENT_BABEL_ACTIVITYDIFFICULTY = "Client/Fuben/BabelTower/BabelTowerActivityDifficulty.tab"
|
||
|
local CLIENT_BABEL_STAGEDETAIL = "Client/Fuben/BabelTower/BabelTowerStageDetails.tab"
|
||
|
local CLIENT_BABEL_ACTIVITYDETAIL = "Client/Fuben/BabelTower/BabelTowerActivityDetails.tab"
|
||
|
local CLIENT_BABEL_CONDITIONDETAIL = "Client/Fuben/BabelTower/BabelTowerConditionDetails.tab"
|
||
|
local CLIENT_BABEL_CLIENT_CONFIG = "Client/Fuben/BabelTower/BabelTowerClientConfig.tab"
|
||
|
|
||
|
local BabelActivityTemplate = {}
|
||
|
local BabelBuffTemplate = {}
|
||
|
local BabelBuffGroupTemplate = {}
|
||
|
local BabelRankLevelTemplate = {}
|
||
|
local BabelStageTemplate = {}
|
||
|
local BabelStageGuideTemplate = {}
|
||
|
local BabelSupportConditionTemplate = {}
|
||
|
local BabelRankRewardTemplate = {}
|
||
|
local BabelStageLevelDic = {}
|
||
|
local BabelStageLevelLockBuffIdDic = {}
|
||
|
local BabeGlobalUnlockTemplate = {}
|
||
|
|
||
|
local BabelStageGuideDetailsConfigs = {}
|
||
|
local BabelBuffDetailsConfigs = {}
|
||
|
local BabelBuffGroupDetailsConfigs = {}
|
||
|
local BabelActivityDifficultyConfigs = {}
|
||
|
local BabelStageConfigs = {}
|
||
|
local BabelActivityDetailsConfigs = {}
|
||
|
local BabelConditionDetailsConfigs = {}
|
||
|
local BabelGlobalUnlockDetailsConfigs = {}
|
||
|
|
||
|
XFubenBabelTowerConfigs.MAX_TEAM_MEMBER = 3 -- 最多出站人数
|
||
|
XFubenBabelTowerConfigs.LEADER_POSITION = 1 -- 队长位置
|
||
|
XFubenBabelTowerConfigs.FIRST_FIGHT_POSITION = 1 -- 首发位置
|
||
|
XFubenBabelTowerConfigs.BabelTowerStatus = {
|
||
|
Close = 0,
|
||
|
Open = 1,
|
||
|
FightEnd = 2,
|
||
|
End = 3
|
||
|
}
|
||
|
|
||
|
XFubenBabelTowerConfigs.RankPlaform = {
|
||
|
Win = 0,
|
||
|
Android = 1,
|
||
|
IOS = 2,
|
||
|
}
|
||
|
|
||
|
XFubenBabelTowerConfigs.RankType = {
|
||
|
NoRank = 0,
|
||
|
OnlyRank = 1,
|
||
|
RankAndReward = 2,
|
||
|
}
|
||
|
|
||
|
XFubenBabelTowerConfigs.ActivityType = {
|
||
|
-- 正常
|
||
|
Normal = 1,
|
||
|
-- 复刻,扩展
|
||
|
Extra = 2,
|
||
|
}
|
||
|
|
||
|
XFubenBabelTowerConfigs.Difficult = {
|
||
|
Default = 0,
|
||
|
Easy = 1,
|
||
|
Normal = 2,
|
||
|
Middle = 3,
|
||
|
Hard = 4,
|
||
|
Count = 4,
|
||
|
}
|
||
|
|
||
|
XFubenBabelTowerConfigs.RankIcon = {
|
||
|
[1] = CS.XGame.ClientConfig:GetString("BabelTowerRankIcon1"),
|
||
|
[2] = CS.XGame.ClientConfig:GetString("BabelTowerRankIcon2"),
|
||
|
[3] = CS.XGame.ClientConfig:GetString("BabelTowerRankIcon3"),
|
||
|
}
|
||
|
|
||
|
XFubenBabelTowerConfigs.ChallengePhase = 1 -- 选择挑战阶段
|
||
|
XFubenBabelTowerConfigs.SupportPhase = 2 -- 选择支援阶段
|
||
|
XFubenBabelTowerConfigs.CHALLENGE_CHILD_UI = "UiBabelTowerChildChallenge" -- 挑战界面
|
||
|
XFubenBabelTowerConfigs.SUPPORT_CHILD_UI = "UiBabelTowerChildSupport" -- 支援界面
|
||
|
|
||
|
XFubenBabelTowerConfigs.TIPSTYPE_ENVIRONMENT = 1 -- 环境情报
|
||
|
XFubenBabelTowerConfigs.TIPSTYPE_CHALLENGE = 2 -- 挑战详情
|
||
|
XFubenBabelTowerConfigs.TIPSTYPE_SUPPORT = 3 -- 支援详情
|
||
|
|
||
|
XFubenBabelTowerConfigs.TYPE_CHALLENGE = 1 --挑战类型
|
||
|
XFubenBabelTowerConfigs.TYPE_SUPPORT = 2 --支援类型
|
||
|
|
||
|
-- 准备结束界面tips
|
||
|
XFubenBabelTowerConfigs.BattleReady = 1
|
||
|
XFubenBabelTowerConfigs.BattleEnd = 2
|
||
|
XFubenBabelTowerConfigs.MAX_BUFF_COUNT = 10
|
||
|
XFubenBabelTowerConfigs.MAX_CHALLENGE_BUFF_COUNT = CS.XGame.ClientConfig:GetInt("BabelTowerMaxChallengeBuff")
|
||
|
XFubenBabelTowerConfigs.MAX_SUPPORT_BUFF_COUNT = CS.XGame.ClientConfig:GetInt("BabelTowerMaxSupportBuff")
|
||
|
XFubenBabelTowerConfigs.START_INDEX = 0
|
||
|
|
||
|
-- 事态类型
|
||
|
XFubenBabelTowerConfigs.DIFFICULTY_NONE = 0
|
||
|
XFubenBabelTowerConfigs.DIFFICULTY_NORMAL = 1 -- 普通
|
||
|
XFubenBabelTowerConfigs.DIFFICULTY_URGENCY = 2 -- 紧急
|
||
|
XFubenBabelTowerConfigs.DIFFICULTY_CRITICAL = 3 -- 高危
|
||
|
|
||
|
-- 上次选中的StageId key
|
||
|
XFubenBabelTowerConfigs.LAST_SELECT_KEY = "BabelTowerLastSelectedStageId"
|
||
|
-- 第一次查看环境
|
||
|
XFubenBabelTowerConfigs.ENVIROMENT_DOT_KEY = "babelenvironment_%s_%s_%s"
|
||
|
-- 第一次播放剧情
|
||
|
XFubenBabelTowerConfigs.HAS_PLAY_BEGINSTORY = "BabelTowerPlayBeginStory"
|
||
|
-- 作战等级无法提升时的提示
|
||
|
XFubenBabelTowerConfigs.AFFIX_LEVEL_INADEQUATE_KEY = "BabelTowerAffixLevelInadequate"
|
||
|
-- 挑战过高难度时的提示
|
||
|
XFubenBabelTowerConfigs.ABILITY_WARNING_KEY = "BabelTowerAbilityWarning_%s_%s_%s"
|
||
|
-- 巴别塔收藏品品质等级检测
|
||
|
XFubenBabelTowerConfigs.COLLECTION_ITEM_QUALITY = "BabelTowerCollectionItemQuality"
|
||
|
-- 巴别塔开放期间首次进入巴别塔检测
|
||
|
XFubenBabelTowerConfigs.OPEN_FIRST_ENTER = "BabelTowerOpenFirstEnter"
|
||
|
|
||
|
local function InitStageLevelConfig()
|
||
|
local template = XTableManager.ReadByIntKey(SHARE_BABEL_STAGELEVEL, XTable.XTableBabelTowerStageLevel, "Id")
|
||
|
|
||
|
for _, config in pairs(template) do
|
||
|
local stageId = config.StageId
|
||
|
|
||
|
local stageConfig = BabelStageLevelDic[stageId]
|
||
|
if not stageConfig then
|
||
|
stageConfig = {}
|
||
|
BabelStageLevelDic[stageId] = stageConfig
|
||
|
end
|
||
|
|
||
|
local level = config.Level
|
||
|
stageConfig[level] = config
|
||
|
|
||
|
local stageLockBuffIdDic = BabelStageLevelLockBuffIdDic[stageId]
|
||
|
if not stageLockBuffIdDic then
|
||
|
stageLockBuffIdDic = {}
|
||
|
BabelStageLevelLockBuffIdDic[stageId] = stageLockBuffIdDic
|
||
|
end
|
||
|
|
||
|
local lockBuffIds = config.LockBuffId
|
||
|
for _, buffId in pairs(lockBuffIds) do
|
||
|
if buffId ~= 0 then
|
||
|
local oldLevel = stageLockBuffIdDic[buffId] or 0
|
||
|
if level > oldLevel then
|
||
|
stageLockBuffIdDic[buffId] = level
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.Init()
|
||
|
BabelActivityTemplate = XTableManager.ReadByIntKey(SHARE_BABEL_ACTIVITY, XTable.XTableBabelTowerActivity, "Id")
|
||
|
BabelBuffTemplate = XTableManager.ReadByIntKey(SHARE_BABEL_BUFF, XTable.XTableBabelTowerBuff, "Id")
|
||
|
BabelBuffGroupTemplate = XTableManager.ReadByIntKey(SHARE_BABEL_BUFFGROUP, XTable.XTableBabelTowerBuffGroup, "Id")
|
||
|
BabelRankLevelTemplate = XTableManager.ReadByIntKey(SHARE_BABEL_RANKLEVEL, XTable.XTableBabelTowerRankLevel, "Id")
|
||
|
BabelStageTemplate = XTableManager.ReadByIntKey(SHARE_BABEL_STAGE, XTable.XTableBabelTowerStage, "Id")
|
||
|
BabelStageGuideTemplate = XTableManager.ReadByIntKey(SHARE_BABEL_STAGEGUIDE, XTable.XTableBabelTowerStageGuide, "Id")
|
||
|
BabelSupportConditionTemplate = XTableManager.ReadByIntKey(SHARE_BABEL_SUPPORTCONDITION, XTable.XTableBabelTowerSupportCondition, "Id")
|
||
|
BabelRankRewardTemplate = XTableManager.ReadByIntKey(SHARE_BABEL_RANKREWARD, XTable.XTableBabelTowerRankReward, "Id")
|
||
|
BabeGlobalUnlockTemplate = XTableManager.ReadByIntKey(SHARE_BABEL_STAGELEVELGLOBALUNLOCK, XTable.XTableBabelTowerStageLevelGlobalUnlock, "Id")
|
||
|
|
||
|
BabelStageGuideDetailsConfigs = XTableManager.ReadByIntKey(CLIENT_BABEL_STAGEGUIDEDETAIL, XTable.XTableBabelTowerStageGuideDetails, "Id")
|
||
|
BabelBuffDetailsConfigs = XTableManager.ReadByIntKey(CLIENT_BABEL_BUFFDETAIL, XTable.XTableBabelTowerBuffDetails, "Id")
|
||
|
BabelBuffGroupDetailsConfigs = XTableManager.ReadByIntKey(CLIENT_BABEL_BUFFGROUPDETAIL, XTable.XTableBabelTowerBuffGroupDetails, "Id")
|
||
|
BabelActivityDifficultyConfigs = XTableManager.ReadByIntKey(CLIENT_BABEL_ACTIVITYDIFFICULTY, XTable.XTableBabelTowerActivityDifficulty, "Id")
|
||
|
BabelStageConfigs = XTableManager.ReadByIntKey(CLIENT_BABEL_STAGEDETAIL, XTable.XTableBabelTowerStageDetails, "Id")
|
||
|
BabelActivityDetailsConfigs = XTableManager.ReadByIntKey(CLIENT_BABEL_ACTIVITYDETAIL, XTable.XTableBabelTowerActivityDetails, "Id")
|
||
|
BabelConditionDetailsConfigs = XTableManager.ReadByIntKey(CLIENT_BABEL_CONDITIONDETAIL, XTable.XTableBabelTowerConditionDetails, "Id")
|
||
|
|
||
|
InitStageLevelConfig()
|
||
|
XConfigCenter.CreateGetPropertyByFunc(XFubenBabelTowerConfigs, "BabelClienConfig", function()
|
||
|
return XTableManager.ReadByStringKey(CLIENT_BABEL_CLIENT_CONFIG, XTable.XTableBabelTowerClientConfig, "Key")
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetActivityName(id)
|
||
|
if not BabelActivityDetailsConfigs[id] then return "" end
|
||
|
return BabelActivityDetailsConfigs[id].Name
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetActivityBeginStory(id)
|
||
|
if not BabelActivityDetailsConfigs[id] then return nil end
|
||
|
return BabelActivityDetailsConfigs[id].BeginStoryId
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetActivityRankTitle(id)
|
||
|
if not BabelActivityDetailsConfigs[id] then return nil end
|
||
|
return BabelActivityDetailsConfigs[id].RankTitle
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetActivityRewardId(id)
|
||
|
if not BabelActivityDetailsConfigs[id] then return 0 end
|
||
|
return BabelActivityDetailsConfigs[id].RewardId
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetConditionDescription(id)
|
||
|
if not BabelConditionDetailsConfigs[id] then return "" end
|
||
|
return BabelConditionDetailsConfigs[id].Desc
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetAllBabelTowerActivityTemplate()
|
||
|
return BabelActivityTemplate
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetBabelTowerActivityTemplateById(id)
|
||
|
if not BabelActivityTemplate[id] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetBabelTowerActivityTemplateById",
|
||
|
"BabelTowerActivity", SHARE_BABEL_ACTIVITY, "Id", tostring(id))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelActivityTemplate[id]
|
||
|
end
|
||
|
|
||
|
-- 获取stage数据,加成相关
|
||
|
function XFubenBabelTowerConfigs.GetBabelTowerStageTemplate(stageId)
|
||
|
if not BabelStageTemplate[stageId] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetBabelTowerStageTemplate",
|
||
|
"BabelTowerStage", SHARE_BABEL_STAGE, "stageId", tostring(stageId))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelStageTemplate[stageId]
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetBaseBuffIds(stageId)
|
||
|
local buffIds = {}
|
||
|
|
||
|
local config = XFubenBabelTowerConfigs.GetBabelTowerStageTemplate(stageId)
|
||
|
for _, buffId in pairs(config.BaseBuffId) do
|
||
|
if buffId > 0 then
|
||
|
tableInsert(buffIds, buffId)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return buffIds
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetStageTeamCount(stageId)
|
||
|
local config = XFubenBabelTowerConfigs.GetBabelTowerStageTemplate(stageId)
|
||
|
return config.TeamCount
|
||
|
end
|
||
|
|
||
|
-- 引导的数据
|
||
|
function XFubenBabelTowerConfigs.GetBabelTowerStageGuideTemplate(guideId)
|
||
|
if not BabelStageGuideTemplate[guideId] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetBabelTowerStageGuideTemplate",
|
||
|
"BabelTowerStageGuide", SHARE_BABEL_STAGEGUIDE, "guideId", tostring(guideId))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelStageGuideTemplate[guideId]
|
||
|
end
|
||
|
|
||
|
-- 关卡引导的本地数据
|
||
|
function XFubenBabelTowerConfigs.GetStageGuideConfigs(guideId)
|
||
|
if not BabelStageGuideDetailsConfigs[guideId] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetStageGuideConfigs",
|
||
|
"StageGuideDetails", CLIENT_BABEL_STAGEGUIDEDETAIL, "guideId", tostring(guideId))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelStageGuideDetailsConfigs[guideId]
|
||
|
end
|
||
|
|
||
|
-- buffGroup组的本地数据
|
||
|
function XFubenBabelTowerConfigs.GetBabelBuffGroupConfigs(buffGroupId)
|
||
|
if not BabelBuffGroupDetailsConfigs[buffGroupId] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetBuffGroupConfigs",
|
||
|
"BabelBuffGroupDetails", CLIENT_BABEL_BUFFGROUPDETAIL, "buffGroupId", tostring(buffGroupId))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelBuffGroupDetailsConfigs[buffGroupId]
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.IsBuffGroupHard(buffGroupId)
|
||
|
local config = XFubenBabelTowerConfigs.GetBabelBuffGroupConfigs(buffGroupId)
|
||
|
return config and config.IsStress and config.IsStress ~= 0
|
||
|
end
|
||
|
|
||
|
-- buff的本地数据
|
||
|
function XFubenBabelTowerConfigs.GetBabelBuffConfigs(buffId)
|
||
|
if not BabelBuffDetailsConfigs[buffId] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetBabelBuffConfigs",
|
||
|
"BabelBuffGroupDetails", CLIENT_BABEL_BUFFDETAIL, "buffId", tostring(buffId))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelBuffDetailsConfigs[buffId]
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetBaseBuffNameWithSpilt(buffId)
|
||
|
local config = XFubenBabelTowerConfigs.GetBabelBuffConfigs(buffId)
|
||
|
return XUiHelper.RichTextToTextString(config.Name)
|
||
|
end
|
||
|
|
||
|
-- stage本地数据
|
||
|
function XFubenBabelTowerConfigs.GetBabelStageConfigs(stageId)
|
||
|
if not BabelStageConfigs[stageId] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetBabelStageConfigs",
|
||
|
"BabelStageDetails", CLIENT_BABEL_STAGEDETAIL, "stageId", tostring(stageId))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelStageConfigs[stageId]
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetStageName(stageId)
|
||
|
local config = XFubenBabelTowerConfigs.GetBabelStageConfigs(stageId)
|
||
|
return config.Name
|
||
|
end
|
||
|
|
||
|
|
||
|
-- 排行榜分段
|
||
|
function XFubenBabelTowerConfigs.GetBabelTowerRankLevelTemplate(id)
|
||
|
if not BabelRankLevelTemplate[id] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetBabelTowerRankLevelTemplate", "RankLevel", SHARE_BABEL_RANKLEVEL, "Id", tostring(id))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelRankLevelTemplate[id]
|
||
|
end
|
||
|
|
||
|
-- 支援条件
|
||
|
function XFubenBabelTowerConfigs.GetBabelTowerSupportConditonTemplate(supportId)
|
||
|
if not BabelSupportConditionTemplate[supportId] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetBabelTowerSupportConditonTemplate",
|
||
|
"SupportCondition", SHARE_BABEL_SUPPORTCONDITION, "supportId", tostring(supportId))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelSupportConditionTemplate[supportId]
|
||
|
end
|
||
|
|
||
|
-- buff组
|
||
|
function XFubenBabelTowerConfigs.GetBabelTowerBuffGroupTemplate(groupId)
|
||
|
if not BabelBuffGroupTemplate[groupId] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetBabelTowerBuffGroupTemplate",
|
||
|
"BabelTowerBuffGroup", SHARE_BABEL_BUFFGROUP, "groupId", tostring(groupId))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelBuffGroupTemplate[groupId]
|
||
|
end
|
||
|
|
||
|
-- buff
|
||
|
function XFubenBabelTowerConfigs.GetBabelTowerBuffTemplate(buffId)
|
||
|
if not BabelBuffTemplate[buffId] then
|
||
|
XLog.ErrorTableDataNotFound("XFubenBabelTowerConfigs.GetBabelTowerBuffTemplate", "BabelBuff", SHARE_BABEL_BUFF, "buffId", tostring(buffId))
|
||
|
return nil
|
||
|
end
|
||
|
return BabelBuffTemplate[buffId]
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetBabelTowerDifficulty(stageId, challengePoints)
|
||
|
local difficultyConfigs = BabelActivityDifficultyConfigs[stageId]
|
||
|
if not difficultyConfigs then
|
||
|
return XFubenBabelTowerConfigs.DIFFICULTY_NONE, "", ""
|
||
|
end
|
||
|
|
||
|
if challengePoints >= difficultyConfigs.Critical then
|
||
|
return XFubenBabelTowerConfigs.DIFFICULTY_CRITICAL, difficultyConfigs.CriticalTitle, difficultyConfigs.CriticalStatus
|
||
|
end
|
||
|
|
||
|
if challengePoints >= difficultyConfigs.Urgency then
|
||
|
return XFubenBabelTowerConfigs.DIFFICULTY_URGENCY, difficultyConfigs.UrgencyTitle, difficultyConfigs.UrgencyStatus
|
||
|
end
|
||
|
|
||
|
return XFubenBabelTowerConfigs.DIFFICULTY_NORMAL, difficultyConfigs.NormalTitle, difficultyConfigs.NormalStatus
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetBabelTowerRankReward(rankLevel)
|
||
|
local rankRewards = {}
|
||
|
for _, rankReward in pairs(BabelRankRewardTemplate) do
|
||
|
if rankReward.LevelId == rankLevel then
|
||
|
table.insert(rankRewards, {
|
||
|
Id = rankReward.Id,
|
||
|
RankLevel = rankReward.LevelId,
|
||
|
MinRank = rankReward.MinRank,
|
||
|
MaxRank = rankReward.MaxRank,
|
||
|
MailId = rankReward.MailId,
|
||
|
RankIcon = rankReward.RankIcon
|
||
|
})
|
||
|
end
|
||
|
end
|
||
|
table.sort(rankRewards, function(rank1, rank2)
|
||
|
return rank1.MinRank < rank2.MinRank
|
||
|
end)
|
||
|
return rankRewards
|
||
|
end
|
||
|
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetStageDifficultConfigs(stageId)
|
||
|
local config = BabelStageLevelDic[stageId]
|
||
|
if not config then
|
||
|
XLog.Error("XFubenBabelTowerConfigs.GetStageDifficultConfigs Error: stageId is: " .. stageId .. " ,path is: " .. SHARE_BABEL_STAGELEVEL)
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetStageDifficultConfig(stageId, difficult)
|
||
|
local configs = XFubenBabelTowerConfigs.GetStageDifficultConfigs(stageId)
|
||
|
local config = configs[difficult]
|
||
|
if not config then
|
||
|
XLog.Error("XFubenBabelTowerConfigs.GetStageDifficultConfig Error: difficult is: " .. difficult .. " ,path is: " .. SHARE_BABEL_STAGELEVEL, BabelStageLevelDic)
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetStageDifficultLockBuffIdOpenLevel(stageId, buffId)
|
||
|
local config = BabelStageLevelLockBuffIdDic[stageId]
|
||
|
if not config then return 0 end
|
||
|
return config[buffId] or 0
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetStageDifficultRecommendAblity(stageId, difficult)
|
||
|
local config = XFubenBabelTowerConfigs.GetStageDifficultConfig(stageId, difficult)
|
||
|
return config.RecommendAblity
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetStageDifficultName(stageId, difficult)
|
||
|
local config = XFubenBabelTowerConfigs.GetStageDifficultConfig(stageId, difficult)
|
||
|
return config.Name
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetStageDifficultRatio(stageId, difficult)
|
||
|
local config = XFubenBabelTowerConfigs.GetStageDifficultConfig(stageId, difficult)
|
||
|
return getRoundingValue(config.ScoreRatio + 0.0001, 1)
|
||
|
end
|
||
|
|
||
|
-- 根据buffid获取队伍成员数量减少数量
|
||
|
function XFubenBabelTowerConfigs.GetBuffTeamLimitCount(buffId)
|
||
|
local buffConfig = XFubenBabelTowerConfigs.GetBabelTowerBuffTemplate(buffId)
|
||
|
if buffConfig then
|
||
|
if buffConfig.TeamLimitCount <= 0 then
|
||
|
return 3
|
||
|
end
|
||
|
return buffConfig.TeamLimitCount
|
||
|
end
|
||
|
return 3
|
||
|
end
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetActivityConfigValue(key)
|
||
|
local babelClienConfig = XFubenBabelTowerConfigs.GetBabelClienConfig()
|
||
|
if not babelClienConfig[key] then
|
||
|
XLog.ErrorTableDataNotFound(
|
||
|
"XFubenBabelTowerConfigs.GetActivityConfigValue",
|
||
|
"客户端配置字段_Key",
|
||
|
CLIENT_BABEL_CLIENT_CONFIG,
|
||
|
"Key",
|
||
|
tostring(key))
|
||
|
end
|
||
|
return babelClienConfig[key].Values
|
||
|
end
|
||
|
|
||
|
--region BabelTowerStageLevelGlobalUnlock.tab
|
||
|
|
||
|
function XFubenBabelTowerConfigs.GetStageLevelGlobalUnlock()
|
||
|
return BabeGlobalUnlockTemplate
|
||
|
end
|
||
|
|
||
|
--endregion
|