Files
Main/Assets/GameAssets/Resources/Lua/Config/Data/DataStatePower.lua
2025-01-25 04:38:09 +08:00

181 lines
7.7 KiB
Lua

--文件是自动生成,请勿手动修改.来自数据文件:state_power
local L_CompressMaxColumn = 4
local L_CompressData = {
2690710199062582977,656963209696606,1759224484907095393,1179801600,
--1,筑基,1,1,102599_125_168_120_170_31001,激活剑匣,0_690014;1_690014,45_180_-7_0,220_0_-23_90,,3_150000;10001_5,1_89;2_2402;3_44;4_44,342,100000,1_2000,9001,,
2691132411527649410,657031929173342,1935146362593908069,1179932688,
--2,开光,1,1,102599_125_168_120_170_31001,激活剑匣·二剑,0_690014;1_690014,45_180_-7_0,220_0_-25_46,,3_200000,1_269;2_7207;3_134;4_134,343,110000,1_4000,9002,,
2691484255248538051,657117828519262,2111068223038723434,1180079468,
--3,金丹,1,1,102599_125_168_120_170_31001,激活剑匣·三剑,0_690014;1_690014,45_180_-7_0,220_0_-23_87,,3_250000;10001_5,1_538;2_14414;3_269;4_269,343,120000,1_10000,9003,,
2691836098975960644,657203727865182,2286990083483538799,1180210545,
--4,元婴,2,1,102599_125_168_120_170_31001,激活剑匣·四剑,0_690014;1_690014,45_180_-7_0,220_0_-21_72,,3_300000,1_896;2_24024;3_448;4_448,343,130000,1_30000,9004,,
2692258311442881669,657306807080286,2462911943928485237,1180341623,
--5,出窍,2,1,102599_125_168_120_170_31001,激活剑匣·五剑,0_690014;1_690014,45_180_-7_0,200_0_-24_67,,3_350000;10001_5,1_1345;2_36037;3_672;4_672,343,140000,1_80000,9005,,
2692680523907948038,657409886295390,2638833804322444667,1180472700,
--6,分神,2,1,102599_125_168_120_170_31001,晋升剑匣,0_690014;1_690014,45_180_-7_0,200_0_-24_63,,3_400000,1_1883;2_50452;3_941;4_941,343,150000,3_80000_500,9006,,
2692680523914481415,657461425902942,2814755664817984894,1180603776,
--7,合体,3,1,102599_125_168_120_170_31001,晋升剑匣,0_690014;1_690014,45_180_-7_0,250_0_0_40,,3_450000,1_2510;2_67269;3_1255;4_1255,343,160000,3_80000_600,9007,,
2692680523916337224,657461425902942,2990677525262669186,1180734852,
--8,洞虚,3,1,102599_125_168_120_170_31001,晋升剑匣,0_690014;1_690014,45_180_-7_0,250_0_0_40,,3_500000,1_3228;2_86489;3_1614;4_1614,343,170000,3_80000_700,9008,,
2692680523914505865,657461425902942,3166599385707222405,1180865927,
--9,大乘,3,1,102599_125_168_120_170_31001,晋升剑匣,0_690014;1_690014,45_180_-7_0,250_0_0_40,,3_550000,1_4035;2_108111;3_2017;4_2017,343,180000,3_80000_800,9009,,
2693806423831568906,657461431670154,3342521246152299916,1180997006,
--10,洞真,4,1,102599_125_168_120_170_31001,等级上限提升,0_10103000;1_10116000,70_180_-7_0,250_0_0_40,,3_600000;60011_10,1_4932;2_132136;3_2466;4_2466,343,190000,3_80000_900,9010,,
2692680523924726731,657461425902942,3518443106596984208,1181128082,
--11,散仙,4,1,102599_125_168_120_170_31001,晋升剑匣,0_690014;1_690014,45_180_-7_0,250_0_0_40,,3_650000,1_5918;2_158563;3_2959;4_2959,343,200000,3_80000_1000,9011,,
2692680523924726988,657461425902942,3694364967041668500,1181259158,
--12,游仙,4,1,102599_125_168_120_170_31001,晋升剑匣,0_690014;1_690014,45_180_-7_0,250_0_0_40,,3_700000,1_6994;2_187393;3_3497;4_3497,343,210000,3_80000_1100,9012,,
2692680523931283213,657461425902942,3870286827486074195,1181390232,
--13,地仙,5,1,102599_125_168_120_170_31001,晋升剑匣,0_690014;1_690014,45_180_-7_0,250_0_0_40,,3_750000,1_8160;2_218625;3_4080;4_4080,343,220000,3_80000_1200,9013,,
2692680523933115982,657461425902942,4046208687930774938,1181521308,
--14,天仙,5,1,102599_125_168_120_170_31001,晋升剑匣,0_690014;1_690014,45_180_-7_0,250_0_0_40,,3_800000;60012_10,1_9416;2_252260;3_4708;4_4708,343,230000,3_80000_1300,9014,,
2693806423848347471,657461431670174,4222130548375590303,1181652385,
--15,金仙,6,1,102599_125_168_120_170_31001,等级上限提升,0_10105000;1_10114000,70_180_-7_0,250_0_0_40,,3_850000,1_10761;2_288297;3_5380;4_5380,343,240000,3_80000_1400,9015,,
2692680523941505168,657461425902942,4398052408820274595,1181783461,
--16,仙尊,6,1,102599_125_168_120_170_31001,晋升剑匣,0_690014;1_690014,45_180_-7_0,250_0_0_40,,3_900000,1_12196;2_326736;3_6098;4_6098,343,250000,3_80000_1500,9016,,
}
local L_MainKeyDic = {
[1]=1,[2]=2,[3]=3,[4]=4,[5]=5,[6]=6,[7]=7,[8]=8,[9]=9,[10]=10,[11]=11,[12]=12,[13]=13,[14]=14,[15]=15,
[16]=16,}
local L_NamesByNum = {
Id = 1,
Group = 3,
Specail = 4,
FlySwordModele = 10,
SkillIcon = 13,
SkillHurt = 14,
XPSkill = 16,
}
local L_NamesByString = {
Name = 2,
SpecailClone = 5,
ShowDes = 6,
ShowModele = 7,
ModelSize = 8,
FlySwordSize = 9,
Reward = 11,
Value = 12,
SkillEffect = 15,
}
local L_ColNameIndexs = {
Id = 0,
Name = 1,
Group = 2,
Specail = 3,
SpecailClone = 4,
ShowDes = 5,
ShowModele = 6,
ModelSize = 7,
FlySwordSize = 8,
FlySwordModele = 9,
Reward = 10,
Value = 11,
SkillIcon = 12,
SkillHurt = 13,
SkillEffect = 14,
XPSkill = 15,
}
--local L_ColumnUseBitCount = {6,17,4,2,17,17,17,17,17,2,17,17,10,19,17,15,}
--local L_ColumnList = {1,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,}
--local L_ShiftDataList = {0,6,23,27,29,46,0,17,34,51,0,17,34,44,0,17,}
--local L_AndDataList = {31,65535,7,1,65535,65535,65535,65535,65535,1,65535,65535,511,262143,65535,16383,}
local L_ColumnShiftAndList = {1,0,31,1,6,65535,1,23,7,1,27,1,1,29,65535,1,46,65535,2,0,65535,2,17,65535,2,34,65535,2,51,1,3,0,65535,3,17,65535,3,34,511,3,44,262143,4,0,65535,4,17,16383,}
local L_ColNum = 16;
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 = 16
}
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