322 lines
7.6 KiB
Plaintext
322 lines
7.6 KiB
Plaintext
|
|
function Game.Preprocess_Table()
|
|
Game.Preprocess_BranchConfig()
|
|
|
|
Game.Preprocess_Table_ActionAnime()
|
|
Game.Preprocess_Table_Achievement()
|
|
Game.Preprocess_Table_BuffState()
|
|
Game.Preprocess_Table_BuffStateOdds()
|
|
Game.Preprocess_Table_RoleData()
|
|
Game.Preprocess_Table_ItemType()
|
|
Game.Preprocess_Table_Reward()
|
|
Game.Preprocess_Table_ActionEffect()
|
|
Game.Preprocess_UnionConfig()
|
|
|
|
Game.Preprocess_Equip();
|
|
Game.Preprocess_Pet();
|
|
Game.Preprocess_Menu();
|
|
|
|
-- 送審處理
|
|
Game.Preprocess_AppleStore_Verify()
|
|
end
|
|
|
|
local function PreprocessEffectPaths(paths)
|
|
if nil ~= paths then
|
|
if nil == paths[2] then
|
|
paths[2] = paths[1]
|
|
elseif "none" == paths[2] then
|
|
paths[2] = nil
|
|
end
|
|
end
|
|
return paths
|
|
end
|
|
Game.PreprocessEffectPaths = PreprocessEffectPaths
|
|
|
|
local myBranchValue = EnvChannel.BranchBitValue[EnvChannel.Channel.Name]
|
|
|
|
local RemoveConfigByBranch = function (mapConfig,config,tablename)
|
|
if(mapConfig and config) then
|
|
for k,v in pairs(mapConfig) do
|
|
if(v & myBranchValue > 0) then
|
|
config[k] = nil
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function Game.Preprocess_BranchConfig()
|
|
if(GameConfig.BranchForbid) then
|
|
local g_table
|
|
for k,v in pairs(GameConfig.BranchForbid) do
|
|
for tablename,t in pairs(v) do
|
|
g_table = _G["Table_"..tablename]
|
|
if(g_table) then
|
|
RemoveConfigByBranch(t,g_table)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
if(GameConfig.SystemForbid) then
|
|
for k,v in pairs(GameConfig.SystemForbid) do
|
|
GameConfig.SystemForbid[k] = v & myBranchValue > 0 and true or false
|
|
end
|
|
else
|
|
GameConfig.SystemForbid = {}
|
|
end
|
|
end
|
|
|
|
function Game.Preprocess_Table_RoleData()
|
|
local propNameConfig = {}
|
|
for k,v in pairs(Table_RoleData) do
|
|
propNameConfig[v.VarName] = v
|
|
end
|
|
Game.Config_PropName = propNameConfig
|
|
end
|
|
|
|
function Game.Preprocess_Table_ActionAnime()
|
|
local actionConfig = {}
|
|
local actionConfig_HideWeapon = {}
|
|
for k,v in pairs(Table_ActionAnime) do
|
|
actionConfig[v.Name] = v
|
|
end
|
|
|
|
Game.Config_Action = actionConfig
|
|
end
|
|
|
|
function Game.Preprocess_Table_Achievement()
|
|
local titleAchievemnetConfig = {}
|
|
for k,v in pairs(Table_Achievement) do
|
|
if(v.RewardItems and v.RewardItems[1] and v.RewardItems[1][1])then
|
|
local titleID = v.RewardItems[1][1]
|
|
titleAchievemnetConfig[titleID]=v
|
|
end
|
|
end
|
|
Game.Config_TitleAchievemnet = titleAchievemnetConfig
|
|
end
|
|
|
|
function Game.Preprocess_Table_BuffState()
|
|
local buffConfig = {}
|
|
for k,v in pairs(Table_BuffState) do
|
|
local config = {
|
|
Effect_start = PreprocessEffectPaths(StringUtil.Split(v.Effect_start, ",")),
|
|
Effect_startAt = PreprocessEffectPaths(StringUtil.Split(v.Effect_startAt, ",")),
|
|
Effect_hit = PreprocessEffectPaths(StringUtil.Split(v.Effect_hit, ",")),
|
|
Effect_end = PreprocessEffectPaths(StringUtil.Split(v.Effect_end, ",")),
|
|
Effect = PreprocessEffectPaths(StringUtil.Split(v.Effect, ",")),
|
|
Effect_around = PreprocessEffectPaths(StringUtil.Split(v.Effect_around, ",")),
|
|
EffectGroup = PreprocessEffectPaths(StringUtil.Split(v.EffectGroup, ",")),
|
|
EffectGroup_around = PreprocessEffectPaths(StringUtil.Split(v.EffectGroup_around, ",")),
|
|
}
|
|
buffConfig[k] = config
|
|
end
|
|
|
|
Game.Config_BuffState = buffConfig
|
|
end
|
|
|
|
function Game.Preprocess_Table_BuffStateOdds()
|
|
local buffConfig = {}
|
|
for k,v in pairs(Table_BuffStateOdds) do
|
|
local config = {
|
|
Effect = PreprocessEffectPaths(StringUtil.Split(v.Effect, ",")),
|
|
EP = v.EP
|
|
}
|
|
buffConfig[k] = config
|
|
end
|
|
|
|
Game.Config_BuffStateOdds = buffConfig
|
|
end
|
|
|
|
local function _Preprocess_Reward_GetRewardDataByTeam( teamId,teamMap)
|
|
-- body
|
|
local list = {}
|
|
local singleTeamList = teamMap[teamId]
|
|
if(not singleTeamList)then
|
|
redlog(string.format("Rward表中不存在team為%s的配置!!!!!!!!!!!!!!!!",teamId))
|
|
return list
|
|
end
|
|
for k,v in pairs(singleTeamList) do
|
|
if(v.type == 3 or v.type == 4)then
|
|
for _,rTeamIds in pairs(v.item) do
|
|
local rewardItems = _Preprocess_Reward_GetRewardDataByTeam(rTeamIds.id,teamMap);
|
|
TableUtil.InsertArray(list, rewardItems);
|
|
end
|
|
else
|
|
for _,ritems in pairs(v.item)do
|
|
local hasAdd = false
|
|
for j=1,#list do
|
|
local tmp = list[j]
|
|
if(tmp.id == ritems.id)then
|
|
tmp.num = tmp.num+ritems.num
|
|
hasAdd = true
|
|
break
|
|
end
|
|
end
|
|
if(not hasAdd)then
|
|
local data = {};
|
|
data.id = ritems.id;
|
|
data.num = ritems.num
|
|
data.rewardType = v.type
|
|
table.insert(list, data);
|
|
end
|
|
end
|
|
end
|
|
end
|
|
return list
|
|
end
|
|
|
|
function Game.Preprocess_Table_Reward()
|
|
local teamMap = {}
|
|
-- autoImport("Table_Reward")
|
|
for k,v in pairs(Table_Reward) do
|
|
local list = teamMap[v.team]
|
|
if(list==nil) then
|
|
list = {}
|
|
teamMap[v.team] = list
|
|
end
|
|
list[#list+1] = v
|
|
end
|
|
Game.Config_RewardTeam = {}
|
|
for k,v in pairs(teamMap) do
|
|
local itemList = _Preprocess_Reward_GetRewardDataByTeam(k,teamMap)
|
|
-- if(not k or v.team == nil )then
|
|
-- helplog(v.team)
|
|
-- end
|
|
Game.Config_RewardTeam[k] = itemList
|
|
end
|
|
Table_Reward = nil
|
|
_G["Table_Reward"] = nil
|
|
end
|
|
|
|
function Game.Preprocess_Table_ItemType()
|
|
local types = {}
|
|
local t
|
|
for k,v in pairs(Table_ItemType) do
|
|
if(v.Typegroup) then
|
|
t = types[v.Typegroup]
|
|
if(t==nil) then
|
|
t= {}
|
|
types[v.Typegroup] = t
|
|
end
|
|
t[#t+1] = v.id
|
|
end
|
|
end
|
|
Game.Config_ItemTypeGroup = types
|
|
end
|
|
|
|
function Game.Preprocess_Table_ActionEffect()
|
|
local actionConfig = {}
|
|
for k,v in pairs(Table_ActionEffect) do
|
|
local config = actionConfig[v.BodyID]
|
|
if config == nil then
|
|
config = {}
|
|
actionConfig[v.BodyID] = config
|
|
end
|
|
config[#config + 1] = v.id
|
|
end
|
|
|
|
Game.Config_ActionEffect = actionConfig
|
|
end
|
|
|
|
function Game.Preprocess_AppleStore_Verify()
|
|
if(not Game.inAppStoreReview)then
|
|
return;
|
|
end
|
|
-- 蘋果包送審 SSS 【最高優先順序】
|
|
-- if(Table_Deposit)then
|
|
-- local deposit_7 = Table_Deposit[7];
|
|
-- if(deposit_7)then
|
|
-- deposit_7.Count3 = 500000;
|
|
-- deposit_7.MonthLimit = nil;
|
|
-- end
|
|
-- end
|
|
|
|
-- if(Table_ItemTypeAdventureLog)then
|
|
-- local itemTypeAdventureLog_14 = Table_ItemTypeAdventureLog[14];
|
|
-- if(itemTypeAdventureLog_14)then
|
|
-- itemTypeAdventureLog_14.Position = 0;
|
|
-- end
|
|
-- end
|
|
|
|
-- if(GameConfig and GameConfig.DepositCard)then
|
|
-- GameConfig.DepositCard.funcs = {8};
|
|
-- end
|
|
|
|
if(Table_Npc)then
|
|
local npc_2156 = Table_Npc[2156];
|
|
local npcFunction = npc_2156 and npc_2156.NpcFunction;
|
|
if(npcFunction)then
|
|
for i=#npcFunction, 1, -1 do
|
|
if(npcFunction[i] and npcFunction[i].type == 4025)then
|
|
table.remove(npcFunction, i);
|
|
break;
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
end
|
|
|
|
local ImportUnionConfig = function ()
|
|
autoImport("UnionConfig");
|
|
end
|
|
pcall(ImportUnionConfig);
|
|
function Game.Preprocess_UnionConfig()
|
|
if(UnionConfig ~= nil)then
|
|
for k0,v0 in pairs(UnionConfig)do
|
|
if(GameConfig[k0])then
|
|
for k1,v1 in pairs(v0)do
|
|
if (GameConfig[k0][k1]) then
|
|
GameConfig[k0][k1] = v1
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function Game.Preprocess_Equip()
|
|
Game.Config_BodyDisplay = {};
|
|
for k,v in pairs(Table_Equip)do
|
|
if(v.Body and v.display and v.display > 0)then
|
|
Game.Config_BodyDisplay[ v.Body ] = v.display;
|
|
end
|
|
end
|
|
end
|
|
|
|
function Game.Preprocess_Pet()
|
|
local map = {};
|
|
for k,v in pairs(Table_Pet)do
|
|
if(v.EggID)then
|
|
if(map[v.EggID] == nil)then
|
|
map[v.EggID] = v;
|
|
else
|
|
redlog("One pet egg ID corresponds to multiple pet eggs", v.EggID);
|
|
end
|
|
end
|
|
end
|
|
Game.Config_EggPet = map;
|
|
end
|
|
function Game.Preprocess_Menu()
|
|
Game.Config_UnlockActionIds = {};
|
|
Game.Config_UnlockEmojiIds = {};
|
|
for k,v in pairs(Table_Menu)do
|
|
local evt = v.event;
|
|
if(evt)then
|
|
if(evt.type == "unlockaction")then
|
|
if(evt.param)then
|
|
for k1,v1 in pairs(evt.param)do
|
|
Game.Config_UnlockActionIds[v1] = 1;
|
|
end
|
|
end
|
|
elseif(evt.type == "unlockexpression")then
|
|
if(evt.param)then
|
|
for k1,v1 in pairs(evt.param)do
|
|
Game.Config_UnlockEmojiIds[v1] = 1;
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end |