178 lines
9.8 KiB
Lua
178 lines
9.8 KiB
Lua
--文件是自动生成,请勿手动修改.来自数据文件:state_stifle_add
|
||
local L_CompressMaxColumn = 4
|
||
local L_CompressData = {
|
||
1039527071836144740,11864010584656261,9681823502731666,1,
|
||
--100,1,0,6110002,292,923,15113_1;15103_1;12_1500,,10000,43_1000,,,[CFCF00]经验器灵:#n经验获取+10%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,0,1,15113_1,[e0ba6b]进化前属性[-]:#n经验获取[73ad5b]+10%[-]#n#n[73ed6b]进化后属性[-]:#n经验获取[73ad5b]+20%[-]#n伤害减少[73ad5b]+15%[-],,,,
|
||
1039528171347780709,11864233922955675,369975217388816809,31689,
|
||
--101,1,1,6110002,293,923,15113_2;15104_1;12_4500,,10000,43_2000;14_1500,,,[CFCF00]经验器灵·[00DAFF]进化壹[-]:#n#n经验获取+20%#n伤害减少+15%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,0,1,,[e0ba6b]进化前属性[-]:#n经验获取[73ad5b]+20%[-]#n伤害减少[73ad5b]+15%[-]#n#n[73ed6b]进化后属性[-]:#n经验获取[73ad5b]+25%[-]#n伤害减少[73ad5b]+20%[-]#n最大生命[73ad5b]+5%[-],10,14,,
|
||
1039529270859416678,11864560340470190,369977966167886259,31689,
|
||
--102,1,2,6110002,294,923,15113_4;15105_1;12_13500,,10000,43_2500;14_2000;30_500,,,[CFCF00]经验器灵·[00DAFF]进化贰[-]:#n#n经验获取+25%#n伤害减少+20%#n最大生命+5%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,0,1,,[e0ba6b]进化前属性[-]:#n经验获取[73ad5b]+25%[-]#n伤害减少[73ad5b]+20%[-]#n最大生命[73ad5b]+5%[-]#n#n[73ed6b]进化后属性[-]:#n经验获取[73ad5b]+40%[-]#n伤害减少[73ad5b]+30%[-]#n最大生命[73ad5b]+5%[-]#n最大防御[73ad5b]+5%[-],10,14,,
|
||
1039530370371052647,11864692536508417,369980165191272890,31689,
|
||
--103,1,3,6110002,295,923,,,,43_4000;14_3000;30_500;32_500,,,[CFCF00]经验器灵·[00DAFF]进化叁[-]:#n#n经验获取+40%#n伤害减少+30%#n最大生命+5%#n最大防御+5%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,1,1,,[e0ba6b]已达到当前版本经验器灵满级进化:#n#n经验获取[73ad5b]+40%[-]#n伤害减少[73ad5b]+30%[-]#n最大生命[73ad5b]+5%[-]#n最大防御[73ad5b]+5%[-],10,14,,
|
||
1037299461278206152,11864835218377150,9695017740831170,1,
|
||
--200,2,0,6110001,314,921,15112_1;15106_1;12_1500,,10000,19_1000,,,[CFCF00]战斗器灵:#n暴击率+10%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,0,1,15112_1,[e0ba6b]进化前属性[-]:#n暴击率[73ad5b]+10%[-]#n#n[73ed6b]进化后属性[-]:#n暴击率[73ad5b]+15%[-]#n对怪物伤害[73ad5b]+5%[-],,,,
|
||
1037300560789842121,11865007017069001,369985112993466828,31689,
|
||
--201,2,1,6110001,315,921,15112_2;15107_1;12_4500,,10000,19_1500;35_500,,,[CFCF00]战斗器灵·[00DAFF]进化壹[-]:#n#n暴击率+15%#n对怪物伤害+5%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,0,1,,[e0ba6b]进化前属性[-]:#n暴击率[73ad5b]+15%[-]#n对怪物伤害[73ad5b]+5%[-]#n#n[73ed6b]进化后属性[-]:#n暴击率[73ad5b]+20%[-]#n对怪物伤害[73ad5b]+10%[-]#n总攻击[73ad5b]+5%[-],10,14,,
|
||
1037301660301478090,11865161635891665,369987586894629333,31689,
|
||
--202,2,2,6110001,316,921,15112_4;15108_1;12_13500,,10000,19_2000;35_1000;29_500,,,[CFCF00]战斗器灵·[00DAFF]进化贰[-]:#n#n暴击率+20%#n对怪物伤害+10%#n总攻击+5%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,0,1,,[e0ba6b]进化前属性[-]:#n暴击率[73ad5b]+20%[-]#n对怪物伤害[73ad5b]+10%[-]#n总攻击[73ad5b]+5%[-]#n#n[73ed6b]进化后属性[-]:#n暴击率[73ad5b]+25%[-]#n对怪物伤害[73ad5b]+20%[-]#n总攻击[73ad5b]+5%[-]#n总破甲[73ad5b]+5%[-],10,14,,
|
||
1037302759813114059,11865293831929857,369989785918015966,31689,
|
||
--203,2,3,6110001,317,921,,,,19_2500;35_2000;29_500;31_500,,,[CFCF00]战斗器灵·[00DAFF]进化叁[-]:#n#n暴击率+25%#n对怪物伤害+20%#n总攻击+5%#n总破甲+5%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,1,1,,[e0ba6b]已达到当前版本战斗器灵满级进化:#n#n暴击率[73ad5b]+25%[-]#n对怪物伤害[73ad5b]+20%[-]#n总攻击[73ad5b]+5%[-]#n总破甲[73ad5b]+5%[-],10,14,,
|
||
1038406669487508780,11653694626105827,9704638540974566,1,
|
||
--300,3,0,6110003,297,922,15114_1;15109_1;12_1500,,10000,25_1000,,,[CFCF00]追击器灵:#n连击几率+10%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,0,1,15114_1,[e0ba6b]进化前属性[-]:#n连击几率[73ad5b]+10%[-]#n#n[73ed6b]进化后属性[-]:#n连击几率[73ad5b]+15%[-]#n伤害增加[73ad5b]+15%[-],,,,
|
||
1038407768999144749,11865608312490475,369995008598116848,31689,
|
||
--301,3,1,6110003,298,922,15114_2;15110_1;12_4500,,10000,25_1500;13_1500,,,[CFCF00]追击器灵·[00DAFF]进化壹[-]:#n#n连击几率+15%#n伤害增加+15%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,0,1,,[e0ba6b]进化前属性[-]:#n连击几率[73ad5b]+15%[-]#n伤害增加[73ad5b]+15%[-]#n#n[73ed6b]进化后属性[-]:#n连击几率[73ad5b]+20%[-]#n伤害增加[73ad5b]+20%[-]#n抗暴率[73ad5b]+10%[-],10,14,,
|
||
1038408868510780718,11865728571574771,369996108109744629,31689,
|
||
--302,3,2,6110003,299,922,15114_4;15111_1;12_13500,,10000,25_2000;13_2000;20_1000,,,[CFCF00]追击器灵·[00DAFF]进化贰[-]:#n#n连击几率+20%#n伤害增加+20%#n抗暴率+10%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,0,1,,[e0ba6b]进化前属性[-]:#n连击几率[73ad5b]+20%[-]#n伤害增加[73ad5b]+20%[-]#n抗暴率[73ad5b]+10%[-]#n#n[73ed6b]进化后属性[-]:#n连击几率[73ad5b]+25%[-]#n伤害增加[73ad5b]+30%[-]#n抗暴率[73ad5b]+20%[-]#n对玩家伤害[73ad5b]+10%[-],10,14,,
|
||
1038423162161949999,11865774868267009,369996932743596536,31689,
|
||
--303,3,3,6110003,312,922,,,,25_2500;13_3000;20_2000;37_1000,,,[CFCF00]追击器灵·[00DAFF]进化叁[-]:#n#n连击几率+25%#n伤害增加+30%#n抗暴率+20%#n对玩家伤害+10%[-]#n#n通过[73ed6b]器灵进化[-]大幅提升提升能力,1,1,,[e0ba6b]已达到当前版本追击器灵满级进化:#n#n连击几率[73ad5b]+25%[-]#n伤害增加[73ad5b]+30%[-]#n抗暴率[73ad5b]+20%[-]#n对玩家伤害[73ad5b]+10%[-],10,14,,
|
||
}
|
||
local L_MainKeyDic = {
|
||
[100]=1,[101]=2,[102]=3,[103]=4,[200]=5,[201]=6,[202]=7,[203]=8,[300]=9,[301]=10,[302]=11,[303]=12,}
|
||
local L_NamesByNum = {
|
||
Id = 1,
|
||
Type = 2,
|
||
JinhuaLevel = 3,
|
||
Model = 4,
|
||
Icon = 5,
|
||
Vfx = 6,
|
||
JinghuaSucces = 9,
|
||
IfMax = 14,
|
||
NeedLevel = 15,
|
||
Notice = 18,
|
||
}
|
||
local L_NamesByString = {
|
||
JinhuaNeedItem = 7,
|
||
JinhuaNeedMoney = 8,
|
||
Attribute = 10,
|
||
PerAttribute = 11,
|
||
Skill = 12,
|
||
MaxTimes = 13,
|
||
NeedItem = 16,
|
||
AddTips = 17,
|
||
Chatchannel = 19,
|
||
}
|
||
local L_ColNameIndexs = {
|
||
Id = 0,
|
||
Type = 1,
|
||
JinhuaLevel = 2,
|
||
Model = 3,
|
||
Icon = 4,
|
||
Vfx = 5,
|
||
JinhuaNeedItem = 6,
|
||
JinhuaNeedMoney = 7,
|
||
JinghuaSucces = 8,
|
||
Attribute = 9,
|
||
PerAttribute = 10,
|
||
Skill = 11,
|
||
MaxTimes = 12,
|
||
IfMax = 13,
|
||
NeedLevel = 14,
|
||
NeedItem = 15,
|
||
AddTips = 16,
|
||
Notice = 17,
|
||
Chatchannel = 18,
|
||
}
|
||
--local L_ColumnUseBitCount = {10,3,3,24,10,11,17,2,15,17,2,2,17,2,2,17,17,5,16,}
|
||
--local L_ColumnList = {1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,}
|
||
--local L_ShiftDataList = {0,10,13,16,40,50,0,17,19,34,51,53,0,17,19,21,38,55,0,}
|
||
--local L_AndDataList = {511,3,3,8388607,511,1023,65535,1,16383,65535,1,1,65535,1,1,65535,65535,15,32767,}
|
||
local L_ColumnShiftAndList = {1,0,511,1,10,3,1,13,3,1,16,8388607,1,40,511,1,50,1023,2,0,65535,2,17,1,2,19,16383,2,34,65535,2,51,1,2,53,1,3,0,65535,3,17,1,3,19,1,3,21,65535,3,38,65535,3,55,15,4,0,32767,}
|
||
local L_ColNum = 19;
|
||
local L_UseDataK = setmetatable({ },{ __mode = 'k'});
|
||
local L_UseDataV = setmetatable({ },{ __mode = 'v'});
|
||
local L_UseDataRow = setmetatable({ },{ __mode = 'v'});
|
||
local L_IsCache = false;
|
||
local mt = {}
|
||
local function GetData(row, column)
|
||
local startIndex = (column - 1) * 3
|
||
local _compressData = L_CompressData[(row - 1)*L_CompressMaxColumn+L_ColumnShiftAndList[startIndex + 1]]
|
||
local _tempData = _compressData >> L_ColumnShiftAndList[startIndex + 2]
|
||
local _data = _tempData & L_ColumnShiftAndList[startIndex + 3]
|
||
local _andSign = L_ColumnShiftAndList[startIndex + 3] + 1
|
||
local _isMinus = (_andSign & _tempData) == _andSign
|
||
return _isMinus and -_data or _data;
|
||
end
|
||
|
||
mt.__index = function (t,key)
|
||
local _key = L_UseDataK[t];
|
||
local _row = L_MainKeyDic[_key];
|
||
local _column = L_NamesByNum[key];
|
||
if _column ~= nil then
|
||
if L_IsCache then
|
||
local _data = L_UseDataRow[_row * L_ColNum + _column]
|
||
if not _data then
|
||
_data = GetData(_row, _column)
|
||
L_UseDataRow[_row * L_ColNum + _column] = _data
|
||
end
|
||
return _data
|
||
else
|
||
return GetData(_row, _column)
|
||
end
|
||
end
|
||
_column = L_NamesByString[key]
|
||
if _column ~= nil then
|
||
return StringDefines[GetData(_row, _column)]
|
||
end
|
||
if string.find(key, '_') then
|
||
local _newKey = string.gsub(key, '_', '')
|
||
_column = L_NamesByString[_newKey]
|
||
if _column ~= nil then
|
||
return GetData(_row, _column)
|
||
end
|
||
end
|
||
if key ~= '_OnCopyAfter_' then
|
||
return
|
||
end
|
||
end
|
||
|
||
local M = {
|
||
_CompressData_ = L_CompressData,
|
||
_ColumnShiftAndList_ = L_ColumnShiftAndList,
|
||
_CompressMaxColumn_ = L_CompressMaxColumn,
|
||
_ColumnNameIndexs_ = L_ColNameIndexs,
|
||
Count = 12
|
||
}
|
||
|
||
function M:Foreach(func)
|
||
for i=1,M.Count do
|
||
local _key = GetData(i, 1)
|
||
func(_key, M[_key])
|
||
end
|
||
end
|
||
|
||
function M:ForeachCanBreak(func)
|
||
for i = 1,M.Count do
|
||
local _key = GetData(i, 1)
|
||
if func(_key, M[_key]) then
|
||
break
|
||
end
|
||
end
|
||
end
|
||
|
||
function M:GetByIndex(index)
|
||
return M[GetData(index, 1)];
|
||
end
|
||
|
||
function M:IsContainKey(key)
|
||
return not(not L_MainKeyDic[key]);
|
||
end
|
||
|
||
function M:SetIsCache(isCh)
|
||
L_IsCache = isCh;
|
||
end
|
||
|
||
setmetatable(M, {__index = function(t, key)
|
||
if not L_MainKeyDic[key] then
|
||
return;
|
||
end
|
||
local _t = L_UseDataV[key];
|
||
if not _t then
|
||
_t = setmetatable({}, mt);
|
||
L_UseDataV[key] = _t;
|
||
L_UseDataK[_t] = key;
|
||
end
|
||
return _t
|
||
end})
|
||
|
||
return M
|