2109 lines
No EOL
66 KiB
Lua
2109 lines
No EOL
66 KiB
Lua
local tableInsert = table.insert
|
||
local ipairs = ipairs
|
||
local pairs = pairs
|
||
local stringGsub = string.gsub
|
||
local CSXTextManagerGetText = CS.XTextManager.GetText
|
||
|
||
local TABLE_ROLE_PATH = "Share/TRPG/TRPGRole.tab"
|
||
local TABLE_ROLE_TALENT_GROUP_PATH = "Share/TRPG/RoleTalentGroup/"
|
||
local TABLE_ROLE_TALENT_GROUP_CLIENT_PATH = "Client/TRPG/TRPGTalentGroup.tab"
|
||
local TABLE_ROLE_TALENT_PATH = "Share/TRPG/TRPGRoleTalent.tab"
|
||
local TABLE_ROLE_ATTRIBUTE_PATH = "Client/TRPG/TRPGRoleAttribute.tab"
|
||
local TABLE_MAIN_AREA_PATH = "Share/TRPG/TRPGMainArea.tab" --主区域
|
||
local TABLE_TARGET_LINK_PATH = "Share/TRPG/TRPGTargetLink.tab" --目标链表
|
||
local TABLE_TARGET_PATH = "Share/TRPG/TRPGTarget.tab" --目标表
|
||
local TABLE_MAZE_PATH = "Share/TRPG/TRPGMaze.tab"
|
||
local TABLE_MAZE_LAYER_PATH = "Share/TRPG/TRPGMazeLayer.tab"
|
||
local TABLE_MAZE_MAP_PATH = "Share/TRPG/MazeMap/"
|
||
local TABLE_MAZE_CARD_PATH = "Share/TRPG/TRPGMazeCard.tab"
|
||
local TABLE_MAZE_CARD_TYPE_PATH = "Client/TRPG/TRPGMazeCardType.tab"
|
||
local TABLE_MAZE_CARD_RECORD_GROUP_PATH = "Client/TRPG/TRPGMazeCardRecordGroup.tab"
|
||
local TABLE_LEVEL_PATH = "Share/TRPG/TRPGLevel.tab"
|
||
local TABLE_BUFF_PATH = "Share/TRPG/TRPGBuff.tab"
|
||
local TABLE_REWARD_PATH = "Share/TRPG/TRPGReward.tab"
|
||
local TABLE_SECOND_AREA_PATH = "Share/TRPG/TRPGSecondArea.tab"
|
||
local TABLE_THIRD_AREA_PATH = "Share/TRPG/TRPGThirdArea.tab"
|
||
local TABLE_SHOP_PATH = "Share/TRPG/TRPGShop.tab"
|
||
local TABLE_SHOP_ITEM_PATH = "Share/TRPG/TRPGShopItem.tab"
|
||
local TABLE_ITEM_PATH = "Share/TRPG/TRPGItem.tab"
|
||
local TABLE_TRUTH_ROAD_GROUP_PATH = "Share/TRPG/TruthRoad/TRPGTruthRoadGroup.tab"
|
||
local TABLE_TRUTH_ROAD_PATH = "Share/TRPG/TruthRoad/TRPGTruthRoad.tab"
|
||
local TABLE_BOSS_PATH = "Share/TRPG/Boss/TRPGBoss.tab"
|
||
local TABLE_BOSS_PHASES_REWARD = "Share/TRPG/Boss/TRPGBossPhasesReward.tab"
|
||
local TABLE_MEMOIRE_STORY = "Share/TRPG/TRPGMemoirStory.tab"
|
||
local TABLE_PANEL_PLOT_TAB_PATH = "Client/TRPG/TRPGPanelPlotTab.tab"
|
||
local TABLE_FUNCTION_GROUP_PATH = "Share/TRPG/TRPGFunctionGroup.tab"
|
||
local TABLE_FUNCTION_PATH = "Share/TRPG/TRPGFunction.tab"
|
||
local TABLE_EXAMINE_PATH = "Share/TRPG/Examine/TRPGExamine.tab"
|
||
local TABLE_EXAMINE_ACTION_PATH = "Share/TRPG/Examine/TRPGExamineAction.tab"
|
||
local TABLE_EXAMINE_ACTION_TYPE_PATH = "Client/TRPG/TRPGExamineActionType.tab"
|
||
local TABLE_EXAMINE_ACTION_DIFFICULT_PATH = "Client/TRPG/TRPGExamineActionDifficult.tab"
|
||
local TABLE_EXAMINE_PUNISH_PATH = "Share/TRPG/Examine/TRPGExaminePunish.tab"
|
||
local TABLE_BUTTON_CONDITION_PATH = "Client/TRPG/TRPGButtonCondition.tab"
|
||
local TABLE_SECOND_MAIN_PATH = "Share/TRPG/SecondMain/TRPGSecondMain.tab"
|
||
local TABLE_SECOND_MAIN_STAGE_PATH = "Share/TRPG/SecondMain/TRPGSecondMainStage.tab"
|
||
|
||
local RoleTemplate = {}
|
||
local RoleTalentGroupTemplate = {}
|
||
local RoleTalentGroupClientTemplate = {}
|
||
local RoleTalentTemplate = {}
|
||
local RoleAttributeTemplate = {}
|
||
local MainAreaTemplate = {}
|
||
local SecondAreaTemplate = {}
|
||
local ThirdAreaTemplate = {}
|
||
local TargetLinkTemplate = {}
|
||
local TargetTemplate = {}
|
||
local RewardTemplate = {}
|
||
local MazeTemplate = {}
|
||
local MazeLayerTemplate = {}
|
||
local MazeMapTemplates = {}
|
||
local MazeCardTemplate = {}
|
||
local MazeCardTypeTemplate = {}
|
||
local MazeCardRecordGroupTemplate = {}
|
||
local LevelTemplate = {}
|
||
local BuffTemplate = {}
|
||
local ShopTemplate = {}
|
||
local ShopItemTemplate = {}
|
||
local ItemTemplate = {}
|
||
local TruthRoadGroupTemplate = {}
|
||
local TruthRoadTemplate = {}
|
||
local BossTemplate = {}
|
||
local BossPhasesRewardTemplate = {}
|
||
local MemoireStoryTemplate = {}
|
||
local PanelPlotTabTemplate = {}
|
||
local MovieIdToTargetIdDic = {} --剧情Id索引目标Id字典
|
||
local TargetOfPreTargetList = {} --所有目标的前置目标
|
||
local ShopItemCountList = {} --商店道具限购列表
|
||
local FunctionGroupTemplate = {}
|
||
local FunctionTemplate = {}
|
||
local ExamineTemplate = {}
|
||
local ExamineActionTemplate = {}
|
||
local ExamineActionTypeTemplate = {}
|
||
local PunishTemplate = {}
|
||
local ExamineActionDifficultTemplate = {}
|
||
local SecondAreaIdToMazeIdDic = {}
|
||
local ButtonConditionTemplate = {}
|
||
local SecondMainTemplate = {}
|
||
local SecondMainIdList = {}
|
||
local SecondMainStageTemplate = {}
|
||
|
||
local TruthRoadGroupMaxNum = 0
|
||
local TargetTotalNum = 0
|
||
local DefaultMainLineTargetDesc = CSXTextManagerGetText("TRPGDefaultMainLineTargetDesc")
|
||
local DefaultTargetDesc = CSXTextManagerGetText("TRPGDefaultTargetDesc")
|
||
local DefaultTargetName = CSXTextManagerGetText("MainLineMission")
|
||
local NotPreTargetId = CS.XGame.ClientConfig:GetInt("TRPGNotPreTargetId")
|
||
local TaskPanelNewShowTime = CS.XGame.ClientConfig:GetFloat("TRPGTaskPanelNewShowTime")
|
||
|
||
XTRPGConfigs = XTRPGConfigs or {}
|
||
|
||
XTRPGConfigs.RoleAttributeType = {
|
||
Power = 1, --力量
|
||
Speed = 2, --敏捷
|
||
Intelligence = 3, --智力
|
||
}
|
||
|
||
XTRPGConfigs.TRPGSecondAreaType = {
|
||
Normal = 1, --普通区域
|
||
Maze = 2, --迷宫
|
||
}
|
||
|
||
XTRPGConfigs.TRPGTargetType = {
|
||
Story = 1, --剧情
|
||
GainRole = 2, --获得探员
|
||
FinishStage = 3, --关卡
|
||
GainItem = 4, --获得道具
|
||
CommitItem = 5, --交付道具
|
||
Examine = 6, --检定事件
|
||
}
|
||
|
||
XTRPGConfigs.TRPGFunctionType = {
|
||
Story = 1, --完成剧情
|
||
Shop = 2, --打开商店
|
||
CommitItem = 3, --提交物品
|
||
FinishStage = 4, --完成关卡
|
||
Examine = 5, --检定事件
|
||
}
|
||
|
||
XTRPGConfigs.TRPGBuffEffectType = {
|
||
RoleTalent = 1, --天赋效果
|
||
Positive = 2, --正面效果
|
||
Negative = 3, --负面效果
|
||
}
|
||
|
||
XTRPGConfigs.TRPGBuffType = {
|
||
Fight = 1, --战斗buff
|
||
AttributeAdd = 2, --属性增加
|
||
ExamineGainItem = 3, --检定获得物品
|
||
ExamineAddWeight = 4, --检定增加权重
|
||
SafeWeightAdd = 5, --安全权重增加
|
||
}
|
||
|
||
XTRPGConfigs.CardType = {
|
||
Default = 0,
|
||
Block = 1, --阻塞牌
|
||
Pass = 2, --通行牌
|
||
FightWin = 3, --战斗通关牌
|
||
Story = 4, --剧情牌
|
||
Examine = 5, --检定牌
|
||
Reward = 6, --奖励牌
|
||
Random = 7, --随机牌
|
||
Skip = 8, --跳转牌
|
||
Fight = 9, --战斗牌
|
||
Over = 10, --结束牌
|
||
}
|
||
|
||
XTRPGConfigs.MissionType = {
|
||
MainLine = 1, --主线
|
||
SubLine = 2, --支线
|
||
}
|
||
|
||
XTRPGConfigs.ItemType = {
|
||
Normal = 1, --普通物品
|
||
Special = 2, --特殊物品
|
||
}
|
||
|
||
XTRPGConfigs.ItemEffect = {
|
||
NoEffect = 0, --无使用效果
|
||
ClearBuff = 1, --清除角色负面buff
|
||
AddBuff = 2, --添加角色buff
|
||
AddExamineAttribute = 3, --增加检定属性
|
||
}
|
||
XTRPGConfigs.ItemEffectDefaultItemId = -1--不选择物品的基础属性展示
|
||
|
||
XTRPGConfigs.MissionTypeName = {
|
||
[XTRPGConfigs.MissionType.MainLine] = CSXTextManagerGetText("MainLineMission"),
|
||
[XTRPGConfigs.MissionType.SubLine] = CSXTextManagerGetText("SubLineMission"),
|
||
}
|
||
|
||
XTRPGConfigs.DefaultDesc = {
|
||
[XTRPGConfigs.MissionType.MainLine] = CSXTextManagerGetText("TRPGDefaultMainLineTargetDesc"),
|
||
[XTRPGConfigs.MissionType.SubLine] = CSXTextManagerGetText("TRPGDefaultTargetDesc"),
|
||
}
|
||
XTRPGConfigs.NotTargetLinkDefaultId = 0 --目标链id不存在时的默认值
|
||
|
||
XTRPGConfigs.AreaStateType = {
|
||
NotOpen = 1, --未解锁
|
||
Open = 2, --已解锁
|
||
Over = 3, --当前区域主线探索完毕 或 世界BOSS活动已结束
|
||
}
|
||
|
||
XTRPGConfigs.TRPGExamineActionType = {
|
||
Strength = 1, --力量检定
|
||
Agility = 2, --敏捷检定
|
||
Intelligence = 3, --智力检定
|
||
ConsumeItem = 4, --道具检定
|
||
}
|
||
|
||
XTRPGConfigs.TRPGExamineActionDifficult = {
|
||
Default = 0, --无难度(使用道具)
|
||
Easy = 1, --简单
|
||
Strength = 1, --普通
|
||
Hard = 2, --困难
|
||
UnPass = 3, --不可通过
|
||
}
|
||
|
||
--检定状态
|
||
XTRPGConfigs.ExmaineStatus = {
|
||
Dead = 0, --检定数据失效,等待下一轮检定开始
|
||
Normal = 1, --正常检定流程
|
||
Suc = 2, --检定成功
|
||
Fail = 3, --检定失败
|
||
}
|
||
|
||
--惩罚类型
|
||
XTRPGConfigs.PunishType = {
|
||
Fight = 1, --进入战斗
|
||
DeBuff = 2, --添加负面buff
|
||
LoseItem = 3, --丢失物品
|
||
GoToOrigin = 4, --回到起点
|
||
}
|
||
|
||
--商店道具明日是否重置
|
||
XTRPGConfigs.ShopItemResetType = {
|
||
NotReset = 0,
|
||
Reset = 1,
|
||
}
|
||
|
||
XTRPGConfigs.ButtonConditionId = {
|
||
Talent = 1, --天赋
|
||
Collection = 2, --珍藏
|
||
}
|
||
|
||
local InitRoleTalentConfigs = function()
|
||
local paths = CS.XTableManager.GetPaths(TABLE_ROLE_TALENT_GROUP_PATH)
|
||
XTool.LoopCollection(paths, function(path)
|
||
local key = XTool.GetFileNameWithoutExtension(path)
|
||
RoleTalentGroupTemplate[key] = XTableManager.ReadByIntKey(path, XTable.XTableTRPGRoleTalentGroup, "Id")
|
||
end)
|
||
end
|
||
|
||
local InitTarget = function()
|
||
TargetTemplate = XTableManager.ReadByIntKey(TABLE_TARGET_PATH, XTable.XTableTRPGTarget, "Id")
|
||
for targetId, config in pairs(TargetTemplate) do
|
||
if config.Type == XTRPGConfigs.TRPGTargetType.Story then
|
||
local movieId = config.Params[1]
|
||
MovieIdToTargetIdDic[movieId] = targetId
|
||
end
|
||
end
|
||
end
|
||
|
||
local InitTargetLink = function()
|
||
TargetLinkTemplate = XTableManager.ReadByIntKey(TABLE_TARGET_LINK_PATH, XTable.XTableTRPGTargetLink, "Id")
|
||
for _, v in pairs(TargetLinkTemplate) do
|
||
for targetIndex, targetId in ipairs(v.TargetId) do
|
||
if not TargetOfPreTargetList[targetId] then
|
||
TargetOfPreTargetList[targetId] = v.PreTarget[targetIndex]
|
||
TargetTotalNum = TargetTotalNum + 1
|
||
elseif TargetOfPreTargetList[targetId] ~= v.PreTarget[targetIndex] then
|
||
XLog.Error("XTRPGConfigs InitTargetLink error:配置存在相同的TargetId且PreTarget不同,Id:" .. v.Id .. " TargetId:" .. targetId .. " PreTarget:" .. v.PreTarget[targetIndex] .. ",配置路径:" .. TABLE_TARGET_LINK_PATH)
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
local InitTruthRoadGroupMaxNum = function()
|
||
for _, v in pairs(MainAreaTemplate) do
|
||
if #v.TruthRoadGroupId > TruthRoadGroupMaxNum then
|
||
TruthRoadGroupMaxNum = #v.TruthRoadGroupId
|
||
end
|
||
end
|
||
end
|
||
|
||
local InitMazeMapConfigs = function()
|
||
local paths = CS.XTableManager.GetPaths(TABLE_MAZE_MAP_PATH)
|
||
XTool.LoopCollection(paths, function(path)
|
||
local key = XTool.GetFileNameWithoutExtension(path)
|
||
MazeMapTemplates[key] = XTableManager.ReadByIntKey(path, XTable.XTableTRPGMazeMap, "Id")
|
||
end)
|
||
end
|
||
|
||
local InitShopItemCountList = function()
|
||
for _, v in pairs(ShopTemplate) do
|
||
ShopItemCountList[v.Id] = {}
|
||
for i, shopItemId in ipairs(v.ShopItemId) do
|
||
ShopItemCountList[v.Id][shopItemId] = v.ShopItemCount[i]
|
||
end
|
||
end
|
||
end
|
||
|
||
local InitMazeIdList = function()
|
||
local areaType
|
||
for _, v in pairs(SecondAreaTemplate) do
|
||
areaType = XTRPGConfigs.GetSecondAreaType(v.Id)
|
||
if areaType == XTRPGConfigs.TRPGSecondAreaType.Maze and v.MazeId > 0 then
|
||
SecondAreaIdToMazeIdDic[v.Id] = v.MazeId
|
||
end
|
||
end
|
||
end
|
||
|
||
local InitSecondMainIdList = function()
|
||
for _, v in pairs(SecondMainTemplate) do
|
||
tableInsert(SecondMainIdList, v.Id)
|
||
end
|
||
end
|
||
|
||
function XTRPGConfigs.Init()
|
||
RoleTemplate = XTableManager.ReadByIntKey(TABLE_ROLE_PATH, XTable.XTableTRPGRole, "Id")
|
||
RoleAttributeTemplate = XTableManager.ReadByIntKey(TABLE_ROLE_ATTRIBUTE_PATH, XTable.XTableTRPGRoleAttribute, "AttrType")
|
||
RoleTalentTemplate = XTableManager.ReadByIntKey(TABLE_ROLE_TALENT_PATH, XTable.XTableTRPGRoleTalent, "Id")
|
||
RoleTalentGroupClientTemplate = XTableManager.ReadByIntKey(TABLE_ROLE_TALENT_GROUP_CLIENT_PATH, XTable.XTableTRPGRoleTalentGroupClient, "Id")
|
||
MainAreaTemplate = XTableManager.ReadByIntKey(TABLE_MAIN_AREA_PATH, XTable.XTableTRPGMainArea, "Id")
|
||
MazeTemplate = XTableManager.ReadByIntKey(TABLE_MAZE_PATH, XTable.XTableTRPGMaze, "Id")
|
||
MazeLayerTemplate = XTableManager.ReadByIntKey(TABLE_MAZE_LAYER_PATH, XTable.XTableTRPGMazeLayer, "Id")
|
||
MazeCardTemplate = XTableManager.ReadByIntKey(TABLE_MAZE_CARD_PATH, XTable.XTableTRPGMazeCard, "Id")
|
||
MazeCardTypeTemplate = XTableManager.ReadByIntKey(TABLE_MAZE_CARD_TYPE_PATH, XTable.XTableTRPGMazeCardType, "Type")
|
||
MazeCardRecordGroupTemplate = XTableManager.ReadByIntKey(TABLE_MAZE_CARD_RECORD_GROUP_PATH, XTable.XTableTRPGMazeCardRecordGroup, "Id")
|
||
LevelTemplate = XTableManager.ReadByIntKey(TABLE_LEVEL_PATH, XTable.XTableTRPGLevel, "Id")
|
||
BuffTemplate = XTableManager.ReadByIntKey(TABLE_BUFF_PATH, XTable.XTableTRPGBuff, "Id")
|
||
RewardTemplate = XTableManager.ReadByIntKey(TABLE_REWARD_PATH, XTable.XTableTRPGReward, "Id")
|
||
SecondAreaTemplate = XTableManager.ReadByIntKey(TABLE_SECOND_AREA_PATH, XTable.XTableTRPGSecondArea, "Id")
|
||
ThirdAreaTemplate = XTableManager.ReadByIntKey(TABLE_THIRD_AREA_PATH, XTable.XTableTRPGThirdArea, "Id")
|
||
ShopTemplate = XTableManager.ReadByIntKey(TABLE_SHOP_PATH, XTable.XTableTRPGShop, "Id")
|
||
ShopItemTemplate = XTableManager.ReadByIntKey(TABLE_SHOP_ITEM_PATH, XTable.XTableTRPGShopItem, "Id")
|
||
ItemTemplate = XTableManager.ReadByIntKey(TABLE_ITEM_PATH, XTable.XTableTRPGItem, "Id")
|
||
TruthRoadGroupTemplate = XTableManager.ReadByIntKey(TABLE_TRUTH_ROAD_GROUP_PATH, XTable.XTableTRPGTruthRoadGroup, "Id")
|
||
TruthRoadTemplate = XTableManager.ReadByIntKey(TABLE_TRUTH_ROAD_PATH, XTable.XTableTRPGTruthRoad, "Id")
|
||
BossTemplate = XTableManager.ReadByIntKey(TABLE_BOSS_PATH, XTable.XTableTRPGBoss, "Id")
|
||
BossPhasesRewardTemplate = XTableManager.ReadByIntKey(TABLE_BOSS_PHASES_REWARD, XTable.XTableTRPGBossPhasesReward, "Id")
|
||
MemoireStoryTemplate = XTableManager.ReadByIntKey(TABLE_MEMOIRE_STORY, XTable.XTableTRPGMemoirStory, "Id")
|
||
PanelPlotTabTemplate = XTableManager.ReadByIntKey(TABLE_PANEL_PLOT_TAB_PATH, XTable.XTableTRPGPanelPlotTab, "Id")
|
||
FunctionGroupTemplate = XTableManager.ReadByIntKey(TABLE_FUNCTION_GROUP_PATH, XTable.XTableTRPGFunctionGroup, "Id")
|
||
FunctionTemplate = XTableManager.ReadAllByIntKey(TABLE_FUNCTION_PATH, XTable.XTableTRPGFunction, "Id")
|
||
ExamineTemplate = XTableManager.ReadByIntKey(TABLE_EXAMINE_PATH, XTable.XTableTRPGExamine, "Id")
|
||
ExamineActionTemplate = XTableManager.ReadByIntKey(TABLE_EXAMINE_ACTION_PATH, XTable.XTableTRPGExamineAction, "Id")
|
||
ExamineActionTypeTemplate = XTableManager.ReadByIntKey(TABLE_EXAMINE_ACTION_TYPE_PATH, XTable.XTableTRPGExamineActionType, "Type")
|
||
PunishTemplate = XTableManager.ReadByIntKey(TABLE_EXAMINE_PUNISH_PATH, XTable.XTableTRPGExaminePunish, "Id")
|
||
ExamineActionDifficultTemplate = XTableManager.ReadByIntKey(TABLE_EXAMINE_ACTION_DIFFICULT_PATH, XTable.XTableTRPGExamineActionDifficult, "Difficult")
|
||
ButtonConditionTemplate = XTableManager.ReadByIntKey(TABLE_BUTTON_CONDITION_PATH, XTable.XTableTRPGButtonCondition, "Id")
|
||
SecondMainTemplate = XTableManager.ReadByIntKey(TABLE_SECOND_MAIN_PATH, XTable.XTableTRPGSecondMain, "Id")
|
||
SecondMainStageTemplate = XTableManager.ReadAllByIntKey(TABLE_SECOND_MAIN_STAGE_PATH, XTable.XTableTRPGSecondMainStage, "Id")
|
||
|
||
InitRoleTalentConfigs()
|
||
InitTarget()
|
||
InitTargetLink()
|
||
InitTruthRoadGroupMaxNum()
|
||
InitMazeMapConfigs()
|
||
InitShopItemCountList()
|
||
InitMazeIdList()
|
||
InitSecondMainIdList()
|
||
end
|
||
|
||
-----------------调查员 begin--------------------
|
||
local GetRoleConfig = function(roleId)
|
||
local config = RoleTemplate[roleId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetRoleConfig error:配置不存在, roleId: " .. roleId .. ", 配置路径: " .. TABLE_ROLE_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetAllRoleIds()
|
||
local roleIds = {}
|
||
for roleId in pairs(RoleTemplate) do
|
||
tableInsert(roleIds, roleId)
|
||
end
|
||
return roleIds
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleInitAttribute(roleId, attributeType)
|
||
local config = GetRoleConfig(roleId)
|
||
return config.InitAttribute[attributeType] or 0
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleImage(roleId)
|
||
local config = GetRoleConfig(roleId)
|
||
return config.Image
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleHeadIcon(roleId)
|
||
local config = GetRoleConfig(roleId)
|
||
return config.HeadIcon
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleName(roleId)
|
||
local config = GetRoleConfig(roleId)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleDesc(roleId)
|
||
local config = GetRoleConfig(roleId)
|
||
return stringGsub(config.Description, "\\n", "\n")
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleModelId(roleId)
|
||
local config = GetRoleConfig(roleId)
|
||
return config.ModelId
|
||
end
|
||
|
||
--属性 begin--
|
||
local GetRoleAttributeConfig = function(attrType)
|
||
local config = RoleAttributeTemplate[attrType]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetRoleAttributeConfig error:配置不存在, attrType: " .. attrType .. ", 配置路径: " .. TABLE_ROLE_ATTRIBUTE_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleAttributeName(attrType)
|
||
local config = GetRoleAttributeConfig(attrType)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleAttributeIcon(attrType)
|
||
local config = GetRoleAttributeConfig(attrType)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleAttributeMaxValue(attrType)
|
||
local config = GetRoleAttributeConfig(attrType)
|
||
return config.MaxValue
|
||
end
|
||
--属性 end--
|
||
--天赋 begin--
|
||
local function GetRoleTalentGroupId(roleId)
|
||
local config = GetRoleConfig(roleId)
|
||
local talentId = config.TalentGroupId
|
||
if not talentId or talentId == 0 then
|
||
XLog.Error("XTRPGConfigs GetRoleTalentGroupId error:角色天赋Id未配置, roleId: " .. roleId .. ", 配置路径: " .. TABLE_ROLE_PATH)
|
||
return
|
||
end
|
||
return talentId
|
||
end
|
||
|
||
local GetRoleTalentGroupConfig = function(talentGroupId)
|
||
local config = RoleTalentGroupTemplate[tostring(talentGroupId)]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetRoleTalentGroupConfig error:配置不存在, talentGroupId: " .. talentGroupId .. ", 配置路径: " .. TABLE_ROLE_TALENT_GROUP_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleTalentGroupConfig(roleId)
|
||
local talentGroupId = GetRoleTalentGroupId(roleId)
|
||
return GetRoleTalentGroupConfig(talentGroupId)
|
||
end
|
||
|
||
local GetRoleTalentConfig = function(roleId, talentId)
|
||
local talentGroupId = GetRoleTalentGroupId(roleId)
|
||
local configs = GetRoleTalentGroupConfig(talentGroupId)
|
||
local config = configs[talentId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetRoleTalentConfig error:配置不存在, talentId: " .. talentId .. ", 配置路径: " .. TABLE_ROLE_TALENT_GROUP_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleTalentPreId(roleId, talentId)
|
||
local config = GetRoleTalentConfig(roleId, talentId)
|
||
return config.PreId
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleTalentCostPoint(roleId, talentId)
|
||
local config = GetRoleTalentConfig(roleId, talentId)
|
||
return config.CostPoint
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleTalentDescription(roleId, talentId)
|
||
local config = GetRoleTalentConfig(roleId, talentId)
|
||
return stringGsub(config.Description, "\\n", "\n")
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleTalentTitle(roleId, talentId)
|
||
local config = GetRoleTalentConfig(roleId, talentId)
|
||
return config.Title
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleTalentIcon(roleId, talentId)
|
||
local config = GetRoleTalentConfig(roleId, talentId)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleTalentIntro(roleId, talentId)
|
||
local config = GetRoleTalentConfig(roleId, talentId)
|
||
return stringGsub(config.Intro, "\\n", "\n")
|
||
end
|
||
|
||
function XTRPGConfigs.IsRoleTalentCommonForShow(roleId, talentId)
|
||
local config = GetRoleTalentConfig(roleId, talentId)
|
||
return config.IsCommonForShow ~= 0
|
||
end
|
||
|
||
local GetRoleTalentDefaultConfig = function()
|
||
local config = RoleTalentTemplate[1]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetRoleTalentDefaultConfig error:配置不存在, 配置路径: " .. TABLE_ROLE_TALENT_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetTalentResetCostItemId()
|
||
local config = GetRoleTalentDefaultConfig()
|
||
return config.ResetTalentItemId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTalentResetCostItemIcon()
|
||
local costItemId = XTRPGConfigs.GetTalentResetCostItemId()
|
||
return XItemConfigs.GetItemIconById(costItemId)
|
||
end
|
||
|
||
function XTRPGConfigs.GetTalentResetCostItemCount()
|
||
local config = GetRoleTalentDefaultConfig()
|
||
return config.ResetTalentItemCount
|
||
end
|
||
|
||
function XTRPGConfigs.GetTalentPointIcon()
|
||
local config = GetRoleTalentDefaultConfig()
|
||
return config.TalentPointIcon
|
||
end
|
||
|
||
local GetRoleTalentGroupClientConfig = function(talentGroupId)
|
||
local config = RoleTalentGroupClientTemplate[talentGroupId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetRoleTalentGroupClientConfig error:配置不存在, talentGroupId: " .. talentGroupId .. ", 配置路径: " .. TABLE_ROLE_TALENT_GROUP_CLIENT_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetRoleTalentTreePrefab(roleId)
|
||
local talentGroupId = GetRoleTalentGroupId(roleId)
|
||
local config = GetRoleTalentGroupClientConfig(talentGroupId)
|
||
return config.Prefab
|
||
end
|
||
--天赋 end--
|
||
--BUFF begin--
|
||
local GetBuffConfig = function(buffId)
|
||
local config = BuffTemplate[buffId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetBuffConfig error:配置不存在, buffId: " .. buffId .. ", 配置路径: " .. TABLE_BUFF_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.IsBuffUp(buffId)
|
||
local config = GetBuffConfig(buffId)
|
||
return config.EffectType == XTRPGConfigs.TRPGBuffEffectType.Positive
|
||
end
|
||
|
||
function XTRPGConfigs.IsBuffDown(buffId)
|
||
local config = GetBuffConfig(buffId)
|
||
return config.EffectType == XTRPGConfigs.TRPGBuffEffectType.Negative
|
||
end
|
||
|
||
function XTRPGConfigs.GetBuffIcon(buffId)
|
||
local config = GetBuffConfig(buffId)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetBuffName(buffId)
|
||
local config = GetBuffConfig(buffId)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetBuffDesc(buffId)
|
||
local config = GetBuffConfig(buffId)
|
||
return stringGsub(config.Desc, "\\n", "\n")
|
||
end
|
||
--BUFF end--
|
||
-----------------调查员 end--------------------
|
||
-----------------求真之路begin--------------
|
||
local GetTruthRoadGroupConfig = function(id)
|
||
local config = TruthRoadGroupTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetTruthRoadGroupConfig error:配置不存在, Id: " .. id .. ", 配置路径: " .. TABLE_TRUTH_ROAD_GROUP_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
local GetTruthRoadConfig = function(id)
|
||
local config = TruthRoadTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetTruthRoadConfig error:配置不存在, Id: " .. id .. ", 配置路径: " .. TABLE_TRUTH_ROAD_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadGroupTemplate()
|
||
return TruthRoadGroupTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadRewardIdList(truthRoadGroupId)
|
||
local truthRoadIdList = XTRPGConfigs.GetTruthRoadIdList(truthRoadGroupId)
|
||
local trpgRewardId
|
||
local trpgRewardIdList = {}
|
||
for _, truthRoadId in pairs(truthRoadIdList) do
|
||
trpgRewardId = XTRPGConfigs.GetTruthRoadTRPGRewardId(truthRoadId)
|
||
if trpgRewardId and trpgRewardId > 0 then
|
||
table.insert(trpgRewardIdList, trpgRewardId)
|
||
end
|
||
end
|
||
return trpgRewardIdList
|
||
end
|
||
|
||
--返回求真之路奖励可领取的进度
|
||
function XTRPGConfigs.GetTruthRoadRewardRecivePercent(truthRoadGroupId, trpgRewardId)
|
||
local truthRoadIdList = XTRPGConfigs.GetTruthRoadIdList(truthRoadGroupId)
|
||
local truthRoadMaxNum = #truthRoadIdList
|
||
local trpgRewardIdCfg
|
||
for i, truthRoadId in ipairs(truthRoadIdList) do
|
||
trpgRewardIdCfg = XTRPGConfigs.GetTruthRoadTRPGRewardId(truthRoadId)
|
||
if trpgRewardIdCfg == trpgRewardId then
|
||
return i / truthRoadMaxNum
|
||
end
|
||
end
|
||
return 0
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadGroupName(truthRoadGroupId)
|
||
local config = GetTruthRoadGroupConfig(truthRoadGroupId)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadGroupPrefab(truthRoadGroupId)
|
||
local config = GetTruthRoadGroupConfig(truthRoadGroupId)
|
||
return config.Prefab
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadGroupCondition(truthRoadGroupId)
|
||
local config = GetTruthRoadGroupConfig(truthRoadGroupId)
|
||
return config.Condition
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadGroupSmallName(truthRoadGroupId)
|
||
local config = GetTruthRoadGroupConfig(truthRoadGroupId)
|
||
return config.SmallName
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadIdList(truthRoadGroupId)
|
||
local config = GetTruthRoadGroupConfig(truthRoadGroupId)
|
||
return config.TruthRoadId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadName(id)
|
||
local config = GetTruthRoadConfig(id)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadPrafabName(id)
|
||
local config = GetTruthRoadConfig(id)
|
||
return config.PrefabName
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadTRPGRewardId(id)
|
||
local config = GetTruthRoadConfig(id)
|
||
return config.TRPGRewardId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadCondition(id)
|
||
local config = GetTruthRoadConfig(id)
|
||
return config.Condition
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadIcon(id)
|
||
local config = GetTruthRoadConfig(id)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadDesc(id)
|
||
local config = GetTruthRoadConfig(id)
|
||
return config.Desc
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadStageId(id)
|
||
local config = GetTruthRoadConfig(id)
|
||
return config.StageId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadStoryId(id)
|
||
local config = GetTruthRoadConfig(id)
|
||
return config.StoryId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadDialogIcon(id)
|
||
local config = GetTruthRoadConfig(id)
|
||
return config.DialogIcon
|
||
end
|
||
-----------------求真之路end----------------
|
||
-----------------主区域begin----------------
|
||
local GetMainAreaConfig = function(id)
|
||
local config = MainAreaTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetMainAreaConfig error:配置不存在, Id: " .. id .. ", 配置路径: " .. TABLE_MAIN_AREA_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetMainAreaName(id)
|
||
local config = GetMainAreaConfig(id)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondAreaIdList(id)
|
||
local config = GetMainAreaConfig(id)
|
||
return config.SubAreaId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetLinkIdList(id)
|
||
local config = GetMainAreaConfig(id)
|
||
return config.TargetLinkId
|
||
end
|
||
|
||
function XTRPGConfigs.GetAreaOpenLastTimeStamp(id)
|
||
local config = GetMainAreaConfig(id)
|
||
local timeId = config.OpenTimeId
|
||
local openTimestamp = XFunctionManager.GetStartTimeByTimeId(timeId)
|
||
local serverTimestamp = XTime.GetServerNowTimestamp()
|
||
return openTimestamp - serverTimestamp
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetLinkId(areaId, targetLinkIndex)
|
||
local targetLinkIdList = XTRPGConfigs.GetTargetLinkIdList(areaId)
|
||
return targetLinkIdList[targetLinkIndex]
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadGroupMaxNum()
|
||
return TruthRoadGroupMaxNum
|
||
end
|
||
|
||
function XTRPGConfigs.GetMainAreaMaxNum()
|
||
return #MainAreaTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetAreaRewardIdList(areaId)
|
||
local config = GetMainAreaConfig(areaId)
|
||
return config.TRPGRewardId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadGroupIdList(areaId)
|
||
local config = GetMainAreaConfig(areaId)
|
||
return config.TruthRoadGroupId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadGroupId(areaId, index)
|
||
local truthRoadGroupIdList = XTRPGConfigs.GetTruthRoadGroupIdList(areaId)
|
||
local truthRoadGroupId = truthRoadGroupIdList[index]
|
||
return truthRoadGroupId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadTabBg(areaId)
|
||
local config = GetMainAreaConfig(areaId)
|
||
return config.TruthRoadTabBg
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondAreaBg(areaId)
|
||
local config = GetMainAreaConfig(areaId)
|
||
return config.SubAreaBg
|
||
end
|
||
|
||
function XTRPGConfigs.GetTruthRoadBg(areaId)
|
||
local config = GetMainAreaConfig(areaId)
|
||
return config.TruthRoadBg
|
||
end
|
||
|
||
function XTRPGConfigs.GetMainAreaEnName(areaId)
|
||
local config = GetMainAreaConfig(areaId)
|
||
return config.EnName
|
||
end
|
||
|
||
function XTRPGConfigs.GetMainAreaFirstOpenFunctionGroupId(areaId)
|
||
local config = GetMainAreaConfig(areaId)
|
||
return config.FirstOpenFunctionGroupId
|
||
end
|
||
|
||
function XTRPGConfigs.GetMainAreaTemplate()
|
||
return MainAreaTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetMainAreaCondition(areaId)
|
||
local config = GetMainAreaConfig(areaId)
|
||
return config.Condition
|
||
end
|
||
-----------------主区域end------------------
|
||
-----------------第二区域begin----------------
|
||
local GetSecondAreaConfig = function(id)
|
||
local config = SecondAreaTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetSecondAreaConfig error:配置不存在, Id: " .. id .. ", 配置路径: " .. TABLE_SECOND_AREA_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondAreaName(id)
|
||
local config = GetSecondAreaConfig(id)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetExploreChapterBg(id)
|
||
local config = GetSecondAreaConfig(id)
|
||
return config.SubAreaBg
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondAreaType(id)
|
||
local config = GetSecondAreaConfig(id)
|
||
return config.Type
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondAreaMazeId(id)
|
||
local config = GetSecondAreaConfig(id)
|
||
return config.MazeId
|
||
end
|
||
|
||
function XTRPGConfigs.GetThirdAreaIdList(id)
|
||
local config = GetSecondAreaConfig(id)
|
||
return config.SubAreaId
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondAreaCondition(id)
|
||
local config = GetSecondAreaConfig(id)
|
||
return config.Condition
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondAreaIdToMazeIdDic()
|
||
return SecondAreaIdToMazeIdDic
|
||
end
|
||
-----------------第二区域end----------------
|
||
-----------------第三区域 begin----------------
|
||
local GetThirdAreaConfig = function(thirdAreaId)
|
||
local config = ThirdAreaTemplate[thirdAreaId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetThirdAreaConfig error:配置不存在, Id: " .. thirdAreaId .. ", 配置路径: " .. TABLE_THIRD_AREA_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetThirdAreaName(thirdAreaId)
|
||
local config = GetThirdAreaConfig(thirdAreaId)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetThirdAreaCondition(id)
|
||
local config = GetThirdAreaConfig(id)
|
||
return config.Condition
|
||
end
|
||
|
||
function XTRPGConfigs.GetThirdAreaIcon(id)
|
||
local config = GetThirdAreaConfig(id)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetThirdAreaFuncGroupList(id)
|
||
local config = GetThirdAreaConfig(id)
|
||
return config.FuncGroup
|
||
end
|
||
-----------------第三区域end----------------
|
||
function XTRPGConfigs.GetThirdAreaEnName(thirdAreaId)
|
||
local config = GetThirdAreaConfig(thirdAreaId)
|
||
return config.EnName
|
||
end
|
||
|
||
function XTRPGConfigs.GetThirdAreaIcon(thirdAreaId)
|
||
local config = GetThirdAreaConfig(thirdAreaId)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetThirdAreaBg(thirdAreaId)
|
||
local config = GetThirdAreaConfig(thirdAreaId)
|
||
return config.Bg
|
||
end
|
||
|
||
function XTRPGConfigs.GetThirdAreaFunctionGroupIds(thirdAreaId)
|
||
local functionGroupIds = {}
|
||
|
||
local config = GetThirdAreaConfig(thirdAreaId)
|
||
for _, groupId in ipairs(config.FuncGroup) do
|
||
if groupId ~= 0 then
|
||
tableInsert(functionGroupIds, groupId)
|
||
end
|
||
end
|
||
|
||
return functionGroupIds
|
||
end
|
||
|
||
local GetFunctionGroupConfig = function(functionGroupId)
|
||
local config = FunctionGroupTemplate[functionGroupId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetFunctionGroupConfig error:配置不存在, Id: " .. functionGroupId .. ", 配置路径: " .. TABLE_FUNCTION_GROUP_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetFunctionGroupConditionId(functionGroupId)
|
||
local config = GetFunctionGroupConfig(functionGroupId)
|
||
return config.Condition
|
||
end
|
||
|
||
function XTRPGConfigs.GetFunctionGroupFunctionIds(functionGroupId)
|
||
local config = GetFunctionGroupConfig(functionGroupId)
|
||
return config.FunctionId
|
||
end
|
||
|
||
local GetFunctionConfig = function(functionId)
|
||
local config = FunctionTemplate[functionId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetFunctionConfig error:配置不存在, Id: " .. functionId .. ", 配置路径: " .. TABLE_FUNCTION_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetFunctionStageIds()
|
||
local stageIds = {}
|
||
|
||
for functionId, config in pairs(FunctionTemplate) do
|
||
if XTRPGConfigs.CheckFunctionType(functionId, XTRPGConfigs.TRPGFunctionType.FinishStage) then
|
||
local stageId = config.Params[1]
|
||
stageIds[stageId] = stageId
|
||
end
|
||
end
|
||
|
||
return stageIds
|
||
end
|
||
|
||
function XTRPGConfigs.GetFunctionIcon(functionId)
|
||
local config = GetFunctionConfig(functionId)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.CheckFunctionNeedSave(functionId)
|
||
local config = GetFunctionConfig(functionId)
|
||
return config.NeedSave ~= 0
|
||
end
|
||
|
||
function XTRPGConfigs.GetFunctionDesc(functionId)
|
||
local config = GetFunctionConfig(functionId)
|
||
return stringGsub(config.Desc, "\\n", "\n")
|
||
end
|
||
|
||
local function GetFunctionType(functionId)
|
||
local config = GetFunctionConfig(functionId)
|
||
return config.Type
|
||
end
|
||
|
||
function XTRPGConfigs.CheckFunctionType(functionId, functionType)
|
||
return GetFunctionType(functionId) == functionType
|
||
end
|
||
|
||
function XTRPGConfigs.GetFunctionParams(functionId)
|
||
local config = GetFunctionConfig(functionId)
|
||
return config.Params
|
||
end
|
||
|
||
function XTRPGConfigs.IsFunctionShowTag(functionId)
|
||
return XTRPGConfigs.CheckFunctionType(functionId, XTRPGConfigs.TRPGFunctionType.Examine)
|
||
end
|
||
-----------------第三区域 end----------------
|
||
-----------------检定相关 begin----------------
|
||
local GetExamineConfig = function(examineId)
|
||
local config = ExamineTemplate[examineId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetExamineConfig error:配置不存在, Id: " .. examineId .. ", 配置路径: " .. TABLE_EXAMINE_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineCostEndurance(examineId)
|
||
local config = GetExamineConfig(examineId)
|
||
return config.Endurance
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineTitle(examineId)
|
||
local config = GetExamineConfig(examineId)
|
||
return config.Title
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineDescription(examineId)
|
||
local config = GetExamineConfig(examineId)
|
||
return stringGsub(config.Description, "\\n", "\n")
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineSucDesc(examineId)
|
||
local config = GetExamineConfig(examineId)
|
||
return stringGsub(config.SucDesc, "\\n", "\n")
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineFailDesc(examineId)
|
||
local config = GetExamineConfig(examineId)
|
||
return stringGsub(config.FailDesc, "\\n", "\n")
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineStartMovieId(examineId)
|
||
local config = GetExamineConfig(examineId)
|
||
return config.StartMovieId
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionIds(examineId)
|
||
local actionIds = {}
|
||
local config = GetExamineConfig(examineId)
|
||
for _, actionId in pairs(config.ActionId) do
|
||
if actionId ~= 0 then
|
||
tableInsert(actionIds, actionId)
|
||
end
|
||
end
|
||
return actionIds
|
||
end
|
||
|
||
local GetExamineActionConfig = function(actionId)
|
||
local config = ExamineActionTemplate[actionId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetExamineActionConfig error:配置不存在, Id: " .. actionId .. ", 配置路径: " .. TABLE_EXAMINE_ACTION_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionDesc(actionId)
|
||
local config = GetExamineActionConfig(actionId)
|
||
return config.Desc
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionItemId(actionId)
|
||
local config = GetExamineActionConfig(actionId)
|
||
return config.ItemId
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionItemIcon(actionId)
|
||
local itemId = XTRPGConfigs.GetExamineActionItemId(actionId)
|
||
return XItemConfigs.GetItemIconById(itemId)
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionItemName(actionId)
|
||
local itemId = XTRPGConfigs.GetExamineActionItemId(actionId)
|
||
return XItemConfigs.GetItemNameById(itemId)
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionRound(actionId)
|
||
local config = GetExamineActionConfig(actionId)
|
||
return config.Round
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionNeedValue(actionId)
|
||
local config = GetExamineActionConfig(actionId)
|
||
return config.NeedValue
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionResetCostItemInfo(actionId)
|
||
local config = GetExamineActionConfig(actionId)
|
||
return config.ResetCostId, config.ResetCostCount
|
||
end
|
||
|
||
local function GetExamineActionType(actionId)
|
||
local config = GetExamineActionConfig(actionId)
|
||
return config.Type
|
||
end
|
||
|
||
function XTRPGConfigs.CheckExamineActionType(actionId, actionType)
|
||
return GetExamineActionType(actionId) == actionType
|
||
end
|
||
|
||
local ActionTypeToAttrType = {
|
||
[XTRPGConfigs.TRPGExamineActionType.Strength] = XTRPGConfigs.RoleAttributeType.Power,
|
||
[XTRPGConfigs.TRPGExamineActionType.Agility] = XTRPGConfigs.RoleAttributeType.Speed,
|
||
[XTRPGConfigs.TRPGExamineActionType.Intelligence] = XTRPGConfigs.RoleAttributeType.Intelligence,
|
||
}
|
||
function XTRPGConfigs.GetExamineActionNeedAttrType(actionId)
|
||
local actionType = GetExamineActionType(actionId)
|
||
return ActionTypeToAttrType[actionType]
|
||
end
|
||
|
||
local GetExamineActionTypeConfig = function(actionType)
|
||
local config = ExamineActionTypeTemplate[actionType]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetExamineActionTypeConfig error:配置不存在, Id: " .. actionType .. ", 配置路径: " .. TABLE_EXAMINE_ACTION_TYPE_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionIcon(actionId)
|
||
if XTRPGConfigs.CheckExamineActionType(actionId, XTRPGConfigs.TRPGExamineActionType.ConsumeItem) then
|
||
return XTRPGConfigs.GetExamineActionItemIcon(actionId)
|
||
end
|
||
|
||
local actionType = GetExamineActionType(actionId)
|
||
local config = GetExamineActionTypeConfig(actionType)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionTypeDesc(actionId)
|
||
if XTRPGConfigs.CheckExamineActionType(actionId, XTRPGConfigs.TRPGExamineActionType.ConsumeItem) then
|
||
return CSXTextManagerGetText("TRPGExploreExmaineUseItem")
|
||
end
|
||
|
||
local actionType = GetExamineActionType(actionId)
|
||
local config = GetExamineActionTypeConfig(actionType)
|
||
return config.Desc
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionTypeDescEn(actionId)
|
||
local actionType = GetExamineActionType(actionId)
|
||
local config = GetExamineActionTypeConfig(actionType)
|
||
return config.DescEn
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionTypeDefaultItemDesc(actionId)
|
||
local actionType = GetExamineActionType(actionId)
|
||
local config = GetExamineActionTypeConfig(actionType)
|
||
return config.DefaultItemDesc
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionTypeRangeDesc(actionId)
|
||
if XTRPGConfigs.CheckExamineActionType(actionId, XTRPGConfigs.TRPGExamineActionType.ConsumeItem) then
|
||
return ""
|
||
end
|
||
|
||
local actionType = GetExamineActionType(actionId)
|
||
local config = GetExamineActionTypeConfig(actionType)
|
||
return config.RangeDesc
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionTypeAttrDesc(actionId)
|
||
if XTRPGConfigs.CheckExamineActionType(actionId, XTRPGConfigs.TRPGExamineActionType.ConsumeItem) then
|
||
return ""
|
||
end
|
||
|
||
local actionType = GetExamineActionType(actionId)
|
||
local config = GetExamineActionTypeConfig(actionType)
|
||
return config.AttrDesc
|
||
end
|
||
|
||
local GetExamineDifficultConfig = function(actionDifficult)
|
||
local config = ExamineActionDifficultTemplate[actionDifficult]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetExamineDifficultConfig error:配置不存在, Id: " .. actionDifficult .. ", 配置路径: " .. TABLE_EXAMINE_ACTION_DIFFICULT_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionDifficultByDelta(delta)
|
||
for difficult, config in ipairs(ExamineActionDifficultTemplate) do
|
||
if delta >= config.Delta then
|
||
return difficult
|
||
end
|
||
end
|
||
return #ExamineActionDifficultTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineActionDifficultDesc(actionDifficult)
|
||
if actionDifficult == XTRPGConfigs.TRPGExamineActionDifficult.Default then
|
||
return ""
|
||
end
|
||
|
||
local config = GetExamineDifficultConfig(actionDifficult)
|
||
return config.Desc
|
||
end
|
||
-----------------检定相关 end----------------
|
||
-----------------惩罚相关 end----------------
|
||
local GetPunishConfig = function(punishId)
|
||
local config = PunishTemplate[punishId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetPunishConfig error:配置不存在, Id: " .. punishId .. ", 配置路径: " .. TABLE_EXAMINE_PUNISH_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.CheckPunishType(punishId, punishType)
|
||
return GetPunishConfig(punishId).Type == punishType
|
||
end
|
||
|
||
function XTRPGConfigs.GetPunishDesc(punishId)
|
||
local config = GetPunishConfig(punishId)
|
||
return stringGsub(config.Desc, "\\n", "\n")
|
||
end
|
||
|
||
function XTRPGConfigs.GetPunishParams(punishId)
|
||
local config = GetPunishConfig(punishId)
|
||
return config.Params
|
||
end
|
||
-----------------惩罚相关 end----------------
|
||
-----------------目标链表begin----------------
|
||
local GetTargetLinkConfig = function(id)
|
||
local config = TargetLinkTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetTargetLinkConfig error:配置不存在, Id: " .. id .. ", 配置路径: " .. TABLE_TARGET_LINK_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetLinkTemplate()
|
||
return TargetLinkTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetLink(id)
|
||
return GetTargetLinkConfig(id)
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetLinkName(id)
|
||
if not id or id == NotPreTargetId then
|
||
return DefaultTargetName
|
||
end
|
||
local config = GetTargetLinkConfig(id)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetIdList(id)
|
||
local config = GetTargetLinkConfig(id)
|
||
return config.TargetId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetId(id, index)
|
||
local targetIdList = XTRPGConfigs.GetTargetIdList(id)
|
||
return targetIdList[index]
|
||
end
|
||
|
||
function XTRPGConfigs.GetRewardIdList(id)
|
||
local config = GetTargetLinkConfig(id)
|
||
return config.RewardId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetOfPreTargetList()
|
||
return TargetOfPreTargetList
|
||
end
|
||
|
||
function XTRPGConfigs.GetPreTargetByTargetId(targetId)
|
||
local targetOfPreTargetList = XTRPGConfigs.GetTargetOfPreTargetList()
|
||
if not targetOfPreTargetList[targetId] then
|
||
XLog.Error("当前目标没有前置目标,目标id:" .. targetId .. ",检查配置路径:" .. TABLE_TARGET_LINK_PATH)
|
||
return
|
||
end
|
||
return targetOfPreTargetList[targetId]
|
||
end
|
||
|
||
function XTRPGConfigs.GetNotPreTargetId()
|
||
return NotPreTargetId
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetLinkMissionType(id)
|
||
if not id or id == NotPreTargetId then
|
||
return XTRPGConfigs.MissionType.MainLine
|
||
end
|
||
local config = GetTargetLinkConfig(id)
|
||
return config.TargetMissionType
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetLinkMissionTypeName(missionType)
|
||
return XTRPGConfigs.MissionTypeName[missionType]
|
||
end
|
||
-----------------目标链表end------------------
|
||
-----------------目标表begin----------------
|
||
local GetTargetConfig = function(id)
|
||
local config = TargetTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetTargetConfig error:配置不存在, Id: " .. id .. ", 配置路径: " .. TABLE_TARGET_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetMovieTargetId(movieId)
|
||
return MovieIdToTargetIdDic[movieId]
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetTemplate()
|
||
return TargetTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetTarget(id)
|
||
return GetTargetConfig(id)
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetPrefabName(id)
|
||
local config = GetTargetConfig(id)
|
||
return config.PrefabName
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetIcon(id)
|
||
local config = GetTargetConfig(id)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetName(id)
|
||
if not id or id == NotPreTargetId then
|
||
return DefaultTargetName
|
||
end
|
||
local config = GetTargetConfig(id)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetDesc(targetId, targetLinkId)
|
||
if XDataCenter.TRPGManager.IsTargetAllFinish() then
|
||
return DefaultTargetDesc
|
||
end
|
||
if not targetId or targetId == NotPreTargetId then
|
||
local missionType = XTRPGConfigs.GetTargetLinkMissionType(targetLinkId)
|
||
return XTRPGConfigs.DefaultDesc[missionType]
|
||
end
|
||
|
||
local config = GetTargetConfig(targetId)
|
||
return config.Desc
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetTotalNum()
|
||
return TargetTotalNum
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetAreaIcon(targetId)
|
||
if not targetId or targetId == NotPreTargetId then
|
||
return ""
|
||
end
|
||
local config = GetTargetConfig(targetId)
|
||
return config.AreaIcon
|
||
end
|
||
|
||
function XTRPGConfigs.GetTargetCardIcon(targetId)
|
||
if not targetId or targetId == NotPreTargetId then
|
||
return
|
||
end
|
||
local config = GetTargetConfig(targetId)
|
||
return config.CardIcon
|
||
end
|
||
|
||
function XTRPGConfigs.GetTaskPanelNewShowTime()
|
||
return TaskPanelNewShowTime
|
||
end
|
||
-----------------目标表end----------------
|
||
-----------------奖励表begin--------------------
|
||
local GetRewardConfig = function(id)
|
||
local config = RewardTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetRewardConfig error:配置不存在, Id: " .. id .. ", 配置路径: " .. TABLE_REWARD_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetRewardCondition(id)
|
||
local config = GetRewardConfig(id)
|
||
return config.Condition
|
||
end
|
||
|
||
function XTRPGConfigs.GetRewardId(id)
|
||
local config = GetRewardConfig(id)
|
||
return config.RewardId
|
||
end
|
||
|
||
function XTRPGConfigs.GetRewardReceiveDesc(id)
|
||
local config = GetRewardConfig(id)
|
||
return config.ReceiveDesc
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainReceiveDesc(id)
|
||
local config = GetRewardConfig(id)
|
||
return config.SecondMainReceiveDesc
|
||
end
|
||
-----------------奖励表end----------------------
|
||
-----------------道具表begin--------------------
|
||
local GetItemConfig = function(id)
|
||
local config = ItemTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetItemConfig error:配置不存在, Id: " .. id .. ", 配置路径: " .. TABLE_ITEM_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
local CheckItemConfig = function(id)
|
||
return ItemTemplate[id] and true or false
|
||
end
|
||
XTRPGConfigs.CheckItemConfig = CheckItemConfig
|
||
|
||
function XTRPGConfigs.IsItemPrecious(id)
|
||
local config = GetItemConfig(id)
|
||
return config.ItemType == XTRPGConfigs.ItemType.Special
|
||
end
|
||
|
||
function XTRPGConfigs.GetItemTagIcon(id)
|
||
local config = GetItemConfig(id)
|
||
return config.TagIcon
|
||
end
|
||
|
||
function XTRPGConfigs.GetItemParamDesc(itemId)
|
||
local config = GetItemConfig(itemId)
|
||
return config.Desc
|
||
end
|
||
|
||
function XTRPGConfigs.CheckItemAddAttributeType(itemId, attrType)
|
||
local config = GetItemConfig(itemId)
|
||
return config.Params[1] == attrType
|
||
end
|
||
|
||
function XTRPGConfigs.GetItemAddAttribute(itemId)
|
||
if XTRPGConfigs.CheckDefaultEffectItemId(itemId) then return 0 end
|
||
local config = GetItemConfig(itemId)
|
||
return config.Params[2]
|
||
end
|
||
|
||
function XTRPGConfigs.GetItemMaxCount(id)
|
||
if not CheckItemConfig(id) then
|
||
return XDataCenter.ItemManager.GetMaxCount(id)
|
||
end
|
||
|
||
local config = GetItemConfig(id)
|
||
return config.Capacity
|
||
end
|
||
|
||
function XTRPGConfigs.GetItemType(id)
|
||
local config = GetItemConfig(id)
|
||
return config.ItemType
|
||
end
|
||
|
||
function XTRPGConfigs.CheckItemEffectType(itemId, effectType)
|
||
local config = GetItemConfig(itemId)
|
||
return config.EffectType == effectType
|
||
end
|
||
|
||
function XTRPGConfigs.CheckDefaultEffectItemId(itemId)
|
||
return itemId == XTRPGConfigs.ItemEffectDefaultItemId
|
||
end
|
||
|
||
function XTRPGConfigs.GetExamineBuffItemIds(actionId)
|
||
local itemIds = {}
|
||
|
||
local attrType = XTRPGConfigs.GetExamineActionNeedAttrType(actionId)
|
||
for itemId in pairs(ItemTemplate) do
|
||
if XTRPGConfigs.CheckItemEffectType(itemId, XTRPGConfigs.ItemEffect.AddExamineAttribute)
|
||
and XTRPGConfigs.CheckItemAddAttributeType(itemId, attrType) then
|
||
tableInsert(itemIds, itemId)
|
||
end
|
||
end
|
||
tableInsert(itemIds, XTRPGConfigs.ItemEffectDefaultItemId)
|
||
|
||
return itemIds
|
||
end
|
||
|
||
function XTRPGConfigs.GetItemParams(id)
|
||
local config = GetItemConfig(id)
|
||
return config.Params
|
||
end
|
||
|
||
function XTRPGConfigs.GetItemEffectType(id)
|
||
local config = GetItemConfig(id)
|
||
return config.EffectType
|
||
end
|
||
|
||
--道具是否需要选择角色使用
|
||
function XTRPGConfigs.IsItemSelectCharacter(id)
|
||
local effectType = XTRPGConfigs.GetItemEffectType(id)
|
||
if effectType == XTRPGConfigs.ItemEffect.ClearBuff or effectType == XTRPGConfigs.ItemEffect.AddBuff then
|
||
return true
|
||
end
|
||
return false
|
||
end
|
||
|
||
function XTRPGConfigs.IsItemShowUse(id)
|
||
local itemType = XTRPGConfigs.GetItemType(id)
|
||
local itemEffectType = XTRPGConfigs.GetItemEffectType(id)
|
||
return itemType ~= XTRPGConfigs.ItemType.Special and itemEffectType ~= XTRPGConfigs.ItemEffect.AddExamineAttribute
|
||
end
|
||
-----------------道具表end----------------------
|
||
-----------------商店begin--------------------
|
||
local GetShopConfig = function(id)
|
||
local config = ShopTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetShopConfig error:配置不存在, Id: " .. id .. ", 配置路径: " .. TABLE_SHOP_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetShopItemIdList(id)
|
||
local config = GetShopConfig(id)
|
||
return config.ShopItemId
|
||
end
|
||
|
||
function XTRPGConfigs.GetShopItemCount(shopId, shopItemId)
|
||
return ShopItemCountList[shopId] and ShopItemCountList[shopId][shopItemId] or 0
|
||
end
|
||
|
||
local GetShopItemConfig = function(id)
|
||
local config = ShopItemTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetShopItemConfig error:配置不存在, Id: " .. id .. ", 配置路径: " .. TABLE_SHOP_ITEM_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetShopItemRewardId(id)
|
||
local config = GetShopItemConfig(id)
|
||
return config.RewardId
|
||
end
|
||
|
||
function XTRPGConfigs.GetShopItemCondition(id)
|
||
local config = GetShopItemConfig(id)
|
||
return config.Condition
|
||
end
|
||
|
||
function XTRPGConfigs.GetShopItemConsumeId(id)
|
||
local config = GetShopItemConfig(id)
|
||
return config.ConsumeId
|
||
end
|
||
|
||
function XTRPGConfigs.GetShopItemConsumeCount(id)
|
||
local config = GetShopItemConfig(id)
|
||
return config.ConsumeCount
|
||
end
|
||
|
||
function XTRPGConfigs.GetShopItemDesc(id)
|
||
local config = GetShopItemConfig(id)
|
||
return config.Desc
|
||
end
|
||
|
||
--返回外部道具表的id
|
||
function XTRPGConfigs.GetItemIdByShopItemId(shopItemId)
|
||
local rewardId = XTRPGConfigs.GetShopItemRewardId(shopItemId)
|
||
local rewardGoodsId = XRewardManager.GetRewardSubId(rewardId, 1)
|
||
local rewardList = XRewardManager.GetRewardList(rewardId)
|
||
return rewardList[1].TemplateId
|
||
end
|
||
|
||
function XTRPGConfigs.GetItemResetType(id)
|
||
local config = GetShopItemConfig(id)
|
||
return config.ResetType
|
||
end
|
||
-----------------商店end----------------------
|
||
-----------------迷宫 begin----------------------
|
||
local GetMazeConfig = function(mazeId)
|
||
local config = MazeTemplate[mazeId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetMazeConfig error:配置不存在, mazeId: " .. mazeId .. ", 配置路径: " .. TABLE_MAZE_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeIds()
|
||
return MazeTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeLayerIds(mazeId)
|
||
local config = GetMazeConfig(mazeId)
|
||
return config.LayerId
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeName(mazeId)
|
||
local config = GetMazeConfig(mazeId)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeStartLayerId(mazeId)
|
||
local config = GetMazeConfig(mazeId)
|
||
return config.StartLayerId
|
||
end
|
||
|
||
local GetMazeLayerConfig = function(layerId)
|
||
local config = MazeLayerTemplate[layerId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetMazeLayerConfig error:配置不存在, layerId: " .. layerId .. ", 配置路径: " .. TABLE_MAZE_LAYER_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
local GetMazeLayerMapId = function(layerId)
|
||
local config = GetMazeLayerConfig(layerId)
|
||
local mapId = config.MapId
|
||
if not mapId or mapId == 0 then
|
||
XLog.Error("XTRPGConfigs GetMazeLayerMapId error:配置不存在, layerId: " .. layerId .. ", 配置路径: " .. TABLE_MAZE_LAYER_PATH)
|
||
return
|
||
end
|
||
return mapId
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeLayerBgImage(mazeId)
|
||
local config = GetMazeLayerConfig(mazeId)
|
||
return config.BgImage
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeLayerName(layerId)
|
||
local config = GetMazeLayerConfig(layerId)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeLayerStartNodeId(layerId)
|
||
local config = GetMazeLayerConfig(layerId)
|
||
return config.StartNodeId
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeLayerStartCardIndex(layerId)
|
||
local config = GetMazeLayerConfig(layerId)
|
||
return config.StartCardIndex
|
||
end
|
||
|
||
local GetMazeMapConfigs = function(mapId)
|
||
local configs = MazeMapTemplates[tostring(mapId)]
|
||
if not configs then
|
||
XLog.Error("XTRPGConfigs GetMazeMapConfigs error:配置不存在, mapId: " .. mapId .. ", 配置路径: " .. TABLE_MAZE_MAP_PATH)
|
||
return
|
||
end
|
||
return configs
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeMapConfigs(layerId)
|
||
local mapId = GetMazeLayerMapId(layerId)
|
||
return GetMazeMapConfigs(mapId)
|
||
end
|
||
|
||
local GetMazeCardConfig = function(cardId)
|
||
local config = MazeCardTemplate[cardId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetMazeCardConfig error:配置不存在, cardId: " .. cardId .. ", 配置路径: " .. TABLE_MAZE_CARD_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardType(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.Type
|
||
end
|
||
|
||
function XTRPGConfigs.CheckMazeCardType(cardId, paramCardType)
|
||
local cardType = XTRPGConfigs.GetMazeCardType(cardId)
|
||
return cardType == paramCardType
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardConvertCardId(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.ConvertCardId
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardParam(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.Param
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardOrder(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.Order
|
||
end
|
||
|
||
function XTRPGConfigs.IsMazeCardShowTag(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.ShowTag ~= 0
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardName(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardFightDes(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return stringGsub(config.FightDes, "\\n", "\n")
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardQuickFightDes(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return stringGsub(config.QuickFightDes, "\\n", "\n")
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardIcon(cardId)
|
||
if not XTRPGConfigs.IsIconFromConfig(cardId) then return end
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardMovieId(cardId)
|
||
if not XTRPGConfigs.CheckMazeCardType(cardId, XTRPGConfigs.CardType.FightWin) then return end
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.MovieId
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardIconR(cardId)
|
||
if not XTRPGConfigs.IsIconFromConfig(cardId) then return end
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.IconR
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardMiniIcon(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.MiniIcon
|
||
end
|
||
|
||
function XTRPGConfigs.IsMazeCardDisposeable(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.Disposeable ~= 0
|
||
end
|
||
|
||
function XTRPGConfigs.IsMazeCardSingleDisposeable(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.SingleDisposeable ~= 0
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardRecordGroupId(cardId)
|
||
local config = GetMazeCardConfig(cardId)
|
||
return config.RecordGroupId
|
||
end
|
||
|
||
local GetMazeCardTypeConfig = function(cardType)
|
||
local config = MazeCardTypeTemplate[cardType]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetMazeCardTypeConfig error:配置不存在, cardType: " .. cardType .. ", 配置路径: " .. TABLE_MAZE_CARD_TYPE_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
--预制体中预设好的的卡牌图片不需要读配置
|
||
function XTRPGConfigs.IsIconFromConfig(cardId)
|
||
local cardType = XTRPGConfigs.GetMazeCardType(cardId)
|
||
|
||
-- 满纸荒唐言
|
||
-- if cardType == XTRPGConfigs.CardType.Block
|
||
-- if cardType == XTRPGConfigs.CardType.Random
|
||
-- then
|
||
-- return false
|
||
-- end
|
||
return true
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardPrefab(cardId)
|
||
local cardType = XTRPGConfigs.GetMazeCardType(cardId)
|
||
local config = GetMazeCardTypeConfig(cardType)
|
||
return config.Prefab
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardTypeIcon(cardId)
|
||
local cardType = XTRPGConfigs.GetMazeCardType(cardId)
|
||
local config = GetMazeCardTypeConfig(cardType)
|
||
return config.Icon
|
||
end
|
||
|
||
local GetMazeCardRecordGroupConfig = function(cardRecordGroupId)
|
||
local config = MazeCardRecordGroupTemplate[cardRecordGroupId]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetMazeCardRecordGroupConfig error:配置不存在, cardRecordGroupId: " .. cardRecordGroupId .. ", 配置路径: " .. TABLE_MAZE_CARD_RECORD_GROUP_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardRecordGroupMiniIcon(cardRecordGroupId)
|
||
local config = GetMazeCardRecordGroupConfig(cardRecordGroupId)
|
||
return config.MiniIcon
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardRecordGroupName(cardRecordGroupId)
|
||
local config = GetMazeCardRecordGroupConfig(cardRecordGroupId)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetMazeCardRecordGroupIdList()
|
||
local cardRecordGroupIds = {}
|
||
for id in pairs(MazeCardRecordGroupTemplate) do
|
||
tableInsert(cardRecordGroupIds, id)
|
||
end
|
||
return cardRecordGroupIds
|
||
end
|
||
-----------------迷宫 end----------------------
|
||
-----------------等级 begin----------------------
|
||
local GetLevelConfig = function(level)
|
||
local config = LevelTemplate[level]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetLevelConfig error:配置不存在, level: " .. level .. ", 配置路径: " .. TABLE_LEVEL_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetMaxExp(level)
|
||
local config = GetLevelConfig(level)
|
||
return config.UpExp
|
||
end
|
||
|
||
function XTRPGConfigs.GetMaxTalentPoint(level)
|
||
local config = GetLevelConfig(level)
|
||
return config.TalentPoint
|
||
end
|
||
|
||
function XTRPGConfigs.IsMaxLevel(level)
|
||
local maxExp = XTRPGConfigs.GetMaxExp(level)
|
||
return maxExp == 0
|
||
end
|
||
-----------------等级 end----------------------
|
||
-----------------世界BOSS begin----------------
|
||
local GetBossConfig = function(id)
|
||
local config = BossTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetBossConfig error:配置不存在, id: " .. id .. ", 配置路径: " .. TABLE_BOSS_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossModelId()
|
||
local config = GetBossConfig(1)
|
||
return config.ModelId
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossTimeId()
|
||
local config = GetBossConfig(1)
|
||
return config.TimeId
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossChallengeCount()
|
||
local config = GetBossConfig(1)
|
||
return config.ChallengeCount
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossDesc()
|
||
local config = GetBossConfig(1)
|
||
return config.Desc
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossStageId()
|
||
local config = GetBossConfig(1)
|
||
return config.StageId
|
||
end
|
||
|
||
function XTRPGConfigs.IsBossStage(stageId)
|
||
local bossStageId = XTRPGConfigs.GetBossStageId()
|
||
return bossStageId == stageId
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossStartStoryId()
|
||
local config = GetBossConfig(1)
|
||
return config.StartStoryId
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossHideEntranceTimeStr()
|
||
local config = GetBossConfig(1)
|
||
return config.HideEntranceTimeStr
|
||
end
|
||
|
||
local GetBossPhasesRewardConfig = function(id)
|
||
local config = BossPhasesRewardTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetBossPhasesRewardConfig error:配置不存在, id: " .. id .. ", 配置路径: " .. TABLE_BOSS_PHASES_REWARD)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossPhasesRewardMaxNum()
|
||
return #BossPhasesRewardTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossPhasesRewardPercent(id)
|
||
local config = BossPhasesRewardTemplate[id]
|
||
return config.Percent
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossPhasesRewardId(id)
|
||
local config = BossPhasesRewardTemplate[id]
|
||
return config.RewardId
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossIcon(id)
|
||
local config = BossPhasesRewardTemplate[id]
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetBossPhasesRewardTemplate()
|
||
return BossPhasesRewardTemplate
|
||
end
|
||
-----------------世界BOSS end------------------
|
||
-----------------珍藏-回忆 begin---------------
|
||
local GetMemoireStoryConfig = function(id)
|
||
local config = MemoireStoryTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetMemoireStoryConfig error:配置不存在, id: " .. id .. ", 配置路径: " .. TABLE_MEMOIRE_STORY)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetMemoirStoryMaxNum()
|
||
return #MemoireStoryTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetMemoirStoryTemplate()
|
||
return MemoireStoryTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetMemoireStoryId(id)
|
||
local config = GetMemoireStoryConfig(id)
|
||
return config.StoryId
|
||
end
|
||
|
||
function XTRPGConfigs.GetMemoireStoryUnlockItemId(id)
|
||
local config = GetMemoireStoryConfig(id)
|
||
return config.UnlockItemId
|
||
end
|
||
|
||
function XTRPGConfigs.GetMemoireStoryUnlockItemCount(id)
|
||
local config = GetMemoireStoryConfig(id)
|
||
return config.UnlockItemCount
|
||
end
|
||
|
||
function XTRPGConfigs.GetMemoireStoryTabName(id)
|
||
local config = GetMemoireStoryConfig(id)
|
||
return config.TabName
|
||
end
|
||
|
||
function XTRPGConfigs.GetMemoireStoryName(id)
|
||
local config = GetMemoireStoryConfig(id)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetMemoireStoryDesc(id)
|
||
local config = GetMemoireStoryConfig(id)
|
||
local desc = config.Desc
|
||
return string.gsub(desc, "\\n", "\n")
|
||
end
|
||
|
||
function XTRPGConfigs.GetMemoireStoryImgCG(id)
|
||
local config = GetMemoireStoryConfig(id)
|
||
return config.ImgCG
|
||
end
|
||
-----------------珍藏-回忆 end---------------
|
||
-----------------TRPGSecondMain begin---------------
|
||
local GetSecondMainConfig = function(id)
|
||
local config = SecondMainTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetSecondMainConfig error:配置不存在, id: " .. id .. ", 配置路径: " .. TABLE_SECOND_MAIN_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainIdList()
|
||
return SecondMainIdList
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainCondition(id)
|
||
local config = GetSecondMainConfig(id)
|
||
return config.Condition
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStageId(id)
|
||
local config = GetSecondMainConfig(id)
|
||
return config.SecondMainStageId
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainPrefab(id)
|
||
local config = GetSecondMainConfig(id)
|
||
return config.Prefab
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainBG(id)
|
||
local config = GetSecondMainConfig(id)
|
||
return config.BG
|
||
end
|
||
-----------------TRPGSecondMain end-----------------
|
||
-----------------TRPGSecondMainStage begin---------------
|
||
local GetSecondMainStageConfig = function(id)
|
||
local config = SecondMainStageTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetSecondMainStageConfig error:配置不存在, id: " .. id .. ", 配置路径: " .. TABLE_SECOND_MAIN_STAGE_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStageName(id)
|
||
local config = GetSecondMainStageConfig(id)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStageDesc(id)
|
||
local config = GetSecondMainStageConfig(id)
|
||
return config.Desc
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStageIcon(id)
|
||
local config = GetSecondMainStageConfig(id)
|
||
return config.Icon
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStageStageId(id)
|
||
local config = GetSecondMainStageConfig(id)
|
||
return config.StageId
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStageStoryId(id)
|
||
local config = GetSecondMainStageConfig(id)
|
||
return config.StoryId
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStageDialogIcon(id)
|
||
local config = GetSecondMainStageConfig(id)
|
||
return config.DialogIcon
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStageRewardId(id)
|
||
local config = GetSecondMainStageConfig(id)
|
||
return config.TRPGRewardId
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStageCondition(id)
|
||
local config = GetSecondMainStageConfig(id)
|
||
return config.Condition
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStagePrefabName(id)
|
||
local config = GetSecondMainStageConfig(id)
|
||
return config.PrefabName
|
||
end
|
||
|
||
function XTRPGConfigs.GetSecondMainStageRewardIdList(secondMainId)
|
||
local secondMainStageIdList = XTRPGConfigs.GetSecondMainStageId(secondMainId)
|
||
local trpgRewardId
|
||
local trpgRewardIdList = {}
|
||
for _, secondMainStageId in ipairs(secondMainStageIdList) do
|
||
trpgRewardId = XTRPGConfigs.GetSecondMainStageRewardId(secondMainStageId)
|
||
if XTool.IsNumberValid(trpgRewardId) then
|
||
table.insert(trpgRewardIdList, trpgRewardId)
|
||
end
|
||
end
|
||
return trpgRewardIdList
|
||
end
|
||
|
||
--返回常规主线奖励可领取的进度
|
||
function XTRPGConfigs.GetSecondMainRewardRecivePercent(secondMainId, trpgRewardId)
|
||
local secondMainStageIdList = XTRPGConfigs.GetSecondMainStageId(secondMainId)
|
||
local secondMainStageMaxNum = #secondMainStageIdList
|
||
local trpgRewardIdCfg
|
||
for i, secondMainStageId in ipairs(secondMainStageIdList) do
|
||
trpgRewardIdCfg = XTRPGConfigs.GetSecondMainStageRewardId(secondMainStageId)
|
||
if trpgRewardIdCfg == trpgRewardId then
|
||
return i / secondMainStageMaxNum
|
||
end
|
||
end
|
||
return 0
|
||
end
|
||
-----------------TRPGSecondMainStage end-----------------
|
||
-----------------客户端配置-求真之路和探索营地标签 begin-------------
|
||
local GetPanelPlotTabConfig = function(id)
|
||
local config = PanelPlotTabTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetPanelPlotTabConfig error:配置不存在, id: " .. id .. ", 配置路径: " .. TABLE_PANEL_PLOT_TAB_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.GetPanelPlotTabTemplate()
|
||
return PanelPlotTabTemplate
|
||
end
|
||
|
||
function XTRPGConfigs.GetPanelPlotTabName(id)
|
||
local config = GetPanelPlotTabConfig(id)
|
||
return config.Name
|
||
end
|
||
|
||
function XTRPGConfigs.GetPanelPlotTabBg(id)
|
||
local config = GetPanelPlotTabConfig(id)
|
||
return config.Bg
|
||
end
|
||
|
||
function XTRPGConfigs.GetPanelPlotTabOpenUiName(id)
|
||
local config = GetPanelPlotTabConfig(id)
|
||
return config.OpenUiName
|
||
end
|
||
|
||
function XTRPGConfigs.CheckPanelPlotTabCondition(id)
|
||
local config = GetPanelPlotTabConfig(id)
|
||
local condition = config.Condition
|
||
if condition == 0 then
|
||
return true, ""
|
||
end
|
||
return XConditionManager.CheckCondition(condition)
|
||
end
|
||
-----------------客户端配置-求真之路和探索营地标签 end-------------
|
||
-----------------客户端配置-按钮条件 begin-------------
|
||
local GetButtonConditionConfig = function(id)
|
||
local config = ButtonConditionTemplate[id]
|
||
if not config then
|
||
XLog.Error("XTRPGConfigs GetButtonConditionConfig error:配置不存在, id: " .. id .. ", 配置路径: " .. TABLE_BUTTON_CONDITION_PATH)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XTRPGConfigs.CheckButtonCondition(id)
|
||
local config = GetButtonConditionConfig(id)
|
||
local condition = config.Condition
|
||
if condition == 0 then
|
||
return true, ""
|
||
end
|
||
return XConditionManager.CheckCondition(condition)
|
||
end
|
||
-----------------客户端配置-按钮条件 end------------- |